diff --git a/docs/hugo/content/reference/_index.md b/docs/hugo/content/reference/_index.md index 292916b217c..58f6287e01e 100644 --- a/docs/hugo/content/reference/_index.md +++ b/docs/hugo/content/reference/_index.md @@ -66,6 +66,21 @@ These resource(s) are available for use in the current release of ASO. Different | [Subscription](https://azure.github.io/azure-service-operator/reference/apimanagement/v1api20230501preview/#apimanagement.azure.com/v1api20230501preview.Subscription) | 2023-05-01-preview | v1api20230501preview | v2.6.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/apimanagement/v1api20230501preview/v1api20230501preview_subscription.yaml) | | [Subscription](https://azure.github.io/azure-service-operator/reference/apimanagement/v1api20220801/#apimanagement.azure.com/v1api20220801.Subscription) | 2022-08-01 | v1api20220801 | v2.4.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/apimanagement/v1api20220801/v1api20220801_subscription.yaml) | +## App + +To install the CRDs for these resources, your ASO configuration must include `app.azure.com/*` as a one of the configured CRD patterns. See [CRD Management in ASO](https://azure.github.io/azure-service-operator/guide/crd-management/) for details on doing this for both [Helm](https://azure.github.io/azure-service-operator/guide/crd-management/#helm) and [YAML](https://azure.github.io/azure-service-operator/guide/crd-management/#yaml) based installations. + +### 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 | +|--------------------|-------------|---------------|----------------|--------------------------------------------------------------------------------------------------------------------------------------| +| AuthConfig | 2024-03-01 | v1api20240301 | v2.12.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/app/v1api20240301/v1api20240301_authconfig.yaml) | +| ContainerApp | 2024-03-01 | v1api20240301 | v2.12.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/app/v1api20240301/v1api20240301_containerapp.yaml) | +| Job | 2024-03-01 | v1api20240301 | v2.12.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/app/v1api20240301/v1api20240301_job.yaml) | +| ManagedEnvironment | 2024-03-01 | v1api20240301 | v2.12.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/app/v1api20240301/v1api20240301_managedenvironment.yaml) | + ## AppConfiguration To install the CRDs for these resources, your ASO configuration must include `appconfiguration.azure.com/*` as a one of the configured CRD patterns. See [CRD Management in ASO](https://azure.github.io/azure-service-operator/guide/crd-management/) for details on doing this for both [Helm](https://azure.github.io/azure-service-operator/guide/crd-management/#helm) and [YAML](https://azure.github.io/azure-service-operator/guide/crd-management/#yaml) based installations. diff --git a/docs/hugo/content/reference/app/_index.md b/docs/hugo/content/reference/app/_index.md new file mode 100644 index 00000000000..0b310ab9b08 --- /dev/null +++ b/docs/hugo/content/reference/app/_index.md @@ -0,0 +1,18 @@ +--- +title: App Supported Resources +linktitle: App +no_list: true +--- +To install the CRDs for these resources, your ASO configuration must include `app.azure.com/*` as a one of the configured CRD patterns. See [CRD Management in ASO](https://azure.github.io/azure-service-operator/guide/crd-management/) for details on doing this for both [Helm](https://azure.github.io/azure-service-operator/guide/crd-management/#helm) and [YAML](https://azure.github.io/azure-service-operator/guide/crd-management/#yaml) based installations. + +### 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 | +|--------------------|-------------|---------------|----------------|--------------------------------------------------------------------------------------------------------------------------------------| +| AuthConfig | 2024-03-01 | v1api20240301 | v2.12.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/app/v1api20240301/v1api20240301_authconfig.yaml) | +| ContainerApp | 2024-03-01 | v1api20240301 | v2.12.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/app/v1api20240301/v1api20240301_containerapp.yaml) | +| Job | 2024-03-01 | v1api20240301 | v2.12.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/app/v1api20240301/v1api20240301_job.yaml) | +| ManagedEnvironment | 2024-03-01 | v1api20240301 | v2.12.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/app/v1api20240301/v1api20240301_managedenvironment.yaml) | + diff --git a/v2/api/app/customizations/auth_config_extension_types_gen.go b/v2/api/app/customizations/auth_config_extension_types_gen.go new file mode 100644 index 00000000000..1c952947cac --- /dev/null +++ b/v2/api/app/customizations/auth_config_extension_types_gen.go @@ -0,0 +1,20 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package customizations + +import ( + v20240301 "github.com/Azure/azure-service-operator/v2/api/app/v1api20240301" + storage "github.com/Azure/azure-service-operator/v2/api/app/v1api20240301/storage" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" +) + +type AuthConfigExtension struct { +} + +// GetExtendedResources Returns the KubernetesResource slice for Resource versions +func (extension *AuthConfigExtension) GetExtendedResources() []genruntime.KubernetesResource { + return []genruntime.KubernetesResource{ + &v20240301.AuthConfig{}, + &storage.AuthConfig{}} +} diff --git a/v2/api/app/customizations/container_app_extension_types.go b/v2/api/app/customizations/container_app_extension_types.go new file mode 100644 index 00000000000..213935febf4 --- /dev/null +++ b/v2/api/app/customizations/container_app_extension_types.go @@ -0,0 +1,39 @@ +/* +Copyright (c) Microsoft Corporation. +Licensed under the MIT license. +*/ + +package customizations + +import ( + "github.com/go-logr/logr" + + "github.com/Azure/azure-service-operator/v2/internal/genericarmclient" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/core" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/extensions" +) + +var _ extensions.ErrorClassifier = &ContainerAppExtension{} + +// ClassifyError evaluates the provided error, returning whether it is fatal or can be retried. +// cloudError is the error returned from ARM. +// apiVersion is the ARM API version used for the request. +// log is a logger than can be used for telemetry. +// next is the next implementation to call. +func (e *ContainerAppExtension) ClassifyError( + cloudError *genericarmclient.CloudError, + apiVersion string, + log logr.Logger, + next extensions.ErrorClassifierFunc, +) (core.CloudErrorDetails, error) { + details, err := next(cloudError) + if err != nil { + return core.CloudErrorDetails{}, err + } + + if cloudError.Code() == "ManagedEnvironmentNotProvisioned" { + details.Classification = core.ErrorRetryable + } + + return details, nil +} diff --git a/v2/api/app/customizations/container_app_extension_types_gen.go b/v2/api/app/customizations/container_app_extension_types_gen.go new file mode 100644 index 00000000000..c64f8c1800b --- /dev/null +++ b/v2/api/app/customizations/container_app_extension_types_gen.go @@ -0,0 +1,20 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package customizations + +import ( + v20240301 "github.com/Azure/azure-service-operator/v2/api/app/v1api20240301" + storage "github.com/Azure/azure-service-operator/v2/api/app/v1api20240301/storage" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" +) + +type ContainerAppExtension struct { +} + +// GetExtendedResources Returns the KubernetesResource slice for Resource versions +func (extension *ContainerAppExtension) GetExtendedResources() []genruntime.KubernetesResource { + return []genruntime.KubernetesResource{ + &v20240301.ContainerApp{}, + &storage.ContainerApp{}} +} diff --git a/v2/api/app/customizations/job_extension_types.go b/v2/api/app/customizations/job_extension_types.go new file mode 100644 index 00000000000..2ec73ed8e46 --- /dev/null +++ b/v2/api/app/customizations/job_extension_types.go @@ -0,0 +1,39 @@ +/* +Copyright (c) Microsoft Corporation. +Licensed under the MIT license. +*/ + +package customizations + +import ( + "github.com/go-logr/logr" + + "github.com/Azure/azure-service-operator/v2/internal/genericarmclient" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/core" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/extensions" +) + +var _ extensions.ErrorClassifier = &JobExtension{} + +// ClassifyError evaluates the provided error, returning whether it is fatal or can be retried. +// cloudError is the error returned from ARM. +// apiVersion is the ARM API version used for the request. +// log is a logger than can be used for telemetry. +// next is the next implementation to call. +func (e *JobExtension) ClassifyError( + cloudError *genericarmclient.CloudError, + apiVersion string, + log logr.Logger, + next extensions.ErrorClassifierFunc, +) (core.CloudErrorDetails, error) { + details, err := next(cloudError) + if err != nil { + return core.CloudErrorDetails{}, err + } + + if cloudError.Code() == "ManagedEnvironmentNotProvisioned" { + details.Classification = core.ErrorRetryable + } + + return details, nil +} diff --git a/v2/api/app/customizations/job_extension_types_gen.go b/v2/api/app/customizations/job_extension_types_gen.go new file mode 100644 index 00000000000..5d13ec317f7 --- /dev/null +++ b/v2/api/app/customizations/job_extension_types_gen.go @@ -0,0 +1,20 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package customizations + +import ( + v20240301 "github.com/Azure/azure-service-operator/v2/api/app/v1api20240301" + storage "github.com/Azure/azure-service-operator/v2/api/app/v1api20240301/storage" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" +) + +type JobExtension struct { +} + +// GetExtendedResources Returns the KubernetesResource slice for Resource versions +func (extension *JobExtension) GetExtendedResources() []genruntime.KubernetesResource { + return []genruntime.KubernetesResource{ + &v20240301.Job{}, + &storage.Job{}} +} diff --git a/v2/api/app/customizations/managed_environment_extension_types_gen.go b/v2/api/app/customizations/managed_environment_extension_types_gen.go new file mode 100644 index 00000000000..622a603c7d3 --- /dev/null +++ b/v2/api/app/customizations/managed_environment_extension_types_gen.go @@ -0,0 +1,20 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package customizations + +import ( + v20240301 "github.com/Azure/azure-service-operator/v2/api/app/v1api20240301" + storage "github.com/Azure/azure-service-operator/v2/api/app/v1api20240301/storage" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" +) + +type ManagedEnvironmentExtension struct { +} + +// GetExtendedResources Returns the KubernetesResource slice for Resource versions +func (extension *ManagedEnvironmentExtension) GetExtendedResources() []genruntime.KubernetesResource { + return []genruntime.KubernetesResource{ + &v20240301.ManagedEnvironment{}, + &storage.ManagedEnvironment{}} +} diff --git a/v2/api/app/customizations/structure.txt b/v2/api/app/customizations/structure.txt new file mode 100644 index 00000000000..f1575b1e65d --- /dev/null +++ b/v2/api/app/customizations/structure.txt @@ -0,0 +1,7 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +github.com/Azure/azure-service-operator/v2/api/app/customizations +----------------------------------------------------------------- +AuthConfigExtension: Object (0 properties) +ContainerAppExtension: Object (0 properties) +JobExtension: Object (0 properties) +ManagedEnvironmentExtension: Object (0 properties) diff --git a/v2/api/app/v1api20240301/arm/auth_config_spec_types_gen.go b/v2/api/app/v1api20240301/arm/auth_config_spec_types_gen.go new file mode 100644 index 00000000000..9963e6b2be4 --- /dev/null +++ b/v2/api/app/v1api20240301/arm/auth_config_spec_types_gen.go @@ -0,0 +1,581 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +import "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + +type AuthConfig_Spec struct { + Name string `json:"name,omitempty"` + + // Properties: AuthConfig resource specific properties + Properties *ContainerApps_AuthConfig_Properties_Spec `json:"properties,omitempty"` +} + +var _ genruntime.ARMResourceSpec = &AuthConfig_Spec{} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-03-01" +func (config AuthConfig_Spec) GetAPIVersion() string { + return "2024-03-01" +} + +// GetName returns the Name of the resource +func (config *AuthConfig_Spec) GetName() string { + return config.Name +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.App/containerApps/authConfigs" +func (config *AuthConfig_Spec) GetType() string { + return "Microsoft.App/containerApps/authConfigs" +} + +type ContainerApps_AuthConfig_Properties_Spec struct { + // EncryptionSettings: The configuration settings of the secrets references of encryption key and signing key for + // ContainerApp Service Authentication/Authorization. + EncryptionSettings *EncryptionSettings `json:"encryptionSettings,omitempty"` + + // GlobalValidation: The configuration settings that determines the validation flow of users using Service + // Authentication/Authorization. + GlobalValidation *GlobalValidation `json:"globalValidation,omitempty"` + + // HttpSettings: The configuration settings of the HTTP requests for authentication and authorization requests made against + // ContainerApp Service Authentication/Authorization. + HttpSettings *HttpSettings `json:"httpSettings,omitempty"` + + // IdentityProviders: The configuration settings of each of the identity providers used to configure ContainerApp Service + // Authentication/Authorization. + IdentityProviders *IdentityProviders `json:"identityProviders,omitempty"` + + // Login: The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization. + Login *Login `json:"login,omitempty"` + + // Platform: The configuration settings of the platform of ContainerApp Service Authentication/Authorization. + Platform *AuthPlatform `json:"platform,omitempty"` +} + +// The configuration settings of the platform of ContainerApp Service Authentication/Authorization. +type AuthPlatform struct { + // Enabled: true if the Authentication / Authorization feature is enabled for the current app; otherwise, + // false. + Enabled *bool `json:"enabled,omitempty"` + + // RuntimeVersion: The RuntimeVersion of the Authentication / Authorization feature in use for the current app. + // The setting in this value can control the behavior of certain features in the Authentication / Authorization module. + RuntimeVersion *string `json:"runtimeVersion,omitempty"` +} + +// The configuration settings of the secrets references of encryption key and signing key for ContainerApp Service +// Authentication/Authorization. +type EncryptionSettings struct { + // ContainerAppAuthEncryptionSecretName: The secret name which is referenced for EncryptionKey. + ContainerAppAuthEncryptionSecretName *string `json:"containerAppAuthEncryptionSecretName,omitempty"` + + // ContainerAppAuthSigningSecretName: The secret name which is referenced for SigningKey. + ContainerAppAuthSigningSecretName *string `json:"containerAppAuthSigningSecretName,omitempty"` +} + +// The configuration settings that determines the validation flow of users using ContainerApp Service +// Authentication/Authorization. +type GlobalValidation struct { + // ExcludedPaths: The paths for which unauthenticated flow would not be redirected to the login page. + ExcludedPaths []string `json:"excludedPaths,omitempty"` + + // RedirectToProvider: The default authentication provider to use when multiple providers are configured. + // This setting is only needed if multiple providers are configured and the unauthenticated client + // action is set to "RedirectToLoginPage". + RedirectToProvider *string `json:"redirectToProvider,omitempty"` + + // UnauthenticatedClientAction: The action to take when an unauthenticated client attempts to access the app. + UnauthenticatedClientAction *GlobalValidation_UnauthenticatedClientAction `json:"unauthenticatedClientAction,omitempty"` +} + +// The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp +// Service Authentication/Authorization. +type HttpSettings struct { + // ForwardProxy: The configuration settings of a forward proxy used to make the requests. + ForwardProxy *ForwardProxy `json:"forwardProxy,omitempty"` + + // RequireHttps: false if the authentication/authorization responses not having the HTTPS scheme are + // permissible; otherwise, true. + RequireHttps *bool `json:"requireHttps,omitempty"` + + // Routes: The configuration settings of the paths HTTP requests. + Routes *HttpSettingsRoutes `json:"routes,omitempty"` +} + +// The configuration settings of each of the identity providers used to configure ContainerApp Service +// Authentication/Authorization. +type IdentityProviders struct { + // Apple: The configuration settings of the Apple provider. + Apple *Apple `json:"apple,omitempty"` + + // AzureActiveDirectory: The configuration settings of the Azure Active directory provider. + AzureActiveDirectory *AzureActiveDirectory `json:"azureActiveDirectory,omitempty"` + + // AzureStaticWebApps: The configuration settings of the Azure Static Web Apps provider. + AzureStaticWebApps *AzureStaticWebApps `json:"azureStaticWebApps,omitempty"` + + // CustomOpenIdConnectProviders: The map of the name of the alias of each custom Open ID Connect provider to the + // configuration settings of the custom Open ID Connect provider. + CustomOpenIdConnectProviders map[string]CustomOpenIdConnectProvider `json:"customOpenIdConnectProviders,omitempty"` + + // Facebook: The configuration settings of the Facebook provider. + Facebook *Facebook `json:"facebook,omitempty"` + + // GitHub: The configuration settings of the GitHub provider. + GitHub *GitHub `json:"gitHub,omitempty"` + + // Google: The configuration settings of the Google provider. + Google *Google `json:"google,omitempty"` + + // Twitter: The configuration settings of the Twitter provider. + Twitter *Twitter `json:"twitter,omitempty"` +} + +// The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization. +type Login struct { + // AllowedExternalRedirectUrls: External URLs that can be redirected to as part of logging in or logging out of the app. + // Note that the query string part of the URL is ignored. + // This is an advanced setting typically only needed by Windows Store application backends. + // Note that URLs within the current domain are always implicitly allowed. + AllowedExternalRedirectUrls []string `json:"allowedExternalRedirectUrls,omitempty"` + + // CookieExpiration: The configuration settings of the session cookie's expiration. + CookieExpiration *CookieExpiration `json:"cookieExpiration,omitempty"` + + // Nonce: The configuration settings of the nonce used in the login flow. + Nonce *Nonce `json:"nonce,omitempty"` + + // PreserveUrlFragmentsForLogins: true if the fragments from the request are preserved after the login request + // is made; otherwise, false. + PreserveUrlFragmentsForLogins *bool `json:"preserveUrlFragmentsForLogins,omitempty"` + + // Routes: The routes that specify the endpoints used for login and logout requests. + Routes *LoginRoutes `json:"routes,omitempty"` + + // TokenStore: The configuration settings of the token store. + TokenStore *TokenStore `json:"tokenStore,omitempty"` +} + +// The configuration settings of the Apple provider. +type Apple struct { + // Enabled: false if the Apple provider should not be enabled despite the set registration; otherwise, + // true. + Enabled *bool `json:"enabled,omitempty"` + + // Login: The configuration settings of the login flow. + Login *LoginScopes `json:"login,omitempty"` + + // Registration: The configuration settings of the Apple registration. + Registration *AppleRegistration `json:"registration,omitempty"` +} + +// The configuration settings of the Azure Active directory provider. +type AzureActiveDirectory struct { + // Enabled: false if the Azure Active Directory provider should not be enabled despite the set registration; + // otherwise, true. + Enabled *bool `json:"enabled,omitempty"` + + // IsAutoProvisioned: Gets a value indicating whether the Azure AD configuration was auto-provisioned using 1st party + // tooling. + // This is an internal flag primarily intended to support the Azure Management Portal. Users should not + // read or write to this property. + IsAutoProvisioned *bool `json:"isAutoProvisioned,omitempty"` + + // Login: The configuration settings of the Azure Active Directory login flow. + Login *AzureActiveDirectoryLogin `json:"login,omitempty"` + + // Registration: The configuration settings of the Azure Active Directory app registration. + Registration *AzureActiveDirectoryRegistration `json:"registration,omitempty"` + + // Validation: The configuration settings of the Azure Active Directory token validation flow. + Validation *AzureActiveDirectoryValidation `json:"validation,omitempty"` +} + +// The configuration settings of the Azure Static Web Apps provider. +type AzureStaticWebApps struct { + // Enabled: false if the Azure Static Web Apps provider should not be enabled despite the set registration; + // otherwise, true. + Enabled *bool `json:"enabled,omitempty"` + + // Registration: The configuration settings of the Azure Static Web Apps registration. + Registration *AzureStaticWebAppsRegistration `json:"registration,omitempty"` +} + +// The configuration settings of the session cookie's expiration. +type CookieExpiration struct { + // Convention: The convention used when determining the session cookie's expiration. + Convention *CookieExpiration_Convention `json:"convention,omitempty"` + + // TimeToExpiration: The time after the request is made when the session cookie should expire. + TimeToExpiration *string `json:"timeToExpiration,omitempty"` +} + +// The configuration settings of the custom Open ID Connect provider. +type CustomOpenIdConnectProvider struct { + // Enabled: false if the custom Open ID provider provider should not be enabled; otherwise, true. + Enabled *bool `json:"enabled,omitempty"` + + // Login: The configuration settings of the login flow of the custom Open ID Connect provider. + Login *OpenIdConnectLogin `json:"login,omitempty"` + + // Registration: The configuration settings of the app registration for the custom Open ID Connect provider. + Registration *OpenIdConnectRegistration `json:"registration,omitempty"` +} + +// The configuration settings of the Facebook provider. +type Facebook struct { + // Enabled: false if the Facebook provider should not be enabled despite the set registration; otherwise, + // true. + Enabled *bool `json:"enabled,omitempty"` + + // GraphApiVersion: The version of the Facebook api to be used while logging in. + GraphApiVersion *string `json:"graphApiVersion,omitempty"` + + // Login: The configuration settings of the login flow. + Login *LoginScopes `json:"login,omitempty"` + + // Registration: The configuration settings of the app registration for the Facebook provider. + Registration *AppRegistration `json:"registration,omitempty"` +} + +// The configuration settings of a forward proxy used to make the requests. +type ForwardProxy struct { + // Convention: The convention used to determine the url of the request made. + Convention *ForwardProxy_Convention `json:"convention,omitempty"` + + // CustomHostHeaderName: The name of the header containing the host of the request. + CustomHostHeaderName *string `json:"customHostHeaderName,omitempty"` + + // CustomProtoHeaderName: The name of the header containing the scheme of the request. + CustomProtoHeaderName *string `json:"customProtoHeaderName,omitempty"` +} + +// The configuration settings of the GitHub provider. +type GitHub struct { + // Enabled: false if the GitHub provider should not be enabled despite the set registration; otherwise, + // true. + Enabled *bool `json:"enabled,omitempty"` + + // Login: The configuration settings of the login flow. + Login *LoginScopes `json:"login,omitempty"` + + // Registration: The configuration settings of the app registration for the GitHub provider. + Registration *ClientRegistration `json:"registration,omitempty"` +} + +// +kubebuilder:validation:Enum={"AllowAnonymous","RedirectToLoginPage","Return401","Return403"} +type GlobalValidation_UnauthenticatedClientAction string + +const ( + GlobalValidation_UnauthenticatedClientAction_AllowAnonymous = GlobalValidation_UnauthenticatedClientAction("AllowAnonymous") + GlobalValidation_UnauthenticatedClientAction_RedirectToLoginPage = GlobalValidation_UnauthenticatedClientAction("RedirectToLoginPage") + GlobalValidation_UnauthenticatedClientAction_Return401 = GlobalValidation_UnauthenticatedClientAction("Return401") + GlobalValidation_UnauthenticatedClientAction_Return403 = GlobalValidation_UnauthenticatedClientAction("Return403") +) + +// Mapping from string to GlobalValidation_UnauthenticatedClientAction +var globalValidation_UnauthenticatedClientAction_Values = map[string]GlobalValidation_UnauthenticatedClientAction{ + "allowanonymous": GlobalValidation_UnauthenticatedClientAction_AllowAnonymous, + "redirecttologinpage": GlobalValidation_UnauthenticatedClientAction_RedirectToLoginPage, + "return401": GlobalValidation_UnauthenticatedClientAction_Return401, + "return403": GlobalValidation_UnauthenticatedClientAction_Return403, +} + +// The configuration settings of the Google provider. +type Google struct { + // Enabled: false if the Google provider should not be enabled despite the set registration; otherwise, + // true. + Enabled *bool `json:"enabled,omitempty"` + + // Login: The configuration settings of the login flow. + Login *LoginScopes `json:"login,omitempty"` + + // Registration: The configuration settings of the app registration for the Google provider. + Registration *ClientRegistration `json:"registration,omitempty"` + + // Validation: The configuration settings of the Azure Active Directory token validation flow. + Validation *AllowedAudiencesValidation `json:"validation,omitempty"` +} + +// The configuration settings of the paths HTTP requests. +type HttpSettingsRoutes struct { + // ApiPrefix: The prefix that should precede all the authentication/authorization paths. + ApiPrefix *string `json:"apiPrefix,omitempty"` +} + +// The routes that specify the endpoints used for login and logout requests. +type LoginRoutes struct { + // LogoutEndpoint: The endpoint at which a logout request should be made. + LogoutEndpoint *string `json:"logoutEndpoint,omitempty"` +} + +// The configuration settings of the nonce used in the login flow. +type Nonce struct { + // NonceExpirationInterval: The time after the request is made when the nonce should expire. + NonceExpirationInterval *string `json:"nonceExpirationInterval,omitempty"` + + // ValidateNonce: false if the nonce should not be validated while completing the login flow; otherwise, + // true. + ValidateNonce *bool `json:"validateNonce,omitempty"` +} + +// The configuration settings of the token store. +type TokenStore struct { + // AzureBlobStorage: The configuration settings of the storage of the tokens if blob storage is used. + AzureBlobStorage *BlobStorageTokenStore `json:"azureBlobStorage,omitempty"` + + // Enabled: true to durably store platform-specific security tokens that are obtained during login flows; + // otherwise, false. + // The default is false. + Enabled *bool `json:"enabled,omitempty"` + + // TokenRefreshExtensionHours: The number of hours after session token expiration that a session token can be used to + // call the token refresh API. The default is 72 hours. + TokenRefreshExtensionHours *float64 `json:"tokenRefreshExtensionHours,omitempty"` +} + +// The configuration settings of the Twitter provider. +type Twitter struct { + // Enabled: false if the Twitter provider should not be enabled despite the set registration; otherwise, + // true. + Enabled *bool `json:"enabled,omitempty"` + + // Registration: The configuration settings of the app registration for the Twitter provider. + Registration *TwitterRegistration `json:"registration,omitempty"` +} + +// The configuration settings of the Allowed Audiences validation flow. +type AllowedAudiencesValidation struct { + // AllowedAudiences: The configuration settings of the allowed list of audiences from which to validate the JWT token. + AllowedAudiences []string `json:"allowedAudiences,omitempty"` +} + +// The configuration settings of the registration for the Apple provider +type AppleRegistration struct { + // ClientId: The Client ID of the app used for login. + ClientId *string `json:"clientId,omitempty"` + + // ClientSecretSettingName: The app setting name that contains the client secret. + ClientSecretSettingName *string `json:"clientSecretSettingName,omitempty"` +} + +// The configuration settings of the app registration for providers that have app ids and app secrets +type AppRegistration struct { + // AppId: The App ID of the app used for login. + AppId *string `json:"appId,omitempty"` + + // AppSecretSettingName: The app setting name that contains the app secret. + AppSecretSettingName *string `json:"appSecretSettingName,omitempty"` +} + +// The configuration settings of the Azure Active Directory login flow. +type AzureActiveDirectoryLogin struct { + // DisableWWWAuthenticate: true if the www-authenticate provider should be omitted from the request; + // otherwise, false. + DisableWWWAuthenticate *bool `json:"disableWWWAuthenticate,omitempty"` + + // LoginParameters: Login parameters to send to the OpenID Connect authorization endpoint when + // a user logs in. Each parameter must be in the form "key=value". + LoginParameters []string `json:"loginParameters,omitempty"` +} + +// The configuration settings of the Azure Active Directory app registration. +type AzureActiveDirectoryRegistration struct { + // ClientId: The Client ID of this relying party application, known as the client_id. + // This setting is required for enabling OpenID Connection authentication with Azure Active Directory or + // other 3rd party OpenID Connect providers. + // More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html + ClientId *string `json:"clientId,omitempty"` + + // ClientSecretCertificateIssuer: An alternative to the client secret thumbprint, that is the issuer of a certificate used + // for signing purposes. This property acts as + // a replacement for the Client Secret Certificate Thumbprint. It is also optional. + ClientSecretCertificateIssuer *string `json:"clientSecretCertificateIssuer,omitempty"` + + // ClientSecretCertificateSubjectAlternativeName: An alternative to the client secret thumbprint, that is the subject + // alternative name of a certificate used for signing purposes. This property acts as + // a replacement for the Client Secret Certificate Thumbprint. It is also optional. + ClientSecretCertificateSubjectAlternativeName *string `json:"clientSecretCertificateSubjectAlternativeName,omitempty"` + + // ClientSecretCertificateThumbprint: An alternative to the client secret, that is the thumbprint of a certificate used for + // signing purposes. This property acts as + // a replacement for the Client Secret. It is also optional. + ClientSecretCertificateThumbprint *string `json:"clientSecretCertificateThumbprint,omitempty"` + + // ClientSecretSettingName: The app setting name that contains the client secret of the relying party application. + ClientSecretSettingName *string `json:"clientSecretSettingName,omitempty"` + + // OpenIdIssuer: The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application. + // When using Azure Active Directory, this value is the URI of the directory tenant, e.g. + // https://login.microsoftonline.com/v2.0/{tenant-guid}/. + // This URI is a case-sensitive identifier for the token issuer. + // More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html + OpenIdIssuer *string `json:"openIdIssuer,omitempty"` +} + +// The configuration settings of the Azure Active Directory token validation flow. +type AzureActiveDirectoryValidation struct { + // AllowedAudiences: The list of audiences that can make successful authentication/authorization requests. + AllowedAudiences []string `json:"allowedAudiences,omitempty"` + + // DefaultAuthorizationPolicy: The configuration settings of the default authorization policy. + DefaultAuthorizationPolicy *DefaultAuthorizationPolicy `json:"defaultAuthorizationPolicy,omitempty"` + + // JwtClaimChecks: The configuration settings of the checks that should be made while validating the JWT Claims. + JwtClaimChecks *JwtClaimChecks `json:"jwtClaimChecks,omitempty"` +} + +// The configuration settings of the registration for the Azure Static Web Apps provider +type AzureStaticWebAppsRegistration struct { + // ClientId: The Client ID of the app used for login. + ClientId *string `json:"clientId,omitempty"` +} + +// The configuration settings of the storage of the tokens if blob storage is used. +type BlobStorageTokenStore struct { + // SasUrlSettingName: The name of the app secrets containing the SAS URL of the blob storage containing the tokens. + SasUrlSettingName *string `json:"sasUrlSettingName,omitempty"` +} + +// The configuration settings of the app registration for providers that have client ids and client secrets +type ClientRegistration struct { + // ClientId: The Client ID of the app used for login. + ClientId *string `json:"clientId,omitempty"` + + // ClientSecretSettingName: The app setting name that contains the client secret. + ClientSecretSettingName *string `json:"clientSecretSettingName,omitempty"` +} + +// +kubebuilder:validation:Enum={"FixedTime","IdentityProviderDerived"} +type CookieExpiration_Convention string + +const ( + CookieExpiration_Convention_FixedTime = CookieExpiration_Convention("FixedTime") + CookieExpiration_Convention_IdentityProviderDerived = CookieExpiration_Convention("IdentityProviderDerived") +) + +// Mapping from string to CookieExpiration_Convention +var cookieExpiration_Convention_Values = map[string]CookieExpiration_Convention{ + "fixedtime": CookieExpiration_Convention_FixedTime, + "identityproviderderived": CookieExpiration_Convention_IdentityProviderDerived, +} + +// +kubebuilder:validation:Enum={"Custom","NoProxy","Standard"} +type ForwardProxy_Convention string + +const ( + ForwardProxy_Convention_Custom = ForwardProxy_Convention("Custom") + ForwardProxy_Convention_NoProxy = ForwardProxy_Convention("NoProxy") + ForwardProxy_Convention_Standard = ForwardProxy_Convention("Standard") +) + +// Mapping from string to ForwardProxy_Convention +var forwardProxy_Convention_Values = map[string]ForwardProxy_Convention{ + "custom": ForwardProxy_Convention_Custom, + "noproxy": ForwardProxy_Convention_NoProxy, + "standard": ForwardProxy_Convention_Standard, +} + +// The configuration settings of the login flow, including the scopes that should be requested. +type LoginScopes struct { + // Scopes: A list of the scopes that should be requested while authenticating. + Scopes []string `json:"scopes,omitempty"` +} + +// The configuration settings of the login flow of the custom Open ID Connect provider. +type OpenIdConnectLogin struct { + // NameClaimType: The name of the claim that contains the users name. + NameClaimType *string `json:"nameClaimType,omitempty"` + + // Scopes: A list of the scopes that should be requested while authenticating. + Scopes []string `json:"scopes,omitempty"` +} + +// The configuration settings of the app registration for the custom Open ID Connect provider. +type OpenIdConnectRegistration struct { + // ClientCredential: The authentication credentials of the custom Open ID Connect provider. + ClientCredential *OpenIdConnectClientCredential `json:"clientCredential,omitempty"` + + // ClientId: The client id of the custom Open ID Connect provider. + ClientId *string `json:"clientId,omitempty"` + + // OpenIdConnectConfiguration: The configuration settings of the endpoints used for the custom Open ID Connect provider. + OpenIdConnectConfiguration *OpenIdConnectConfig `json:"openIdConnectConfiguration,omitempty"` +} + +// The configuration settings of the app registration for the Twitter provider. +type TwitterRegistration struct { + // ConsumerKey: The OAuth 1.0a consumer key of the Twitter application used for sign-in. + // This setting is required for enabling Twitter Sign-In. + // Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in + ConsumerKey *string `json:"consumerKey,omitempty"` + + // ConsumerSecretSettingName: The app setting name that contains the OAuth 1.0a consumer secret of the Twitter + // application used for sign-in. + ConsumerSecretSettingName *string `json:"consumerSecretSettingName,omitempty"` +} + +// The configuration settings of the Azure Active Directory default authorization policy. +type DefaultAuthorizationPolicy struct { + // AllowedApplications: The configuration settings of the Azure Active Directory allowed applications. + AllowedApplications []string `json:"allowedApplications,omitempty"` + + // AllowedPrincipals: The configuration settings of the Azure Active Directory allowed principals. + AllowedPrincipals *AllowedPrincipals `json:"allowedPrincipals,omitempty"` +} + +// The configuration settings of the checks that should be made while validating the JWT Claims. +type JwtClaimChecks struct { + // AllowedClientApplications: The list of the allowed client applications. + AllowedClientApplications []string `json:"allowedClientApplications,omitempty"` + + // AllowedGroups: The list of the allowed groups. + AllowedGroups []string `json:"allowedGroups,omitempty"` +} + +// The authentication client credentials of the custom Open ID Connect provider. +type OpenIdConnectClientCredential struct { + // ClientSecretSettingName: The app setting that contains the client secret for the custom Open ID Connect provider. + ClientSecretSettingName *string `json:"clientSecretSettingName,omitempty"` + + // Method: The method that should be used to authenticate the user. + Method *OpenIdConnectClientCredential_Method `json:"method,omitempty"` +} + +// The configuration settings of the endpoints used for the custom Open ID Connect provider. +type OpenIdConnectConfig struct { + // AuthorizationEndpoint: The endpoint to be used to make an authorization request. + AuthorizationEndpoint *string `json:"authorizationEndpoint,omitempty"` + + // CertificationUri: The endpoint that provides the keys necessary to validate the token. + CertificationUri *string `json:"certificationUri,omitempty"` + + // Issuer: The endpoint that issues the token. + Issuer *string `json:"issuer,omitempty"` + + // TokenEndpoint: The endpoint to be used to request a token. + TokenEndpoint *string `json:"tokenEndpoint,omitempty"` + + // WellKnownOpenIdConfiguration: The endpoint that contains all the configuration endpoints for the provider. + WellKnownOpenIdConfiguration *string `json:"wellKnownOpenIdConfiguration,omitempty"` +} + +// The configuration settings of the Azure Active Directory allowed principals. +type AllowedPrincipals struct { + // Groups: The list of the allowed groups. + Groups []string `json:"groups,omitempty"` + + // Identities: The list of the allowed identities. + Identities []string `json:"identities,omitempty"` +} + +// +kubebuilder:validation:Enum={"ClientSecretPost"} +type OpenIdConnectClientCredential_Method string + +const OpenIdConnectClientCredential_Method_ClientSecretPost = OpenIdConnectClientCredential_Method("ClientSecretPost") + +// Mapping from string to OpenIdConnectClientCredential_Method +var openIdConnectClientCredential_Method_Values = map[string]OpenIdConnectClientCredential_Method{ + "clientsecretpost": OpenIdConnectClientCredential_Method_ClientSecretPost, +} diff --git a/v2/api/app/v1api20240301/arm/auth_config_spec_types_gen_test.go b/v2/api/app/v1api20240301/arm/auth_config_spec_types_gen_test.go new file mode 100644 index 00000000000..1bec7b1a36d --- /dev/null +++ b/v2/api/app/v1api20240301/arm/auth_config_spec_types_gen_test.go @@ -0,0 +1,2704 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +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_AllowedAudiencesValidation_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 AllowedAudiencesValidation via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAllowedAudiencesValidation, AllowedAudiencesValidationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAllowedAudiencesValidation runs a test to see if a specific instance of AllowedAudiencesValidation round trips to JSON and back losslessly +func RunJSONSerializationTestForAllowedAudiencesValidation(subject AllowedAudiencesValidation) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AllowedAudiencesValidation + 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 AllowedAudiencesValidation instances for property testing - lazily instantiated by +// AllowedAudiencesValidationGenerator() +var allowedAudiencesValidationGenerator gopter.Gen + +// AllowedAudiencesValidationGenerator returns a generator of AllowedAudiencesValidation instances for property testing. +func AllowedAudiencesValidationGenerator() gopter.Gen { + if allowedAudiencesValidationGenerator != nil { + return allowedAudiencesValidationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAllowedAudiencesValidation(generators) + allowedAudiencesValidationGenerator = gen.Struct(reflect.TypeOf(AllowedAudiencesValidation{}), generators) + + return allowedAudiencesValidationGenerator +} + +// AddIndependentPropertyGeneratorsForAllowedAudiencesValidation is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAllowedAudiencesValidation(gens map[string]gopter.Gen) { + gens["AllowedAudiences"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_AllowedPrincipals_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 AllowedPrincipals via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAllowedPrincipals, AllowedPrincipalsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAllowedPrincipals runs a test to see if a specific instance of AllowedPrincipals round trips to JSON and back losslessly +func RunJSONSerializationTestForAllowedPrincipals(subject AllowedPrincipals) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AllowedPrincipals + 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 AllowedPrincipals instances for property testing - lazily instantiated by AllowedPrincipalsGenerator() +var allowedPrincipalsGenerator gopter.Gen + +// AllowedPrincipalsGenerator returns a generator of AllowedPrincipals instances for property testing. +func AllowedPrincipalsGenerator() gopter.Gen { + if allowedPrincipalsGenerator != nil { + return allowedPrincipalsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAllowedPrincipals(generators) + allowedPrincipalsGenerator = gen.Struct(reflect.TypeOf(AllowedPrincipals{}), generators) + + return allowedPrincipalsGenerator +} + +// AddIndependentPropertyGeneratorsForAllowedPrincipals is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAllowedPrincipals(gens map[string]gopter.Gen) { + gens["Groups"] = gen.SliceOf(gen.AlphaString()) + gens["Identities"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_AppRegistration_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 AppRegistration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAppRegistration, AppRegistrationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAppRegistration runs a test to see if a specific instance of AppRegistration round trips to JSON and back losslessly +func RunJSONSerializationTestForAppRegistration(subject AppRegistration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AppRegistration + 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 AppRegistration instances for property testing - lazily instantiated by AppRegistrationGenerator() +var appRegistrationGenerator gopter.Gen + +// AppRegistrationGenerator returns a generator of AppRegistration instances for property testing. +func AppRegistrationGenerator() gopter.Gen { + if appRegistrationGenerator != nil { + return appRegistrationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAppRegistration(generators) + appRegistrationGenerator = gen.Struct(reflect.TypeOf(AppRegistration{}), generators) + + return appRegistrationGenerator +} + +// AddIndependentPropertyGeneratorsForAppRegistration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAppRegistration(gens map[string]gopter.Gen) { + gens["AppId"] = gen.PtrOf(gen.AlphaString()) + gens["AppSecretSettingName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Apple_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 Apple via JSON returns original", + prop.ForAll(RunJSONSerializationTestForApple, AppleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForApple runs a test to see if a specific instance of Apple round trips to JSON and back losslessly +func RunJSONSerializationTestForApple(subject Apple) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Apple + 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 Apple instances for property testing - lazily instantiated by AppleGenerator() +var appleGenerator gopter.Gen + +// AppleGenerator returns a generator of Apple instances for property testing. +// We first initialize appleGenerator 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 AppleGenerator() gopter.Gen { + if appleGenerator != nil { + return appleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForApple(generators) + appleGenerator = gen.Struct(reflect.TypeOf(Apple{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForApple(generators) + AddRelatedPropertyGeneratorsForApple(generators) + appleGenerator = gen.Struct(reflect.TypeOf(Apple{}), generators) + + return appleGenerator +} + +// AddIndependentPropertyGeneratorsForApple is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForApple(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForApple is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForApple(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(LoginScopesGenerator()) + gens["Registration"] = gen.PtrOf(AppleRegistrationGenerator()) +} + +func Test_AppleRegistration_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 AppleRegistration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAppleRegistration, AppleRegistrationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAppleRegistration runs a test to see if a specific instance of AppleRegistration round trips to JSON and back losslessly +func RunJSONSerializationTestForAppleRegistration(subject AppleRegistration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AppleRegistration + 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 AppleRegistration instances for property testing - lazily instantiated by AppleRegistrationGenerator() +var appleRegistrationGenerator gopter.Gen + +// AppleRegistrationGenerator returns a generator of AppleRegistration instances for property testing. +func AppleRegistrationGenerator() gopter.Gen { + if appleRegistrationGenerator != nil { + return appleRegistrationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAppleRegistration(generators) + appleRegistrationGenerator = gen.Struct(reflect.TypeOf(AppleRegistration{}), generators) + + return appleRegistrationGenerator +} + +// AddIndependentPropertyGeneratorsForAppleRegistration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAppleRegistration(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretSettingName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_AuthConfig_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 AuthConfig_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAuthConfig_Spec, AuthConfig_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAuthConfig_Spec runs a test to see if a specific instance of AuthConfig_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForAuthConfig_Spec(subject AuthConfig_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AuthConfig_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 AuthConfig_Spec instances for property testing - lazily instantiated by AuthConfig_SpecGenerator() +var authConfig_SpecGenerator gopter.Gen + +// AuthConfig_SpecGenerator returns a generator of AuthConfig_Spec instances for property testing. +// We first initialize authConfig_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 AuthConfig_SpecGenerator() gopter.Gen { + if authConfig_SpecGenerator != nil { + return authConfig_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAuthConfig_Spec(generators) + authConfig_SpecGenerator = gen.Struct(reflect.TypeOf(AuthConfig_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAuthConfig_Spec(generators) + AddRelatedPropertyGeneratorsForAuthConfig_Spec(generators) + authConfig_SpecGenerator = gen.Struct(reflect.TypeOf(AuthConfig_Spec{}), generators) + + return authConfig_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForAuthConfig_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAuthConfig_Spec(gens map[string]gopter.Gen) { + gens["Name"] = gen.AlphaString() +} + +// AddRelatedPropertyGeneratorsForAuthConfig_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAuthConfig_Spec(gens map[string]gopter.Gen) { + gens["Properties"] = gen.PtrOf(ContainerApps_AuthConfig_Properties_SpecGenerator()) +} + +func Test_AuthPlatform_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 AuthPlatform via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAuthPlatform, AuthPlatformGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAuthPlatform runs a test to see if a specific instance of AuthPlatform round trips to JSON and back losslessly +func RunJSONSerializationTestForAuthPlatform(subject AuthPlatform) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AuthPlatform + 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 AuthPlatform instances for property testing - lazily instantiated by AuthPlatformGenerator() +var authPlatformGenerator gopter.Gen + +// AuthPlatformGenerator returns a generator of AuthPlatform instances for property testing. +func AuthPlatformGenerator() gopter.Gen { + if authPlatformGenerator != nil { + return authPlatformGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAuthPlatform(generators) + authPlatformGenerator = gen.Struct(reflect.TypeOf(AuthPlatform{}), generators) + + return authPlatformGenerator +} + +// AddIndependentPropertyGeneratorsForAuthPlatform is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAuthPlatform(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["RuntimeVersion"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_AzureActiveDirectory_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 AzureActiveDirectory via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureActiveDirectory, AzureActiveDirectoryGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureActiveDirectory runs a test to see if a specific instance of AzureActiveDirectory round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureActiveDirectory(subject AzureActiveDirectory) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureActiveDirectory + 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 AzureActiveDirectory instances for property testing - lazily instantiated by +// AzureActiveDirectoryGenerator() +var azureActiveDirectoryGenerator gopter.Gen + +// AzureActiveDirectoryGenerator returns a generator of AzureActiveDirectory instances for property testing. +// We first initialize azureActiveDirectoryGenerator 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 AzureActiveDirectoryGenerator() gopter.Gen { + if azureActiveDirectoryGenerator != nil { + return azureActiveDirectoryGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectory(generators) + azureActiveDirectoryGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectory{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectory(generators) + AddRelatedPropertyGeneratorsForAzureActiveDirectory(generators) + azureActiveDirectoryGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectory{}), generators) + + return azureActiveDirectoryGenerator +} + +// AddIndependentPropertyGeneratorsForAzureActiveDirectory is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureActiveDirectory(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["IsAutoProvisioned"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForAzureActiveDirectory is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAzureActiveDirectory(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(AzureActiveDirectoryLoginGenerator()) + gens["Registration"] = gen.PtrOf(AzureActiveDirectoryRegistrationGenerator()) + gens["Validation"] = gen.PtrOf(AzureActiveDirectoryValidationGenerator()) +} + +func Test_AzureActiveDirectoryLogin_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 AzureActiveDirectoryLogin via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureActiveDirectoryLogin, AzureActiveDirectoryLoginGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureActiveDirectoryLogin runs a test to see if a specific instance of AzureActiveDirectoryLogin round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureActiveDirectoryLogin(subject AzureActiveDirectoryLogin) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureActiveDirectoryLogin + 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 AzureActiveDirectoryLogin instances for property testing - lazily instantiated by +// AzureActiveDirectoryLoginGenerator() +var azureActiveDirectoryLoginGenerator gopter.Gen + +// AzureActiveDirectoryLoginGenerator returns a generator of AzureActiveDirectoryLogin instances for property testing. +func AzureActiveDirectoryLoginGenerator() gopter.Gen { + if azureActiveDirectoryLoginGenerator != nil { + return azureActiveDirectoryLoginGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectoryLogin(generators) + azureActiveDirectoryLoginGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectoryLogin{}), generators) + + return azureActiveDirectoryLoginGenerator +} + +// AddIndependentPropertyGeneratorsForAzureActiveDirectoryLogin is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureActiveDirectoryLogin(gens map[string]gopter.Gen) { + gens["DisableWWWAuthenticate"] = gen.PtrOf(gen.Bool()) + gens["LoginParameters"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_AzureActiveDirectoryRegistration_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 AzureActiveDirectoryRegistration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureActiveDirectoryRegistration, AzureActiveDirectoryRegistrationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureActiveDirectoryRegistration runs a test to see if a specific instance of AzureActiveDirectoryRegistration round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureActiveDirectoryRegistration(subject AzureActiveDirectoryRegistration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureActiveDirectoryRegistration + 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 AzureActiveDirectoryRegistration instances for property testing - lazily instantiated by +// AzureActiveDirectoryRegistrationGenerator() +var azureActiveDirectoryRegistrationGenerator gopter.Gen + +// AzureActiveDirectoryRegistrationGenerator returns a generator of AzureActiveDirectoryRegistration instances for property testing. +func AzureActiveDirectoryRegistrationGenerator() gopter.Gen { + if azureActiveDirectoryRegistrationGenerator != nil { + return azureActiveDirectoryRegistrationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectoryRegistration(generators) + azureActiveDirectoryRegistrationGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectoryRegistration{}), generators) + + return azureActiveDirectoryRegistrationGenerator +} + +// AddIndependentPropertyGeneratorsForAzureActiveDirectoryRegistration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureActiveDirectoryRegistration(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretCertificateIssuer"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretCertificateSubjectAlternativeName"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretCertificateThumbprint"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretSettingName"] = gen.PtrOf(gen.AlphaString()) + gens["OpenIdIssuer"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_AzureActiveDirectoryValidation_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 AzureActiveDirectoryValidation via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureActiveDirectoryValidation, AzureActiveDirectoryValidationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureActiveDirectoryValidation runs a test to see if a specific instance of AzureActiveDirectoryValidation round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureActiveDirectoryValidation(subject AzureActiveDirectoryValidation) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureActiveDirectoryValidation + 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 AzureActiveDirectoryValidation instances for property testing - lazily instantiated by +// AzureActiveDirectoryValidationGenerator() +var azureActiveDirectoryValidationGenerator gopter.Gen + +// AzureActiveDirectoryValidationGenerator returns a generator of AzureActiveDirectoryValidation instances for property testing. +// We first initialize azureActiveDirectoryValidationGenerator 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 AzureActiveDirectoryValidationGenerator() gopter.Gen { + if azureActiveDirectoryValidationGenerator != nil { + return azureActiveDirectoryValidationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectoryValidation(generators) + azureActiveDirectoryValidationGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectoryValidation{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectoryValidation(generators) + AddRelatedPropertyGeneratorsForAzureActiveDirectoryValidation(generators) + azureActiveDirectoryValidationGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectoryValidation{}), generators) + + return azureActiveDirectoryValidationGenerator +} + +// AddIndependentPropertyGeneratorsForAzureActiveDirectoryValidation is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureActiveDirectoryValidation(gens map[string]gopter.Gen) { + gens["AllowedAudiences"] = gen.SliceOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForAzureActiveDirectoryValidation is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAzureActiveDirectoryValidation(gens map[string]gopter.Gen) { + gens["DefaultAuthorizationPolicy"] = gen.PtrOf(DefaultAuthorizationPolicyGenerator()) + gens["JwtClaimChecks"] = gen.PtrOf(JwtClaimChecksGenerator()) +} + +func Test_AzureStaticWebApps_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 AzureStaticWebApps via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureStaticWebApps, AzureStaticWebAppsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureStaticWebApps runs a test to see if a specific instance of AzureStaticWebApps round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureStaticWebApps(subject AzureStaticWebApps) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureStaticWebApps + 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 AzureStaticWebApps instances for property testing - lazily instantiated by AzureStaticWebAppsGenerator() +var azureStaticWebAppsGenerator gopter.Gen + +// AzureStaticWebAppsGenerator returns a generator of AzureStaticWebApps instances for property testing. +// We first initialize azureStaticWebAppsGenerator 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 AzureStaticWebAppsGenerator() gopter.Gen { + if azureStaticWebAppsGenerator != nil { + return azureStaticWebAppsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureStaticWebApps(generators) + azureStaticWebAppsGenerator = gen.Struct(reflect.TypeOf(AzureStaticWebApps{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureStaticWebApps(generators) + AddRelatedPropertyGeneratorsForAzureStaticWebApps(generators) + azureStaticWebAppsGenerator = gen.Struct(reflect.TypeOf(AzureStaticWebApps{}), generators) + + return azureStaticWebAppsGenerator +} + +// AddIndependentPropertyGeneratorsForAzureStaticWebApps is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureStaticWebApps(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForAzureStaticWebApps is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAzureStaticWebApps(gens map[string]gopter.Gen) { + gens["Registration"] = gen.PtrOf(AzureStaticWebAppsRegistrationGenerator()) +} + +func Test_AzureStaticWebAppsRegistration_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 AzureStaticWebAppsRegistration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureStaticWebAppsRegistration, AzureStaticWebAppsRegistrationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureStaticWebAppsRegistration runs a test to see if a specific instance of AzureStaticWebAppsRegistration round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureStaticWebAppsRegistration(subject AzureStaticWebAppsRegistration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureStaticWebAppsRegistration + 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 AzureStaticWebAppsRegistration instances for property testing - lazily instantiated by +// AzureStaticWebAppsRegistrationGenerator() +var azureStaticWebAppsRegistrationGenerator gopter.Gen + +// AzureStaticWebAppsRegistrationGenerator returns a generator of AzureStaticWebAppsRegistration instances for property testing. +func AzureStaticWebAppsRegistrationGenerator() gopter.Gen { + if azureStaticWebAppsRegistrationGenerator != nil { + return azureStaticWebAppsRegistrationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureStaticWebAppsRegistration(generators) + azureStaticWebAppsRegistrationGenerator = gen.Struct(reflect.TypeOf(AzureStaticWebAppsRegistration{}), generators) + + return azureStaticWebAppsRegistrationGenerator +} + +// AddIndependentPropertyGeneratorsForAzureStaticWebAppsRegistration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureStaticWebAppsRegistration(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_BlobStorageTokenStore_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 BlobStorageTokenStore via JSON returns original", + prop.ForAll(RunJSONSerializationTestForBlobStorageTokenStore, BlobStorageTokenStoreGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForBlobStorageTokenStore runs a test to see if a specific instance of BlobStorageTokenStore round trips to JSON and back losslessly +func RunJSONSerializationTestForBlobStorageTokenStore(subject BlobStorageTokenStore) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual BlobStorageTokenStore + 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 BlobStorageTokenStore instances for property testing - lazily instantiated by +// BlobStorageTokenStoreGenerator() +var blobStorageTokenStoreGenerator gopter.Gen + +// BlobStorageTokenStoreGenerator returns a generator of BlobStorageTokenStore instances for property testing. +func BlobStorageTokenStoreGenerator() gopter.Gen { + if blobStorageTokenStoreGenerator != nil { + return blobStorageTokenStoreGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForBlobStorageTokenStore(generators) + blobStorageTokenStoreGenerator = gen.Struct(reflect.TypeOf(BlobStorageTokenStore{}), generators) + + return blobStorageTokenStoreGenerator +} + +// AddIndependentPropertyGeneratorsForBlobStorageTokenStore is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForBlobStorageTokenStore(gens map[string]gopter.Gen) { + gens["SasUrlSettingName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ClientRegistration_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 ClientRegistration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForClientRegistration, ClientRegistrationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForClientRegistration runs a test to see if a specific instance of ClientRegistration round trips to JSON and back losslessly +func RunJSONSerializationTestForClientRegistration(subject ClientRegistration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ClientRegistration + 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 ClientRegistration instances for property testing - lazily instantiated by ClientRegistrationGenerator() +var clientRegistrationGenerator gopter.Gen + +// ClientRegistrationGenerator returns a generator of ClientRegistration instances for property testing. +func ClientRegistrationGenerator() gopter.Gen { + if clientRegistrationGenerator != nil { + return clientRegistrationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForClientRegistration(generators) + clientRegistrationGenerator = gen.Struct(reflect.TypeOf(ClientRegistration{}), generators) + + return clientRegistrationGenerator +} + +// AddIndependentPropertyGeneratorsForClientRegistration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForClientRegistration(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretSettingName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ContainerApps_AuthConfig_Properties_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 ContainerApps_AuthConfig_Properties_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerApps_AuthConfig_Properties_Spec, ContainerApps_AuthConfig_Properties_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerApps_AuthConfig_Properties_Spec runs a test to see if a specific instance of ContainerApps_AuthConfig_Properties_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerApps_AuthConfig_Properties_Spec(subject ContainerApps_AuthConfig_Properties_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerApps_AuthConfig_Properties_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 ContainerApps_AuthConfig_Properties_Spec instances for property testing - lazily instantiated by +// ContainerApps_AuthConfig_Properties_SpecGenerator() +var containerApps_AuthConfig_Properties_SpecGenerator gopter.Gen + +// ContainerApps_AuthConfig_Properties_SpecGenerator returns a generator of ContainerApps_AuthConfig_Properties_Spec instances for property testing. +func ContainerApps_AuthConfig_Properties_SpecGenerator() gopter.Gen { + if containerApps_AuthConfig_Properties_SpecGenerator != nil { + return containerApps_AuthConfig_Properties_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForContainerApps_AuthConfig_Properties_Spec(generators) + containerApps_AuthConfig_Properties_SpecGenerator = gen.Struct(reflect.TypeOf(ContainerApps_AuthConfig_Properties_Spec{}), generators) + + return containerApps_AuthConfig_Properties_SpecGenerator +} + +// AddRelatedPropertyGeneratorsForContainerApps_AuthConfig_Properties_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerApps_AuthConfig_Properties_Spec(gens map[string]gopter.Gen) { + gens["EncryptionSettings"] = gen.PtrOf(EncryptionSettingsGenerator()) + gens["GlobalValidation"] = gen.PtrOf(GlobalValidationGenerator()) + gens["HttpSettings"] = gen.PtrOf(HttpSettingsGenerator()) + gens["IdentityProviders"] = gen.PtrOf(IdentityProvidersGenerator()) + gens["Login"] = gen.PtrOf(LoginGenerator()) + gens["Platform"] = gen.PtrOf(AuthPlatformGenerator()) +} + +func Test_CookieExpiration_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 CookieExpiration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCookieExpiration, CookieExpirationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCookieExpiration runs a test to see if a specific instance of CookieExpiration round trips to JSON and back losslessly +func RunJSONSerializationTestForCookieExpiration(subject CookieExpiration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CookieExpiration + 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 CookieExpiration instances for property testing - lazily instantiated by CookieExpirationGenerator() +var cookieExpirationGenerator gopter.Gen + +// CookieExpirationGenerator returns a generator of CookieExpiration instances for property testing. +func CookieExpirationGenerator() gopter.Gen { + if cookieExpirationGenerator != nil { + return cookieExpirationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCookieExpiration(generators) + cookieExpirationGenerator = gen.Struct(reflect.TypeOf(CookieExpiration{}), generators) + + return cookieExpirationGenerator +} + +// AddIndependentPropertyGeneratorsForCookieExpiration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCookieExpiration(gens map[string]gopter.Gen) { + gens["Convention"] = gen.PtrOf(gen.OneConstOf(CookieExpiration_Convention_FixedTime, CookieExpiration_Convention_IdentityProviderDerived)) + gens["TimeToExpiration"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_CustomOpenIdConnectProvider_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 CustomOpenIdConnectProvider via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCustomOpenIdConnectProvider, CustomOpenIdConnectProviderGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCustomOpenIdConnectProvider runs a test to see if a specific instance of CustomOpenIdConnectProvider round trips to JSON and back losslessly +func RunJSONSerializationTestForCustomOpenIdConnectProvider(subject CustomOpenIdConnectProvider) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CustomOpenIdConnectProvider + 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 CustomOpenIdConnectProvider instances for property testing - lazily instantiated by +// CustomOpenIdConnectProviderGenerator() +var customOpenIdConnectProviderGenerator gopter.Gen + +// CustomOpenIdConnectProviderGenerator returns a generator of CustomOpenIdConnectProvider instances for property testing. +// We first initialize customOpenIdConnectProviderGenerator 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 CustomOpenIdConnectProviderGenerator() gopter.Gen { + if customOpenIdConnectProviderGenerator != nil { + return customOpenIdConnectProviderGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomOpenIdConnectProvider(generators) + customOpenIdConnectProviderGenerator = gen.Struct(reflect.TypeOf(CustomOpenIdConnectProvider{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomOpenIdConnectProvider(generators) + AddRelatedPropertyGeneratorsForCustomOpenIdConnectProvider(generators) + customOpenIdConnectProviderGenerator = gen.Struct(reflect.TypeOf(CustomOpenIdConnectProvider{}), generators) + + return customOpenIdConnectProviderGenerator +} + +// AddIndependentPropertyGeneratorsForCustomOpenIdConnectProvider is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCustomOpenIdConnectProvider(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForCustomOpenIdConnectProvider is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForCustomOpenIdConnectProvider(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(OpenIdConnectLoginGenerator()) + gens["Registration"] = gen.PtrOf(OpenIdConnectRegistrationGenerator()) +} + +func Test_DefaultAuthorizationPolicy_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 DefaultAuthorizationPolicy via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDefaultAuthorizationPolicy, DefaultAuthorizationPolicyGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDefaultAuthorizationPolicy runs a test to see if a specific instance of DefaultAuthorizationPolicy round trips to JSON and back losslessly +func RunJSONSerializationTestForDefaultAuthorizationPolicy(subject DefaultAuthorizationPolicy) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DefaultAuthorizationPolicy + 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 DefaultAuthorizationPolicy instances for property testing - lazily instantiated by +// DefaultAuthorizationPolicyGenerator() +var defaultAuthorizationPolicyGenerator gopter.Gen + +// DefaultAuthorizationPolicyGenerator returns a generator of DefaultAuthorizationPolicy instances for property testing. +// We first initialize defaultAuthorizationPolicyGenerator 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 DefaultAuthorizationPolicyGenerator() gopter.Gen { + if defaultAuthorizationPolicyGenerator != nil { + return defaultAuthorizationPolicyGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDefaultAuthorizationPolicy(generators) + defaultAuthorizationPolicyGenerator = gen.Struct(reflect.TypeOf(DefaultAuthorizationPolicy{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDefaultAuthorizationPolicy(generators) + AddRelatedPropertyGeneratorsForDefaultAuthorizationPolicy(generators) + defaultAuthorizationPolicyGenerator = gen.Struct(reflect.TypeOf(DefaultAuthorizationPolicy{}), generators) + + return defaultAuthorizationPolicyGenerator +} + +// AddIndependentPropertyGeneratorsForDefaultAuthorizationPolicy is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDefaultAuthorizationPolicy(gens map[string]gopter.Gen) { + gens["AllowedApplications"] = gen.SliceOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForDefaultAuthorizationPolicy is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForDefaultAuthorizationPolicy(gens map[string]gopter.Gen) { + gens["AllowedPrincipals"] = gen.PtrOf(AllowedPrincipalsGenerator()) +} + +func Test_EncryptionSettings_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 EncryptionSettings via JSON returns original", + prop.ForAll(RunJSONSerializationTestForEncryptionSettings, EncryptionSettingsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForEncryptionSettings runs a test to see if a specific instance of EncryptionSettings round trips to JSON and back losslessly +func RunJSONSerializationTestForEncryptionSettings(subject EncryptionSettings) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual EncryptionSettings + 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 EncryptionSettings instances for property testing - lazily instantiated by EncryptionSettingsGenerator() +var encryptionSettingsGenerator gopter.Gen + +// EncryptionSettingsGenerator returns a generator of EncryptionSettings instances for property testing. +func EncryptionSettingsGenerator() gopter.Gen { + if encryptionSettingsGenerator != nil { + return encryptionSettingsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForEncryptionSettings(generators) + encryptionSettingsGenerator = gen.Struct(reflect.TypeOf(EncryptionSettings{}), generators) + + return encryptionSettingsGenerator +} + +// AddIndependentPropertyGeneratorsForEncryptionSettings is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForEncryptionSettings(gens map[string]gopter.Gen) { + gens["ContainerAppAuthEncryptionSecretName"] = gen.PtrOf(gen.AlphaString()) + gens["ContainerAppAuthSigningSecretName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Facebook_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 Facebook via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFacebook, FacebookGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFacebook runs a test to see if a specific instance of Facebook round trips to JSON and back losslessly +func RunJSONSerializationTestForFacebook(subject Facebook) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Facebook + 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 Facebook instances for property testing - lazily instantiated by FacebookGenerator() +var facebookGenerator gopter.Gen + +// FacebookGenerator returns a generator of Facebook instances for property testing. +// We first initialize facebookGenerator 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 FacebookGenerator() gopter.Gen { + if facebookGenerator != nil { + return facebookGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFacebook(generators) + facebookGenerator = gen.Struct(reflect.TypeOf(Facebook{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFacebook(generators) + AddRelatedPropertyGeneratorsForFacebook(generators) + facebookGenerator = gen.Struct(reflect.TypeOf(Facebook{}), generators) + + return facebookGenerator +} + +// AddIndependentPropertyGeneratorsForFacebook is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFacebook(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["GraphApiVersion"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForFacebook is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFacebook(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(LoginScopesGenerator()) + gens["Registration"] = gen.PtrOf(AppRegistrationGenerator()) +} + +func Test_ForwardProxy_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 ForwardProxy via JSON returns original", + prop.ForAll(RunJSONSerializationTestForForwardProxy, ForwardProxyGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForForwardProxy runs a test to see if a specific instance of ForwardProxy round trips to JSON and back losslessly +func RunJSONSerializationTestForForwardProxy(subject ForwardProxy) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ForwardProxy + 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 ForwardProxy instances for property testing - lazily instantiated by ForwardProxyGenerator() +var forwardProxyGenerator gopter.Gen + +// ForwardProxyGenerator returns a generator of ForwardProxy instances for property testing. +func ForwardProxyGenerator() gopter.Gen { + if forwardProxyGenerator != nil { + return forwardProxyGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForForwardProxy(generators) + forwardProxyGenerator = gen.Struct(reflect.TypeOf(ForwardProxy{}), generators) + + return forwardProxyGenerator +} + +// AddIndependentPropertyGeneratorsForForwardProxy is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForForwardProxy(gens map[string]gopter.Gen) { + gens["Convention"] = gen.PtrOf(gen.OneConstOf(ForwardProxy_Convention_Custom, ForwardProxy_Convention_NoProxy, ForwardProxy_Convention_Standard)) + gens["CustomHostHeaderName"] = gen.PtrOf(gen.AlphaString()) + gens["CustomProtoHeaderName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_GitHub_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 GitHub via JSON returns original", + prop.ForAll(RunJSONSerializationTestForGitHub, GitHubGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForGitHub runs a test to see if a specific instance of GitHub round trips to JSON and back losslessly +func RunJSONSerializationTestForGitHub(subject GitHub) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual GitHub + 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 GitHub instances for property testing - lazily instantiated by GitHubGenerator() +var gitHubGenerator gopter.Gen + +// GitHubGenerator returns a generator of GitHub instances for property testing. +// We first initialize gitHubGenerator 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 GitHubGenerator() gopter.Gen { + if gitHubGenerator != nil { + return gitHubGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGitHub(generators) + gitHubGenerator = gen.Struct(reflect.TypeOf(GitHub{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGitHub(generators) + AddRelatedPropertyGeneratorsForGitHub(generators) + gitHubGenerator = gen.Struct(reflect.TypeOf(GitHub{}), generators) + + return gitHubGenerator +} + +// AddIndependentPropertyGeneratorsForGitHub is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForGitHub(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForGitHub is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForGitHub(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(LoginScopesGenerator()) + gens["Registration"] = gen.PtrOf(ClientRegistrationGenerator()) +} + +func Test_GlobalValidation_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 GlobalValidation via JSON returns original", + prop.ForAll(RunJSONSerializationTestForGlobalValidation, GlobalValidationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForGlobalValidation runs a test to see if a specific instance of GlobalValidation round trips to JSON and back losslessly +func RunJSONSerializationTestForGlobalValidation(subject GlobalValidation) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual GlobalValidation + 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 GlobalValidation instances for property testing - lazily instantiated by GlobalValidationGenerator() +var globalValidationGenerator gopter.Gen + +// GlobalValidationGenerator returns a generator of GlobalValidation instances for property testing. +func GlobalValidationGenerator() gopter.Gen { + if globalValidationGenerator != nil { + return globalValidationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGlobalValidation(generators) + globalValidationGenerator = gen.Struct(reflect.TypeOf(GlobalValidation{}), generators) + + return globalValidationGenerator +} + +// AddIndependentPropertyGeneratorsForGlobalValidation is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForGlobalValidation(gens map[string]gopter.Gen) { + gens["ExcludedPaths"] = gen.SliceOf(gen.AlphaString()) + gens["RedirectToProvider"] = gen.PtrOf(gen.AlphaString()) + gens["UnauthenticatedClientAction"] = gen.PtrOf(gen.OneConstOf( + GlobalValidation_UnauthenticatedClientAction_AllowAnonymous, + GlobalValidation_UnauthenticatedClientAction_RedirectToLoginPage, + GlobalValidation_UnauthenticatedClientAction_Return401, + GlobalValidation_UnauthenticatedClientAction_Return403)) +} + +func Test_Google_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 Google via JSON returns original", + prop.ForAll(RunJSONSerializationTestForGoogle, GoogleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForGoogle runs a test to see if a specific instance of Google round trips to JSON and back losslessly +func RunJSONSerializationTestForGoogle(subject Google) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Google + 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 Google instances for property testing - lazily instantiated by GoogleGenerator() +var googleGenerator gopter.Gen + +// GoogleGenerator returns a generator of Google instances for property testing. +// We first initialize googleGenerator 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 GoogleGenerator() gopter.Gen { + if googleGenerator != nil { + return googleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGoogle(generators) + googleGenerator = gen.Struct(reflect.TypeOf(Google{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGoogle(generators) + AddRelatedPropertyGeneratorsForGoogle(generators) + googleGenerator = gen.Struct(reflect.TypeOf(Google{}), generators) + + return googleGenerator +} + +// AddIndependentPropertyGeneratorsForGoogle is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForGoogle(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForGoogle is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForGoogle(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(LoginScopesGenerator()) + gens["Registration"] = gen.PtrOf(ClientRegistrationGenerator()) + gens["Validation"] = gen.PtrOf(AllowedAudiencesValidationGenerator()) +} + +func Test_HttpSettings_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 HttpSettings via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHttpSettings, HttpSettingsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHttpSettings runs a test to see if a specific instance of HttpSettings round trips to JSON and back losslessly +func RunJSONSerializationTestForHttpSettings(subject HttpSettings) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HttpSettings + 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 HttpSettings instances for property testing - lazily instantiated by HttpSettingsGenerator() +var httpSettingsGenerator gopter.Gen + +// HttpSettingsGenerator returns a generator of HttpSettings instances for property testing. +// We first initialize httpSettingsGenerator 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 HttpSettingsGenerator() gopter.Gen { + if httpSettingsGenerator != nil { + return httpSettingsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHttpSettings(generators) + httpSettingsGenerator = gen.Struct(reflect.TypeOf(HttpSettings{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHttpSettings(generators) + AddRelatedPropertyGeneratorsForHttpSettings(generators) + httpSettingsGenerator = gen.Struct(reflect.TypeOf(HttpSettings{}), generators) + + return httpSettingsGenerator +} + +// AddIndependentPropertyGeneratorsForHttpSettings is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHttpSettings(gens map[string]gopter.Gen) { + gens["RequireHttps"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForHttpSettings is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHttpSettings(gens map[string]gopter.Gen) { + gens["ForwardProxy"] = gen.PtrOf(ForwardProxyGenerator()) + gens["Routes"] = gen.PtrOf(HttpSettingsRoutesGenerator()) +} + +func Test_HttpSettingsRoutes_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 HttpSettingsRoutes via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHttpSettingsRoutes, HttpSettingsRoutesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHttpSettingsRoutes runs a test to see if a specific instance of HttpSettingsRoutes round trips to JSON and back losslessly +func RunJSONSerializationTestForHttpSettingsRoutes(subject HttpSettingsRoutes) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HttpSettingsRoutes + 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 HttpSettingsRoutes instances for property testing - lazily instantiated by HttpSettingsRoutesGenerator() +var httpSettingsRoutesGenerator gopter.Gen + +// HttpSettingsRoutesGenerator returns a generator of HttpSettingsRoutes instances for property testing. +func HttpSettingsRoutesGenerator() gopter.Gen { + if httpSettingsRoutesGenerator != nil { + return httpSettingsRoutesGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHttpSettingsRoutes(generators) + httpSettingsRoutesGenerator = gen.Struct(reflect.TypeOf(HttpSettingsRoutes{}), generators) + + return httpSettingsRoutesGenerator +} + +// AddIndependentPropertyGeneratorsForHttpSettingsRoutes is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHttpSettingsRoutes(gens map[string]gopter.Gen) { + gens["ApiPrefix"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_IdentityProviders_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 IdentityProviders via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIdentityProviders, IdentityProvidersGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIdentityProviders runs a test to see if a specific instance of IdentityProviders round trips to JSON and back losslessly +func RunJSONSerializationTestForIdentityProviders(subject IdentityProviders) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IdentityProviders + 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 IdentityProviders instances for property testing - lazily instantiated by IdentityProvidersGenerator() +var identityProvidersGenerator gopter.Gen + +// IdentityProvidersGenerator returns a generator of IdentityProviders instances for property testing. +func IdentityProvidersGenerator() gopter.Gen { + if identityProvidersGenerator != nil { + return identityProvidersGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForIdentityProviders(generators) + identityProvidersGenerator = gen.Struct(reflect.TypeOf(IdentityProviders{}), generators) + + return identityProvidersGenerator +} + +// AddRelatedPropertyGeneratorsForIdentityProviders is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIdentityProviders(gens map[string]gopter.Gen) { + gens["Apple"] = gen.PtrOf(AppleGenerator()) + gens["AzureActiveDirectory"] = gen.PtrOf(AzureActiveDirectoryGenerator()) + gens["AzureStaticWebApps"] = gen.PtrOf(AzureStaticWebAppsGenerator()) + gens["CustomOpenIdConnectProviders"] = gen.MapOf( + gen.AlphaString(), + CustomOpenIdConnectProviderGenerator()) + gens["Facebook"] = gen.PtrOf(FacebookGenerator()) + gens["GitHub"] = gen.PtrOf(GitHubGenerator()) + gens["Google"] = gen.PtrOf(GoogleGenerator()) + gens["Twitter"] = gen.PtrOf(TwitterGenerator()) +} + +func Test_JwtClaimChecks_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 JwtClaimChecks via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJwtClaimChecks, JwtClaimChecksGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJwtClaimChecks runs a test to see if a specific instance of JwtClaimChecks round trips to JSON and back losslessly +func RunJSONSerializationTestForJwtClaimChecks(subject JwtClaimChecks) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JwtClaimChecks + 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 JwtClaimChecks instances for property testing - lazily instantiated by JwtClaimChecksGenerator() +var jwtClaimChecksGenerator gopter.Gen + +// JwtClaimChecksGenerator returns a generator of JwtClaimChecks instances for property testing. +func JwtClaimChecksGenerator() gopter.Gen { + if jwtClaimChecksGenerator != nil { + return jwtClaimChecksGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJwtClaimChecks(generators) + jwtClaimChecksGenerator = gen.Struct(reflect.TypeOf(JwtClaimChecks{}), generators) + + return jwtClaimChecksGenerator +} + +// AddIndependentPropertyGeneratorsForJwtClaimChecks is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJwtClaimChecks(gens map[string]gopter.Gen) { + gens["AllowedClientApplications"] = gen.SliceOf(gen.AlphaString()) + gens["AllowedGroups"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_Login_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 Login via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLogin, LoginGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLogin runs a test to see if a specific instance of Login round trips to JSON and back losslessly +func RunJSONSerializationTestForLogin(subject Login) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Login + 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 Login instances for property testing - lazily instantiated by LoginGenerator() +var loginGenerator gopter.Gen + +// LoginGenerator returns a generator of Login instances for property testing. +// We first initialize loginGenerator 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 LoginGenerator() gopter.Gen { + if loginGenerator != nil { + return loginGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLogin(generators) + loginGenerator = gen.Struct(reflect.TypeOf(Login{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLogin(generators) + AddRelatedPropertyGeneratorsForLogin(generators) + loginGenerator = gen.Struct(reflect.TypeOf(Login{}), generators) + + return loginGenerator +} + +// AddIndependentPropertyGeneratorsForLogin is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLogin(gens map[string]gopter.Gen) { + gens["AllowedExternalRedirectUrls"] = gen.SliceOf(gen.AlphaString()) + gens["PreserveUrlFragmentsForLogins"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForLogin is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForLogin(gens map[string]gopter.Gen) { + gens["CookieExpiration"] = gen.PtrOf(CookieExpirationGenerator()) + gens["Nonce"] = gen.PtrOf(NonceGenerator()) + gens["Routes"] = gen.PtrOf(LoginRoutesGenerator()) + gens["TokenStore"] = gen.PtrOf(TokenStoreGenerator()) +} + +func Test_LoginRoutes_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 LoginRoutes via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLoginRoutes, LoginRoutesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLoginRoutes runs a test to see if a specific instance of LoginRoutes round trips to JSON and back losslessly +func RunJSONSerializationTestForLoginRoutes(subject LoginRoutes) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual LoginRoutes + 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 LoginRoutes instances for property testing - lazily instantiated by LoginRoutesGenerator() +var loginRoutesGenerator gopter.Gen + +// LoginRoutesGenerator returns a generator of LoginRoutes instances for property testing. +func LoginRoutesGenerator() gopter.Gen { + if loginRoutesGenerator != nil { + return loginRoutesGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLoginRoutes(generators) + loginRoutesGenerator = gen.Struct(reflect.TypeOf(LoginRoutes{}), generators) + + return loginRoutesGenerator +} + +// AddIndependentPropertyGeneratorsForLoginRoutes is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLoginRoutes(gens map[string]gopter.Gen) { + gens["LogoutEndpoint"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_LoginScopes_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 LoginScopes via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLoginScopes, LoginScopesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLoginScopes runs a test to see if a specific instance of LoginScopes round trips to JSON and back losslessly +func RunJSONSerializationTestForLoginScopes(subject LoginScopes) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual LoginScopes + 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 LoginScopes instances for property testing - lazily instantiated by LoginScopesGenerator() +var loginScopesGenerator gopter.Gen + +// LoginScopesGenerator returns a generator of LoginScopes instances for property testing. +func LoginScopesGenerator() gopter.Gen { + if loginScopesGenerator != nil { + return loginScopesGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLoginScopes(generators) + loginScopesGenerator = gen.Struct(reflect.TypeOf(LoginScopes{}), generators) + + return loginScopesGenerator +} + +// AddIndependentPropertyGeneratorsForLoginScopes is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLoginScopes(gens map[string]gopter.Gen) { + gens["Scopes"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_Nonce_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 Nonce via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNonce, NonceGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNonce runs a test to see if a specific instance of Nonce round trips to JSON and back losslessly +func RunJSONSerializationTestForNonce(subject Nonce) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Nonce + 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 Nonce instances for property testing - lazily instantiated by NonceGenerator() +var nonceGenerator gopter.Gen + +// NonceGenerator returns a generator of Nonce instances for property testing. +func NonceGenerator() gopter.Gen { + if nonceGenerator != nil { + return nonceGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNonce(generators) + nonceGenerator = gen.Struct(reflect.TypeOf(Nonce{}), generators) + + return nonceGenerator +} + +// AddIndependentPropertyGeneratorsForNonce is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNonce(gens map[string]gopter.Gen) { + gens["NonceExpirationInterval"] = gen.PtrOf(gen.AlphaString()) + gens["ValidateNonce"] = gen.PtrOf(gen.Bool()) +} + +func Test_OpenIdConnectClientCredential_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 OpenIdConnectClientCredential via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOpenIdConnectClientCredential, OpenIdConnectClientCredentialGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOpenIdConnectClientCredential runs a test to see if a specific instance of OpenIdConnectClientCredential round trips to JSON and back losslessly +func RunJSONSerializationTestForOpenIdConnectClientCredential(subject OpenIdConnectClientCredential) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OpenIdConnectClientCredential + 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 OpenIdConnectClientCredential instances for property testing - lazily instantiated by +// OpenIdConnectClientCredentialGenerator() +var openIdConnectClientCredentialGenerator gopter.Gen + +// OpenIdConnectClientCredentialGenerator returns a generator of OpenIdConnectClientCredential instances for property testing. +func OpenIdConnectClientCredentialGenerator() gopter.Gen { + if openIdConnectClientCredentialGenerator != nil { + return openIdConnectClientCredentialGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOpenIdConnectClientCredential(generators) + openIdConnectClientCredentialGenerator = gen.Struct(reflect.TypeOf(OpenIdConnectClientCredential{}), generators) + + return openIdConnectClientCredentialGenerator +} + +// AddIndependentPropertyGeneratorsForOpenIdConnectClientCredential is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForOpenIdConnectClientCredential(gens map[string]gopter.Gen) { + gens["ClientSecretSettingName"] = gen.PtrOf(gen.AlphaString()) + gens["Method"] = gen.PtrOf(gen.OneConstOf(OpenIdConnectClientCredential_Method_ClientSecretPost)) +} + +func Test_OpenIdConnectConfig_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 OpenIdConnectConfig via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOpenIdConnectConfig, OpenIdConnectConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOpenIdConnectConfig runs a test to see if a specific instance of OpenIdConnectConfig round trips to JSON and back losslessly +func RunJSONSerializationTestForOpenIdConnectConfig(subject OpenIdConnectConfig) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OpenIdConnectConfig + 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 OpenIdConnectConfig instances for property testing - lazily instantiated by +// OpenIdConnectConfigGenerator() +var openIdConnectConfigGenerator gopter.Gen + +// OpenIdConnectConfigGenerator returns a generator of OpenIdConnectConfig instances for property testing. +func OpenIdConnectConfigGenerator() gopter.Gen { + if openIdConnectConfigGenerator != nil { + return openIdConnectConfigGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOpenIdConnectConfig(generators) + openIdConnectConfigGenerator = gen.Struct(reflect.TypeOf(OpenIdConnectConfig{}), generators) + + return openIdConnectConfigGenerator +} + +// AddIndependentPropertyGeneratorsForOpenIdConnectConfig is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForOpenIdConnectConfig(gens map[string]gopter.Gen) { + gens["AuthorizationEndpoint"] = gen.PtrOf(gen.AlphaString()) + gens["CertificationUri"] = gen.PtrOf(gen.AlphaString()) + gens["Issuer"] = gen.PtrOf(gen.AlphaString()) + gens["TokenEndpoint"] = gen.PtrOf(gen.AlphaString()) + gens["WellKnownOpenIdConfiguration"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_OpenIdConnectLogin_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 OpenIdConnectLogin via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOpenIdConnectLogin, OpenIdConnectLoginGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOpenIdConnectLogin runs a test to see if a specific instance of OpenIdConnectLogin round trips to JSON and back losslessly +func RunJSONSerializationTestForOpenIdConnectLogin(subject OpenIdConnectLogin) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OpenIdConnectLogin + 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 OpenIdConnectLogin instances for property testing - lazily instantiated by OpenIdConnectLoginGenerator() +var openIdConnectLoginGenerator gopter.Gen + +// OpenIdConnectLoginGenerator returns a generator of OpenIdConnectLogin instances for property testing. +func OpenIdConnectLoginGenerator() gopter.Gen { + if openIdConnectLoginGenerator != nil { + return openIdConnectLoginGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOpenIdConnectLogin(generators) + openIdConnectLoginGenerator = gen.Struct(reflect.TypeOf(OpenIdConnectLogin{}), generators) + + return openIdConnectLoginGenerator +} + +// AddIndependentPropertyGeneratorsForOpenIdConnectLogin is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForOpenIdConnectLogin(gens map[string]gopter.Gen) { + gens["NameClaimType"] = gen.PtrOf(gen.AlphaString()) + gens["Scopes"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_OpenIdConnectRegistration_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 OpenIdConnectRegistration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOpenIdConnectRegistration, OpenIdConnectRegistrationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOpenIdConnectRegistration runs a test to see if a specific instance of OpenIdConnectRegistration round trips to JSON and back losslessly +func RunJSONSerializationTestForOpenIdConnectRegistration(subject OpenIdConnectRegistration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OpenIdConnectRegistration + 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 OpenIdConnectRegistration instances for property testing - lazily instantiated by +// OpenIdConnectRegistrationGenerator() +var openIdConnectRegistrationGenerator gopter.Gen + +// OpenIdConnectRegistrationGenerator returns a generator of OpenIdConnectRegistration instances for property testing. +// We first initialize openIdConnectRegistrationGenerator 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 OpenIdConnectRegistrationGenerator() gopter.Gen { + if openIdConnectRegistrationGenerator != nil { + return openIdConnectRegistrationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOpenIdConnectRegistration(generators) + openIdConnectRegistrationGenerator = gen.Struct(reflect.TypeOf(OpenIdConnectRegistration{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOpenIdConnectRegistration(generators) + AddRelatedPropertyGeneratorsForOpenIdConnectRegistration(generators) + openIdConnectRegistrationGenerator = gen.Struct(reflect.TypeOf(OpenIdConnectRegistration{}), generators) + + return openIdConnectRegistrationGenerator +} + +// AddIndependentPropertyGeneratorsForOpenIdConnectRegistration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForOpenIdConnectRegistration(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForOpenIdConnectRegistration is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForOpenIdConnectRegistration(gens map[string]gopter.Gen) { + gens["ClientCredential"] = gen.PtrOf(OpenIdConnectClientCredentialGenerator()) + gens["OpenIdConnectConfiguration"] = gen.PtrOf(OpenIdConnectConfigGenerator()) +} + +func Test_TokenStore_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 TokenStore via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTokenStore, TokenStoreGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTokenStore runs a test to see if a specific instance of TokenStore round trips to JSON and back losslessly +func RunJSONSerializationTestForTokenStore(subject TokenStore) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TokenStore + 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 TokenStore instances for property testing - lazily instantiated by TokenStoreGenerator() +var tokenStoreGenerator gopter.Gen + +// TokenStoreGenerator returns a generator of TokenStore instances for property testing. +// We first initialize tokenStoreGenerator 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 TokenStoreGenerator() gopter.Gen { + if tokenStoreGenerator != nil { + return tokenStoreGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenStore(generators) + tokenStoreGenerator = gen.Struct(reflect.TypeOf(TokenStore{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenStore(generators) + AddRelatedPropertyGeneratorsForTokenStore(generators) + tokenStoreGenerator = gen.Struct(reflect.TypeOf(TokenStore{}), generators) + + return tokenStoreGenerator +} + +// AddIndependentPropertyGeneratorsForTokenStore is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTokenStore(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["TokenRefreshExtensionHours"] = gen.PtrOf(gen.Float64()) +} + +// AddRelatedPropertyGeneratorsForTokenStore is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTokenStore(gens map[string]gopter.Gen) { + gens["AzureBlobStorage"] = gen.PtrOf(BlobStorageTokenStoreGenerator()) +} + +func Test_Twitter_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 Twitter via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTwitter, TwitterGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTwitter runs a test to see if a specific instance of Twitter round trips to JSON and back losslessly +func RunJSONSerializationTestForTwitter(subject Twitter) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Twitter + 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 Twitter instances for property testing - lazily instantiated by TwitterGenerator() +var twitterGenerator gopter.Gen + +// TwitterGenerator returns a generator of Twitter instances for property testing. +// We first initialize twitterGenerator 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 TwitterGenerator() gopter.Gen { + if twitterGenerator != nil { + return twitterGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTwitter(generators) + twitterGenerator = gen.Struct(reflect.TypeOf(Twitter{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTwitter(generators) + AddRelatedPropertyGeneratorsForTwitter(generators) + twitterGenerator = gen.Struct(reflect.TypeOf(Twitter{}), generators) + + return twitterGenerator +} + +// AddIndependentPropertyGeneratorsForTwitter is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTwitter(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForTwitter is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTwitter(gens map[string]gopter.Gen) { + gens["Registration"] = gen.PtrOf(TwitterRegistrationGenerator()) +} + +func Test_TwitterRegistration_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 TwitterRegistration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTwitterRegistration, TwitterRegistrationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTwitterRegistration runs a test to see if a specific instance of TwitterRegistration round trips to JSON and back losslessly +func RunJSONSerializationTestForTwitterRegistration(subject TwitterRegistration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TwitterRegistration + 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 TwitterRegistration instances for property testing - lazily instantiated by +// TwitterRegistrationGenerator() +var twitterRegistrationGenerator gopter.Gen + +// TwitterRegistrationGenerator returns a generator of TwitterRegistration instances for property testing. +func TwitterRegistrationGenerator() gopter.Gen { + if twitterRegistrationGenerator != nil { + return twitterRegistrationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTwitterRegistration(generators) + twitterRegistrationGenerator = gen.Struct(reflect.TypeOf(TwitterRegistration{}), generators) + + return twitterRegistrationGenerator +} + +// AddIndependentPropertyGeneratorsForTwitterRegistration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTwitterRegistration(gens map[string]gopter.Gen) { + gens["ConsumerKey"] = gen.PtrOf(gen.AlphaString()) + gens["ConsumerSecretSettingName"] = gen.PtrOf(gen.AlphaString()) +} diff --git a/v2/api/app/v1api20240301/arm/auth_config_status_types_gen.go b/v2/api/app/v1api20240301/arm/auth_config_status_types_gen.go new file mode 100644 index 00000000000..09924141242 --- /dev/null +++ b/v2/api/app/v1api20240301/arm/auth_config_status_types_gen.go @@ -0,0 +1,624 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +type AuthConfig_STATUS struct { + // Id: Fully qualified resource ID for the resource. Ex - + // /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: AuthConfig resource specific properties + Properties *ContainerApps_AuthConfig_Properties_STATUS `json:"properties,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"` +} + +type ContainerApps_AuthConfig_Properties_STATUS struct { + // EncryptionSettings: The configuration settings of the secrets references of encryption key and signing key for + // ContainerApp Service Authentication/Authorization. + EncryptionSettings *EncryptionSettings_STATUS `json:"encryptionSettings,omitempty"` + + // GlobalValidation: The configuration settings that determines the validation flow of users using Service + // Authentication/Authorization. + GlobalValidation *GlobalValidation_STATUS `json:"globalValidation,omitempty"` + + // HttpSettings: The configuration settings of the HTTP requests for authentication and authorization requests made against + // ContainerApp Service Authentication/Authorization. + HttpSettings *HttpSettings_STATUS `json:"httpSettings,omitempty"` + + // IdentityProviders: The configuration settings of each of the identity providers used to configure ContainerApp Service + // Authentication/Authorization. + IdentityProviders *IdentityProviders_STATUS `json:"identityProviders,omitempty"` + + // Login: The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization. + Login *Login_STATUS `json:"login,omitempty"` + + // Platform: The configuration settings of the platform of ContainerApp Service Authentication/Authorization. + Platform *AuthPlatform_STATUS `json:"platform,omitempty"` +} + +// 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"` +} + +// The configuration settings of the platform of ContainerApp Service Authentication/Authorization. +type AuthPlatform_STATUS struct { + // Enabled: true if the Authentication / Authorization feature is enabled for the current app; otherwise, + // false. + Enabled *bool `json:"enabled,omitempty"` + + // RuntimeVersion: The RuntimeVersion of the Authentication / Authorization feature in use for the current app. + // The setting in this value can control the behavior of certain features in the Authentication / Authorization module. + RuntimeVersion *string `json:"runtimeVersion,omitempty"` +} + +// The configuration settings of the secrets references of encryption key and signing key for ContainerApp Service +// Authentication/Authorization. +type EncryptionSettings_STATUS struct { + // ContainerAppAuthEncryptionSecretName: The secret name which is referenced for EncryptionKey. + ContainerAppAuthEncryptionSecretName *string `json:"containerAppAuthEncryptionSecretName,omitempty"` + + // ContainerAppAuthSigningSecretName: The secret name which is referenced for SigningKey. + ContainerAppAuthSigningSecretName *string `json:"containerAppAuthSigningSecretName,omitempty"` +} + +// The configuration settings that determines the validation flow of users using ContainerApp Service +// Authentication/Authorization. +type GlobalValidation_STATUS struct { + // ExcludedPaths: The paths for which unauthenticated flow would not be redirected to the login page. + ExcludedPaths []string `json:"excludedPaths,omitempty"` + + // RedirectToProvider: The default authentication provider to use when multiple providers are configured. + // This setting is only needed if multiple providers are configured and the unauthenticated client + // action is set to "RedirectToLoginPage". + RedirectToProvider *string `json:"redirectToProvider,omitempty"` + + // UnauthenticatedClientAction: The action to take when an unauthenticated client attempts to access the app. + UnauthenticatedClientAction *GlobalValidation_UnauthenticatedClientAction_STATUS `json:"unauthenticatedClientAction,omitempty"` +} + +// The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp +// Service Authentication/Authorization. +type HttpSettings_STATUS struct { + // ForwardProxy: The configuration settings of a forward proxy used to make the requests. + ForwardProxy *ForwardProxy_STATUS `json:"forwardProxy,omitempty"` + + // RequireHttps: false if the authentication/authorization responses not having the HTTPS scheme are + // permissible; otherwise, true. + RequireHttps *bool `json:"requireHttps,omitempty"` + + // Routes: The configuration settings of the paths HTTP requests. + Routes *HttpSettingsRoutes_STATUS `json:"routes,omitempty"` +} + +// The configuration settings of each of the identity providers used to configure ContainerApp Service +// Authentication/Authorization. +type IdentityProviders_STATUS struct { + // Apple: The configuration settings of the Apple provider. + Apple *Apple_STATUS `json:"apple,omitempty"` + + // AzureActiveDirectory: The configuration settings of the Azure Active directory provider. + AzureActiveDirectory *AzureActiveDirectory_STATUS `json:"azureActiveDirectory,omitempty"` + + // AzureStaticWebApps: The configuration settings of the Azure Static Web Apps provider. + AzureStaticWebApps *AzureStaticWebApps_STATUS `json:"azureStaticWebApps,omitempty"` + + // CustomOpenIdConnectProviders: The map of the name of the alias of each custom Open ID Connect provider to the + // configuration settings of the custom Open ID Connect provider. + CustomOpenIdConnectProviders map[string]CustomOpenIdConnectProvider_STATUS `json:"customOpenIdConnectProviders,omitempty"` + + // Facebook: The configuration settings of the Facebook provider. + Facebook *Facebook_STATUS `json:"facebook,omitempty"` + + // GitHub: The configuration settings of the GitHub provider. + GitHub *GitHub_STATUS `json:"gitHub,omitempty"` + + // Google: The configuration settings of the Google provider. + Google *Google_STATUS `json:"google,omitempty"` + + // Twitter: The configuration settings of the Twitter provider. + Twitter *Twitter_STATUS `json:"twitter,omitempty"` +} + +// The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization. +type Login_STATUS struct { + // AllowedExternalRedirectUrls: External URLs that can be redirected to as part of logging in or logging out of the app. + // Note that the query string part of the URL is ignored. + // This is an advanced setting typically only needed by Windows Store application backends. + // Note that URLs within the current domain are always implicitly allowed. + AllowedExternalRedirectUrls []string `json:"allowedExternalRedirectUrls,omitempty"` + + // CookieExpiration: The configuration settings of the session cookie's expiration. + CookieExpiration *CookieExpiration_STATUS `json:"cookieExpiration,omitempty"` + + // Nonce: The configuration settings of the nonce used in the login flow. + Nonce *Nonce_STATUS `json:"nonce,omitempty"` + + // PreserveUrlFragmentsForLogins: true if the fragments from the request are preserved after the login request + // is made; otherwise, false. + PreserveUrlFragmentsForLogins *bool `json:"preserveUrlFragmentsForLogins,omitempty"` + + // Routes: The routes that specify the endpoints used for login and logout requests. + Routes *LoginRoutes_STATUS `json:"routes,omitempty"` + + // TokenStore: The configuration settings of the token store. + TokenStore *TokenStore_STATUS `json:"tokenStore,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, +} + +// The configuration settings of the Apple provider. +type Apple_STATUS struct { + // Enabled: false if the Apple provider should not be enabled despite the set registration; otherwise, + // true. + Enabled *bool `json:"enabled,omitempty"` + + // Login: The configuration settings of the login flow. + Login *LoginScopes_STATUS `json:"login,omitempty"` + + // Registration: The configuration settings of the Apple registration. + Registration *AppleRegistration_STATUS `json:"registration,omitempty"` +} + +// The configuration settings of the Azure Active directory provider. +type AzureActiveDirectory_STATUS struct { + // Enabled: false if the Azure Active Directory provider should not be enabled despite the set registration; + // otherwise, true. + Enabled *bool `json:"enabled,omitempty"` + + // IsAutoProvisioned: Gets a value indicating whether the Azure AD configuration was auto-provisioned using 1st party + // tooling. + // This is an internal flag primarily intended to support the Azure Management Portal. Users should not + // read or write to this property. + IsAutoProvisioned *bool `json:"isAutoProvisioned,omitempty"` + + // Login: The configuration settings of the Azure Active Directory login flow. + Login *AzureActiveDirectoryLogin_STATUS `json:"login,omitempty"` + + // Registration: The configuration settings of the Azure Active Directory app registration. + Registration *AzureActiveDirectoryRegistration_STATUS `json:"registration,omitempty"` + + // Validation: The configuration settings of the Azure Active Directory token validation flow. + Validation *AzureActiveDirectoryValidation_STATUS `json:"validation,omitempty"` +} + +// The configuration settings of the Azure Static Web Apps provider. +type AzureStaticWebApps_STATUS struct { + // Enabled: false if the Azure Static Web Apps provider should not be enabled despite the set registration; + // otherwise, true. + Enabled *bool `json:"enabled,omitempty"` + + // Registration: The configuration settings of the Azure Static Web Apps registration. + Registration *AzureStaticWebAppsRegistration_STATUS `json:"registration,omitempty"` +} + +// The configuration settings of the session cookie's expiration. +type CookieExpiration_STATUS struct { + // Convention: The convention used when determining the session cookie's expiration. + Convention *CookieExpiration_Convention_STATUS `json:"convention,omitempty"` + + // TimeToExpiration: The time after the request is made when the session cookie should expire. + TimeToExpiration *string `json:"timeToExpiration,omitempty"` +} + +// The configuration settings of the custom Open ID Connect provider. +type CustomOpenIdConnectProvider_STATUS struct { + // Enabled: false if the custom Open ID provider provider should not be enabled; otherwise, true. + Enabled *bool `json:"enabled,omitempty"` + + // Login: The configuration settings of the login flow of the custom Open ID Connect provider. + Login *OpenIdConnectLogin_STATUS `json:"login,omitempty"` + + // Registration: The configuration settings of the app registration for the custom Open ID Connect provider. + Registration *OpenIdConnectRegistration_STATUS `json:"registration,omitempty"` +} + +// The configuration settings of the Facebook provider. +type Facebook_STATUS struct { + // Enabled: false if the Facebook provider should not be enabled despite the set registration; otherwise, + // true. + Enabled *bool `json:"enabled,omitempty"` + + // GraphApiVersion: The version of the Facebook api to be used while logging in. + GraphApiVersion *string `json:"graphApiVersion,omitempty"` + + // Login: The configuration settings of the login flow. + Login *LoginScopes_STATUS `json:"login,omitempty"` + + // Registration: The configuration settings of the app registration for the Facebook provider. + Registration *AppRegistration_STATUS `json:"registration,omitempty"` +} + +// The configuration settings of a forward proxy used to make the requests. +type ForwardProxy_STATUS struct { + // Convention: The convention used to determine the url of the request made. + Convention *ForwardProxy_Convention_STATUS `json:"convention,omitempty"` + + // CustomHostHeaderName: The name of the header containing the host of the request. + CustomHostHeaderName *string `json:"customHostHeaderName,omitempty"` + + // CustomProtoHeaderName: The name of the header containing the scheme of the request. + CustomProtoHeaderName *string `json:"customProtoHeaderName,omitempty"` +} + +// The configuration settings of the GitHub provider. +type GitHub_STATUS struct { + // Enabled: false if the GitHub provider should not be enabled despite the set registration; otherwise, + // true. + Enabled *bool `json:"enabled,omitempty"` + + // Login: The configuration settings of the login flow. + Login *LoginScopes_STATUS `json:"login,omitempty"` + + // Registration: The configuration settings of the app registration for the GitHub provider. + Registration *ClientRegistration_STATUS `json:"registration,omitempty"` +} + +type GlobalValidation_UnauthenticatedClientAction_STATUS string + +const ( + GlobalValidation_UnauthenticatedClientAction_STATUS_AllowAnonymous = GlobalValidation_UnauthenticatedClientAction_STATUS("AllowAnonymous") + GlobalValidation_UnauthenticatedClientAction_STATUS_RedirectToLoginPage = GlobalValidation_UnauthenticatedClientAction_STATUS("RedirectToLoginPage") + GlobalValidation_UnauthenticatedClientAction_STATUS_Return401 = GlobalValidation_UnauthenticatedClientAction_STATUS("Return401") + GlobalValidation_UnauthenticatedClientAction_STATUS_Return403 = GlobalValidation_UnauthenticatedClientAction_STATUS("Return403") +) + +// Mapping from string to GlobalValidation_UnauthenticatedClientAction_STATUS +var globalValidation_UnauthenticatedClientAction_STATUS_Values = map[string]GlobalValidation_UnauthenticatedClientAction_STATUS{ + "allowanonymous": GlobalValidation_UnauthenticatedClientAction_STATUS_AllowAnonymous, + "redirecttologinpage": GlobalValidation_UnauthenticatedClientAction_STATUS_RedirectToLoginPage, + "return401": GlobalValidation_UnauthenticatedClientAction_STATUS_Return401, + "return403": GlobalValidation_UnauthenticatedClientAction_STATUS_Return403, +} + +// The configuration settings of the Google provider. +type Google_STATUS struct { + // Enabled: false if the Google provider should not be enabled despite the set registration; otherwise, + // true. + Enabled *bool `json:"enabled,omitempty"` + + // Login: The configuration settings of the login flow. + Login *LoginScopes_STATUS `json:"login,omitempty"` + + // Registration: The configuration settings of the app registration for the Google provider. + Registration *ClientRegistration_STATUS `json:"registration,omitempty"` + + // Validation: The configuration settings of the Azure Active Directory token validation flow. + Validation *AllowedAudiencesValidation_STATUS `json:"validation,omitempty"` +} + +// The configuration settings of the paths HTTP requests. +type HttpSettingsRoutes_STATUS struct { + // ApiPrefix: The prefix that should precede all the authentication/authorization paths. + ApiPrefix *string `json:"apiPrefix,omitempty"` +} + +// The routes that specify the endpoints used for login and logout requests. +type LoginRoutes_STATUS struct { + // LogoutEndpoint: The endpoint at which a logout request should be made. + LogoutEndpoint *string `json:"logoutEndpoint,omitempty"` +} + +// The configuration settings of the nonce used in the login flow. +type Nonce_STATUS struct { + // NonceExpirationInterval: The time after the request is made when the nonce should expire. + NonceExpirationInterval *string `json:"nonceExpirationInterval,omitempty"` + + // ValidateNonce: false if the nonce should not be validated while completing the login flow; otherwise, + // true. + ValidateNonce *bool `json:"validateNonce,omitempty"` +} + +// The configuration settings of the token store. +type TokenStore_STATUS struct { + // AzureBlobStorage: The configuration settings of the storage of the tokens if blob storage is used. + AzureBlobStorage *BlobStorageTokenStore_STATUS `json:"azureBlobStorage,omitempty"` + + // Enabled: true to durably store platform-specific security tokens that are obtained during login flows; + // otherwise, false. + // The default is false. + Enabled *bool `json:"enabled,omitempty"` + + // TokenRefreshExtensionHours: The number of hours after session token expiration that a session token can be used to + // call the token refresh API. The default is 72 hours. + TokenRefreshExtensionHours *float64 `json:"tokenRefreshExtensionHours,omitempty"` +} + +// The configuration settings of the Twitter provider. +type Twitter_STATUS struct { + // Enabled: false if the Twitter provider should not be enabled despite the set registration; otherwise, + // true. + Enabled *bool `json:"enabled,omitempty"` + + // Registration: The configuration settings of the app registration for the Twitter provider. + Registration *TwitterRegistration_STATUS `json:"registration,omitempty"` +} + +// The configuration settings of the Allowed Audiences validation flow. +type AllowedAudiencesValidation_STATUS struct { + // AllowedAudiences: The configuration settings of the allowed list of audiences from which to validate the JWT token. + AllowedAudiences []string `json:"allowedAudiences,omitempty"` +} + +// The configuration settings of the registration for the Apple provider +type AppleRegistration_STATUS struct { + // ClientId: The Client ID of the app used for login. + ClientId *string `json:"clientId,omitempty"` + + // ClientSecretSettingName: The app setting name that contains the client secret. + ClientSecretSettingName *string `json:"clientSecretSettingName,omitempty"` +} + +// The configuration settings of the app registration for providers that have app ids and app secrets +type AppRegistration_STATUS struct { + // AppId: The App ID of the app used for login. + AppId *string `json:"appId,omitempty"` + + // AppSecretSettingName: The app setting name that contains the app secret. + AppSecretSettingName *string `json:"appSecretSettingName,omitempty"` +} + +// The configuration settings of the Azure Active Directory login flow. +type AzureActiveDirectoryLogin_STATUS struct { + // DisableWWWAuthenticate: true if the www-authenticate provider should be omitted from the request; + // otherwise, false. + DisableWWWAuthenticate *bool `json:"disableWWWAuthenticate,omitempty"` + + // LoginParameters: Login parameters to send to the OpenID Connect authorization endpoint when + // a user logs in. Each parameter must be in the form "key=value". + LoginParameters []string `json:"loginParameters,omitempty"` +} + +// The configuration settings of the Azure Active Directory app registration. +type AzureActiveDirectoryRegistration_STATUS struct { + // ClientId: The Client ID of this relying party application, known as the client_id. + // This setting is required for enabling OpenID Connection authentication with Azure Active Directory or + // other 3rd party OpenID Connect providers. + // More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html + ClientId *string `json:"clientId,omitempty"` + + // ClientSecretCertificateIssuer: An alternative to the client secret thumbprint, that is the issuer of a certificate used + // for signing purposes. This property acts as + // a replacement for the Client Secret Certificate Thumbprint. It is also optional. + ClientSecretCertificateIssuer *string `json:"clientSecretCertificateIssuer,omitempty"` + + // ClientSecretCertificateSubjectAlternativeName: An alternative to the client secret thumbprint, that is the subject + // alternative name of a certificate used for signing purposes. This property acts as + // a replacement for the Client Secret Certificate Thumbprint. It is also optional. + ClientSecretCertificateSubjectAlternativeName *string `json:"clientSecretCertificateSubjectAlternativeName,omitempty"` + + // ClientSecretCertificateThumbprint: An alternative to the client secret, that is the thumbprint of a certificate used for + // signing purposes. This property acts as + // a replacement for the Client Secret. It is also optional. + ClientSecretCertificateThumbprint *string `json:"clientSecretCertificateThumbprint,omitempty"` + + // ClientSecretSettingName: The app setting name that contains the client secret of the relying party application. + ClientSecretSettingName *string `json:"clientSecretSettingName,omitempty"` + + // OpenIdIssuer: The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application. + // When using Azure Active Directory, this value is the URI of the directory tenant, e.g. + // https://login.microsoftonline.com/v2.0/{tenant-guid}/. + // This URI is a case-sensitive identifier for the token issuer. + // More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html + OpenIdIssuer *string `json:"openIdIssuer,omitempty"` +} + +// The configuration settings of the Azure Active Directory token validation flow. +type AzureActiveDirectoryValidation_STATUS struct { + // AllowedAudiences: The list of audiences that can make successful authentication/authorization requests. + AllowedAudiences []string `json:"allowedAudiences,omitempty"` + + // DefaultAuthorizationPolicy: The configuration settings of the default authorization policy. + DefaultAuthorizationPolicy *DefaultAuthorizationPolicy_STATUS `json:"defaultAuthorizationPolicy,omitempty"` + + // JwtClaimChecks: The configuration settings of the checks that should be made while validating the JWT Claims. + JwtClaimChecks *JwtClaimChecks_STATUS `json:"jwtClaimChecks,omitempty"` +} + +// The configuration settings of the registration for the Azure Static Web Apps provider +type AzureStaticWebAppsRegistration_STATUS struct { + // ClientId: The Client ID of the app used for login. + ClientId *string `json:"clientId,omitempty"` +} + +// The configuration settings of the storage of the tokens if blob storage is used. +type BlobStorageTokenStore_STATUS struct { + // SasUrlSettingName: The name of the app secrets containing the SAS URL of the blob storage containing the tokens. + SasUrlSettingName *string `json:"sasUrlSettingName,omitempty"` +} + +// The configuration settings of the app registration for providers that have client ids and client secrets +type ClientRegistration_STATUS struct { + // ClientId: The Client ID of the app used for login. + ClientId *string `json:"clientId,omitempty"` + + // ClientSecretSettingName: The app setting name that contains the client secret. + ClientSecretSettingName *string `json:"clientSecretSettingName,omitempty"` +} + +type CookieExpiration_Convention_STATUS string + +const ( + CookieExpiration_Convention_STATUS_FixedTime = CookieExpiration_Convention_STATUS("FixedTime") + CookieExpiration_Convention_STATUS_IdentityProviderDerived = CookieExpiration_Convention_STATUS("IdentityProviderDerived") +) + +// Mapping from string to CookieExpiration_Convention_STATUS +var cookieExpiration_Convention_STATUS_Values = map[string]CookieExpiration_Convention_STATUS{ + "fixedtime": CookieExpiration_Convention_STATUS_FixedTime, + "identityproviderderived": CookieExpiration_Convention_STATUS_IdentityProviderDerived, +} + +type ForwardProxy_Convention_STATUS string + +const ( + ForwardProxy_Convention_STATUS_Custom = ForwardProxy_Convention_STATUS("Custom") + ForwardProxy_Convention_STATUS_NoProxy = ForwardProxy_Convention_STATUS("NoProxy") + ForwardProxy_Convention_STATUS_Standard = ForwardProxy_Convention_STATUS("Standard") +) + +// Mapping from string to ForwardProxy_Convention_STATUS +var forwardProxy_Convention_STATUS_Values = map[string]ForwardProxy_Convention_STATUS{ + "custom": ForwardProxy_Convention_STATUS_Custom, + "noproxy": ForwardProxy_Convention_STATUS_NoProxy, + "standard": ForwardProxy_Convention_STATUS_Standard, +} + +// The configuration settings of the login flow, including the scopes that should be requested. +type LoginScopes_STATUS struct { + // Scopes: A list of the scopes that should be requested while authenticating. + Scopes []string `json:"scopes,omitempty"` +} + +// The configuration settings of the login flow of the custom Open ID Connect provider. +type OpenIdConnectLogin_STATUS struct { + // NameClaimType: The name of the claim that contains the users name. + NameClaimType *string `json:"nameClaimType,omitempty"` + + // Scopes: A list of the scopes that should be requested while authenticating. + Scopes []string `json:"scopes,omitempty"` +} + +// The configuration settings of the app registration for the custom Open ID Connect provider. +type OpenIdConnectRegistration_STATUS struct { + // ClientCredential: The authentication credentials of the custom Open ID Connect provider. + ClientCredential *OpenIdConnectClientCredential_STATUS `json:"clientCredential,omitempty"` + + // ClientId: The client id of the custom Open ID Connect provider. + ClientId *string `json:"clientId,omitempty"` + + // OpenIdConnectConfiguration: The configuration settings of the endpoints used for the custom Open ID Connect provider. + OpenIdConnectConfiguration *OpenIdConnectConfig_STATUS `json:"openIdConnectConfiguration,omitempty"` +} + +// The configuration settings of the app registration for the Twitter provider. +type TwitterRegistration_STATUS struct { + // ConsumerKey: The OAuth 1.0a consumer key of the Twitter application used for sign-in. + // This setting is required for enabling Twitter Sign-In. + // Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in + ConsumerKey *string `json:"consumerKey,omitempty"` + + // ConsumerSecretSettingName: The app setting name that contains the OAuth 1.0a consumer secret of the Twitter + // application used for sign-in. + ConsumerSecretSettingName *string `json:"consumerSecretSettingName,omitempty"` +} + +// The configuration settings of the Azure Active Directory default authorization policy. +type DefaultAuthorizationPolicy_STATUS struct { + // AllowedApplications: The configuration settings of the Azure Active Directory allowed applications. + AllowedApplications []string `json:"allowedApplications,omitempty"` + + // AllowedPrincipals: The configuration settings of the Azure Active Directory allowed principals. + AllowedPrincipals *AllowedPrincipals_STATUS `json:"allowedPrincipals,omitempty"` +} + +// The configuration settings of the checks that should be made while validating the JWT Claims. +type JwtClaimChecks_STATUS struct { + // AllowedClientApplications: The list of the allowed client applications. + AllowedClientApplications []string `json:"allowedClientApplications,omitempty"` + + // AllowedGroups: The list of the allowed groups. + AllowedGroups []string `json:"allowedGroups,omitempty"` +} + +// The authentication client credentials of the custom Open ID Connect provider. +type OpenIdConnectClientCredential_STATUS struct { + // ClientSecretSettingName: The app setting that contains the client secret for the custom Open ID Connect provider. + ClientSecretSettingName *string `json:"clientSecretSettingName,omitempty"` + + // Method: The method that should be used to authenticate the user. + Method *OpenIdConnectClientCredential_Method_STATUS `json:"method,omitempty"` +} + +// The configuration settings of the endpoints used for the custom Open ID Connect provider. +type OpenIdConnectConfig_STATUS struct { + // AuthorizationEndpoint: The endpoint to be used to make an authorization request. + AuthorizationEndpoint *string `json:"authorizationEndpoint,omitempty"` + + // CertificationUri: The endpoint that provides the keys necessary to validate the token. + CertificationUri *string `json:"certificationUri,omitempty"` + + // Issuer: The endpoint that issues the token. + Issuer *string `json:"issuer,omitempty"` + + // TokenEndpoint: The endpoint to be used to request a token. + TokenEndpoint *string `json:"tokenEndpoint,omitempty"` + + // WellKnownOpenIdConfiguration: The endpoint that contains all the configuration endpoints for the provider. + WellKnownOpenIdConfiguration *string `json:"wellKnownOpenIdConfiguration,omitempty"` +} + +// The configuration settings of the Azure Active Directory allowed principals. +type AllowedPrincipals_STATUS struct { + // Groups: The list of the allowed groups. + Groups []string `json:"groups,omitempty"` + + // Identities: The list of the allowed identities. + Identities []string `json:"identities,omitempty"` +} + +type OpenIdConnectClientCredential_Method_STATUS string + +const OpenIdConnectClientCredential_Method_STATUS_ClientSecretPost = OpenIdConnectClientCredential_Method_STATUS("ClientSecretPost") + +// Mapping from string to OpenIdConnectClientCredential_Method_STATUS +var openIdConnectClientCredential_Method_STATUS_Values = map[string]OpenIdConnectClientCredential_Method_STATUS{ + "clientsecretpost": OpenIdConnectClientCredential_Method_STATUS_ClientSecretPost, +} diff --git a/v2/api/app/v1api20240301/arm/auth_config_status_types_gen_test.go b/v2/api/app/v1api20240301/arm/auth_config_status_types_gen_test.go new file mode 100644 index 00000000000..4ac1ab1144a --- /dev/null +++ b/v2/api/app/v1api20240301/arm/auth_config_status_types_gen_test.go @@ -0,0 +1,2795 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +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_AllowedAudiencesValidation_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 AllowedAudiencesValidation_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAllowedAudiencesValidation_STATUS, AllowedAudiencesValidation_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAllowedAudiencesValidation_STATUS runs a test to see if a specific instance of AllowedAudiencesValidation_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAllowedAudiencesValidation_STATUS(subject AllowedAudiencesValidation_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AllowedAudiencesValidation_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 AllowedAudiencesValidation_STATUS instances for property testing - lazily instantiated by +// AllowedAudiencesValidation_STATUSGenerator() +var allowedAudiencesValidation_STATUSGenerator gopter.Gen + +// AllowedAudiencesValidation_STATUSGenerator returns a generator of AllowedAudiencesValidation_STATUS instances for property testing. +func AllowedAudiencesValidation_STATUSGenerator() gopter.Gen { + if allowedAudiencesValidation_STATUSGenerator != nil { + return allowedAudiencesValidation_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAllowedAudiencesValidation_STATUS(generators) + allowedAudiencesValidation_STATUSGenerator = gen.Struct(reflect.TypeOf(AllowedAudiencesValidation_STATUS{}), generators) + + return allowedAudiencesValidation_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAllowedAudiencesValidation_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAllowedAudiencesValidation_STATUS(gens map[string]gopter.Gen) { + gens["AllowedAudiences"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_AllowedPrincipals_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 AllowedPrincipals_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAllowedPrincipals_STATUS, AllowedPrincipals_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAllowedPrincipals_STATUS runs a test to see if a specific instance of AllowedPrincipals_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAllowedPrincipals_STATUS(subject AllowedPrincipals_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AllowedPrincipals_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 AllowedPrincipals_STATUS instances for property testing - lazily instantiated by +// AllowedPrincipals_STATUSGenerator() +var allowedPrincipals_STATUSGenerator gopter.Gen + +// AllowedPrincipals_STATUSGenerator returns a generator of AllowedPrincipals_STATUS instances for property testing. +func AllowedPrincipals_STATUSGenerator() gopter.Gen { + if allowedPrincipals_STATUSGenerator != nil { + return allowedPrincipals_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAllowedPrincipals_STATUS(generators) + allowedPrincipals_STATUSGenerator = gen.Struct(reflect.TypeOf(AllowedPrincipals_STATUS{}), generators) + + return allowedPrincipals_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAllowedPrincipals_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAllowedPrincipals_STATUS(gens map[string]gopter.Gen) { + gens["Groups"] = gen.SliceOf(gen.AlphaString()) + gens["Identities"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_AppRegistration_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 AppRegistration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAppRegistration_STATUS, AppRegistration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAppRegistration_STATUS runs a test to see if a specific instance of AppRegistration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAppRegistration_STATUS(subject AppRegistration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AppRegistration_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 AppRegistration_STATUS instances for property testing - lazily instantiated by +// AppRegistration_STATUSGenerator() +var appRegistration_STATUSGenerator gopter.Gen + +// AppRegistration_STATUSGenerator returns a generator of AppRegistration_STATUS instances for property testing. +func AppRegistration_STATUSGenerator() gopter.Gen { + if appRegistration_STATUSGenerator != nil { + return appRegistration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAppRegistration_STATUS(generators) + appRegistration_STATUSGenerator = gen.Struct(reflect.TypeOf(AppRegistration_STATUS{}), generators) + + return appRegistration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAppRegistration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAppRegistration_STATUS(gens map[string]gopter.Gen) { + gens["AppId"] = gen.PtrOf(gen.AlphaString()) + gens["AppSecretSettingName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_AppleRegistration_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 AppleRegistration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAppleRegistration_STATUS, AppleRegistration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAppleRegistration_STATUS runs a test to see if a specific instance of AppleRegistration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAppleRegistration_STATUS(subject AppleRegistration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AppleRegistration_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 AppleRegistration_STATUS instances for property testing - lazily instantiated by +// AppleRegistration_STATUSGenerator() +var appleRegistration_STATUSGenerator gopter.Gen + +// AppleRegistration_STATUSGenerator returns a generator of AppleRegistration_STATUS instances for property testing. +func AppleRegistration_STATUSGenerator() gopter.Gen { + if appleRegistration_STATUSGenerator != nil { + return appleRegistration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAppleRegistration_STATUS(generators) + appleRegistration_STATUSGenerator = gen.Struct(reflect.TypeOf(AppleRegistration_STATUS{}), generators) + + return appleRegistration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAppleRegistration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAppleRegistration_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretSettingName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Apple_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 Apple_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForApple_STATUS, Apple_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForApple_STATUS runs a test to see if a specific instance of Apple_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForApple_STATUS(subject Apple_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Apple_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 Apple_STATUS instances for property testing - lazily instantiated by Apple_STATUSGenerator() +var apple_STATUSGenerator gopter.Gen + +// Apple_STATUSGenerator returns a generator of Apple_STATUS instances for property testing. +// We first initialize apple_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 Apple_STATUSGenerator() gopter.Gen { + if apple_STATUSGenerator != nil { + return apple_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForApple_STATUS(generators) + apple_STATUSGenerator = gen.Struct(reflect.TypeOf(Apple_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForApple_STATUS(generators) + AddRelatedPropertyGeneratorsForApple_STATUS(generators) + apple_STATUSGenerator = gen.Struct(reflect.TypeOf(Apple_STATUS{}), generators) + + return apple_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForApple_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForApple_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForApple_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForApple_STATUS(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(LoginScopes_STATUSGenerator()) + gens["Registration"] = gen.PtrOf(AppleRegistration_STATUSGenerator()) +} + +func Test_AuthConfig_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 AuthConfig_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAuthConfig_STATUS, AuthConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAuthConfig_STATUS runs a test to see if a specific instance of AuthConfig_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAuthConfig_STATUS(subject AuthConfig_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AuthConfig_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 AuthConfig_STATUS instances for property testing - lazily instantiated by AuthConfig_STATUSGenerator() +var authConfig_STATUSGenerator gopter.Gen + +// AuthConfig_STATUSGenerator returns a generator of AuthConfig_STATUS instances for property testing. +// We first initialize authConfig_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 AuthConfig_STATUSGenerator() gopter.Gen { + if authConfig_STATUSGenerator != nil { + return authConfig_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAuthConfig_STATUS(generators) + authConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(AuthConfig_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAuthConfig_STATUS(generators) + AddRelatedPropertyGeneratorsForAuthConfig_STATUS(generators) + authConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(AuthConfig_STATUS{}), generators) + + return authConfig_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAuthConfig_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAuthConfig_STATUS(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForAuthConfig_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAuthConfig_STATUS(gens map[string]gopter.Gen) { + gens["Properties"] = gen.PtrOf(ContainerApps_AuthConfig_Properties_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} + +func Test_AuthPlatform_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 AuthPlatform_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAuthPlatform_STATUS, AuthPlatform_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAuthPlatform_STATUS runs a test to see if a specific instance of AuthPlatform_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAuthPlatform_STATUS(subject AuthPlatform_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AuthPlatform_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 AuthPlatform_STATUS instances for property testing - lazily instantiated by +// AuthPlatform_STATUSGenerator() +var authPlatform_STATUSGenerator gopter.Gen + +// AuthPlatform_STATUSGenerator returns a generator of AuthPlatform_STATUS instances for property testing. +func AuthPlatform_STATUSGenerator() gopter.Gen { + if authPlatform_STATUSGenerator != nil { + return authPlatform_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAuthPlatform_STATUS(generators) + authPlatform_STATUSGenerator = gen.Struct(reflect.TypeOf(AuthPlatform_STATUS{}), generators) + + return authPlatform_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAuthPlatform_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAuthPlatform_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["RuntimeVersion"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_AzureActiveDirectoryLogin_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 AzureActiveDirectoryLogin_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureActiveDirectoryLogin_STATUS, AzureActiveDirectoryLogin_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureActiveDirectoryLogin_STATUS runs a test to see if a specific instance of AzureActiveDirectoryLogin_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureActiveDirectoryLogin_STATUS(subject AzureActiveDirectoryLogin_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureActiveDirectoryLogin_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 AzureActiveDirectoryLogin_STATUS instances for property testing - lazily instantiated by +// AzureActiveDirectoryLogin_STATUSGenerator() +var azureActiveDirectoryLogin_STATUSGenerator gopter.Gen + +// AzureActiveDirectoryLogin_STATUSGenerator returns a generator of AzureActiveDirectoryLogin_STATUS instances for property testing. +func AzureActiveDirectoryLogin_STATUSGenerator() gopter.Gen { + if azureActiveDirectoryLogin_STATUSGenerator != nil { + return azureActiveDirectoryLogin_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectoryLogin_STATUS(generators) + azureActiveDirectoryLogin_STATUSGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectoryLogin_STATUS{}), generators) + + return azureActiveDirectoryLogin_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAzureActiveDirectoryLogin_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureActiveDirectoryLogin_STATUS(gens map[string]gopter.Gen) { + gens["DisableWWWAuthenticate"] = gen.PtrOf(gen.Bool()) + gens["LoginParameters"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_AzureActiveDirectoryRegistration_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 AzureActiveDirectoryRegistration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureActiveDirectoryRegistration_STATUS, AzureActiveDirectoryRegistration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureActiveDirectoryRegistration_STATUS runs a test to see if a specific instance of AzureActiveDirectoryRegistration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureActiveDirectoryRegistration_STATUS(subject AzureActiveDirectoryRegistration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureActiveDirectoryRegistration_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 AzureActiveDirectoryRegistration_STATUS instances for property testing - lazily instantiated by +// AzureActiveDirectoryRegistration_STATUSGenerator() +var azureActiveDirectoryRegistration_STATUSGenerator gopter.Gen + +// AzureActiveDirectoryRegistration_STATUSGenerator returns a generator of AzureActiveDirectoryRegistration_STATUS instances for property testing. +func AzureActiveDirectoryRegistration_STATUSGenerator() gopter.Gen { + if azureActiveDirectoryRegistration_STATUSGenerator != nil { + return azureActiveDirectoryRegistration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectoryRegistration_STATUS(generators) + azureActiveDirectoryRegistration_STATUSGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectoryRegistration_STATUS{}), generators) + + return azureActiveDirectoryRegistration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAzureActiveDirectoryRegistration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureActiveDirectoryRegistration_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretCertificateIssuer"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretCertificateSubjectAlternativeName"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretCertificateThumbprint"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretSettingName"] = gen.PtrOf(gen.AlphaString()) + gens["OpenIdIssuer"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_AzureActiveDirectoryValidation_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 AzureActiveDirectoryValidation_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureActiveDirectoryValidation_STATUS, AzureActiveDirectoryValidation_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureActiveDirectoryValidation_STATUS runs a test to see if a specific instance of AzureActiveDirectoryValidation_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureActiveDirectoryValidation_STATUS(subject AzureActiveDirectoryValidation_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureActiveDirectoryValidation_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 AzureActiveDirectoryValidation_STATUS instances for property testing - lazily instantiated by +// AzureActiveDirectoryValidation_STATUSGenerator() +var azureActiveDirectoryValidation_STATUSGenerator gopter.Gen + +// AzureActiveDirectoryValidation_STATUSGenerator returns a generator of AzureActiveDirectoryValidation_STATUS instances for property testing. +// We first initialize azureActiveDirectoryValidation_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 AzureActiveDirectoryValidation_STATUSGenerator() gopter.Gen { + if azureActiveDirectoryValidation_STATUSGenerator != nil { + return azureActiveDirectoryValidation_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectoryValidation_STATUS(generators) + azureActiveDirectoryValidation_STATUSGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectoryValidation_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectoryValidation_STATUS(generators) + AddRelatedPropertyGeneratorsForAzureActiveDirectoryValidation_STATUS(generators) + azureActiveDirectoryValidation_STATUSGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectoryValidation_STATUS{}), generators) + + return azureActiveDirectoryValidation_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAzureActiveDirectoryValidation_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureActiveDirectoryValidation_STATUS(gens map[string]gopter.Gen) { + gens["AllowedAudiences"] = gen.SliceOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForAzureActiveDirectoryValidation_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAzureActiveDirectoryValidation_STATUS(gens map[string]gopter.Gen) { + gens["DefaultAuthorizationPolicy"] = gen.PtrOf(DefaultAuthorizationPolicy_STATUSGenerator()) + gens["JwtClaimChecks"] = gen.PtrOf(JwtClaimChecks_STATUSGenerator()) +} + +func Test_AzureActiveDirectory_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 AzureActiveDirectory_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureActiveDirectory_STATUS, AzureActiveDirectory_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureActiveDirectory_STATUS runs a test to see if a specific instance of AzureActiveDirectory_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureActiveDirectory_STATUS(subject AzureActiveDirectory_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureActiveDirectory_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 AzureActiveDirectory_STATUS instances for property testing - lazily instantiated by +// AzureActiveDirectory_STATUSGenerator() +var azureActiveDirectory_STATUSGenerator gopter.Gen + +// AzureActiveDirectory_STATUSGenerator returns a generator of AzureActiveDirectory_STATUS instances for property testing. +// We first initialize azureActiveDirectory_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 AzureActiveDirectory_STATUSGenerator() gopter.Gen { + if azureActiveDirectory_STATUSGenerator != nil { + return azureActiveDirectory_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectory_STATUS(generators) + azureActiveDirectory_STATUSGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectory_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectory_STATUS(generators) + AddRelatedPropertyGeneratorsForAzureActiveDirectory_STATUS(generators) + azureActiveDirectory_STATUSGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectory_STATUS{}), generators) + + return azureActiveDirectory_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAzureActiveDirectory_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureActiveDirectory_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["IsAutoProvisioned"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForAzureActiveDirectory_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAzureActiveDirectory_STATUS(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(AzureActiveDirectoryLogin_STATUSGenerator()) + gens["Registration"] = gen.PtrOf(AzureActiveDirectoryRegistration_STATUSGenerator()) + gens["Validation"] = gen.PtrOf(AzureActiveDirectoryValidation_STATUSGenerator()) +} + +func Test_AzureStaticWebAppsRegistration_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 AzureStaticWebAppsRegistration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureStaticWebAppsRegistration_STATUS, AzureStaticWebAppsRegistration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureStaticWebAppsRegistration_STATUS runs a test to see if a specific instance of AzureStaticWebAppsRegistration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureStaticWebAppsRegistration_STATUS(subject AzureStaticWebAppsRegistration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureStaticWebAppsRegistration_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 AzureStaticWebAppsRegistration_STATUS instances for property testing - lazily instantiated by +// AzureStaticWebAppsRegistration_STATUSGenerator() +var azureStaticWebAppsRegistration_STATUSGenerator gopter.Gen + +// AzureStaticWebAppsRegistration_STATUSGenerator returns a generator of AzureStaticWebAppsRegistration_STATUS instances for property testing. +func AzureStaticWebAppsRegistration_STATUSGenerator() gopter.Gen { + if azureStaticWebAppsRegistration_STATUSGenerator != nil { + return azureStaticWebAppsRegistration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureStaticWebAppsRegistration_STATUS(generators) + azureStaticWebAppsRegistration_STATUSGenerator = gen.Struct(reflect.TypeOf(AzureStaticWebAppsRegistration_STATUS{}), generators) + + return azureStaticWebAppsRegistration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAzureStaticWebAppsRegistration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureStaticWebAppsRegistration_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_AzureStaticWebApps_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 AzureStaticWebApps_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureStaticWebApps_STATUS, AzureStaticWebApps_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureStaticWebApps_STATUS runs a test to see if a specific instance of AzureStaticWebApps_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureStaticWebApps_STATUS(subject AzureStaticWebApps_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureStaticWebApps_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 AzureStaticWebApps_STATUS instances for property testing - lazily instantiated by +// AzureStaticWebApps_STATUSGenerator() +var azureStaticWebApps_STATUSGenerator gopter.Gen + +// AzureStaticWebApps_STATUSGenerator returns a generator of AzureStaticWebApps_STATUS instances for property testing. +// We first initialize azureStaticWebApps_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 AzureStaticWebApps_STATUSGenerator() gopter.Gen { + if azureStaticWebApps_STATUSGenerator != nil { + return azureStaticWebApps_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureStaticWebApps_STATUS(generators) + azureStaticWebApps_STATUSGenerator = gen.Struct(reflect.TypeOf(AzureStaticWebApps_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureStaticWebApps_STATUS(generators) + AddRelatedPropertyGeneratorsForAzureStaticWebApps_STATUS(generators) + azureStaticWebApps_STATUSGenerator = gen.Struct(reflect.TypeOf(AzureStaticWebApps_STATUS{}), generators) + + return azureStaticWebApps_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAzureStaticWebApps_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureStaticWebApps_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForAzureStaticWebApps_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAzureStaticWebApps_STATUS(gens map[string]gopter.Gen) { + gens["Registration"] = gen.PtrOf(AzureStaticWebAppsRegistration_STATUSGenerator()) +} + +func Test_BlobStorageTokenStore_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 BlobStorageTokenStore_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForBlobStorageTokenStore_STATUS, BlobStorageTokenStore_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForBlobStorageTokenStore_STATUS runs a test to see if a specific instance of BlobStorageTokenStore_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForBlobStorageTokenStore_STATUS(subject BlobStorageTokenStore_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual BlobStorageTokenStore_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 BlobStorageTokenStore_STATUS instances for property testing - lazily instantiated by +// BlobStorageTokenStore_STATUSGenerator() +var blobStorageTokenStore_STATUSGenerator gopter.Gen + +// BlobStorageTokenStore_STATUSGenerator returns a generator of BlobStorageTokenStore_STATUS instances for property testing. +func BlobStorageTokenStore_STATUSGenerator() gopter.Gen { + if blobStorageTokenStore_STATUSGenerator != nil { + return blobStorageTokenStore_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForBlobStorageTokenStore_STATUS(generators) + blobStorageTokenStore_STATUSGenerator = gen.Struct(reflect.TypeOf(BlobStorageTokenStore_STATUS{}), generators) + + return blobStorageTokenStore_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForBlobStorageTokenStore_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForBlobStorageTokenStore_STATUS(gens map[string]gopter.Gen) { + gens["SasUrlSettingName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ClientRegistration_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 ClientRegistration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForClientRegistration_STATUS, ClientRegistration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForClientRegistration_STATUS runs a test to see if a specific instance of ClientRegistration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForClientRegistration_STATUS(subject ClientRegistration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ClientRegistration_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 ClientRegistration_STATUS instances for property testing - lazily instantiated by +// ClientRegistration_STATUSGenerator() +var clientRegistration_STATUSGenerator gopter.Gen + +// ClientRegistration_STATUSGenerator returns a generator of ClientRegistration_STATUS instances for property testing. +func ClientRegistration_STATUSGenerator() gopter.Gen { + if clientRegistration_STATUSGenerator != nil { + return clientRegistration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForClientRegistration_STATUS(generators) + clientRegistration_STATUSGenerator = gen.Struct(reflect.TypeOf(ClientRegistration_STATUS{}), generators) + + return clientRegistration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForClientRegistration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForClientRegistration_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretSettingName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ContainerApps_AuthConfig_Properties_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 ContainerApps_AuthConfig_Properties_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerApps_AuthConfig_Properties_STATUS, ContainerApps_AuthConfig_Properties_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerApps_AuthConfig_Properties_STATUS runs a test to see if a specific instance of ContainerApps_AuthConfig_Properties_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerApps_AuthConfig_Properties_STATUS(subject ContainerApps_AuthConfig_Properties_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerApps_AuthConfig_Properties_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 ContainerApps_AuthConfig_Properties_STATUS instances for property testing - lazily instantiated by +// ContainerApps_AuthConfig_Properties_STATUSGenerator() +var containerApps_AuthConfig_Properties_STATUSGenerator gopter.Gen + +// ContainerApps_AuthConfig_Properties_STATUSGenerator returns a generator of ContainerApps_AuthConfig_Properties_STATUS instances for property testing. +func ContainerApps_AuthConfig_Properties_STATUSGenerator() gopter.Gen { + if containerApps_AuthConfig_Properties_STATUSGenerator != nil { + return containerApps_AuthConfig_Properties_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForContainerApps_AuthConfig_Properties_STATUS(generators) + containerApps_AuthConfig_Properties_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerApps_AuthConfig_Properties_STATUS{}), generators) + + return containerApps_AuthConfig_Properties_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForContainerApps_AuthConfig_Properties_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerApps_AuthConfig_Properties_STATUS(gens map[string]gopter.Gen) { + gens["EncryptionSettings"] = gen.PtrOf(EncryptionSettings_STATUSGenerator()) + gens["GlobalValidation"] = gen.PtrOf(GlobalValidation_STATUSGenerator()) + gens["HttpSettings"] = gen.PtrOf(HttpSettings_STATUSGenerator()) + gens["IdentityProviders"] = gen.PtrOf(IdentityProviders_STATUSGenerator()) + gens["Login"] = gen.PtrOf(Login_STATUSGenerator()) + gens["Platform"] = gen.PtrOf(AuthPlatform_STATUSGenerator()) +} + +func Test_CookieExpiration_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 CookieExpiration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCookieExpiration_STATUS, CookieExpiration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCookieExpiration_STATUS runs a test to see if a specific instance of CookieExpiration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForCookieExpiration_STATUS(subject CookieExpiration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CookieExpiration_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 CookieExpiration_STATUS instances for property testing - lazily instantiated by +// CookieExpiration_STATUSGenerator() +var cookieExpiration_STATUSGenerator gopter.Gen + +// CookieExpiration_STATUSGenerator returns a generator of CookieExpiration_STATUS instances for property testing. +func CookieExpiration_STATUSGenerator() gopter.Gen { + if cookieExpiration_STATUSGenerator != nil { + return cookieExpiration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCookieExpiration_STATUS(generators) + cookieExpiration_STATUSGenerator = gen.Struct(reflect.TypeOf(CookieExpiration_STATUS{}), generators) + + return cookieExpiration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForCookieExpiration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCookieExpiration_STATUS(gens map[string]gopter.Gen) { + gens["Convention"] = gen.PtrOf(gen.OneConstOf(CookieExpiration_Convention_STATUS_FixedTime, CookieExpiration_Convention_STATUS_IdentityProviderDerived)) + gens["TimeToExpiration"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_CustomOpenIdConnectProvider_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 CustomOpenIdConnectProvider_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCustomOpenIdConnectProvider_STATUS, CustomOpenIdConnectProvider_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCustomOpenIdConnectProvider_STATUS runs a test to see if a specific instance of CustomOpenIdConnectProvider_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForCustomOpenIdConnectProvider_STATUS(subject CustomOpenIdConnectProvider_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CustomOpenIdConnectProvider_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 CustomOpenIdConnectProvider_STATUS instances for property testing - lazily instantiated by +// CustomOpenIdConnectProvider_STATUSGenerator() +var customOpenIdConnectProvider_STATUSGenerator gopter.Gen + +// CustomOpenIdConnectProvider_STATUSGenerator returns a generator of CustomOpenIdConnectProvider_STATUS instances for property testing. +// We first initialize customOpenIdConnectProvider_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 CustomOpenIdConnectProvider_STATUSGenerator() gopter.Gen { + if customOpenIdConnectProvider_STATUSGenerator != nil { + return customOpenIdConnectProvider_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomOpenIdConnectProvider_STATUS(generators) + customOpenIdConnectProvider_STATUSGenerator = gen.Struct(reflect.TypeOf(CustomOpenIdConnectProvider_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomOpenIdConnectProvider_STATUS(generators) + AddRelatedPropertyGeneratorsForCustomOpenIdConnectProvider_STATUS(generators) + customOpenIdConnectProvider_STATUSGenerator = gen.Struct(reflect.TypeOf(CustomOpenIdConnectProvider_STATUS{}), generators) + + return customOpenIdConnectProvider_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForCustomOpenIdConnectProvider_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCustomOpenIdConnectProvider_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForCustomOpenIdConnectProvider_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForCustomOpenIdConnectProvider_STATUS(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(OpenIdConnectLogin_STATUSGenerator()) + gens["Registration"] = gen.PtrOf(OpenIdConnectRegistration_STATUSGenerator()) +} + +func Test_DefaultAuthorizationPolicy_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 DefaultAuthorizationPolicy_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDefaultAuthorizationPolicy_STATUS, DefaultAuthorizationPolicy_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDefaultAuthorizationPolicy_STATUS runs a test to see if a specific instance of DefaultAuthorizationPolicy_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForDefaultAuthorizationPolicy_STATUS(subject DefaultAuthorizationPolicy_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DefaultAuthorizationPolicy_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 DefaultAuthorizationPolicy_STATUS instances for property testing - lazily instantiated by +// DefaultAuthorizationPolicy_STATUSGenerator() +var defaultAuthorizationPolicy_STATUSGenerator gopter.Gen + +// DefaultAuthorizationPolicy_STATUSGenerator returns a generator of DefaultAuthorizationPolicy_STATUS instances for property testing. +// We first initialize defaultAuthorizationPolicy_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 DefaultAuthorizationPolicy_STATUSGenerator() gopter.Gen { + if defaultAuthorizationPolicy_STATUSGenerator != nil { + return defaultAuthorizationPolicy_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDefaultAuthorizationPolicy_STATUS(generators) + defaultAuthorizationPolicy_STATUSGenerator = gen.Struct(reflect.TypeOf(DefaultAuthorizationPolicy_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDefaultAuthorizationPolicy_STATUS(generators) + AddRelatedPropertyGeneratorsForDefaultAuthorizationPolicy_STATUS(generators) + defaultAuthorizationPolicy_STATUSGenerator = gen.Struct(reflect.TypeOf(DefaultAuthorizationPolicy_STATUS{}), generators) + + return defaultAuthorizationPolicy_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForDefaultAuthorizationPolicy_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDefaultAuthorizationPolicy_STATUS(gens map[string]gopter.Gen) { + gens["AllowedApplications"] = gen.SliceOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForDefaultAuthorizationPolicy_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForDefaultAuthorizationPolicy_STATUS(gens map[string]gopter.Gen) { + gens["AllowedPrincipals"] = gen.PtrOf(AllowedPrincipals_STATUSGenerator()) +} + +func Test_EncryptionSettings_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 EncryptionSettings_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForEncryptionSettings_STATUS, EncryptionSettings_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForEncryptionSettings_STATUS runs a test to see if a specific instance of EncryptionSettings_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForEncryptionSettings_STATUS(subject EncryptionSettings_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual EncryptionSettings_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 EncryptionSettings_STATUS instances for property testing - lazily instantiated by +// EncryptionSettings_STATUSGenerator() +var encryptionSettings_STATUSGenerator gopter.Gen + +// EncryptionSettings_STATUSGenerator returns a generator of EncryptionSettings_STATUS instances for property testing. +func EncryptionSettings_STATUSGenerator() gopter.Gen { + if encryptionSettings_STATUSGenerator != nil { + return encryptionSettings_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForEncryptionSettings_STATUS(generators) + encryptionSettings_STATUSGenerator = gen.Struct(reflect.TypeOf(EncryptionSettings_STATUS{}), generators) + + return encryptionSettings_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForEncryptionSettings_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForEncryptionSettings_STATUS(gens map[string]gopter.Gen) { + gens["ContainerAppAuthEncryptionSecretName"] = gen.PtrOf(gen.AlphaString()) + gens["ContainerAppAuthSigningSecretName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Facebook_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 Facebook_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFacebook_STATUS, Facebook_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFacebook_STATUS runs a test to see if a specific instance of Facebook_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForFacebook_STATUS(subject Facebook_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Facebook_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 Facebook_STATUS instances for property testing - lazily instantiated by Facebook_STATUSGenerator() +var facebook_STATUSGenerator gopter.Gen + +// Facebook_STATUSGenerator returns a generator of Facebook_STATUS instances for property testing. +// We first initialize facebook_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 Facebook_STATUSGenerator() gopter.Gen { + if facebook_STATUSGenerator != nil { + return facebook_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFacebook_STATUS(generators) + facebook_STATUSGenerator = gen.Struct(reflect.TypeOf(Facebook_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFacebook_STATUS(generators) + AddRelatedPropertyGeneratorsForFacebook_STATUS(generators) + facebook_STATUSGenerator = gen.Struct(reflect.TypeOf(Facebook_STATUS{}), generators) + + return facebook_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForFacebook_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFacebook_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["GraphApiVersion"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForFacebook_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFacebook_STATUS(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(LoginScopes_STATUSGenerator()) + gens["Registration"] = gen.PtrOf(AppRegistration_STATUSGenerator()) +} + +func Test_ForwardProxy_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 ForwardProxy_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForForwardProxy_STATUS, ForwardProxy_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForForwardProxy_STATUS runs a test to see if a specific instance of ForwardProxy_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForForwardProxy_STATUS(subject ForwardProxy_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ForwardProxy_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 ForwardProxy_STATUS instances for property testing - lazily instantiated by +// ForwardProxy_STATUSGenerator() +var forwardProxy_STATUSGenerator gopter.Gen + +// ForwardProxy_STATUSGenerator returns a generator of ForwardProxy_STATUS instances for property testing. +func ForwardProxy_STATUSGenerator() gopter.Gen { + if forwardProxy_STATUSGenerator != nil { + return forwardProxy_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForForwardProxy_STATUS(generators) + forwardProxy_STATUSGenerator = gen.Struct(reflect.TypeOf(ForwardProxy_STATUS{}), generators) + + return forwardProxy_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForForwardProxy_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForForwardProxy_STATUS(gens map[string]gopter.Gen) { + gens["Convention"] = gen.PtrOf(gen.OneConstOf(ForwardProxy_Convention_STATUS_Custom, ForwardProxy_Convention_STATUS_NoProxy, ForwardProxy_Convention_STATUS_Standard)) + gens["CustomHostHeaderName"] = gen.PtrOf(gen.AlphaString()) + gens["CustomProtoHeaderName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_GitHub_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 GitHub_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForGitHub_STATUS, GitHub_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForGitHub_STATUS runs a test to see if a specific instance of GitHub_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForGitHub_STATUS(subject GitHub_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual GitHub_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 GitHub_STATUS instances for property testing - lazily instantiated by GitHub_STATUSGenerator() +var gitHub_STATUSGenerator gopter.Gen + +// GitHub_STATUSGenerator returns a generator of GitHub_STATUS instances for property testing. +// We first initialize gitHub_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 GitHub_STATUSGenerator() gopter.Gen { + if gitHub_STATUSGenerator != nil { + return gitHub_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGitHub_STATUS(generators) + gitHub_STATUSGenerator = gen.Struct(reflect.TypeOf(GitHub_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGitHub_STATUS(generators) + AddRelatedPropertyGeneratorsForGitHub_STATUS(generators) + gitHub_STATUSGenerator = gen.Struct(reflect.TypeOf(GitHub_STATUS{}), generators) + + return gitHub_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForGitHub_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForGitHub_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForGitHub_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForGitHub_STATUS(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(LoginScopes_STATUSGenerator()) + gens["Registration"] = gen.PtrOf(ClientRegistration_STATUSGenerator()) +} + +func Test_GlobalValidation_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 GlobalValidation_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForGlobalValidation_STATUS, GlobalValidation_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForGlobalValidation_STATUS runs a test to see if a specific instance of GlobalValidation_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForGlobalValidation_STATUS(subject GlobalValidation_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual GlobalValidation_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 GlobalValidation_STATUS instances for property testing - lazily instantiated by +// GlobalValidation_STATUSGenerator() +var globalValidation_STATUSGenerator gopter.Gen + +// GlobalValidation_STATUSGenerator returns a generator of GlobalValidation_STATUS instances for property testing. +func GlobalValidation_STATUSGenerator() gopter.Gen { + if globalValidation_STATUSGenerator != nil { + return globalValidation_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGlobalValidation_STATUS(generators) + globalValidation_STATUSGenerator = gen.Struct(reflect.TypeOf(GlobalValidation_STATUS{}), generators) + + return globalValidation_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForGlobalValidation_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForGlobalValidation_STATUS(gens map[string]gopter.Gen) { + gens["ExcludedPaths"] = gen.SliceOf(gen.AlphaString()) + gens["RedirectToProvider"] = gen.PtrOf(gen.AlphaString()) + gens["UnauthenticatedClientAction"] = gen.PtrOf(gen.OneConstOf( + GlobalValidation_UnauthenticatedClientAction_STATUS_AllowAnonymous, + GlobalValidation_UnauthenticatedClientAction_STATUS_RedirectToLoginPage, + GlobalValidation_UnauthenticatedClientAction_STATUS_Return401, + GlobalValidation_UnauthenticatedClientAction_STATUS_Return403)) +} + +func Test_Google_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 Google_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForGoogle_STATUS, Google_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForGoogle_STATUS runs a test to see if a specific instance of Google_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForGoogle_STATUS(subject Google_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Google_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 Google_STATUS instances for property testing - lazily instantiated by Google_STATUSGenerator() +var google_STATUSGenerator gopter.Gen + +// Google_STATUSGenerator returns a generator of Google_STATUS instances for property testing. +// We first initialize google_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 Google_STATUSGenerator() gopter.Gen { + if google_STATUSGenerator != nil { + return google_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGoogle_STATUS(generators) + google_STATUSGenerator = gen.Struct(reflect.TypeOf(Google_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGoogle_STATUS(generators) + AddRelatedPropertyGeneratorsForGoogle_STATUS(generators) + google_STATUSGenerator = gen.Struct(reflect.TypeOf(Google_STATUS{}), generators) + + return google_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForGoogle_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForGoogle_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForGoogle_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForGoogle_STATUS(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(LoginScopes_STATUSGenerator()) + gens["Registration"] = gen.PtrOf(ClientRegistration_STATUSGenerator()) + gens["Validation"] = gen.PtrOf(AllowedAudiencesValidation_STATUSGenerator()) +} + +func Test_HttpSettingsRoutes_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 HttpSettingsRoutes_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHttpSettingsRoutes_STATUS, HttpSettingsRoutes_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHttpSettingsRoutes_STATUS runs a test to see if a specific instance of HttpSettingsRoutes_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForHttpSettingsRoutes_STATUS(subject HttpSettingsRoutes_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HttpSettingsRoutes_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 HttpSettingsRoutes_STATUS instances for property testing - lazily instantiated by +// HttpSettingsRoutes_STATUSGenerator() +var httpSettingsRoutes_STATUSGenerator gopter.Gen + +// HttpSettingsRoutes_STATUSGenerator returns a generator of HttpSettingsRoutes_STATUS instances for property testing. +func HttpSettingsRoutes_STATUSGenerator() gopter.Gen { + if httpSettingsRoutes_STATUSGenerator != nil { + return httpSettingsRoutes_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHttpSettingsRoutes_STATUS(generators) + httpSettingsRoutes_STATUSGenerator = gen.Struct(reflect.TypeOf(HttpSettingsRoutes_STATUS{}), generators) + + return httpSettingsRoutes_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForHttpSettingsRoutes_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHttpSettingsRoutes_STATUS(gens map[string]gopter.Gen) { + gens["ApiPrefix"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_HttpSettings_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 HttpSettings_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHttpSettings_STATUS, HttpSettings_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHttpSettings_STATUS runs a test to see if a specific instance of HttpSettings_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForHttpSettings_STATUS(subject HttpSettings_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HttpSettings_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 HttpSettings_STATUS instances for property testing - lazily instantiated by +// HttpSettings_STATUSGenerator() +var httpSettings_STATUSGenerator gopter.Gen + +// HttpSettings_STATUSGenerator returns a generator of HttpSettings_STATUS instances for property testing. +// We first initialize httpSettings_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 HttpSettings_STATUSGenerator() gopter.Gen { + if httpSettings_STATUSGenerator != nil { + return httpSettings_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHttpSettings_STATUS(generators) + httpSettings_STATUSGenerator = gen.Struct(reflect.TypeOf(HttpSettings_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHttpSettings_STATUS(generators) + AddRelatedPropertyGeneratorsForHttpSettings_STATUS(generators) + httpSettings_STATUSGenerator = gen.Struct(reflect.TypeOf(HttpSettings_STATUS{}), generators) + + return httpSettings_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForHttpSettings_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHttpSettings_STATUS(gens map[string]gopter.Gen) { + gens["RequireHttps"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForHttpSettings_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHttpSettings_STATUS(gens map[string]gopter.Gen) { + gens["ForwardProxy"] = gen.PtrOf(ForwardProxy_STATUSGenerator()) + gens["Routes"] = gen.PtrOf(HttpSettingsRoutes_STATUSGenerator()) +} + +func Test_IdentityProviders_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 IdentityProviders_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIdentityProviders_STATUS, IdentityProviders_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIdentityProviders_STATUS runs a test to see if a specific instance of IdentityProviders_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIdentityProviders_STATUS(subject IdentityProviders_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IdentityProviders_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 IdentityProviders_STATUS instances for property testing - lazily instantiated by +// IdentityProviders_STATUSGenerator() +var identityProviders_STATUSGenerator gopter.Gen + +// IdentityProviders_STATUSGenerator returns a generator of IdentityProviders_STATUS instances for property testing. +func IdentityProviders_STATUSGenerator() gopter.Gen { + if identityProviders_STATUSGenerator != nil { + return identityProviders_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForIdentityProviders_STATUS(generators) + identityProviders_STATUSGenerator = gen.Struct(reflect.TypeOf(IdentityProviders_STATUS{}), generators) + + return identityProviders_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForIdentityProviders_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIdentityProviders_STATUS(gens map[string]gopter.Gen) { + gens["Apple"] = gen.PtrOf(Apple_STATUSGenerator()) + gens["AzureActiveDirectory"] = gen.PtrOf(AzureActiveDirectory_STATUSGenerator()) + gens["AzureStaticWebApps"] = gen.PtrOf(AzureStaticWebApps_STATUSGenerator()) + gens["CustomOpenIdConnectProviders"] = gen.MapOf( + gen.AlphaString(), + CustomOpenIdConnectProvider_STATUSGenerator()) + gens["Facebook"] = gen.PtrOf(Facebook_STATUSGenerator()) + gens["GitHub"] = gen.PtrOf(GitHub_STATUSGenerator()) + gens["Google"] = gen.PtrOf(Google_STATUSGenerator()) + gens["Twitter"] = gen.PtrOf(Twitter_STATUSGenerator()) +} + +func Test_JwtClaimChecks_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 JwtClaimChecks_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJwtClaimChecks_STATUS, JwtClaimChecks_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJwtClaimChecks_STATUS runs a test to see if a specific instance of JwtClaimChecks_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForJwtClaimChecks_STATUS(subject JwtClaimChecks_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JwtClaimChecks_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 JwtClaimChecks_STATUS instances for property testing - lazily instantiated by +// JwtClaimChecks_STATUSGenerator() +var jwtClaimChecks_STATUSGenerator gopter.Gen + +// JwtClaimChecks_STATUSGenerator returns a generator of JwtClaimChecks_STATUS instances for property testing. +func JwtClaimChecks_STATUSGenerator() gopter.Gen { + if jwtClaimChecks_STATUSGenerator != nil { + return jwtClaimChecks_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJwtClaimChecks_STATUS(generators) + jwtClaimChecks_STATUSGenerator = gen.Struct(reflect.TypeOf(JwtClaimChecks_STATUS{}), generators) + + return jwtClaimChecks_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForJwtClaimChecks_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJwtClaimChecks_STATUS(gens map[string]gopter.Gen) { + gens["AllowedClientApplications"] = gen.SliceOf(gen.AlphaString()) + gens["AllowedGroups"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_LoginRoutes_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 LoginRoutes_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLoginRoutes_STATUS, LoginRoutes_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLoginRoutes_STATUS runs a test to see if a specific instance of LoginRoutes_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForLoginRoutes_STATUS(subject LoginRoutes_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual LoginRoutes_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 LoginRoutes_STATUS instances for property testing - lazily instantiated by LoginRoutes_STATUSGenerator() +var loginRoutes_STATUSGenerator gopter.Gen + +// LoginRoutes_STATUSGenerator returns a generator of LoginRoutes_STATUS instances for property testing. +func LoginRoutes_STATUSGenerator() gopter.Gen { + if loginRoutes_STATUSGenerator != nil { + return loginRoutes_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLoginRoutes_STATUS(generators) + loginRoutes_STATUSGenerator = gen.Struct(reflect.TypeOf(LoginRoutes_STATUS{}), generators) + + return loginRoutes_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForLoginRoutes_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLoginRoutes_STATUS(gens map[string]gopter.Gen) { + gens["LogoutEndpoint"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_LoginScopes_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 LoginScopes_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLoginScopes_STATUS, LoginScopes_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLoginScopes_STATUS runs a test to see if a specific instance of LoginScopes_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForLoginScopes_STATUS(subject LoginScopes_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual LoginScopes_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 LoginScopes_STATUS instances for property testing - lazily instantiated by LoginScopes_STATUSGenerator() +var loginScopes_STATUSGenerator gopter.Gen + +// LoginScopes_STATUSGenerator returns a generator of LoginScopes_STATUS instances for property testing. +func LoginScopes_STATUSGenerator() gopter.Gen { + if loginScopes_STATUSGenerator != nil { + return loginScopes_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLoginScopes_STATUS(generators) + loginScopes_STATUSGenerator = gen.Struct(reflect.TypeOf(LoginScopes_STATUS{}), generators) + + return loginScopes_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForLoginScopes_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLoginScopes_STATUS(gens map[string]gopter.Gen) { + gens["Scopes"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_Login_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 Login_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLogin_STATUS, Login_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLogin_STATUS runs a test to see if a specific instance of Login_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForLogin_STATUS(subject Login_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Login_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 Login_STATUS instances for property testing - lazily instantiated by Login_STATUSGenerator() +var login_STATUSGenerator gopter.Gen + +// Login_STATUSGenerator returns a generator of Login_STATUS instances for property testing. +// We first initialize login_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 Login_STATUSGenerator() gopter.Gen { + if login_STATUSGenerator != nil { + return login_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLogin_STATUS(generators) + login_STATUSGenerator = gen.Struct(reflect.TypeOf(Login_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLogin_STATUS(generators) + AddRelatedPropertyGeneratorsForLogin_STATUS(generators) + login_STATUSGenerator = gen.Struct(reflect.TypeOf(Login_STATUS{}), generators) + + return login_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForLogin_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLogin_STATUS(gens map[string]gopter.Gen) { + gens["AllowedExternalRedirectUrls"] = gen.SliceOf(gen.AlphaString()) + gens["PreserveUrlFragmentsForLogins"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForLogin_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForLogin_STATUS(gens map[string]gopter.Gen) { + gens["CookieExpiration"] = gen.PtrOf(CookieExpiration_STATUSGenerator()) + gens["Nonce"] = gen.PtrOf(Nonce_STATUSGenerator()) + gens["Routes"] = gen.PtrOf(LoginRoutes_STATUSGenerator()) + gens["TokenStore"] = gen.PtrOf(TokenStore_STATUSGenerator()) +} + +func Test_Nonce_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 Nonce_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNonce_STATUS, Nonce_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNonce_STATUS runs a test to see if a specific instance of Nonce_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForNonce_STATUS(subject Nonce_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Nonce_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 Nonce_STATUS instances for property testing - lazily instantiated by Nonce_STATUSGenerator() +var nonce_STATUSGenerator gopter.Gen + +// Nonce_STATUSGenerator returns a generator of Nonce_STATUS instances for property testing. +func Nonce_STATUSGenerator() gopter.Gen { + if nonce_STATUSGenerator != nil { + return nonce_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNonce_STATUS(generators) + nonce_STATUSGenerator = gen.Struct(reflect.TypeOf(Nonce_STATUS{}), generators) + + return nonce_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForNonce_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNonce_STATUS(gens map[string]gopter.Gen) { + gens["NonceExpirationInterval"] = gen.PtrOf(gen.AlphaString()) + gens["ValidateNonce"] = gen.PtrOf(gen.Bool()) +} + +func Test_OpenIdConnectClientCredential_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 OpenIdConnectClientCredential_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOpenIdConnectClientCredential_STATUS, OpenIdConnectClientCredential_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOpenIdConnectClientCredential_STATUS runs a test to see if a specific instance of OpenIdConnectClientCredential_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForOpenIdConnectClientCredential_STATUS(subject OpenIdConnectClientCredential_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OpenIdConnectClientCredential_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 OpenIdConnectClientCredential_STATUS instances for property testing - lazily instantiated by +// OpenIdConnectClientCredential_STATUSGenerator() +var openIdConnectClientCredential_STATUSGenerator gopter.Gen + +// OpenIdConnectClientCredential_STATUSGenerator returns a generator of OpenIdConnectClientCredential_STATUS instances for property testing. +func OpenIdConnectClientCredential_STATUSGenerator() gopter.Gen { + if openIdConnectClientCredential_STATUSGenerator != nil { + return openIdConnectClientCredential_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOpenIdConnectClientCredential_STATUS(generators) + openIdConnectClientCredential_STATUSGenerator = gen.Struct(reflect.TypeOf(OpenIdConnectClientCredential_STATUS{}), generators) + + return openIdConnectClientCredential_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForOpenIdConnectClientCredential_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForOpenIdConnectClientCredential_STATUS(gens map[string]gopter.Gen) { + gens["ClientSecretSettingName"] = gen.PtrOf(gen.AlphaString()) + gens["Method"] = gen.PtrOf(gen.OneConstOf(OpenIdConnectClientCredential_Method_STATUS_ClientSecretPost)) +} + +func Test_OpenIdConnectConfig_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 OpenIdConnectConfig_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOpenIdConnectConfig_STATUS, OpenIdConnectConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOpenIdConnectConfig_STATUS runs a test to see if a specific instance of OpenIdConnectConfig_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForOpenIdConnectConfig_STATUS(subject OpenIdConnectConfig_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OpenIdConnectConfig_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 OpenIdConnectConfig_STATUS instances for property testing - lazily instantiated by +// OpenIdConnectConfig_STATUSGenerator() +var openIdConnectConfig_STATUSGenerator gopter.Gen + +// OpenIdConnectConfig_STATUSGenerator returns a generator of OpenIdConnectConfig_STATUS instances for property testing. +func OpenIdConnectConfig_STATUSGenerator() gopter.Gen { + if openIdConnectConfig_STATUSGenerator != nil { + return openIdConnectConfig_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOpenIdConnectConfig_STATUS(generators) + openIdConnectConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(OpenIdConnectConfig_STATUS{}), generators) + + return openIdConnectConfig_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForOpenIdConnectConfig_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForOpenIdConnectConfig_STATUS(gens map[string]gopter.Gen) { + gens["AuthorizationEndpoint"] = gen.PtrOf(gen.AlphaString()) + gens["CertificationUri"] = gen.PtrOf(gen.AlphaString()) + gens["Issuer"] = gen.PtrOf(gen.AlphaString()) + gens["TokenEndpoint"] = gen.PtrOf(gen.AlphaString()) + gens["WellKnownOpenIdConfiguration"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_OpenIdConnectLogin_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 OpenIdConnectLogin_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOpenIdConnectLogin_STATUS, OpenIdConnectLogin_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOpenIdConnectLogin_STATUS runs a test to see if a specific instance of OpenIdConnectLogin_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForOpenIdConnectLogin_STATUS(subject OpenIdConnectLogin_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OpenIdConnectLogin_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 OpenIdConnectLogin_STATUS instances for property testing - lazily instantiated by +// OpenIdConnectLogin_STATUSGenerator() +var openIdConnectLogin_STATUSGenerator gopter.Gen + +// OpenIdConnectLogin_STATUSGenerator returns a generator of OpenIdConnectLogin_STATUS instances for property testing. +func OpenIdConnectLogin_STATUSGenerator() gopter.Gen { + if openIdConnectLogin_STATUSGenerator != nil { + return openIdConnectLogin_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOpenIdConnectLogin_STATUS(generators) + openIdConnectLogin_STATUSGenerator = gen.Struct(reflect.TypeOf(OpenIdConnectLogin_STATUS{}), generators) + + return openIdConnectLogin_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForOpenIdConnectLogin_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForOpenIdConnectLogin_STATUS(gens map[string]gopter.Gen) { + gens["NameClaimType"] = gen.PtrOf(gen.AlphaString()) + gens["Scopes"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_OpenIdConnectRegistration_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 OpenIdConnectRegistration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOpenIdConnectRegistration_STATUS, OpenIdConnectRegistration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOpenIdConnectRegistration_STATUS runs a test to see if a specific instance of OpenIdConnectRegistration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForOpenIdConnectRegistration_STATUS(subject OpenIdConnectRegistration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OpenIdConnectRegistration_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 OpenIdConnectRegistration_STATUS instances for property testing - lazily instantiated by +// OpenIdConnectRegistration_STATUSGenerator() +var openIdConnectRegistration_STATUSGenerator gopter.Gen + +// OpenIdConnectRegistration_STATUSGenerator returns a generator of OpenIdConnectRegistration_STATUS instances for property testing. +// We first initialize openIdConnectRegistration_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 OpenIdConnectRegistration_STATUSGenerator() gopter.Gen { + if openIdConnectRegistration_STATUSGenerator != nil { + return openIdConnectRegistration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOpenIdConnectRegistration_STATUS(generators) + openIdConnectRegistration_STATUSGenerator = gen.Struct(reflect.TypeOf(OpenIdConnectRegistration_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOpenIdConnectRegistration_STATUS(generators) + AddRelatedPropertyGeneratorsForOpenIdConnectRegistration_STATUS(generators) + openIdConnectRegistration_STATUSGenerator = gen.Struct(reflect.TypeOf(OpenIdConnectRegistration_STATUS{}), generators) + + return openIdConnectRegistration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForOpenIdConnectRegistration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForOpenIdConnectRegistration_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForOpenIdConnectRegistration_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForOpenIdConnectRegistration_STATUS(gens map[string]gopter.Gen) { + gens["ClientCredential"] = gen.PtrOf(OpenIdConnectClientCredential_STATUSGenerator()) + gens["OpenIdConnectConfiguration"] = gen.PtrOf(OpenIdConnectConfig_STATUSGenerator()) +} + +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_TokenStore_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 TokenStore_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTokenStore_STATUS, TokenStore_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTokenStore_STATUS runs a test to see if a specific instance of TokenStore_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTokenStore_STATUS(subject TokenStore_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TokenStore_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 TokenStore_STATUS instances for property testing - lazily instantiated by TokenStore_STATUSGenerator() +var tokenStore_STATUSGenerator gopter.Gen + +// TokenStore_STATUSGenerator returns a generator of TokenStore_STATUS instances for property testing. +// We first initialize tokenStore_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 TokenStore_STATUSGenerator() gopter.Gen { + if tokenStore_STATUSGenerator != nil { + return tokenStore_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenStore_STATUS(generators) + tokenStore_STATUSGenerator = gen.Struct(reflect.TypeOf(TokenStore_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenStore_STATUS(generators) + AddRelatedPropertyGeneratorsForTokenStore_STATUS(generators) + tokenStore_STATUSGenerator = gen.Struct(reflect.TypeOf(TokenStore_STATUS{}), generators) + + return tokenStore_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTokenStore_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTokenStore_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["TokenRefreshExtensionHours"] = gen.PtrOf(gen.Float64()) +} + +// AddRelatedPropertyGeneratorsForTokenStore_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTokenStore_STATUS(gens map[string]gopter.Gen) { + gens["AzureBlobStorage"] = gen.PtrOf(BlobStorageTokenStore_STATUSGenerator()) +} + +func Test_TwitterRegistration_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 TwitterRegistration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTwitterRegistration_STATUS, TwitterRegistration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTwitterRegistration_STATUS runs a test to see if a specific instance of TwitterRegistration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTwitterRegistration_STATUS(subject TwitterRegistration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TwitterRegistration_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 TwitterRegistration_STATUS instances for property testing - lazily instantiated by +// TwitterRegistration_STATUSGenerator() +var twitterRegistration_STATUSGenerator gopter.Gen + +// TwitterRegistration_STATUSGenerator returns a generator of TwitterRegistration_STATUS instances for property testing. +func TwitterRegistration_STATUSGenerator() gopter.Gen { + if twitterRegistration_STATUSGenerator != nil { + return twitterRegistration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTwitterRegistration_STATUS(generators) + twitterRegistration_STATUSGenerator = gen.Struct(reflect.TypeOf(TwitterRegistration_STATUS{}), generators) + + return twitterRegistration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTwitterRegistration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTwitterRegistration_STATUS(gens map[string]gopter.Gen) { + gens["ConsumerKey"] = gen.PtrOf(gen.AlphaString()) + gens["ConsumerSecretSettingName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Twitter_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 Twitter_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTwitter_STATUS, Twitter_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTwitter_STATUS runs a test to see if a specific instance of Twitter_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTwitter_STATUS(subject Twitter_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Twitter_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 Twitter_STATUS instances for property testing - lazily instantiated by Twitter_STATUSGenerator() +var twitter_STATUSGenerator gopter.Gen + +// Twitter_STATUSGenerator returns a generator of Twitter_STATUS instances for property testing. +// We first initialize twitter_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 Twitter_STATUSGenerator() gopter.Gen { + if twitter_STATUSGenerator != nil { + return twitter_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTwitter_STATUS(generators) + twitter_STATUSGenerator = gen.Struct(reflect.TypeOf(Twitter_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTwitter_STATUS(generators) + AddRelatedPropertyGeneratorsForTwitter_STATUS(generators) + twitter_STATUSGenerator = gen.Struct(reflect.TypeOf(Twitter_STATUS{}), generators) + + return twitter_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTwitter_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTwitter_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForTwitter_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTwitter_STATUS(gens map[string]gopter.Gen) { + gens["Registration"] = gen.PtrOf(TwitterRegistration_STATUSGenerator()) +} diff --git a/v2/api/app/v1api20240301/arm/container_app_spec_types_gen.go b/v2/api/app/v1api20240301/arm/container_app_spec_types_gen.go new file mode 100644 index 00000000000..d5777b95048 --- /dev/null +++ b/v2/api/app/v1api20240301/arm/container_app_spec_types_gen.go @@ -0,0 +1,791 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +import "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + +type ContainerApp_Spec struct { + // ExtendedLocation: The complex type of the extended location. + ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` + + // Identity: managed identities for the Container App to interact with other Azure services without maintaining any secrets + // or credentials in code. + Identity *ManagedServiceIdentity `json:"identity,omitempty"` + + // Location: The geo-location where the resource lives + Location *string `json:"location,omitempty"` + ManagedBy *string `json:"managedBy,omitempty"` + Name string `json:"name,omitempty"` + + // Properties: ContainerApp resource specific properties + Properties *ContainerApp_Properties_Spec `json:"properties,omitempty"` + + // Tags: Resource tags. + Tags map[string]string `json:"tags,omitempty"` +} + +var _ genruntime.ARMResourceSpec = &ContainerApp_Spec{} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-03-01" +func (containerApp ContainerApp_Spec) GetAPIVersion() string { + return "2024-03-01" +} + +// GetName returns the Name of the resource +func (containerApp *ContainerApp_Spec) GetName() string { + return containerApp.Name +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.App/containerApps" +func (containerApp *ContainerApp_Spec) GetType() string { + return "Microsoft.App/containerApps" +} + +type ContainerApp_Properties_Spec struct { + // Configuration: Non versioned Container App configuration properties. + Configuration *Configuration `json:"configuration,omitempty"` + EnvironmentId *string `json:"environmentId,omitempty"` + ManagedEnvironmentId *string `json:"managedEnvironmentId,omitempty"` + + // Template: Container App versioned application definition. + Template *Template `json:"template,omitempty"` + + // WorkloadProfileName: Workload profile name to pin for container app execution. + WorkloadProfileName *string `json:"workloadProfileName,omitempty"` +} + +// The complex type of the extended location. +type ExtendedLocation struct { + // Name: The name of the extended location. + Name *string `json:"name,omitempty"` + + // Type: The type of the extended location. + Type *ExtendedLocationType `json:"type,omitempty"` +} + +// Managed service identity (system assigned and/or user assigned identities) +type ManagedServiceIdentity struct { + // Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + Type *ManagedServiceIdentityType `json:"type,omitempty"` + UserAssignedIdentities map[string]UserAssignedIdentityDetails `json:"userAssignedIdentities,omitempty"` +} + +// Non versioned Container App configuration properties that define the mutable settings of a Container app +type Configuration struct { + // ActiveRevisionsMode: ActiveRevisionsMode controls how active revisions are handled for the Container app: + // Multiple: multiple revisions can be active.Single: Only one revision can be active at a time. + // Revision weights can not be used in this mode. If no value if provided, this is the default. + ActiveRevisionsMode *Configuration_ActiveRevisionsMode `json:"activeRevisionsMode,omitempty"` + + // Dapr: Dapr configuration for the Container App. + Dapr *Dapr `json:"dapr,omitempty"` + + // Ingress: Ingress configurations. + Ingress *Ingress `json:"ingress,omitempty"` + + // MaxInactiveRevisions: Optional. Max inactive revisions a Container App can have. + MaxInactiveRevisions *int `json:"maxInactiveRevisions,omitempty"` + + // Registries: Collection of private container registry credentials for containers used by the Container app + Registries []RegistryCredentials `json:"registries,omitempty"` + + // Secrets: Collection of secrets used by a Container app + Secrets []Secret `json:"secrets,omitempty"` + + // Service: Container App to be a dev Container App Service + Service *Service `json:"service,omitempty"` +} + +// The type of extendedLocation. +// +kubebuilder:validation:Enum={"CustomLocation"} +type ExtendedLocationType string + +const ExtendedLocationType_CustomLocation = ExtendedLocationType("CustomLocation") + +// Mapping from string to ExtendedLocationType +var extendedLocationType_Values = map[string]ExtendedLocationType{ + "customlocation": ExtendedLocationType_CustomLocation, +} + +// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). +// +kubebuilder:validation:Enum={"None","SystemAssigned","SystemAssigned,UserAssigned","UserAssigned"} +type ManagedServiceIdentityType string + +const ( + ManagedServiceIdentityType_None = ManagedServiceIdentityType("None") + ManagedServiceIdentityType_SystemAssigned = ManagedServiceIdentityType("SystemAssigned") + ManagedServiceIdentityType_SystemAssignedUserAssigned = ManagedServiceIdentityType("SystemAssigned,UserAssigned") + ManagedServiceIdentityType_UserAssigned = ManagedServiceIdentityType("UserAssigned") +) + +// Mapping from string to ManagedServiceIdentityType +var managedServiceIdentityType_Values = map[string]ManagedServiceIdentityType{ + "none": ManagedServiceIdentityType_None, + "systemassigned": ManagedServiceIdentityType_SystemAssigned, + "systemassigned,userassigned": ManagedServiceIdentityType_SystemAssignedUserAssigned, + "userassigned": ManagedServiceIdentityType_UserAssigned, +} + +// Container App versioned application definition. +// Defines the desired state of an immutable revision. +// Any changes to this +// section Will result in a new revision being created +type Template struct { + // Containers: List of container definitions for the Container App. + Containers []Container `json:"containers,omitempty"` + + // InitContainers: List of specialized containers that run before app containers. + InitContainers []BaseContainer `json:"initContainers,omitempty"` + + // RevisionSuffix: User friendly suffix that is appended to the revision name + RevisionSuffix *string `json:"revisionSuffix,omitempty"` + + // Scale: Scaling properties for the Container App. + Scale *Scale `json:"scale,omitempty"` + + // ServiceBinds: List of container app services bound to the app + ServiceBinds []ServiceBind `json:"serviceBinds,omitempty"` + + // TerminationGracePeriodSeconds: Optional duration in seconds the Container App Instance needs to terminate gracefully. + // Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to + // shut down). If this value is nil, the default grace period will be used instead. Set this value longer than the expected + // cleanup time for your process. Defaults to 30 seconds. + TerminationGracePeriodSeconds *int `json:"terminationGracePeriodSeconds,omitempty"` + + // Volumes: List of volume definitions for the Container App. + Volumes []Volume `json:"volumes,omitempty"` +} + +// Information about the user assigned identity for the resource +type UserAssignedIdentityDetails struct { +} + +// Container App base container definition. +type BaseContainer struct { + // Args: Container start command arguments. + Args []string `json:"args,omitempty"` + + // Command: Container start command. + Command []string `json:"command,omitempty"` + + // Env: Container environment variables. + Env []EnvironmentVar `json:"env,omitempty"` + + // Image: Container image tag. + Image *string `json:"image,omitempty"` + + // Name: Custom container name. + Name *string `json:"name,omitempty"` + + // Resources: Container resource requirements. + Resources *ContainerResources `json:"resources,omitempty"` + + // VolumeMounts: Container volume mounts. + VolumeMounts []VolumeMount `json:"volumeMounts,omitempty"` +} + +// +kubebuilder:validation:Enum={"Multiple","Single"} +type Configuration_ActiveRevisionsMode string + +const ( + Configuration_ActiveRevisionsMode_Multiple = Configuration_ActiveRevisionsMode("Multiple") + Configuration_ActiveRevisionsMode_Single = Configuration_ActiveRevisionsMode("Single") +) + +// Mapping from string to Configuration_ActiveRevisionsMode +var configuration_ActiveRevisionsMode_Values = map[string]Configuration_ActiveRevisionsMode{ + "multiple": Configuration_ActiveRevisionsMode_Multiple, + "single": Configuration_ActiveRevisionsMode_Single, +} + +// Container App container definition +type Container struct { + // Args: Container start command arguments. + Args []string `json:"args,omitempty"` + + // Command: Container start command. + Command []string `json:"command,omitempty"` + + // Env: Container environment variables. + Env []EnvironmentVar `json:"env,omitempty"` + + // Image: Container image tag. + Image *string `json:"image,omitempty"` + + // Name: Custom container name. + Name *string `json:"name,omitempty"` + + // Probes: List of probes for the container. + Probes []ContainerAppProbe `json:"probes,omitempty"` + + // Resources: Container resource requirements. + Resources *ContainerResources `json:"resources,omitempty"` + + // VolumeMounts: Container volume mounts. + VolumeMounts []VolumeMount `json:"volumeMounts,omitempty"` +} + +// Container App Dapr configuration. +type Dapr struct { + // AppId: Dapr application identifier + AppId *string `json:"appId,omitempty"` + + // AppPort: Tells Dapr which port your application is listening on + AppPort *int `json:"appPort,omitempty"` + + // AppProtocol: Tells Dapr which protocol your application is using. Valid options are http and grpc. Default is http + AppProtocol *Dapr_AppProtocol `json:"appProtocol,omitempty"` + + // EnableApiLogging: Enables API logging for the Dapr sidecar + EnableApiLogging *bool `json:"enableApiLogging,omitempty"` + + // Enabled: Boolean indicating if the Dapr side car is enabled + Enabled *bool `json:"enabled,omitempty"` + + // HttpMaxRequestSize: Increasing max size of request body http and grpc servers parameter in MB to handle uploading of big + // files. Default is 4 MB. + HttpMaxRequestSize *int `json:"httpMaxRequestSize,omitempty"` + + // HttpReadBufferSize: Dapr max size of http header read buffer in KB to handle when sending multi-KB headers. Default is + // 65KB. + HttpReadBufferSize *int `json:"httpReadBufferSize,omitempty"` + + // LogLevel: Sets the log level for the Dapr sidecar. Allowed values are debug, info, warn, error. Default is info. + LogLevel *Dapr_LogLevel `json:"logLevel,omitempty"` +} + +// Container App Ingress configuration. +type Ingress struct { + // AdditionalPortMappings: Settings to expose additional ports on container app + AdditionalPortMappings []IngressPortMapping `json:"additionalPortMappings,omitempty"` + + // AllowInsecure: Bool indicating if HTTP connections to is allowed. If set to false HTTP connections are automatically + // redirected to HTTPS connections + AllowInsecure *bool `json:"allowInsecure,omitempty"` + + // ClientCertificateMode: Client certificate mode for mTLS authentication. Ignore indicates server drops client certificate + // on forwarding. Accept indicates server forwards client certificate but does not require a client certificate. Require + // indicates server requires a client certificate. + ClientCertificateMode *Ingress_ClientCertificateMode `json:"clientCertificateMode,omitempty"` + + // CorsPolicy: CORS policy for container app + CorsPolicy *CorsPolicy `json:"corsPolicy,omitempty"` + + // CustomDomains: custom domain bindings for Container Apps' hostnames. + CustomDomains []CustomDomain `json:"customDomains,omitempty"` + + // ExposedPort: Exposed Port in containers for TCP traffic from ingress + ExposedPort *int `json:"exposedPort,omitempty"` + + // External: Bool indicating if app exposes an external http endpoint + External *bool `json:"external,omitempty"` + + // IpSecurityRestrictions: Rules to restrict incoming IP address. + IpSecurityRestrictions []IpSecurityRestrictionRule `json:"ipSecurityRestrictions,omitempty"` + + // StickySessions: Sticky Sessions for Single Revision Mode + StickySessions *Ingress_StickySessions `json:"stickySessions,omitempty"` + + // TargetPort: Target Port in containers for traffic from ingress + TargetPort *int `json:"targetPort,omitempty"` + + // Traffic: Traffic weights for app's revisions + Traffic []TrafficWeight `json:"traffic,omitempty"` + + // Transport: Ingress transport protocol + Transport *Ingress_Transport `json:"transport,omitempty"` +} + +// Container App Private Registry +type RegistryCredentials struct { + Identity *string `json:"identity,omitempty"` + + // PasswordSecretRef: The name of the Secret that contains the registry login password + PasswordSecretRef *string `json:"passwordSecretRef,omitempty"` + + // Server: Container Registry Server + Server *string `json:"server,omitempty"` + + // Username: Container Registry Username + Username *string `json:"username,omitempty"` +} + +// Container App scaling configurations. +type Scale struct { + // MaxReplicas: Optional. Maximum number of container replicas. Defaults to 10 if not set. + MaxReplicas *int `json:"maxReplicas,omitempty"` + + // MinReplicas: Optional. Minimum number of container replicas. + MinReplicas *int `json:"minReplicas,omitempty"` + + // Rules: Scaling rules. + Rules []ScaleRule `json:"rules,omitempty"` +} + +// Secret definition. +type Secret struct { + Identity *string `json:"identity,omitempty"` + + // KeyVaultUrl: Azure Key Vault URL pointing to the secret referenced by the container app. + KeyVaultUrl *string `json:"keyVaultUrl,omitempty"` + + // Name: Secret Name. + Name *string `json:"name,omitempty"` + + // Value: Secret Value. + Value *string `json:"value,omitempty"` +} + +// Container App to be a dev service +type Service struct { + // Type: Dev ContainerApp service type + Type *string `json:"type,omitempty"` +} + +// Configuration to bind a ContainerApp to a dev ContainerApp Service +type ServiceBind struct { + // Name: Name of the service bind + Name *string `json:"name,omitempty"` + ServiceId *string `json:"serviceId,omitempty"` +} + +// Volume definitions for the Container App. +type Volume struct { + // MountOptions: Mount options used while mounting the AzureFile. Must be a comma-separated string. + MountOptions *string `json:"mountOptions,omitempty"` + + // Name: Volume name. + Name *string `json:"name,omitempty"` + + // Secrets: List of secrets to be added in volume. If no secrets are provided, all secrets in collection will be added to + // volume. + Secrets []SecretVolumeItem `json:"secrets,omitempty"` + + // StorageName: Name of storage resource. No need to provide for EmptyDir and Secret. + StorageName *string `json:"storageName,omitempty"` + + // StorageType: Storage type for the volume. If not provided, use EmptyDir. + StorageType *Volume_StorageType `json:"storageType,omitempty"` +} + +// Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive +// traffic. +type ContainerAppProbe struct { + // FailureThreshold: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to + // 3. Minimum value is 1. Maximum value is 10. + FailureThreshold *int `json:"failureThreshold,omitempty"` + + // HttpGet: HTTPGet specifies the http request to perform. + HttpGet *ContainerAppProbe_HttpGet `json:"httpGet,omitempty"` + + // InitialDelaySeconds: Number of seconds after the container has started before liveness probes are initiated. Minimum + // value is 1. Maximum value is 60. + InitialDelaySeconds *int `json:"initialDelaySeconds,omitempty"` + + // PeriodSeconds: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is + // 240. + PeriodSeconds *int `json:"periodSeconds,omitempty"` + + // SuccessThreshold: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults + // to 1. Must be 1 for liveness and startup. Minimum value is 1. Maximum value is 10. + SuccessThreshold *int `json:"successThreshold,omitempty"` + + // TcpSocket: TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported. + TcpSocket *ContainerAppProbe_TcpSocket `json:"tcpSocket,omitempty"` + + // TerminationGracePeriodSeconds: Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + // The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the + // time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for + // your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value + // overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop + // immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling + // ProbeTerminationGracePeriod feature gate. Maximum value is 3600 seconds (1 hour) + TerminationGracePeriodSeconds *int `json:"terminationGracePeriodSeconds,omitempty"` + + // TimeoutSeconds: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum + // value is 240. + TimeoutSeconds *int `json:"timeoutSeconds,omitempty"` + + // Type: The type of probe. + Type *ContainerAppProbe_Type `json:"type,omitempty"` +} + +// Container App container resource requirements. +type ContainerResources struct { + // Cpu: Required CPU in cores, e.g. 0.5 + Cpu *float64 `json:"cpu,omitempty"` + + // Memory: Required memory, e.g. "250Mb" + Memory *string `json:"memory,omitempty"` +} + +// Cross-Origin-Resource-Sharing policy +type CorsPolicy struct { + // AllowCredentials: Specifies whether the resource allows credentials + AllowCredentials *bool `json:"allowCredentials,omitempty"` + + // AllowedHeaders: Specifies the content for the access-control-allow-headers header + AllowedHeaders []string `json:"allowedHeaders,omitempty"` + + // AllowedMethods: Specifies the content for the access-control-allow-methods header + AllowedMethods []string `json:"allowedMethods,omitempty"` + + // AllowedOrigins: Specifies the content for the access-control-allow-origins header + AllowedOrigins []string `json:"allowedOrigins,omitempty"` + + // ExposeHeaders: Specifies the content for the access-control-expose-headers header + ExposeHeaders []string `json:"exposeHeaders,omitempty"` + + // MaxAge: Specifies the content for the access-control-max-age header + MaxAge *int `json:"maxAge,omitempty"` +} + +// Custom Domain of a Container App +type CustomDomain struct { + // BindingType: Custom Domain binding type. + BindingType *CustomDomain_BindingType `json:"bindingType,omitempty"` + CertificateId *string `json:"certificateId,omitempty"` + + // Name: Hostname. + Name *string `json:"name,omitempty"` +} + +// +kubebuilder:validation:Enum={"grpc","http"} +type Dapr_AppProtocol string + +const ( + Dapr_AppProtocol_Grpc = Dapr_AppProtocol("grpc") + Dapr_AppProtocol_Http = Dapr_AppProtocol("http") +) + +// Mapping from string to Dapr_AppProtocol +var dapr_AppProtocol_Values = map[string]Dapr_AppProtocol{ + "grpc": Dapr_AppProtocol_Grpc, + "http": Dapr_AppProtocol_Http, +} + +// +kubebuilder:validation:Enum={"debug","error","info","warn"} +type Dapr_LogLevel string + +const ( + Dapr_LogLevel_Debug = Dapr_LogLevel("debug") + Dapr_LogLevel_Error = Dapr_LogLevel("error") + Dapr_LogLevel_Info = Dapr_LogLevel("info") + Dapr_LogLevel_Warn = Dapr_LogLevel("warn") +) + +// Mapping from string to Dapr_LogLevel +var dapr_LogLevel_Values = map[string]Dapr_LogLevel{ + "debug": Dapr_LogLevel_Debug, + "error": Dapr_LogLevel_Error, + "info": Dapr_LogLevel_Info, + "warn": Dapr_LogLevel_Warn, +} + +// Container App container environment variable. +type EnvironmentVar struct { + // Name: Environment variable name. + Name *string `json:"name,omitempty"` + + // SecretRef: Name of the Container App secret from which to pull the environment variable value. + SecretRef *string `json:"secretRef,omitempty"` + + // Value: Non-secret environment variable value. + Value *string `json:"value,omitempty"` +} + +// +kubebuilder:validation:Enum={"accept","ignore","require"} +type Ingress_ClientCertificateMode string + +const ( + Ingress_ClientCertificateMode_Accept = Ingress_ClientCertificateMode("accept") + Ingress_ClientCertificateMode_Ignore = Ingress_ClientCertificateMode("ignore") + Ingress_ClientCertificateMode_Require = Ingress_ClientCertificateMode("require") +) + +// Mapping from string to Ingress_ClientCertificateMode +var ingress_ClientCertificateMode_Values = map[string]Ingress_ClientCertificateMode{ + "accept": Ingress_ClientCertificateMode_Accept, + "ignore": Ingress_ClientCertificateMode_Ignore, + "require": Ingress_ClientCertificateMode_Require, +} + +type Ingress_StickySessions struct { + // Affinity: Sticky Session Affinity + Affinity *Ingress_StickySessions_Affinity `json:"affinity,omitempty"` +} + +// +kubebuilder:validation:Enum={"auto","http","http2","tcp"} +type Ingress_Transport string + +const ( + Ingress_Transport_Auto = Ingress_Transport("auto") + Ingress_Transport_Http = Ingress_Transport("http") + Ingress_Transport_Http2 = Ingress_Transport("http2") + Ingress_Transport_Tcp = Ingress_Transport("tcp") +) + +// Mapping from string to Ingress_Transport +var ingress_Transport_Values = map[string]Ingress_Transport{ + "auto": Ingress_Transport_Auto, + "http": Ingress_Transport_Http, + "http2": Ingress_Transport_Http2, + "tcp": Ingress_Transport_Tcp, +} + +// Port mappings of container app ingress +type IngressPortMapping struct { + // ExposedPort: Specifies the exposed port for the target port. If not specified, it defaults to target port + ExposedPort *int `json:"exposedPort,omitempty"` + + // External: Specifies whether the app port is accessible outside of the environment + External *bool `json:"external,omitempty"` + + // TargetPort: Specifies the port user's container listens on + TargetPort *int `json:"targetPort,omitempty"` +} + +// Rule to restrict incoming IP address. +type IpSecurityRestrictionRule struct { + // Action: Allow or Deny rules to determine for incoming IP. Note: Rules can only consist of ALL Allow or ALL Deny + Action *IpSecurityRestrictionRule_Action `json:"action,omitempty"` + + // Description: Describe the IP restriction rule that is being sent to the container-app. This is an optional field. + Description *string `json:"description,omitempty"` + + // IpAddressRange: CIDR notation to match incoming IP address + IpAddressRange *string `json:"ipAddressRange,omitempty"` + + // Name: Name for the IP restriction rule. + Name *string `json:"name,omitempty"` +} + +// Container App container scaling rule. +type ScaleRule struct { + // AzureQueue: Azure Queue based scaling. + AzureQueue *QueueScaleRule `json:"azureQueue,omitempty"` + + // Custom: Custom scale rule. + Custom *CustomScaleRule `json:"custom,omitempty"` + + // Http: HTTP requests based scaling. + Http *HttpScaleRule `json:"http,omitempty"` + + // Name: Scale Rule Name + Name *string `json:"name,omitempty"` + + // Tcp: Tcp requests based scaling. + Tcp *TcpScaleRule `json:"tcp,omitempty"` +} + +// Secret to be added to volume. +type SecretVolumeItem struct { + // Path: Path to project secret to. If no path is provided, path defaults to name of secret listed in secretRef. + Path *string `json:"path,omitempty"` + + // SecretRef: Name of the Container App secret from which to pull the secret value. + SecretRef *string `json:"secretRef,omitempty"` +} + +// Traffic weight assigned to a revision +type TrafficWeight struct { + // Label: Associates a traffic label with a revision + Label *string `json:"label,omitempty"` + + // LatestRevision: Indicates that the traffic weight belongs to a latest stable revision + LatestRevision *bool `json:"latestRevision,omitempty"` + + // RevisionName: Name of a revision + RevisionName *string `json:"revisionName,omitempty"` + + // Weight: Traffic weight assigned to a revision + Weight *int `json:"weight,omitempty"` +} + +// +kubebuilder:validation:Enum={"AzureFile","EmptyDir","Secret"} +type Volume_StorageType string + +const ( + Volume_StorageType_AzureFile = Volume_StorageType("AzureFile") + Volume_StorageType_EmptyDir = Volume_StorageType("EmptyDir") + Volume_StorageType_Secret = Volume_StorageType("Secret") +) + +// Mapping from string to Volume_StorageType +var volume_StorageType_Values = map[string]Volume_StorageType{ + "azurefile": Volume_StorageType_AzureFile, + "emptydir": Volume_StorageType_EmptyDir, + "secret": Volume_StorageType_Secret, +} + +// Volume mount for the Container App. +type VolumeMount struct { + // MountPath: Path within the container at which the volume should be mounted.Must not contain ':'. + MountPath *string `json:"mountPath,omitempty"` + + // SubPath: Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root). + SubPath *string `json:"subPath,omitempty"` + + // VolumeName: This must match the Name of a Volume. + VolumeName *string `json:"volumeName,omitempty"` +} + +type ContainerAppProbe_HttpGet struct { + // Host: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + Host *string `json:"host,omitempty"` + + // HttpHeaders: Custom headers to set in the request. HTTP allows repeated headers. + HttpHeaders []ContainerAppProbe_HttpGet_HttpHeaders `json:"httpHeaders,omitempty"` + + // Path: Path to access on the HTTP server. + Path *string `json:"path,omitempty"` + + // Port: Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + // IANA_SVC_NAME. + Port *int `json:"port,omitempty"` + + // Scheme: Scheme to use for connecting to the host. Defaults to HTTP. + Scheme *ContainerAppProbe_HttpGet_Scheme `json:"scheme,omitempty"` +} + +type ContainerAppProbe_TcpSocket struct { + // Host: Optional: Host name to connect to, defaults to the pod IP. + Host *string `json:"host,omitempty"` + + // Port: Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + // IANA_SVC_NAME. + Port *int `json:"port,omitempty"` +} + +// +kubebuilder:validation:Enum={"Liveness","Readiness","Startup"} +type ContainerAppProbe_Type string + +const ( + ContainerAppProbe_Type_Liveness = ContainerAppProbe_Type("Liveness") + ContainerAppProbe_Type_Readiness = ContainerAppProbe_Type("Readiness") + ContainerAppProbe_Type_Startup = ContainerAppProbe_Type("Startup") +) + +// Mapping from string to ContainerAppProbe_Type +var containerAppProbe_Type_Values = map[string]ContainerAppProbe_Type{ + "liveness": ContainerAppProbe_Type_Liveness, + "readiness": ContainerAppProbe_Type_Readiness, + "startup": ContainerAppProbe_Type_Startup, +} + +// +kubebuilder:validation:Enum={"Disabled","SniEnabled"} +type CustomDomain_BindingType string + +const ( + CustomDomain_BindingType_Disabled = CustomDomain_BindingType("Disabled") + CustomDomain_BindingType_SniEnabled = CustomDomain_BindingType("SniEnabled") +) + +// Mapping from string to CustomDomain_BindingType +var customDomain_BindingType_Values = map[string]CustomDomain_BindingType{ + "disabled": CustomDomain_BindingType_Disabled, + "snienabled": CustomDomain_BindingType_SniEnabled, +} + +// Container App container Custom scaling rule. +type CustomScaleRule struct { + // Auth: Authentication secrets for the custom scale rule. + Auth []ScaleRuleAuth `json:"auth,omitempty"` + + // Metadata: Metadata properties to describe custom scale rule. + Metadata map[string]string `json:"metadata,omitempty"` + + // Type: Type of the custom scale rule + // eg: azure-servicebus, redis etc. + Type *string `json:"type,omitempty"` +} + +// Container App container Http scaling rule. +type HttpScaleRule struct { + // Auth: Authentication secrets for the custom scale rule. + Auth []ScaleRuleAuth `json:"auth,omitempty"` + + // Metadata: Metadata properties to describe http scale rule. + Metadata map[string]string `json:"metadata,omitempty"` +} + +// +kubebuilder:validation:Enum={"none","sticky"} +type Ingress_StickySessions_Affinity string + +const ( + Ingress_StickySessions_Affinity_None = Ingress_StickySessions_Affinity("none") + Ingress_StickySessions_Affinity_Sticky = Ingress_StickySessions_Affinity("sticky") +) + +// Mapping from string to Ingress_StickySessions_Affinity +var ingress_StickySessions_Affinity_Values = map[string]Ingress_StickySessions_Affinity{ + "none": Ingress_StickySessions_Affinity_None, + "sticky": Ingress_StickySessions_Affinity_Sticky, +} + +// +kubebuilder:validation:Enum={"Allow","Deny"} +type IpSecurityRestrictionRule_Action string + +const ( + IpSecurityRestrictionRule_Action_Allow = IpSecurityRestrictionRule_Action("Allow") + IpSecurityRestrictionRule_Action_Deny = IpSecurityRestrictionRule_Action("Deny") +) + +// Mapping from string to IpSecurityRestrictionRule_Action +var ipSecurityRestrictionRule_Action_Values = map[string]IpSecurityRestrictionRule_Action{ + "allow": IpSecurityRestrictionRule_Action_Allow, + "deny": IpSecurityRestrictionRule_Action_Deny, +} + +// Container App container Azure Queue based scaling rule. +type QueueScaleRule struct { + // Auth: Authentication secrets for the queue scale rule. + Auth []ScaleRuleAuth `json:"auth,omitempty"` + + // QueueLength: Queue length. + QueueLength *int `json:"queueLength,omitempty"` + + // QueueName: Queue name. + QueueName *string `json:"queueName,omitempty"` +} + +// Container App container Tcp scaling rule. +type TcpScaleRule struct { + // Auth: Authentication secrets for the tcp scale rule. + Auth []ScaleRuleAuth `json:"auth,omitempty"` + + // Metadata: Metadata properties to describe tcp scale rule. + Metadata map[string]string `json:"metadata,omitempty"` +} + +type ContainerAppProbe_HttpGet_HttpHeaders struct { + // Name: The header field name + Name *string `json:"name,omitempty"` + + // Value: The header field value + Value *string `json:"value,omitempty"` +} + +// +kubebuilder:validation:Enum={"HTTP","HTTPS"} +type ContainerAppProbe_HttpGet_Scheme string + +const ( + ContainerAppProbe_HttpGet_Scheme_HTTP = ContainerAppProbe_HttpGet_Scheme("HTTP") + ContainerAppProbe_HttpGet_Scheme_HTTPS = ContainerAppProbe_HttpGet_Scheme("HTTPS") +) + +// Mapping from string to ContainerAppProbe_HttpGet_Scheme +var containerAppProbe_HttpGet_Scheme_Values = map[string]ContainerAppProbe_HttpGet_Scheme{ + "http": ContainerAppProbe_HttpGet_Scheme_HTTP, + "https": ContainerAppProbe_HttpGet_Scheme_HTTPS, +} + +// Auth Secrets for Scale Rule +type ScaleRuleAuth struct { + // SecretRef: Name of the secret from which to pull the auth params. + SecretRef *string `json:"secretRef,omitempty"` + + // TriggerParameter: Trigger Parameter that uses the secret + TriggerParameter *string `json:"triggerParameter,omitempty"` +} diff --git a/v2/api/app/v1api20240301/arm/container_app_spec_types_gen_test.go b/v2/api/app/v1api20240301/arm/container_app_spec_types_gen_test.go new file mode 100644 index 00000000000..b22e3b556fa --- /dev/null +++ b/v2/api/app/v1api20240301/arm/container_app_spec_types_gen_test.go @@ -0,0 +1,2598 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +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_BaseContainer_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 BaseContainer via JSON returns original", + prop.ForAll(RunJSONSerializationTestForBaseContainer, BaseContainerGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForBaseContainer runs a test to see if a specific instance of BaseContainer round trips to JSON and back losslessly +func RunJSONSerializationTestForBaseContainer(subject BaseContainer) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual BaseContainer + 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 BaseContainer instances for property testing - lazily instantiated by BaseContainerGenerator() +var baseContainerGenerator gopter.Gen + +// BaseContainerGenerator returns a generator of BaseContainer instances for property testing. +// We first initialize baseContainerGenerator 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 BaseContainerGenerator() gopter.Gen { + if baseContainerGenerator != nil { + return baseContainerGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForBaseContainer(generators) + baseContainerGenerator = gen.Struct(reflect.TypeOf(BaseContainer{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForBaseContainer(generators) + AddRelatedPropertyGeneratorsForBaseContainer(generators) + baseContainerGenerator = gen.Struct(reflect.TypeOf(BaseContainer{}), generators) + + return baseContainerGenerator +} + +// AddIndependentPropertyGeneratorsForBaseContainer is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForBaseContainer(gens map[string]gopter.Gen) { + gens["Args"] = gen.SliceOf(gen.AlphaString()) + gens["Command"] = gen.SliceOf(gen.AlphaString()) + gens["Image"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForBaseContainer is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForBaseContainer(gens map[string]gopter.Gen) { + gens["Env"] = gen.SliceOf(EnvironmentVarGenerator()) + gens["Resources"] = gen.PtrOf(ContainerResourcesGenerator()) + gens["VolumeMounts"] = gen.SliceOf(VolumeMountGenerator()) +} + +func Test_Configuration_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 Configuration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForConfiguration, ConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForConfiguration runs a test to see if a specific instance of Configuration round trips to JSON and back losslessly +func RunJSONSerializationTestForConfiguration(subject Configuration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Configuration + 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 Configuration instances for property testing - lazily instantiated by ConfigurationGenerator() +var configurationGenerator gopter.Gen + +// ConfigurationGenerator returns a generator of Configuration instances for property testing. +// We first initialize configurationGenerator 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 ConfigurationGenerator() gopter.Gen { + if configurationGenerator != nil { + return configurationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForConfiguration(generators) + configurationGenerator = gen.Struct(reflect.TypeOf(Configuration{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForConfiguration(generators) + AddRelatedPropertyGeneratorsForConfiguration(generators) + configurationGenerator = gen.Struct(reflect.TypeOf(Configuration{}), generators) + + return configurationGenerator +} + +// AddIndependentPropertyGeneratorsForConfiguration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForConfiguration(gens map[string]gopter.Gen) { + gens["ActiveRevisionsMode"] = gen.PtrOf(gen.OneConstOf(Configuration_ActiveRevisionsMode_Multiple, Configuration_ActiveRevisionsMode_Single)) + gens["MaxInactiveRevisions"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForConfiguration is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForConfiguration(gens map[string]gopter.Gen) { + gens["Dapr"] = gen.PtrOf(DaprGenerator()) + gens["Ingress"] = gen.PtrOf(IngressGenerator()) + gens["Registries"] = gen.SliceOf(RegistryCredentialsGenerator()) + gens["Secrets"] = gen.SliceOf(SecretGenerator()) + gens["Service"] = gen.PtrOf(ServiceGenerator()) +} + +func Test_Container_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 Container via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainer, ContainerGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainer runs a test to see if a specific instance of Container round trips to JSON and back losslessly +func RunJSONSerializationTestForContainer(subject Container) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Container + 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 Container instances for property testing - lazily instantiated by ContainerGenerator() +var containerGenerator gopter.Gen + +// ContainerGenerator returns a generator of Container instances for property testing. +// We first initialize containerGenerator 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 ContainerGenerator() gopter.Gen { + if containerGenerator != nil { + return containerGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainer(generators) + containerGenerator = gen.Struct(reflect.TypeOf(Container{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainer(generators) + AddRelatedPropertyGeneratorsForContainer(generators) + containerGenerator = gen.Struct(reflect.TypeOf(Container{}), generators) + + return containerGenerator +} + +// AddIndependentPropertyGeneratorsForContainer is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainer(gens map[string]gopter.Gen) { + gens["Args"] = gen.SliceOf(gen.AlphaString()) + gens["Command"] = gen.SliceOf(gen.AlphaString()) + gens["Image"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForContainer is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainer(gens map[string]gopter.Gen) { + gens["Env"] = gen.SliceOf(EnvironmentVarGenerator()) + gens["Probes"] = gen.SliceOf(ContainerAppProbeGenerator()) + gens["Resources"] = gen.PtrOf(ContainerResourcesGenerator()) + gens["VolumeMounts"] = gen.SliceOf(VolumeMountGenerator()) +} + +func Test_ContainerAppProbe_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 ContainerAppProbe via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerAppProbe, ContainerAppProbeGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerAppProbe runs a test to see if a specific instance of ContainerAppProbe round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerAppProbe(subject ContainerAppProbe) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerAppProbe + 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 ContainerAppProbe instances for property testing - lazily instantiated by ContainerAppProbeGenerator() +var containerAppProbeGenerator gopter.Gen + +// ContainerAppProbeGenerator returns a generator of ContainerAppProbe instances for property testing. +// We first initialize containerAppProbeGenerator 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 ContainerAppProbeGenerator() gopter.Gen { + if containerAppProbeGenerator != nil { + return containerAppProbeGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe(generators) + containerAppProbeGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe(generators) + AddRelatedPropertyGeneratorsForContainerAppProbe(generators) + containerAppProbeGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe{}), generators) + + return containerAppProbeGenerator +} + +// AddIndependentPropertyGeneratorsForContainerAppProbe is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerAppProbe(gens map[string]gopter.Gen) { + gens["FailureThreshold"] = gen.PtrOf(gen.Int()) + gens["InitialDelaySeconds"] = gen.PtrOf(gen.Int()) + gens["PeriodSeconds"] = gen.PtrOf(gen.Int()) + gens["SuccessThreshold"] = gen.PtrOf(gen.Int()) + gens["TerminationGracePeriodSeconds"] = gen.PtrOf(gen.Int()) + gens["TimeoutSeconds"] = gen.PtrOf(gen.Int()) + gens["Type"] = gen.PtrOf(gen.OneConstOf(ContainerAppProbe_Type_Liveness, ContainerAppProbe_Type_Readiness, ContainerAppProbe_Type_Startup)) +} + +// AddRelatedPropertyGeneratorsForContainerAppProbe is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerAppProbe(gens map[string]gopter.Gen) { + gens["HttpGet"] = gen.PtrOf(ContainerAppProbe_HttpGetGenerator()) + gens["TcpSocket"] = gen.PtrOf(ContainerAppProbe_TcpSocketGenerator()) +} + +func Test_ContainerAppProbe_HttpGet_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 ContainerAppProbe_HttpGet via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerAppProbe_HttpGet, ContainerAppProbe_HttpGetGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerAppProbe_HttpGet runs a test to see if a specific instance of ContainerAppProbe_HttpGet round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerAppProbe_HttpGet(subject ContainerAppProbe_HttpGet) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerAppProbe_HttpGet + 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 ContainerAppProbe_HttpGet instances for property testing - lazily instantiated by +// ContainerAppProbe_HttpGetGenerator() +var containerAppProbe_HttpGetGenerator gopter.Gen + +// ContainerAppProbe_HttpGetGenerator returns a generator of ContainerAppProbe_HttpGet instances for property testing. +// We first initialize containerAppProbe_HttpGetGenerator 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 ContainerAppProbe_HttpGetGenerator() gopter.Gen { + if containerAppProbe_HttpGetGenerator != nil { + return containerAppProbe_HttpGetGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet(generators) + containerAppProbe_HttpGetGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe_HttpGet{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet(generators) + AddRelatedPropertyGeneratorsForContainerAppProbe_HttpGet(generators) + containerAppProbe_HttpGetGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe_HttpGet{}), generators) + + return containerAppProbe_HttpGetGenerator +} + +// AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet(gens map[string]gopter.Gen) { + gens["Host"] = gen.PtrOf(gen.AlphaString()) + gens["Path"] = gen.PtrOf(gen.AlphaString()) + gens["Port"] = gen.PtrOf(gen.Int()) + gens["Scheme"] = gen.PtrOf(gen.OneConstOf(ContainerAppProbe_HttpGet_Scheme_HTTP, ContainerAppProbe_HttpGet_Scheme_HTTPS)) +} + +// AddRelatedPropertyGeneratorsForContainerAppProbe_HttpGet is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerAppProbe_HttpGet(gens map[string]gopter.Gen) { + gens["HttpHeaders"] = gen.SliceOf(ContainerAppProbe_HttpGet_HttpHeadersGenerator()) +} + +func Test_ContainerAppProbe_HttpGet_HttpHeaders_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 ContainerAppProbe_HttpGet_HttpHeaders via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerAppProbe_HttpGet_HttpHeaders, ContainerAppProbe_HttpGet_HttpHeadersGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerAppProbe_HttpGet_HttpHeaders runs a test to see if a specific instance of ContainerAppProbe_HttpGet_HttpHeaders round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerAppProbe_HttpGet_HttpHeaders(subject ContainerAppProbe_HttpGet_HttpHeaders) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerAppProbe_HttpGet_HttpHeaders + 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 ContainerAppProbe_HttpGet_HttpHeaders instances for property testing - lazily instantiated by +// ContainerAppProbe_HttpGet_HttpHeadersGenerator() +var containerAppProbe_HttpGet_HttpHeadersGenerator gopter.Gen + +// ContainerAppProbe_HttpGet_HttpHeadersGenerator returns a generator of ContainerAppProbe_HttpGet_HttpHeaders instances for property testing. +func ContainerAppProbe_HttpGet_HttpHeadersGenerator() gopter.Gen { + if containerAppProbe_HttpGet_HttpHeadersGenerator != nil { + return containerAppProbe_HttpGet_HttpHeadersGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet_HttpHeaders(generators) + containerAppProbe_HttpGet_HttpHeadersGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe_HttpGet_HttpHeaders{}), generators) + + return containerAppProbe_HttpGet_HttpHeadersGenerator +} + +// AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet_HttpHeaders is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet_HttpHeaders(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Value"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ContainerAppProbe_TcpSocket_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 ContainerAppProbe_TcpSocket via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerAppProbe_TcpSocket, ContainerAppProbe_TcpSocketGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerAppProbe_TcpSocket runs a test to see if a specific instance of ContainerAppProbe_TcpSocket round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerAppProbe_TcpSocket(subject ContainerAppProbe_TcpSocket) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerAppProbe_TcpSocket + 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 ContainerAppProbe_TcpSocket instances for property testing - lazily instantiated by +// ContainerAppProbe_TcpSocketGenerator() +var containerAppProbe_TcpSocketGenerator gopter.Gen + +// ContainerAppProbe_TcpSocketGenerator returns a generator of ContainerAppProbe_TcpSocket instances for property testing. +func ContainerAppProbe_TcpSocketGenerator() gopter.Gen { + if containerAppProbe_TcpSocketGenerator != nil { + return containerAppProbe_TcpSocketGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe_TcpSocket(generators) + containerAppProbe_TcpSocketGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe_TcpSocket{}), generators) + + return containerAppProbe_TcpSocketGenerator +} + +// AddIndependentPropertyGeneratorsForContainerAppProbe_TcpSocket is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerAppProbe_TcpSocket(gens map[string]gopter.Gen) { + gens["Host"] = gen.PtrOf(gen.AlphaString()) + gens["Port"] = gen.PtrOf(gen.Int()) +} + +func Test_ContainerApp_Properties_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 ContainerApp_Properties_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerApp_Properties_Spec, ContainerApp_Properties_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerApp_Properties_Spec runs a test to see if a specific instance of ContainerApp_Properties_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerApp_Properties_Spec(subject ContainerApp_Properties_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerApp_Properties_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 ContainerApp_Properties_Spec instances for property testing - lazily instantiated by +// ContainerApp_Properties_SpecGenerator() +var containerApp_Properties_SpecGenerator gopter.Gen + +// ContainerApp_Properties_SpecGenerator returns a generator of ContainerApp_Properties_Spec instances for property testing. +// We first initialize containerApp_Properties_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 ContainerApp_Properties_SpecGenerator() gopter.Gen { + if containerApp_Properties_SpecGenerator != nil { + return containerApp_Properties_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerApp_Properties_Spec(generators) + containerApp_Properties_SpecGenerator = gen.Struct(reflect.TypeOf(ContainerApp_Properties_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerApp_Properties_Spec(generators) + AddRelatedPropertyGeneratorsForContainerApp_Properties_Spec(generators) + containerApp_Properties_SpecGenerator = gen.Struct(reflect.TypeOf(ContainerApp_Properties_Spec{}), generators) + + return containerApp_Properties_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForContainerApp_Properties_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerApp_Properties_Spec(gens map[string]gopter.Gen) { + gens["EnvironmentId"] = gen.PtrOf(gen.AlphaString()) + gens["ManagedEnvironmentId"] = gen.PtrOf(gen.AlphaString()) + gens["WorkloadProfileName"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForContainerApp_Properties_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerApp_Properties_Spec(gens map[string]gopter.Gen) { + gens["Configuration"] = gen.PtrOf(ConfigurationGenerator()) + gens["Template"] = gen.PtrOf(TemplateGenerator()) +} + +func Test_ContainerApp_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 ContainerApp_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerApp_Spec, ContainerApp_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerApp_Spec runs a test to see if a specific instance of ContainerApp_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerApp_Spec(subject ContainerApp_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerApp_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 ContainerApp_Spec instances for property testing - lazily instantiated by ContainerApp_SpecGenerator() +var containerApp_SpecGenerator gopter.Gen + +// ContainerApp_SpecGenerator returns a generator of ContainerApp_Spec instances for property testing. +// We first initialize containerApp_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 ContainerApp_SpecGenerator() gopter.Gen { + if containerApp_SpecGenerator != nil { + return containerApp_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerApp_Spec(generators) + containerApp_SpecGenerator = gen.Struct(reflect.TypeOf(ContainerApp_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerApp_Spec(generators) + AddRelatedPropertyGeneratorsForContainerApp_Spec(generators) + containerApp_SpecGenerator = gen.Struct(reflect.TypeOf(ContainerApp_Spec{}), generators) + + return containerApp_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForContainerApp_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerApp_Spec(gens map[string]gopter.Gen) { + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["ManagedBy"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.AlphaString() + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForContainerApp_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerApp_Spec(gens map[string]gopter.Gen) { + gens["ExtendedLocation"] = gen.PtrOf(ExtendedLocationGenerator()) + gens["Identity"] = gen.PtrOf(ManagedServiceIdentityGenerator()) + gens["Properties"] = gen.PtrOf(ContainerApp_Properties_SpecGenerator()) +} + +func Test_ContainerResources_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 ContainerResources via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerResources, ContainerResourcesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerResources runs a test to see if a specific instance of ContainerResources round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerResources(subject ContainerResources) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerResources + 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 ContainerResources instances for property testing - lazily instantiated by ContainerResourcesGenerator() +var containerResourcesGenerator gopter.Gen + +// ContainerResourcesGenerator returns a generator of ContainerResources instances for property testing. +func ContainerResourcesGenerator() gopter.Gen { + if containerResourcesGenerator != nil { + return containerResourcesGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerResources(generators) + containerResourcesGenerator = gen.Struct(reflect.TypeOf(ContainerResources{}), generators) + + return containerResourcesGenerator +} + +// AddIndependentPropertyGeneratorsForContainerResources is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerResources(gens map[string]gopter.Gen) { + gens["Cpu"] = gen.PtrOf(gen.Float64()) + gens["Memory"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_CorsPolicy_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 CorsPolicy via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCorsPolicy, CorsPolicyGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCorsPolicy runs a test to see if a specific instance of CorsPolicy round trips to JSON and back losslessly +func RunJSONSerializationTestForCorsPolicy(subject CorsPolicy) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CorsPolicy + 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 CorsPolicy instances for property testing - lazily instantiated by CorsPolicyGenerator() +var corsPolicyGenerator gopter.Gen + +// CorsPolicyGenerator returns a generator of CorsPolicy instances for property testing. +func CorsPolicyGenerator() gopter.Gen { + if corsPolicyGenerator != nil { + return corsPolicyGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCorsPolicy(generators) + corsPolicyGenerator = gen.Struct(reflect.TypeOf(CorsPolicy{}), generators) + + return corsPolicyGenerator +} + +// AddIndependentPropertyGeneratorsForCorsPolicy is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCorsPolicy(gens map[string]gopter.Gen) { + gens["AllowCredentials"] = gen.PtrOf(gen.Bool()) + gens["AllowedHeaders"] = gen.SliceOf(gen.AlphaString()) + gens["AllowedMethods"] = gen.SliceOf(gen.AlphaString()) + gens["AllowedOrigins"] = gen.SliceOf(gen.AlphaString()) + gens["ExposeHeaders"] = gen.SliceOf(gen.AlphaString()) + gens["MaxAge"] = gen.PtrOf(gen.Int()) +} + +func Test_CustomDomain_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 CustomDomain via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCustomDomain, CustomDomainGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCustomDomain runs a test to see if a specific instance of CustomDomain round trips to JSON and back losslessly +func RunJSONSerializationTestForCustomDomain(subject CustomDomain) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CustomDomain + 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 CustomDomain instances for property testing - lazily instantiated by CustomDomainGenerator() +var customDomainGenerator gopter.Gen + +// CustomDomainGenerator returns a generator of CustomDomain instances for property testing. +func CustomDomainGenerator() gopter.Gen { + if customDomainGenerator != nil { + return customDomainGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomDomain(generators) + customDomainGenerator = gen.Struct(reflect.TypeOf(CustomDomain{}), generators) + + return customDomainGenerator +} + +// AddIndependentPropertyGeneratorsForCustomDomain is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCustomDomain(gens map[string]gopter.Gen) { + gens["BindingType"] = gen.PtrOf(gen.OneConstOf(CustomDomain_BindingType_Disabled, CustomDomain_BindingType_SniEnabled)) + gens["CertificateId"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_CustomScaleRule_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 CustomScaleRule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCustomScaleRule, CustomScaleRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCustomScaleRule runs a test to see if a specific instance of CustomScaleRule round trips to JSON and back losslessly +func RunJSONSerializationTestForCustomScaleRule(subject CustomScaleRule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CustomScaleRule + 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 CustomScaleRule instances for property testing - lazily instantiated by CustomScaleRuleGenerator() +var customScaleRuleGenerator gopter.Gen + +// CustomScaleRuleGenerator returns a generator of CustomScaleRule instances for property testing. +// We first initialize customScaleRuleGenerator 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 CustomScaleRuleGenerator() gopter.Gen { + if customScaleRuleGenerator != nil { + return customScaleRuleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomScaleRule(generators) + customScaleRuleGenerator = gen.Struct(reflect.TypeOf(CustomScaleRule{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomScaleRule(generators) + AddRelatedPropertyGeneratorsForCustomScaleRule(generators) + customScaleRuleGenerator = gen.Struct(reflect.TypeOf(CustomScaleRule{}), generators) + + return customScaleRuleGenerator +} + +// AddIndependentPropertyGeneratorsForCustomScaleRule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCustomScaleRule(gens map[string]gopter.Gen) { + gens["Metadata"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForCustomScaleRule is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForCustomScaleRule(gens map[string]gopter.Gen) { + gens["Auth"] = gen.SliceOf(ScaleRuleAuthGenerator()) +} + +func Test_Dapr_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 Dapr via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDapr, DaprGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDapr runs a test to see if a specific instance of Dapr round trips to JSON and back losslessly +func RunJSONSerializationTestForDapr(subject Dapr) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Dapr + 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 Dapr instances for property testing - lazily instantiated by DaprGenerator() +var daprGenerator gopter.Gen + +// DaprGenerator returns a generator of Dapr instances for property testing. +func DaprGenerator() gopter.Gen { + if daprGenerator != nil { + return daprGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDapr(generators) + daprGenerator = gen.Struct(reflect.TypeOf(Dapr{}), generators) + + return daprGenerator +} + +// AddIndependentPropertyGeneratorsForDapr is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDapr(gens map[string]gopter.Gen) { + gens["AppId"] = gen.PtrOf(gen.AlphaString()) + gens["AppPort"] = gen.PtrOf(gen.Int()) + gens["AppProtocol"] = gen.PtrOf(gen.OneConstOf(Dapr_AppProtocol_Grpc, Dapr_AppProtocol_Http)) + gens["EnableApiLogging"] = gen.PtrOf(gen.Bool()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["HttpMaxRequestSize"] = gen.PtrOf(gen.Int()) + gens["HttpReadBufferSize"] = gen.PtrOf(gen.Int()) + gens["LogLevel"] = gen.PtrOf(gen.OneConstOf( + Dapr_LogLevel_Debug, + Dapr_LogLevel_Error, + Dapr_LogLevel_Info, + Dapr_LogLevel_Warn)) +} + +func Test_EnvironmentVar_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 EnvironmentVar via JSON returns original", + prop.ForAll(RunJSONSerializationTestForEnvironmentVar, EnvironmentVarGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForEnvironmentVar runs a test to see if a specific instance of EnvironmentVar round trips to JSON and back losslessly +func RunJSONSerializationTestForEnvironmentVar(subject EnvironmentVar) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual EnvironmentVar + 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 EnvironmentVar instances for property testing - lazily instantiated by EnvironmentVarGenerator() +var environmentVarGenerator gopter.Gen + +// EnvironmentVarGenerator returns a generator of EnvironmentVar instances for property testing. +func EnvironmentVarGenerator() gopter.Gen { + if environmentVarGenerator != nil { + return environmentVarGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForEnvironmentVar(generators) + environmentVarGenerator = gen.Struct(reflect.TypeOf(EnvironmentVar{}), generators) + + return environmentVarGenerator +} + +// AddIndependentPropertyGeneratorsForEnvironmentVar is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForEnvironmentVar(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["SecretRef"] = gen.PtrOf(gen.AlphaString()) + gens["Value"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ExtendedLocation_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 ExtendedLocation via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExtendedLocation, ExtendedLocationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExtendedLocation runs a test to see if a specific instance of ExtendedLocation round trips to JSON and back losslessly +func RunJSONSerializationTestForExtendedLocation(subject ExtendedLocation) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExtendedLocation + 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 ExtendedLocation instances for property testing - lazily instantiated by ExtendedLocationGenerator() +var extendedLocationGenerator gopter.Gen + +// ExtendedLocationGenerator returns a generator of ExtendedLocation instances for property testing. +func ExtendedLocationGenerator() gopter.Gen { + if extendedLocationGenerator != nil { + return extendedLocationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExtendedLocation(generators) + extendedLocationGenerator = gen.Struct(reflect.TypeOf(ExtendedLocation{}), generators) + + return extendedLocationGenerator +} + +// AddIndependentPropertyGeneratorsForExtendedLocation is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForExtendedLocation(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.OneConstOf(ExtendedLocationType_CustomLocation)) +} + +func Test_HttpScaleRule_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 HttpScaleRule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHttpScaleRule, HttpScaleRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHttpScaleRule runs a test to see if a specific instance of HttpScaleRule round trips to JSON and back losslessly +func RunJSONSerializationTestForHttpScaleRule(subject HttpScaleRule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HttpScaleRule + 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 HttpScaleRule instances for property testing - lazily instantiated by HttpScaleRuleGenerator() +var httpScaleRuleGenerator gopter.Gen + +// HttpScaleRuleGenerator returns a generator of HttpScaleRule instances for property testing. +// We first initialize httpScaleRuleGenerator 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 HttpScaleRuleGenerator() gopter.Gen { + if httpScaleRuleGenerator != nil { + return httpScaleRuleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHttpScaleRule(generators) + httpScaleRuleGenerator = gen.Struct(reflect.TypeOf(HttpScaleRule{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHttpScaleRule(generators) + AddRelatedPropertyGeneratorsForHttpScaleRule(generators) + httpScaleRuleGenerator = gen.Struct(reflect.TypeOf(HttpScaleRule{}), generators) + + return httpScaleRuleGenerator +} + +// AddIndependentPropertyGeneratorsForHttpScaleRule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHttpScaleRule(gens map[string]gopter.Gen) { + gens["Metadata"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForHttpScaleRule is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHttpScaleRule(gens map[string]gopter.Gen) { + gens["Auth"] = gen.SliceOf(ScaleRuleAuthGenerator()) +} + +func Test_Ingress_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 Ingress via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIngress, IngressGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIngress runs a test to see if a specific instance of Ingress round trips to JSON and back losslessly +func RunJSONSerializationTestForIngress(subject Ingress) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Ingress + 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 Ingress instances for property testing - lazily instantiated by IngressGenerator() +var ingressGenerator gopter.Gen + +// IngressGenerator returns a generator of Ingress instances for property testing. +// We first initialize ingressGenerator 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 IngressGenerator() gopter.Gen { + if ingressGenerator != nil { + return ingressGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIngress(generators) + ingressGenerator = gen.Struct(reflect.TypeOf(Ingress{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIngress(generators) + AddRelatedPropertyGeneratorsForIngress(generators) + ingressGenerator = gen.Struct(reflect.TypeOf(Ingress{}), generators) + + return ingressGenerator +} + +// AddIndependentPropertyGeneratorsForIngress is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIngress(gens map[string]gopter.Gen) { + gens["AllowInsecure"] = gen.PtrOf(gen.Bool()) + gens["ClientCertificateMode"] = gen.PtrOf(gen.OneConstOf(Ingress_ClientCertificateMode_Accept, Ingress_ClientCertificateMode_Ignore, Ingress_ClientCertificateMode_Require)) + gens["ExposedPort"] = gen.PtrOf(gen.Int()) + gens["External"] = gen.PtrOf(gen.Bool()) + gens["TargetPort"] = gen.PtrOf(gen.Int()) + gens["Transport"] = gen.PtrOf(gen.OneConstOf( + Ingress_Transport_Auto, + Ingress_Transport_Http, + Ingress_Transport_Http2, + Ingress_Transport_Tcp)) +} + +// AddRelatedPropertyGeneratorsForIngress is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIngress(gens map[string]gopter.Gen) { + gens["AdditionalPortMappings"] = gen.SliceOf(IngressPortMappingGenerator()) + gens["CorsPolicy"] = gen.PtrOf(CorsPolicyGenerator()) + gens["CustomDomains"] = gen.SliceOf(CustomDomainGenerator()) + gens["IpSecurityRestrictions"] = gen.SliceOf(IpSecurityRestrictionRuleGenerator()) + gens["StickySessions"] = gen.PtrOf(Ingress_StickySessionsGenerator()) + gens["Traffic"] = gen.SliceOf(TrafficWeightGenerator()) +} + +func Test_IngressPortMapping_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 IngressPortMapping via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIngressPortMapping, IngressPortMappingGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIngressPortMapping runs a test to see if a specific instance of IngressPortMapping round trips to JSON and back losslessly +func RunJSONSerializationTestForIngressPortMapping(subject IngressPortMapping) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IngressPortMapping + 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 IngressPortMapping instances for property testing - lazily instantiated by IngressPortMappingGenerator() +var ingressPortMappingGenerator gopter.Gen + +// IngressPortMappingGenerator returns a generator of IngressPortMapping instances for property testing. +func IngressPortMappingGenerator() gopter.Gen { + if ingressPortMappingGenerator != nil { + return ingressPortMappingGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIngressPortMapping(generators) + ingressPortMappingGenerator = gen.Struct(reflect.TypeOf(IngressPortMapping{}), generators) + + return ingressPortMappingGenerator +} + +// AddIndependentPropertyGeneratorsForIngressPortMapping is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIngressPortMapping(gens map[string]gopter.Gen) { + gens["ExposedPort"] = gen.PtrOf(gen.Int()) + gens["External"] = gen.PtrOf(gen.Bool()) + gens["TargetPort"] = gen.PtrOf(gen.Int()) +} + +func Test_Ingress_StickySessions_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 Ingress_StickySessions via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIngress_StickySessions, Ingress_StickySessionsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIngress_StickySessions runs a test to see if a specific instance of Ingress_StickySessions round trips to JSON and back losslessly +func RunJSONSerializationTestForIngress_StickySessions(subject Ingress_StickySessions) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Ingress_StickySessions + 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 Ingress_StickySessions instances for property testing - lazily instantiated by +// Ingress_StickySessionsGenerator() +var ingress_StickySessionsGenerator gopter.Gen + +// Ingress_StickySessionsGenerator returns a generator of Ingress_StickySessions instances for property testing. +func Ingress_StickySessionsGenerator() gopter.Gen { + if ingress_StickySessionsGenerator != nil { + return ingress_StickySessionsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIngress_StickySessions(generators) + ingress_StickySessionsGenerator = gen.Struct(reflect.TypeOf(Ingress_StickySessions{}), generators) + + return ingress_StickySessionsGenerator +} + +// AddIndependentPropertyGeneratorsForIngress_StickySessions is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIngress_StickySessions(gens map[string]gopter.Gen) { + gens["Affinity"] = gen.PtrOf(gen.OneConstOf(Ingress_StickySessions_Affinity_None, Ingress_StickySessions_Affinity_Sticky)) +} + +func Test_IpSecurityRestrictionRule_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 IpSecurityRestrictionRule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIpSecurityRestrictionRule, IpSecurityRestrictionRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIpSecurityRestrictionRule runs a test to see if a specific instance of IpSecurityRestrictionRule round trips to JSON and back losslessly +func RunJSONSerializationTestForIpSecurityRestrictionRule(subject IpSecurityRestrictionRule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IpSecurityRestrictionRule + 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 IpSecurityRestrictionRule instances for property testing - lazily instantiated by +// IpSecurityRestrictionRuleGenerator() +var ipSecurityRestrictionRuleGenerator gopter.Gen + +// IpSecurityRestrictionRuleGenerator returns a generator of IpSecurityRestrictionRule instances for property testing. +func IpSecurityRestrictionRuleGenerator() gopter.Gen { + if ipSecurityRestrictionRuleGenerator != nil { + return ipSecurityRestrictionRuleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIpSecurityRestrictionRule(generators) + ipSecurityRestrictionRuleGenerator = gen.Struct(reflect.TypeOf(IpSecurityRestrictionRule{}), generators) + + return ipSecurityRestrictionRuleGenerator +} + +// AddIndependentPropertyGeneratorsForIpSecurityRestrictionRule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIpSecurityRestrictionRule(gens map[string]gopter.Gen) { + gens["Action"] = gen.PtrOf(gen.OneConstOf(IpSecurityRestrictionRule_Action_Allow, IpSecurityRestrictionRule_Action_Deny)) + gens["Description"] = gen.PtrOf(gen.AlphaString()) + gens["IpAddressRange"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedServiceIdentity_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 ManagedServiceIdentity via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedServiceIdentity, ManagedServiceIdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedServiceIdentity runs a test to see if a specific instance of ManagedServiceIdentity round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedServiceIdentity(subject ManagedServiceIdentity) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedServiceIdentity + 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 ManagedServiceIdentity instances for property testing - lazily instantiated by +// ManagedServiceIdentityGenerator() +var managedServiceIdentityGenerator gopter.Gen + +// ManagedServiceIdentityGenerator returns a generator of ManagedServiceIdentity instances for property testing. +// We first initialize managedServiceIdentityGenerator 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 ManagedServiceIdentityGenerator() gopter.Gen { + if managedServiceIdentityGenerator != nil { + return managedServiceIdentityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedServiceIdentity(generators) + managedServiceIdentityGenerator = gen.Struct(reflect.TypeOf(ManagedServiceIdentity{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedServiceIdentity(generators) + AddRelatedPropertyGeneratorsForManagedServiceIdentity(generators) + managedServiceIdentityGenerator = gen.Struct(reflect.TypeOf(ManagedServiceIdentity{}), generators) + + return managedServiceIdentityGenerator +} + +// AddIndependentPropertyGeneratorsForManagedServiceIdentity is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedServiceIdentity(gens map[string]gopter.Gen) { + gens["Type"] = gen.PtrOf(gen.OneConstOf( + ManagedServiceIdentityType_None, + ManagedServiceIdentityType_SystemAssigned, + ManagedServiceIdentityType_SystemAssignedUserAssigned, + ManagedServiceIdentityType_UserAssigned)) +} + +// AddRelatedPropertyGeneratorsForManagedServiceIdentity is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedServiceIdentity(gens map[string]gopter.Gen) { + gens["UserAssignedIdentities"] = gen.MapOf( + gen.AlphaString(), + UserAssignedIdentityDetailsGenerator()) +} + +func Test_QueueScaleRule_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 QueueScaleRule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForQueueScaleRule, QueueScaleRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForQueueScaleRule runs a test to see if a specific instance of QueueScaleRule round trips to JSON and back losslessly +func RunJSONSerializationTestForQueueScaleRule(subject QueueScaleRule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual QueueScaleRule + 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 QueueScaleRule instances for property testing - lazily instantiated by QueueScaleRuleGenerator() +var queueScaleRuleGenerator gopter.Gen + +// QueueScaleRuleGenerator returns a generator of QueueScaleRule instances for property testing. +// We first initialize queueScaleRuleGenerator 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 QueueScaleRuleGenerator() gopter.Gen { + if queueScaleRuleGenerator != nil { + return queueScaleRuleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForQueueScaleRule(generators) + queueScaleRuleGenerator = gen.Struct(reflect.TypeOf(QueueScaleRule{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForQueueScaleRule(generators) + AddRelatedPropertyGeneratorsForQueueScaleRule(generators) + queueScaleRuleGenerator = gen.Struct(reflect.TypeOf(QueueScaleRule{}), generators) + + return queueScaleRuleGenerator +} + +// AddIndependentPropertyGeneratorsForQueueScaleRule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForQueueScaleRule(gens map[string]gopter.Gen) { + gens["QueueLength"] = gen.PtrOf(gen.Int()) + gens["QueueName"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForQueueScaleRule is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForQueueScaleRule(gens map[string]gopter.Gen) { + gens["Auth"] = gen.SliceOf(ScaleRuleAuthGenerator()) +} + +func Test_RegistryCredentials_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 RegistryCredentials via JSON returns original", + prop.ForAll(RunJSONSerializationTestForRegistryCredentials, RegistryCredentialsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForRegistryCredentials runs a test to see if a specific instance of RegistryCredentials round trips to JSON and back losslessly +func RunJSONSerializationTestForRegistryCredentials(subject RegistryCredentials) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual RegistryCredentials + 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 RegistryCredentials instances for property testing - lazily instantiated by +// RegistryCredentialsGenerator() +var registryCredentialsGenerator gopter.Gen + +// RegistryCredentialsGenerator returns a generator of RegistryCredentials instances for property testing. +func RegistryCredentialsGenerator() gopter.Gen { + if registryCredentialsGenerator != nil { + return registryCredentialsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForRegistryCredentials(generators) + registryCredentialsGenerator = gen.Struct(reflect.TypeOf(RegistryCredentials{}), generators) + + return registryCredentialsGenerator +} + +// AddIndependentPropertyGeneratorsForRegistryCredentials is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForRegistryCredentials(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(gen.AlphaString()) + gens["PasswordSecretRef"] = gen.PtrOf(gen.AlphaString()) + gens["Server"] = gen.PtrOf(gen.AlphaString()) + gens["Username"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Scale_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 Scale via JSON returns original", + prop.ForAll(RunJSONSerializationTestForScale, ScaleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForScale runs a test to see if a specific instance of Scale round trips to JSON and back losslessly +func RunJSONSerializationTestForScale(subject Scale) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Scale + 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 Scale instances for property testing - lazily instantiated by ScaleGenerator() +var scaleGenerator gopter.Gen + +// ScaleGenerator returns a generator of Scale instances for property testing. +// We first initialize scaleGenerator 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 ScaleGenerator() gopter.Gen { + if scaleGenerator != nil { + return scaleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForScale(generators) + scaleGenerator = gen.Struct(reflect.TypeOf(Scale{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForScale(generators) + AddRelatedPropertyGeneratorsForScale(generators) + scaleGenerator = gen.Struct(reflect.TypeOf(Scale{}), generators) + + return scaleGenerator +} + +// AddIndependentPropertyGeneratorsForScale is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForScale(gens map[string]gopter.Gen) { + gens["MaxReplicas"] = gen.PtrOf(gen.Int()) + gens["MinReplicas"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForScale is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForScale(gens map[string]gopter.Gen) { + gens["Rules"] = gen.SliceOf(ScaleRuleGenerator()) +} + +func Test_ScaleRule_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 ScaleRule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForScaleRule, ScaleRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForScaleRule runs a test to see if a specific instance of ScaleRule round trips to JSON and back losslessly +func RunJSONSerializationTestForScaleRule(subject ScaleRule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ScaleRule + 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 ScaleRule instances for property testing - lazily instantiated by ScaleRuleGenerator() +var scaleRuleGenerator gopter.Gen + +// ScaleRuleGenerator returns a generator of ScaleRule instances for property testing. +// We first initialize scaleRuleGenerator 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 ScaleRuleGenerator() gopter.Gen { + if scaleRuleGenerator != nil { + return scaleRuleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForScaleRule(generators) + scaleRuleGenerator = gen.Struct(reflect.TypeOf(ScaleRule{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForScaleRule(generators) + AddRelatedPropertyGeneratorsForScaleRule(generators) + scaleRuleGenerator = gen.Struct(reflect.TypeOf(ScaleRule{}), generators) + + return scaleRuleGenerator +} + +// AddIndependentPropertyGeneratorsForScaleRule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForScaleRule(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForScaleRule is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForScaleRule(gens map[string]gopter.Gen) { + gens["AzureQueue"] = gen.PtrOf(QueueScaleRuleGenerator()) + gens["Custom"] = gen.PtrOf(CustomScaleRuleGenerator()) + gens["Http"] = gen.PtrOf(HttpScaleRuleGenerator()) + gens["Tcp"] = gen.PtrOf(TcpScaleRuleGenerator()) +} + +func Test_ScaleRuleAuth_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 ScaleRuleAuth via JSON returns original", + prop.ForAll(RunJSONSerializationTestForScaleRuleAuth, ScaleRuleAuthGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForScaleRuleAuth runs a test to see if a specific instance of ScaleRuleAuth round trips to JSON and back losslessly +func RunJSONSerializationTestForScaleRuleAuth(subject ScaleRuleAuth) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ScaleRuleAuth + 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 ScaleRuleAuth instances for property testing - lazily instantiated by ScaleRuleAuthGenerator() +var scaleRuleAuthGenerator gopter.Gen + +// ScaleRuleAuthGenerator returns a generator of ScaleRuleAuth instances for property testing. +func ScaleRuleAuthGenerator() gopter.Gen { + if scaleRuleAuthGenerator != nil { + return scaleRuleAuthGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForScaleRuleAuth(generators) + scaleRuleAuthGenerator = gen.Struct(reflect.TypeOf(ScaleRuleAuth{}), generators) + + return scaleRuleAuthGenerator +} + +// AddIndependentPropertyGeneratorsForScaleRuleAuth is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForScaleRuleAuth(gens map[string]gopter.Gen) { + gens["SecretRef"] = gen.PtrOf(gen.AlphaString()) + gens["TriggerParameter"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Secret_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 Secret via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSecret, SecretGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSecret runs a test to see if a specific instance of Secret round trips to JSON and back losslessly +func RunJSONSerializationTestForSecret(subject Secret) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Secret + 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 Secret instances for property testing - lazily instantiated by SecretGenerator() +var secretGenerator gopter.Gen + +// SecretGenerator returns a generator of Secret instances for property testing. +func SecretGenerator() gopter.Gen { + if secretGenerator != nil { + return secretGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForSecret(generators) + secretGenerator = gen.Struct(reflect.TypeOf(Secret{}), generators) + + return secretGenerator +} + +// AddIndependentPropertyGeneratorsForSecret is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForSecret(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(gen.AlphaString()) + gens["KeyVaultUrl"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Value"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_SecretVolumeItem_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 SecretVolumeItem via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSecretVolumeItem, SecretVolumeItemGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSecretVolumeItem runs a test to see if a specific instance of SecretVolumeItem round trips to JSON and back losslessly +func RunJSONSerializationTestForSecretVolumeItem(subject SecretVolumeItem) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual SecretVolumeItem + 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 SecretVolumeItem instances for property testing - lazily instantiated by SecretVolumeItemGenerator() +var secretVolumeItemGenerator gopter.Gen + +// SecretVolumeItemGenerator returns a generator of SecretVolumeItem instances for property testing. +func SecretVolumeItemGenerator() gopter.Gen { + if secretVolumeItemGenerator != nil { + return secretVolumeItemGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForSecretVolumeItem(generators) + secretVolumeItemGenerator = gen.Struct(reflect.TypeOf(SecretVolumeItem{}), generators) + + return secretVolumeItemGenerator +} + +// AddIndependentPropertyGeneratorsForSecretVolumeItem is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForSecretVolumeItem(gens map[string]gopter.Gen) { + gens["Path"] = gen.PtrOf(gen.AlphaString()) + gens["SecretRef"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Service_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 Service via JSON returns original", + prop.ForAll(RunJSONSerializationTestForService, ServiceGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForService runs a test to see if a specific instance of Service round trips to JSON and back losslessly +func RunJSONSerializationTestForService(subject Service) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Service + 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 Service instances for property testing - lazily instantiated by ServiceGenerator() +var serviceGenerator gopter.Gen + +// ServiceGenerator returns a generator of Service instances for property testing. +func ServiceGenerator() gopter.Gen { + if serviceGenerator != nil { + return serviceGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForService(generators) + serviceGenerator = gen.Struct(reflect.TypeOf(Service{}), generators) + + return serviceGenerator +} + +// AddIndependentPropertyGeneratorsForService is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForService(gens map[string]gopter.Gen) { + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ServiceBind_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 ServiceBind via JSON returns original", + prop.ForAll(RunJSONSerializationTestForServiceBind, ServiceBindGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForServiceBind runs a test to see if a specific instance of ServiceBind round trips to JSON and back losslessly +func RunJSONSerializationTestForServiceBind(subject ServiceBind) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ServiceBind + 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 ServiceBind instances for property testing - lazily instantiated by ServiceBindGenerator() +var serviceBindGenerator gopter.Gen + +// ServiceBindGenerator returns a generator of ServiceBind instances for property testing. +func ServiceBindGenerator() gopter.Gen { + if serviceBindGenerator != nil { + return serviceBindGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForServiceBind(generators) + serviceBindGenerator = gen.Struct(reflect.TypeOf(ServiceBind{}), generators) + + return serviceBindGenerator +} + +// AddIndependentPropertyGeneratorsForServiceBind is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForServiceBind(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["ServiceId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_TcpScaleRule_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 TcpScaleRule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTcpScaleRule, TcpScaleRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTcpScaleRule runs a test to see if a specific instance of TcpScaleRule round trips to JSON and back losslessly +func RunJSONSerializationTestForTcpScaleRule(subject TcpScaleRule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TcpScaleRule + 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 TcpScaleRule instances for property testing - lazily instantiated by TcpScaleRuleGenerator() +var tcpScaleRuleGenerator gopter.Gen + +// TcpScaleRuleGenerator returns a generator of TcpScaleRule instances for property testing. +// We first initialize tcpScaleRuleGenerator 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 TcpScaleRuleGenerator() gopter.Gen { + if tcpScaleRuleGenerator != nil { + return tcpScaleRuleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTcpScaleRule(generators) + tcpScaleRuleGenerator = gen.Struct(reflect.TypeOf(TcpScaleRule{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTcpScaleRule(generators) + AddRelatedPropertyGeneratorsForTcpScaleRule(generators) + tcpScaleRuleGenerator = gen.Struct(reflect.TypeOf(TcpScaleRule{}), generators) + + return tcpScaleRuleGenerator +} + +// AddIndependentPropertyGeneratorsForTcpScaleRule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTcpScaleRule(gens map[string]gopter.Gen) { + gens["Metadata"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForTcpScaleRule is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTcpScaleRule(gens map[string]gopter.Gen) { + gens["Auth"] = gen.SliceOf(ScaleRuleAuthGenerator()) +} + +func Test_Template_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 Template via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTemplate, TemplateGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTemplate runs a test to see if a specific instance of Template round trips to JSON and back losslessly +func RunJSONSerializationTestForTemplate(subject Template) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Template + 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 Template instances for property testing - lazily instantiated by TemplateGenerator() +var templateGenerator gopter.Gen + +// TemplateGenerator returns a generator of Template instances for property testing. +// We first initialize templateGenerator 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 TemplateGenerator() gopter.Gen { + if templateGenerator != nil { + return templateGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTemplate(generators) + templateGenerator = gen.Struct(reflect.TypeOf(Template{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTemplate(generators) + AddRelatedPropertyGeneratorsForTemplate(generators) + templateGenerator = gen.Struct(reflect.TypeOf(Template{}), generators) + + return templateGenerator +} + +// AddIndependentPropertyGeneratorsForTemplate is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTemplate(gens map[string]gopter.Gen) { + gens["RevisionSuffix"] = gen.PtrOf(gen.AlphaString()) + gens["TerminationGracePeriodSeconds"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForTemplate is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTemplate(gens map[string]gopter.Gen) { + gens["Containers"] = gen.SliceOf(ContainerGenerator()) + gens["InitContainers"] = gen.SliceOf(BaseContainerGenerator()) + gens["Scale"] = gen.PtrOf(ScaleGenerator()) + gens["ServiceBinds"] = gen.SliceOf(ServiceBindGenerator()) + gens["Volumes"] = gen.SliceOf(VolumeGenerator()) +} + +func Test_TrafficWeight_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 TrafficWeight via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTrafficWeight, TrafficWeightGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTrafficWeight runs a test to see if a specific instance of TrafficWeight round trips to JSON and back losslessly +func RunJSONSerializationTestForTrafficWeight(subject TrafficWeight) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TrafficWeight + 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 TrafficWeight instances for property testing - lazily instantiated by TrafficWeightGenerator() +var trafficWeightGenerator gopter.Gen + +// TrafficWeightGenerator returns a generator of TrafficWeight instances for property testing. +func TrafficWeightGenerator() gopter.Gen { + if trafficWeightGenerator != nil { + return trafficWeightGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTrafficWeight(generators) + trafficWeightGenerator = gen.Struct(reflect.TypeOf(TrafficWeight{}), generators) + + return trafficWeightGenerator +} + +// AddIndependentPropertyGeneratorsForTrafficWeight is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTrafficWeight(gens map[string]gopter.Gen) { + gens["Label"] = gen.PtrOf(gen.AlphaString()) + gens["LatestRevision"] = gen.PtrOf(gen.Bool()) + gens["RevisionName"] = gen.PtrOf(gen.AlphaString()) + gens["Weight"] = gen.PtrOf(gen.Int()) +} + +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 +} + +func Test_Volume_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 Volume via JSON returns original", + prop.ForAll(RunJSONSerializationTestForVolume, VolumeGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForVolume runs a test to see if a specific instance of Volume round trips to JSON and back losslessly +func RunJSONSerializationTestForVolume(subject Volume) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Volume + 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 Volume instances for property testing - lazily instantiated by VolumeGenerator() +var volumeGenerator gopter.Gen + +// VolumeGenerator returns a generator of Volume instances for property testing. +// We first initialize volumeGenerator 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 VolumeGenerator() gopter.Gen { + if volumeGenerator != nil { + return volumeGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForVolume(generators) + volumeGenerator = gen.Struct(reflect.TypeOf(Volume{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForVolume(generators) + AddRelatedPropertyGeneratorsForVolume(generators) + volumeGenerator = gen.Struct(reflect.TypeOf(Volume{}), generators) + + return volumeGenerator +} + +// AddIndependentPropertyGeneratorsForVolume is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForVolume(gens map[string]gopter.Gen) { + gens["MountOptions"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["StorageName"] = gen.PtrOf(gen.AlphaString()) + gens["StorageType"] = gen.PtrOf(gen.OneConstOf(Volume_StorageType_AzureFile, Volume_StorageType_EmptyDir, Volume_StorageType_Secret)) +} + +// AddRelatedPropertyGeneratorsForVolume is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForVolume(gens map[string]gopter.Gen) { + gens["Secrets"] = gen.SliceOf(SecretVolumeItemGenerator()) +} + +func Test_VolumeMount_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 VolumeMount via JSON returns original", + prop.ForAll(RunJSONSerializationTestForVolumeMount, VolumeMountGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForVolumeMount runs a test to see if a specific instance of VolumeMount round trips to JSON and back losslessly +func RunJSONSerializationTestForVolumeMount(subject VolumeMount) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual VolumeMount + 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 VolumeMount instances for property testing - lazily instantiated by VolumeMountGenerator() +var volumeMountGenerator gopter.Gen + +// VolumeMountGenerator returns a generator of VolumeMount instances for property testing. +func VolumeMountGenerator() gopter.Gen { + if volumeMountGenerator != nil { + return volumeMountGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForVolumeMount(generators) + volumeMountGenerator = gen.Struct(reflect.TypeOf(VolumeMount{}), generators) + + return volumeMountGenerator +} + +// AddIndependentPropertyGeneratorsForVolumeMount is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForVolumeMount(gens map[string]gopter.Gen) { + gens["MountPath"] = gen.PtrOf(gen.AlphaString()) + gens["SubPath"] = gen.PtrOf(gen.AlphaString()) + gens["VolumeName"] = gen.PtrOf(gen.AlphaString()) +} diff --git a/v2/api/app/v1api20240301/arm/container_app_status_types_gen.go b/v2/api/app/v1api20240301/arm/container_app_status_types_gen.go new file mode 100644 index 00000000000..df03ee5666e --- /dev/null +++ b/v2/api/app/v1api20240301/arm/container_app_status_types_gen.go @@ -0,0 +1,844 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +// Container App. +type ContainerApp_STATUS struct { + // ExtendedLocation: The complex type of the extended location. + ExtendedLocation *ExtendedLocation_STATUS `json:"extendedLocation,omitempty"` + + // Id: Fully qualified resource ID for the resource. Ex - + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + Id *string `json:"id,omitempty"` + + // Identity: managed identities for the Container App to interact with other Azure services without maintaining any secrets + // or credentials in code. + Identity *ManagedServiceIdentity_STATUS `json:"identity,omitempty"` + + // Location: The geo-location where the resource lives + Location *string `json:"location,omitempty"` + + // ManagedBy: The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is + // managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is + // removed from the template since it is managed by another resource. + ManagedBy *string `json:"managedBy,omitempty"` + + // Name: The name of the resource + Name *string `json:"name,omitempty"` + + // Properties: ContainerApp resource specific properties + Properties *ContainerApp_Properties_STATUS `json:"properties,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"` +} + +type ContainerApp_Properties_STATUS struct { + // Configuration: Non versioned Container App configuration properties. + Configuration *Configuration_STATUS `json:"configuration,omitempty"` + + // CustomDomainVerificationId: Id used to verify domain name ownership + CustomDomainVerificationId *string `json:"customDomainVerificationId,omitempty"` + + // EnvironmentId: Resource ID of environment. + EnvironmentId *string `json:"environmentId,omitempty"` + + // EventStreamEndpoint: The endpoint of the eventstream of the container app. + EventStreamEndpoint *string `json:"eventStreamEndpoint,omitempty"` + + // LatestReadyRevisionName: Name of the latest ready revision of the Container App. + LatestReadyRevisionName *string `json:"latestReadyRevisionName,omitempty"` + + // LatestRevisionFqdn: Fully Qualified Domain Name of the latest revision of the Container App. + LatestRevisionFqdn *string `json:"latestRevisionFqdn,omitempty"` + + // LatestRevisionName: Name of the latest revision of the Container App. + LatestRevisionName *string `json:"latestRevisionName,omitempty"` + + // ManagedEnvironmentId: Deprecated. Resource ID of the Container App's environment. + ManagedEnvironmentId *string `json:"managedEnvironmentId,omitempty"` + + // OutboundIpAddresses: Outbound IP Addresses for container app. + OutboundIpAddresses []string `json:"outboundIpAddresses,omitempty"` + + // ProvisioningState: Provisioning state of the Container App. + ProvisioningState *ContainerApp_Properties_ProvisioningState_STATUS `json:"provisioningState,omitempty"` + + // Template: Container App versioned application definition. + Template *Template_STATUS `json:"template,omitempty"` + + // WorkloadProfileName: Workload profile name to pin for container app execution. + WorkloadProfileName *string `json:"workloadProfileName,omitempty"` +} + +// The complex type of the extended location. +type ExtendedLocation_STATUS struct { + // Name: The name of the extended location. + Name *string `json:"name,omitempty"` + + // Type: The type of the extended location. + Type *ExtendedLocationType_STATUS `json:"type,omitempty"` +} + +// Managed service identity (system assigned and/or user assigned identities) +type ManagedServiceIdentity_STATUS struct { + // PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + // assigned identity. + PrincipalId *string `json:"principalId,omitempty"` + + // TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + // identity. + TenantId *string `json:"tenantId,omitempty"` + + // Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + Type *ManagedServiceIdentityType_STATUS `json:"type,omitempty"` + UserAssignedIdentities map[string]UserAssignedIdentity_STATUS `json:"userAssignedIdentities,omitempty"` +} + +// Non versioned Container App configuration properties that define the mutable settings of a Container app +type Configuration_STATUS struct { + // ActiveRevisionsMode: ActiveRevisionsMode controls how active revisions are handled for the Container app: + // Multiple: multiple revisions can be active.Single: Only one revision can be active at a time. + // Revision weights can not be used in this mode. If no value if provided, this is the default. + ActiveRevisionsMode *Configuration_ActiveRevisionsMode_STATUS `json:"activeRevisionsMode,omitempty"` + + // Dapr: Dapr configuration for the Container App. + Dapr *Dapr_STATUS `json:"dapr,omitempty"` + + // Ingress: Ingress configurations. + Ingress *Ingress_STATUS `json:"ingress,omitempty"` + + // MaxInactiveRevisions: Optional. Max inactive revisions a Container App can have. + MaxInactiveRevisions *int `json:"maxInactiveRevisions,omitempty"` + + // Registries: Collection of private container registry credentials for containers used by the Container app + Registries []RegistryCredentials_STATUS `json:"registries,omitempty"` + + // Secrets: Collection of secrets used by a Container app + Secrets []Secret_STATUS `json:"secrets,omitempty"` + + // Service: Container App to be a dev Container App Service + Service *Service_STATUS `json:"service,omitempty"` +} + +type ContainerApp_Properties_ProvisioningState_STATUS string + +const ( + ContainerApp_Properties_ProvisioningState_STATUS_Canceled = ContainerApp_Properties_ProvisioningState_STATUS("Canceled") + ContainerApp_Properties_ProvisioningState_STATUS_Deleting = ContainerApp_Properties_ProvisioningState_STATUS("Deleting") + ContainerApp_Properties_ProvisioningState_STATUS_Failed = ContainerApp_Properties_ProvisioningState_STATUS("Failed") + ContainerApp_Properties_ProvisioningState_STATUS_InProgress = ContainerApp_Properties_ProvisioningState_STATUS("InProgress") + ContainerApp_Properties_ProvisioningState_STATUS_Succeeded = ContainerApp_Properties_ProvisioningState_STATUS("Succeeded") +) + +// Mapping from string to ContainerApp_Properties_ProvisioningState_STATUS +var containerApp_Properties_ProvisioningState_STATUS_Values = map[string]ContainerApp_Properties_ProvisioningState_STATUS{ + "canceled": ContainerApp_Properties_ProvisioningState_STATUS_Canceled, + "deleting": ContainerApp_Properties_ProvisioningState_STATUS_Deleting, + "failed": ContainerApp_Properties_ProvisioningState_STATUS_Failed, + "inprogress": ContainerApp_Properties_ProvisioningState_STATUS_InProgress, + "succeeded": ContainerApp_Properties_ProvisioningState_STATUS_Succeeded, +} + +// The type of extendedLocation. +type ExtendedLocationType_STATUS string + +const ExtendedLocationType_STATUS_CustomLocation = ExtendedLocationType_STATUS("CustomLocation") + +// Mapping from string to ExtendedLocationType_STATUS +var extendedLocationType_STATUS_Values = map[string]ExtendedLocationType_STATUS{ + "customlocation": ExtendedLocationType_STATUS_CustomLocation, +} + +// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). +type ManagedServiceIdentityType_STATUS string + +const ( + ManagedServiceIdentityType_STATUS_None = ManagedServiceIdentityType_STATUS("None") + ManagedServiceIdentityType_STATUS_SystemAssigned = ManagedServiceIdentityType_STATUS("SystemAssigned") + ManagedServiceIdentityType_STATUS_SystemAssignedUserAssigned = ManagedServiceIdentityType_STATUS("SystemAssigned,UserAssigned") + ManagedServiceIdentityType_STATUS_UserAssigned = ManagedServiceIdentityType_STATUS("UserAssigned") +) + +// Mapping from string to ManagedServiceIdentityType_STATUS +var managedServiceIdentityType_STATUS_Values = map[string]ManagedServiceIdentityType_STATUS{ + "none": ManagedServiceIdentityType_STATUS_None, + "systemassigned": ManagedServiceIdentityType_STATUS_SystemAssigned, + "systemassigned,userassigned": ManagedServiceIdentityType_STATUS_SystemAssignedUserAssigned, + "userassigned": ManagedServiceIdentityType_STATUS_UserAssigned, +} + +// Container App versioned application definition. +// Defines the desired state of an immutable revision. +// Any changes to this +// section Will result in a new revision being created +type Template_STATUS struct { + // Containers: List of container definitions for the Container App. + Containers []Container_STATUS `json:"containers,omitempty"` + + // InitContainers: List of specialized containers that run before app containers. + InitContainers []BaseContainer_STATUS `json:"initContainers,omitempty"` + + // RevisionSuffix: User friendly suffix that is appended to the revision name + RevisionSuffix *string `json:"revisionSuffix,omitempty"` + + // Scale: Scaling properties for the Container App. + Scale *Scale_STATUS `json:"scale,omitempty"` + + // ServiceBinds: List of container app services bound to the app + ServiceBinds []ServiceBind_STATUS `json:"serviceBinds,omitempty"` + + // TerminationGracePeriodSeconds: Optional duration in seconds the Container App Instance needs to terminate gracefully. + // Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to + // shut down). If this value is nil, the default grace period will be used instead. Set this value longer than the expected + // cleanup time for your process. Defaults to 30 seconds. + TerminationGracePeriodSeconds *int `json:"terminationGracePeriodSeconds,omitempty"` + + // Volumes: List of volume definitions for the Container App. + Volumes []Volume_STATUS `json:"volumes,omitempty"` +} + +// User assigned identity properties +type UserAssignedIdentity_STATUS struct { + // ClientId: The client ID of the assigned identity. + ClientId *string `json:"clientId,omitempty"` + + // PrincipalId: The principal ID of the assigned identity. + PrincipalId *string `json:"principalId,omitempty"` +} + +// Container App base container definition. +type BaseContainer_STATUS struct { + // Args: Container start command arguments. + Args []string `json:"args,omitempty"` + + // Command: Container start command. + Command []string `json:"command,omitempty"` + + // Env: Container environment variables. + Env []EnvironmentVar_STATUS `json:"env,omitempty"` + + // Image: Container image tag. + Image *string `json:"image,omitempty"` + + // Name: Custom container name. + Name *string `json:"name,omitempty"` + + // Resources: Container resource requirements. + Resources *ContainerResources_STATUS `json:"resources,omitempty"` + + // VolumeMounts: Container volume mounts. + VolumeMounts []VolumeMount_STATUS `json:"volumeMounts,omitempty"` +} + +type Configuration_ActiveRevisionsMode_STATUS string + +const ( + Configuration_ActiveRevisionsMode_STATUS_Multiple = Configuration_ActiveRevisionsMode_STATUS("Multiple") + Configuration_ActiveRevisionsMode_STATUS_Single = Configuration_ActiveRevisionsMode_STATUS("Single") +) + +// Mapping from string to Configuration_ActiveRevisionsMode_STATUS +var configuration_ActiveRevisionsMode_STATUS_Values = map[string]Configuration_ActiveRevisionsMode_STATUS{ + "multiple": Configuration_ActiveRevisionsMode_STATUS_Multiple, + "single": Configuration_ActiveRevisionsMode_STATUS_Single, +} + +// Container App container definition +type Container_STATUS struct { + // Args: Container start command arguments. + Args []string `json:"args,omitempty"` + + // Command: Container start command. + Command []string `json:"command,omitempty"` + + // Env: Container environment variables. + Env []EnvironmentVar_STATUS `json:"env,omitempty"` + + // Image: Container image tag. + Image *string `json:"image,omitempty"` + + // Name: Custom container name. + Name *string `json:"name,omitempty"` + + // Probes: List of probes for the container. + Probes []ContainerAppProbe_STATUS `json:"probes,omitempty"` + + // Resources: Container resource requirements. + Resources *ContainerResources_STATUS `json:"resources,omitempty"` + + // VolumeMounts: Container volume mounts. + VolumeMounts []VolumeMount_STATUS `json:"volumeMounts,omitempty"` +} + +// Container App Dapr configuration. +type Dapr_STATUS struct { + // AppId: Dapr application identifier + AppId *string `json:"appId,omitempty"` + + // AppPort: Tells Dapr which port your application is listening on + AppPort *int `json:"appPort,omitempty"` + + // AppProtocol: Tells Dapr which protocol your application is using. Valid options are http and grpc. Default is http + AppProtocol *Dapr_AppProtocol_STATUS `json:"appProtocol,omitempty"` + + // EnableApiLogging: Enables API logging for the Dapr sidecar + EnableApiLogging *bool `json:"enableApiLogging,omitempty"` + + // Enabled: Boolean indicating if the Dapr side car is enabled + Enabled *bool `json:"enabled,omitempty"` + + // HttpMaxRequestSize: Increasing max size of request body http and grpc servers parameter in MB to handle uploading of big + // files. Default is 4 MB. + HttpMaxRequestSize *int `json:"httpMaxRequestSize,omitempty"` + + // HttpReadBufferSize: Dapr max size of http header read buffer in KB to handle when sending multi-KB headers. Default is + // 65KB. + HttpReadBufferSize *int `json:"httpReadBufferSize,omitempty"` + + // LogLevel: Sets the log level for the Dapr sidecar. Allowed values are debug, info, warn, error. Default is info. + LogLevel *Dapr_LogLevel_STATUS `json:"logLevel,omitempty"` +} + +// Container App Ingress configuration. +type Ingress_STATUS struct { + // AdditionalPortMappings: Settings to expose additional ports on container app + AdditionalPortMappings []IngressPortMapping_STATUS `json:"additionalPortMappings,omitempty"` + + // AllowInsecure: Bool indicating if HTTP connections to is allowed. If set to false HTTP connections are automatically + // redirected to HTTPS connections + AllowInsecure *bool `json:"allowInsecure,omitempty"` + + // ClientCertificateMode: Client certificate mode for mTLS authentication. Ignore indicates server drops client certificate + // on forwarding. Accept indicates server forwards client certificate but does not require a client certificate. Require + // indicates server requires a client certificate. + ClientCertificateMode *Ingress_ClientCertificateMode_STATUS `json:"clientCertificateMode,omitempty"` + + // CorsPolicy: CORS policy for container app + CorsPolicy *CorsPolicy_STATUS `json:"corsPolicy,omitempty"` + + // CustomDomains: custom domain bindings for Container Apps' hostnames. + CustomDomains []CustomDomain_STATUS `json:"customDomains,omitempty"` + + // ExposedPort: Exposed Port in containers for TCP traffic from ingress + ExposedPort *int `json:"exposedPort,omitempty"` + + // External: Bool indicating if app exposes an external http endpoint + External *bool `json:"external,omitempty"` + + // Fqdn: Hostname. + Fqdn *string `json:"fqdn,omitempty"` + + // IpSecurityRestrictions: Rules to restrict incoming IP address. + IpSecurityRestrictions []IpSecurityRestrictionRule_STATUS `json:"ipSecurityRestrictions,omitempty"` + + // StickySessions: Sticky Sessions for Single Revision Mode + StickySessions *Ingress_StickySessions_STATUS `json:"stickySessions,omitempty"` + + // TargetPort: Target Port in containers for traffic from ingress + TargetPort *int `json:"targetPort,omitempty"` + + // Traffic: Traffic weights for app's revisions + Traffic []TrafficWeight_STATUS `json:"traffic,omitempty"` + + // Transport: Ingress transport protocol + Transport *Ingress_Transport_STATUS `json:"transport,omitempty"` +} + +// Container App Private Registry +type RegistryCredentials_STATUS struct { + // Identity: A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned identities, use the + // full user-assigned identity Resource ID. For system-assigned identities, use 'system' + Identity *string `json:"identity,omitempty"` + + // PasswordSecretRef: The name of the Secret that contains the registry login password + PasswordSecretRef *string `json:"passwordSecretRef,omitempty"` + + // Server: Container Registry Server + Server *string `json:"server,omitempty"` + + // Username: Container Registry Username + Username *string `json:"username,omitempty"` +} + +// Container App scaling configurations. +type Scale_STATUS struct { + // MaxReplicas: Optional. Maximum number of container replicas. Defaults to 10 if not set. + MaxReplicas *int `json:"maxReplicas,omitempty"` + + // MinReplicas: Optional. Minimum number of container replicas. + MinReplicas *int `json:"minReplicas,omitempty"` + + // Rules: Scaling rules. + Rules []ScaleRule_STATUS `json:"rules,omitempty"` +} + +// Secret definition. +type Secret_STATUS struct { + // Identity: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a system-assigned + // identity. + Identity *string `json:"identity,omitempty"` + + // KeyVaultUrl: Azure Key Vault URL pointing to the secret referenced by the container app. + KeyVaultUrl *string `json:"keyVaultUrl,omitempty"` + + // Name: Secret Name. + Name *string `json:"name,omitempty"` +} + +// Container App to be a dev service +type Service_STATUS struct { + // Type: Dev ContainerApp service type + Type *string `json:"type,omitempty"` +} + +// Configuration to bind a ContainerApp to a dev ContainerApp Service +type ServiceBind_STATUS struct { + // Name: Name of the service bind + Name *string `json:"name,omitempty"` + + // ServiceId: Resource id of the target service + ServiceId *string `json:"serviceId,omitempty"` +} + +// Volume definitions for the Container App. +type Volume_STATUS struct { + // MountOptions: Mount options used while mounting the AzureFile. Must be a comma-separated string. + MountOptions *string `json:"mountOptions,omitempty"` + + // Name: Volume name. + Name *string `json:"name,omitempty"` + + // Secrets: List of secrets to be added in volume. If no secrets are provided, all secrets in collection will be added to + // volume. + Secrets []SecretVolumeItem_STATUS `json:"secrets,omitempty"` + + // StorageName: Name of storage resource. No need to provide for EmptyDir and Secret. + StorageName *string `json:"storageName,omitempty"` + + // StorageType: Storage type for the volume. If not provided, use EmptyDir. + StorageType *Volume_StorageType_STATUS `json:"storageType,omitempty"` +} + +// Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive +// traffic. +type ContainerAppProbe_STATUS struct { + // FailureThreshold: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to + // 3. Minimum value is 1. Maximum value is 10. + FailureThreshold *int `json:"failureThreshold,omitempty"` + + // HttpGet: HTTPGet specifies the http request to perform. + HttpGet *ContainerAppProbe_HttpGet_STATUS `json:"httpGet,omitempty"` + + // InitialDelaySeconds: Number of seconds after the container has started before liveness probes are initiated. Minimum + // value is 1. Maximum value is 60. + InitialDelaySeconds *int `json:"initialDelaySeconds,omitempty"` + + // PeriodSeconds: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is + // 240. + PeriodSeconds *int `json:"periodSeconds,omitempty"` + + // SuccessThreshold: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults + // to 1. Must be 1 for liveness and startup. Minimum value is 1. Maximum value is 10. + SuccessThreshold *int `json:"successThreshold,omitempty"` + + // TcpSocket: TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported. + TcpSocket *ContainerAppProbe_TcpSocket_STATUS `json:"tcpSocket,omitempty"` + + // TerminationGracePeriodSeconds: Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + // The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the + // time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for + // your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value + // overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop + // immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling + // ProbeTerminationGracePeriod feature gate. Maximum value is 3600 seconds (1 hour) + TerminationGracePeriodSeconds *int `json:"terminationGracePeriodSeconds,omitempty"` + + // TimeoutSeconds: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum + // value is 240. + TimeoutSeconds *int `json:"timeoutSeconds,omitempty"` + + // Type: The type of probe. + Type *ContainerAppProbe_Type_STATUS `json:"type,omitempty"` +} + +// Container App container resource requirements. +type ContainerResources_STATUS struct { + // Cpu: Required CPU in cores, e.g. 0.5 + Cpu *float64 `json:"cpu,omitempty"` + + // EphemeralStorage: Ephemeral Storage, e.g. "1Gi" + EphemeralStorage *string `json:"ephemeralStorage,omitempty"` + + // Memory: Required memory, e.g. "250Mb" + Memory *string `json:"memory,omitempty"` +} + +// Cross-Origin-Resource-Sharing policy +type CorsPolicy_STATUS struct { + // AllowCredentials: Specifies whether the resource allows credentials + AllowCredentials *bool `json:"allowCredentials,omitempty"` + + // AllowedHeaders: Specifies the content for the access-control-allow-headers header + AllowedHeaders []string `json:"allowedHeaders,omitempty"` + + // AllowedMethods: Specifies the content for the access-control-allow-methods header + AllowedMethods []string `json:"allowedMethods,omitempty"` + + // AllowedOrigins: Specifies the content for the access-control-allow-origins header + AllowedOrigins []string `json:"allowedOrigins,omitempty"` + + // ExposeHeaders: Specifies the content for the access-control-expose-headers header + ExposeHeaders []string `json:"exposeHeaders,omitempty"` + + // MaxAge: Specifies the content for the access-control-max-age header + MaxAge *int `json:"maxAge,omitempty"` +} + +// Custom Domain of a Container App +type CustomDomain_STATUS struct { + // BindingType: Custom Domain binding type. + BindingType *CustomDomain_BindingType_STATUS `json:"bindingType,omitempty"` + + // CertificateId: Resource Id of the Certificate to be bound to this hostname. Must exist in the Managed Environment. + CertificateId *string `json:"certificateId,omitempty"` + + // Name: Hostname. + Name *string `json:"name,omitempty"` +} + +type Dapr_AppProtocol_STATUS string + +const ( + Dapr_AppProtocol_STATUS_Grpc = Dapr_AppProtocol_STATUS("grpc") + Dapr_AppProtocol_STATUS_Http = Dapr_AppProtocol_STATUS("http") +) + +// Mapping from string to Dapr_AppProtocol_STATUS +var dapr_AppProtocol_STATUS_Values = map[string]Dapr_AppProtocol_STATUS{ + "grpc": Dapr_AppProtocol_STATUS_Grpc, + "http": Dapr_AppProtocol_STATUS_Http, +} + +type Dapr_LogLevel_STATUS string + +const ( + Dapr_LogLevel_STATUS_Debug = Dapr_LogLevel_STATUS("debug") + Dapr_LogLevel_STATUS_Error = Dapr_LogLevel_STATUS("error") + Dapr_LogLevel_STATUS_Info = Dapr_LogLevel_STATUS("info") + Dapr_LogLevel_STATUS_Warn = Dapr_LogLevel_STATUS("warn") +) + +// Mapping from string to Dapr_LogLevel_STATUS +var dapr_LogLevel_STATUS_Values = map[string]Dapr_LogLevel_STATUS{ + "debug": Dapr_LogLevel_STATUS_Debug, + "error": Dapr_LogLevel_STATUS_Error, + "info": Dapr_LogLevel_STATUS_Info, + "warn": Dapr_LogLevel_STATUS_Warn, +} + +// Container App container environment variable. +type EnvironmentVar_STATUS struct { + // Name: Environment variable name. + Name *string `json:"name,omitempty"` + + // SecretRef: Name of the Container App secret from which to pull the environment variable value. + SecretRef *string `json:"secretRef,omitempty"` + + // Value: Non-secret environment variable value. + Value *string `json:"value,omitempty"` +} + +type Ingress_ClientCertificateMode_STATUS string + +const ( + Ingress_ClientCertificateMode_STATUS_Accept = Ingress_ClientCertificateMode_STATUS("accept") + Ingress_ClientCertificateMode_STATUS_Ignore = Ingress_ClientCertificateMode_STATUS("ignore") + Ingress_ClientCertificateMode_STATUS_Require = Ingress_ClientCertificateMode_STATUS("require") +) + +// Mapping from string to Ingress_ClientCertificateMode_STATUS +var ingress_ClientCertificateMode_STATUS_Values = map[string]Ingress_ClientCertificateMode_STATUS{ + "accept": Ingress_ClientCertificateMode_STATUS_Accept, + "ignore": Ingress_ClientCertificateMode_STATUS_Ignore, + "require": Ingress_ClientCertificateMode_STATUS_Require, +} + +type Ingress_StickySessions_STATUS struct { + // Affinity: Sticky Session Affinity + Affinity *Ingress_StickySessions_Affinity_STATUS `json:"affinity,omitempty"` +} + +type Ingress_Transport_STATUS string + +const ( + Ingress_Transport_STATUS_Auto = Ingress_Transport_STATUS("auto") + Ingress_Transport_STATUS_Http = Ingress_Transport_STATUS("http") + Ingress_Transport_STATUS_Http2 = Ingress_Transport_STATUS("http2") + Ingress_Transport_STATUS_Tcp = Ingress_Transport_STATUS("tcp") +) + +// Mapping from string to Ingress_Transport_STATUS +var ingress_Transport_STATUS_Values = map[string]Ingress_Transport_STATUS{ + "auto": Ingress_Transport_STATUS_Auto, + "http": Ingress_Transport_STATUS_Http, + "http2": Ingress_Transport_STATUS_Http2, + "tcp": Ingress_Transport_STATUS_Tcp, +} + +// Port mappings of container app ingress +type IngressPortMapping_STATUS struct { + // ExposedPort: Specifies the exposed port for the target port. If not specified, it defaults to target port + ExposedPort *int `json:"exposedPort,omitempty"` + + // External: Specifies whether the app port is accessible outside of the environment + External *bool `json:"external,omitempty"` + + // TargetPort: Specifies the port user's container listens on + TargetPort *int `json:"targetPort,omitempty"` +} + +// Rule to restrict incoming IP address. +type IpSecurityRestrictionRule_STATUS struct { + // Action: Allow or Deny rules to determine for incoming IP. Note: Rules can only consist of ALL Allow or ALL Deny + Action *IpSecurityRestrictionRule_Action_STATUS `json:"action,omitempty"` + + // Description: Describe the IP restriction rule that is being sent to the container-app. This is an optional field. + Description *string `json:"description,omitempty"` + + // IpAddressRange: CIDR notation to match incoming IP address + IpAddressRange *string `json:"ipAddressRange,omitempty"` + + // Name: Name for the IP restriction rule. + Name *string `json:"name,omitempty"` +} + +// Container App container scaling rule. +type ScaleRule_STATUS struct { + // AzureQueue: Azure Queue based scaling. + AzureQueue *QueueScaleRule_STATUS `json:"azureQueue,omitempty"` + + // Custom: Custom scale rule. + Custom *CustomScaleRule_STATUS `json:"custom,omitempty"` + + // Http: HTTP requests based scaling. + Http *HttpScaleRule_STATUS `json:"http,omitempty"` + + // Name: Scale Rule Name + Name *string `json:"name,omitempty"` + + // Tcp: Tcp requests based scaling. + Tcp *TcpScaleRule_STATUS `json:"tcp,omitempty"` +} + +// Secret to be added to volume. +type SecretVolumeItem_STATUS struct { + // Path: Path to project secret to. If no path is provided, path defaults to name of secret listed in secretRef. + Path *string `json:"path,omitempty"` + + // SecretRef: Name of the Container App secret from which to pull the secret value. + SecretRef *string `json:"secretRef,omitempty"` +} + +// Traffic weight assigned to a revision +type TrafficWeight_STATUS struct { + // Label: Associates a traffic label with a revision + Label *string `json:"label,omitempty"` + + // LatestRevision: Indicates that the traffic weight belongs to a latest stable revision + LatestRevision *bool `json:"latestRevision,omitempty"` + + // RevisionName: Name of a revision + RevisionName *string `json:"revisionName,omitempty"` + + // Weight: Traffic weight assigned to a revision + Weight *int `json:"weight,omitempty"` +} + +type Volume_StorageType_STATUS string + +const ( + Volume_StorageType_STATUS_AzureFile = Volume_StorageType_STATUS("AzureFile") + Volume_StorageType_STATUS_EmptyDir = Volume_StorageType_STATUS("EmptyDir") + Volume_StorageType_STATUS_Secret = Volume_StorageType_STATUS("Secret") +) + +// Mapping from string to Volume_StorageType_STATUS +var volume_StorageType_STATUS_Values = map[string]Volume_StorageType_STATUS{ + "azurefile": Volume_StorageType_STATUS_AzureFile, + "emptydir": Volume_StorageType_STATUS_EmptyDir, + "secret": Volume_StorageType_STATUS_Secret, +} + +// Volume mount for the Container App. +type VolumeMount_STATUS struct { + // MountPath: Path within the container at which the volume should be mounted.Must not contain ':'. + MountPath *string `json:"mountPath,omitempty"` + + // SubPath: Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root). + SubPath *string `json:"subPath,omitempty"` + + // VolumeName: This must match the Name of a Volume. + VolumeName *string `json:"volumeName,omitempty"` +} + +type ContainerAppProbe_HttpGet_STATUS struct { + // Host: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + Host *string `json:"host,omitempty"` + + // HttpHeaders: Custom headers to set in the request. HTTP allows repeated headers. + HttpHeaders []ContainerAppProbe_HttpGet_HttpHeaders_STATUS `json:"httpHeaders,omitempty"` + + // Path: Path to access on the HTTP server. + Path *string `json:"path,omitempty"` + + // Port: Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + // IANA_SVC_NAME. + Port *int `json:"port,omitempty"` + + // Scheme: Scheme to use for connecting to the host. Defaults to HTTP. + Scheme *ContainerAppProbe_HttpGet_Scheme_STATUS `json:"scheme,omitempty"` +} + +type ContainerAppProbe_TcpSocket_STATUS struct { + // Host: Optional: Host name to connect to, defaults to the pod IP. + Host *string `json:"host,omitempty"` + + // Port: Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + // IANA_SVC_NAME. + Port *int `json:"port,omitempty"` +} + +type ContainerAppProbe_Type_STATUS string + +const ( + ContainerAppProbe_Type_STATUS_Liveness = ContainerAppProbe_Type_STATUS("Liveness") + ContainerAppProbe_Type_STATUS_Readiness = ContainerAppProbe_Type_STATUS("Readiness") + ContainerAppProbe_Type_STATUS_Startup = ContainerAppProbe_Type_STATUS("Startup") +) + +// Mapping from string to ContainerAppProbe_Type_STATUS +var containerAppProbe_Type_STATUS_Values = map[string]ContainerAppProbe_Type_STATUS{ + "liveness": ContainerAppProbe_Type_STATUS_Liveness, + "readiness": ContainerAppProbe_Type_STATUS_Readiness, + "startup": ContainerAppProbe_Type_STATUS_Startup, +} + +type CustomDomain_BindingType_STATUS string + +const ( + CustomDomain_BindingType_STATUS_Disabled = CustomDomain_BindingType_STATUS("Disabled") + CustomDomain_BindingType_STATUS_SniEnabled = CustomDomain_BindingType_STATUS("SniEnabled") +) + +// Mapping from string to CustomDomain_BindingType_STATUS +var customDomain_BindingType_STATUS_Values = map[string]CustomDomain_BindingType_STATUS{ + "disabled": CustomDomain_BindingType_STATUS_Disabled, + "snienabled": CustomDomain_BindingType_STATUS_SniEnabled, +} + +// Container App container Custom scaling rule. +type CustomScaleRule_STATUS struct { + // Auth: Authentication secrets for the custom scale rule. + Auth []ScaleRuleAuth_STATUS `json:"auth,omitempty"` + + // Metadata: Metadata properties to describe custom scale rule. + Metadata map[string]string `json:"metadata,omitempty"` + + // Type: Type of the custom scale rule + // eg: azure-servicebus, redis etc. + Type *string `json:"type,omitempty"` +} + +// Container App container Http scaling rule. +type HttpScaleRule_STATUS struct { + // Auth: Authentication secrets for the custom scale rule. + Auth []ScaleRuleAuth_STATUS `json:"auth,omitempty"` + + // Metadata: Metadata properties to describe http scale rule. + Metadata map[string]string `json:"metadata,omitempty"` +} + +type Ingress_StickySessions_Affinity_STATUS string + +const ( + Ingress_StickySessions_Affinity_STATUS_None = Ingress_StickySessions_Affinity_STATUS("none") + Ingress_StickySessions_Affinity_STATUS_Sticky = Ingress_StickySessions_Affinity_STATUS("sticky") +) + +// Mapping from string to Ingress_StickySessions_Affinity_STATUS +var ingress_StickySessions_Affinity_STATUS_Values = map[string]Ingress_StickySessions_Affinity_STATUS{ + "none": Ingress_StickySessions_Affinity_STATUS_None, + "sticky": Ingress_StickySessions_Affinity_STATUS_Sticky, +} + +type IpSecurityRestrictionRule_Action_STATUS string + +const ( + IpSecurityRestrictionRule_Action_STATUS_Allow = IpSecurityRestrictionRule_Action_STATUS("Allow") + IpSecurityRestrictionRule_Action_STATUS_Deny = IpSecurityRestrictionRule_Action_STATUS("Deny") +) + +// Mapping from string to IpSecurityRestrictionRule_Action_STATUS +var ipSecurityRestrictionRule_Action_STATUS_Values = map[string]IpSecurityRestrictionRule_Action_STATUS{ + "allow": IpSecurityRestrictionRule_Action_STATUS_Allow, + "deny": IpSecurityRestrictionRule_Action_STATUS_Deny, +} + +// Container App container Azure Queue based scaling rule. +type QueueScaleRule_STATUS struct { + // Auth: Authentication secrets for the queue scale rule. + Auth []ScaleRuleAuth_STATUS `json:"auth,omitempty"` + + // QueueLength: Queue length. + QueueLength *int `json:"queueLength,omitempty"` + + // QueueName: Queue name. + QueueName *string `json:"queueName,omitempty"` +} + +// Container App container Tcp scaling rule. +type TcpScaleRule_STATUS struct { + // Auth: Authentication secrets for the tcp scale rule. + Auth []ScaleRuleAuth_STATUS `json:"auth,omitempty"` + + // Metadata: Metadata properties to describe tcp scale rule. + Metadata map[string]string `json:"metadata,omitempty"` +} + +type ContainerAppProbe_HttpGet_HttpHeaders_STATUS struct { + // Name: The header field name + Name *string `json:"name,omitempty"` + + // Value: The header field value + Value *string `json:"value,omitempty"` +} + +type ContainerAppProbe_HttpGet_Scheme_STATUS string + +const ( + ContainerAppProbe_HttpGet_Scheme_STATUS_HTTP = ContainerAppProbe_HttpGet_Scheme_STATUS("HTTP") + ContainerAppProbe_HttpGet_Scheme_STATUS_HTTPS = ContainerAppProbe_HttpGet_Scheme_STATUS("HTTPS") +) + +// Mapping from string to ContainerAppProbe_HttpGet_Scheme_STATUS +var containerAppProbe_HttpGet_Scheme_STATUS_Values = map[string]ContainerAppProbe_HttpGet_Scheme_STATUS{ + "http": ContainerAppProbe_HttpGet_Scheme_STATUS_HTTP, + "https": ContainerAppProbe_HttpGet_Scheme_STATUS_HTTPS, +} + +// Auth Secrets for Scale Rule +type ScaleRuleAuth_STATUS struct { + // SecretRef: Name of the secret from which to pull the auth params. + SecretRef *string `json:"secretRef,omitempty"` + + // TriggerParameter: Trigger Parameter that uses the secret + TriggerParameter *string `json:"triggerParameter,omitempty"` +} diff --git a/v2/api/app/v1api20240301/arm/container_app_status_types_gen_test.go b/v2/api/app/v1api20240301/arm/container_app_status_types_gen_test.go new file mode 100644 index 00000000000..3612f63dd03 --- /dev/null +++ b/v2/api/app/v1api20240301/arm/container_app_status_types_gen_test.go @@ -0,0 +1,2639 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +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_BaseContainer_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 BaseContainer_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForBaseContainer_STATUS, BaseContainer_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForBaseContainer_STATUS runs a test to see if a specific instance of BaseContainer_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForBaseContainer_STATUS(subject BaseContainer_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual BaseContainer_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 BaseContainer_STATUS instances for property testing - lazily instantiated by +// BaseContainer_STATUSGenerator() +var baseContainer_STATUSGenerator gopter.Gen + +// BaseContainer_STATUSGenerator returns a generator of BaseContainer_STATUS instances for property testing. +// We first initialize baseContainer_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 BaseContainer_STATUSGenerator() gopter.Gen { + if baseContainer_STATUSGenerator != nil { + return baseContainer_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForBaseContainer_STATUS(generators) + baseContainer_STATUSGenerator = gen.Struct(reflect.TypeOf(BaseContainer_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForBaseContainer_STATUS(generators) + AddRelatedPropertyGeneratorsForBaseContainer_STATUS(generators) + baseContainer_STATUSGenerator = gen.Struct(reflect.TypeOf(BaseContainer_STATUS{}), generators) + + return baseContainer_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForBaseContainer_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForBaseContainer_STATUS(gens map[string]gopter.Gen) { + gens["Args"] = gen.SliceOf(gen.AlphaString()) + gens["Command"] = gen.SliceOf(gen.AlphaString()) + gens["Image"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForBaseContainer_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForBaseContainer_STATUS(gens map[string]gopter.Gen) { + gens["Env"] = gen.SliceOf(EnvironmentVar_STATUSGenerator()) + gens["Resources"] = gen.PtrOf(ContainerResources_STATUSGenerator()) + gens["VolumeMounts"] = gen.SliceOf(VolumeMount_STATUSGenerator()) +} + +func Test_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 Configuration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForConfiguration_STATUS, Configuration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForConfiguration_STATUS runs a test to see if a specific instance of Configuration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForConfiguration_STATUS(subject Configuration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual 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 Configuration_STATUS instances for property testing - lazily instantiated by +// Configuration_STATUSGenerator() +var configuration_STATUSGenerator gopter.Gen + +// Configuration_STATUSGenerator returns a generator of Configuration_STATUS instances for property testing. +// We first initialize 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 Configuration_STATUSGenerator() gopter.Gen { + if configuration_STATUSGenerator != nil { + return configuration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForConfiguration_STATUS(generators) + configuration_STATUSGenerator = gen.Struct(reflect.TypeOf(Configuration_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForConfiguration_STATUS(generators) + AddRelatedPropertyGeneratorsForConfiguration_STATUS(generators) + configuration_STATUSGenerator = gen.Struct(reflect.TypeOf(Configuration_STATUS{}), generators) + + return configuration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForConfiguration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["ActiveRevisionsMode"] = gen.PtrOf(gen.OneConstOf(Configuration_ActiveRevisionsMode_STATUS_Multiple, Configuration_ActiveRevisionsMode_STATUS_Single)) + gens["MaxInactiveRevisions"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForConfiguration_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["Dapr"] = gen.PtrOf(Dapr_STATUSGenerator()) + gens["Ingress"] = gen.PtrOf(Ingress_STATUSGenerator()) + gens["Registries"] = gen.SliceOf(RegistryCredentials_STATUSGenerator()) + gens["Secrets"] = gen.SliceOf(Secret_STATUSGenerator()) + gens["Service"] = gen.PtrOf(Service_STATUSGenerator()) +} + +func Test_ContainerAppProbe_HttpGet_HttpHeaders_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 ContainerAppProbe_HttpGet_HttpHeaders_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerAppProbe_HttpGet_HttpHeaders_STATUS, ContainerAppProbe_HttpGet_HttpHeaders_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerAppProbe_HttpGet_HttpHeaders_STATUS runs a test to see if a specific instance of ContainerAppProbe_HttpGet_HttpHeaders_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerAppProbe_HttpGet_HttpHeaders_STATUS(subject ContainerAppProbe_HttpGet_HttpHeaders_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerAppProbe_HttpGet_HttpHeaders_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 ContainerAppProbe_HttpGet_HttpHeaders_STATUS instances for property testing - lazily instantiated by +// ContainerAppProbe_HttpGet_HttpHeaders_STATUSGenerator() +var containerAppProbe_HttpGet_HttpHeaders_STATUSGenerator gopter.Gen + +// ContainerAppProbe_HttpGet_HttpHeaders_STATUSGenerator returns a generator of ContainerAppProbe_HttpGet_HttpHeaders_STATUS instances for property testing. +func ContainerAppProbe_HttpGet_HttpHeaders_STATUSGenerator() gopter.Gen { + if containerAppProbe_HttpGet_HttpHeaders_STATUSGenerator != nil { + return containerAppProbe_HttpGet_HttpHeaders_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet_HttpHeaders_STATUS(generators) + containerAppProbe_HttpGet_HttpHeaders_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe_HttpGet_HttpHeaders_STATUS{}), generators) + + return containerAppProbe_HttpGet_HttpHeaders_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet_HttpHeaders_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet_HttpHeaders_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Value"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ContainerAppProbe_HttpGet_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 ContainerAppProbe_HttpGet_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerAppProbe_HttpGet_STATUS, ContainerAppProbe_HttpGet_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerAppProbe_HttpGet_STATUS runs a test to see if a specific instance of ContainerAppProbe_HttpGet_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerAppProbe_HttpGet_STATUS(subject ContainerAppProbe_HttpGet_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerAppProbe_HttpGet_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 ContainerAppProbe_HttpGet_STATUS instances for property testing - lazily instantiated by +// ContainerAppProbe_HttpGet_STATUSGenerator() +var containerAppProbe_HttpGet_STATUSGenerator gopter.Gen + +// ContainerAppProbe_HttpGet_STATUSGenerator returns a generator of ContainerAppProbe_HttpGet_STATUS instances for property testing. +// We first initialize containerAppProbe_HttpGet_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 ContainerAppProbe_HttpGet_STATUSGenerator() gopter.Gen { + if containerAppProbe_HttpGet_STATUSGenerator != nil { + return containerAppProbe_HttpGet_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet_STATUS(generators) + containerAppProbe_HttpGet_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe_HttpGet_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet_STATUS(generators) + AddRelatedPropertyGeneratorsForContainerAppProbe_HttpGet_STATUS(generators) + containerAppProbe_HttpGet_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe_HttpGet_STATUS{}), generators) + + return containerAppProbe_HttpGet_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet_STATUS(gens map[string]gopter.Gen) { + gens["Host"] = gen.PtrOf(gen.AlphaString()) + gens["Path"] = gen.PtrOf(gen.AlphaString()) + gens["Port"] = gen.PtrOf(gen.Int()) + gens["Scheme"] = gen.PtrOf(gen.OneConstOf(ContainerAppProbe_HttpGet_Scheme_STATUS_HTTP, ContainerAppProbe_HttpGet_Scheme_STATUS_HTTPS)) +} + +// AddRelatedPropertyGeneratorsForContainerAppProbe_HttpGet_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerAppProbe_HttpGet_STATUS(gens map[string]gopter.Gen) { + gens["HttpHeaders"] = gen.SliceOf(ContainerAppProbe_HttpGet_HttpHeaders_STATUSGenerator()) +} + +func Test_ContainerAppProbe_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 ContainerAppProbe_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerAppProbe_STATUS, ContainerAppProbe_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerAppProbe_STATUS runs a test to see if a specific instance of ContainerAppProbe_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerAppProbe_STATUS(subject ContainerAppProbe_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerAppProbe_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 ContainerAppProbe_STATUS instances for property testing - lazily instantiated by +// ContainerAppProbe_STATUSGenerator() +var containerAppProbe_STATUSGenerator gopter.Gen + +// ContainerAppProbe_STATUSGenerator returns a generator of ContainerAppProbe_STATUS instances for property testing. +// We first initialize containerAppProbe_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 ContainerAppProbe_STATUSGenerator() gopter.Gen { + if containerAppProbe_STATUSGenerator != nil { + return containerAppProbe_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe_STATUS(generators) + containerAppProbe_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe_STATUS(generators) + AddRelatedPropertyGeneratorsForContainerAppProbe_STATUS(generators) + containerAppProbe_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe_STATUS{}), generators) + + return containerAppProbe_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForContainerAppProbe_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerAppProbe_STATUS(gens map[string]gopter.Gen) { + gens["FailureThreshold"] = gen.PtrOf(gen.Int()) + gens["InitialDelaySeconds"] = gen.PtrOf(gen.Int()) + gens["PeriodSeconds"] = gen.PtrOf(gen.Int()) + gens["SuccessThreshold"] = gen.PtrOf(gen.Int()) + gens["TerminationGracePeriodSeconds"] = gen.PtrOf(gen.Int()) + gens["TimeoutSeconds"] = gen.PtrOf(gen.Int()) + gens["Type"] = gen.PtrOf(gen.OneConstOf(ContainerAppProbe_Type_STATUS_Liveness, ContainerAppProbe_Type_STATUS_Readiness, ContainerAppProbe_Type_STATUS_Startup)) +} + +// AddRelatedPropertyGeneratorsForContainerAppProbe_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerAppProbe_STATUS(gens map[string]gopter.Gen) { + gens["HttpGet"] = gen.PtrOf(ContainerAppProbe_HttpGet_STATUSGenerator()) + gens["TcpSocket"] = gen.PtrOf(ContainerAppProbe_TcpSocket_STATUSGenerator()) +} + +func Test_ContainerAppProbe_TcpSocket_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 ContainerAppProbe_TcpSocket_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerAppProbe_TcpSocket_STATUS, ContainerAppProbe_TcpSocket_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerAppProbe_TcpSocket_STATUS runs a test to see if a specific instance of ContainerAppProbe_TcpSocket_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerAppProbe_TcpSocket_STATUS(subject ContainerAppProbe_TcpSocket_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerAppProbe_TcpSocket_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 ContainerAppProbe_TcpSocket_STATUS instances for property testing - lazily instantiated by +// ContainerAppProbe_TcpSocket_STATUSGenerator() +var containerAppProbe_TcpSocket_STATUSGenerator gopter.Gen + +// ContainerAppProbe_TcpSocket_STATUSGenerator returns a generator of ContainerAppProbe_TcpSocket_STATUS instances for property testing. +func ContainerAppProbe_TcpSocket_STATUSGenerator() gopter.Gen { + if containerAppProbe_TcpSocket_STATUSGenerator != nil { + return containerAppProbe_TcpSocket_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe_TcpSocket_STATUS(generators) + containerAppProbe_TcpSocket_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe_TcpSocket_STATUS{}), generators) + + return containerAppProbe_TcpSocket_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForContainerAppProbe_TcpSocket_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerAppProbe_TcpSocket_STATUS(gens map[string]gopter.Gen) { + gens["Host"] = gen.PtrOf(gen.AlphaString()) + gens["Port"] = gen.PtrOf(gen.Int()) +} + +func Test_ContainerApp_Properties_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 ContainerApp_Properties_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerApp_Properties_STATUS, ContainerApp_Properties_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerApp_Properties_STATUS runs a test to see if a specific instance of ContainerApp_Properties_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerApp_Properties_STATUS(subject ContainerApp_Properties_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerApp_Properties_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 ContainerApp_Properties_STATUS instances for property testing - lazily instantiated by +// ContainerApp_Properties_STATUSGenerator() +var containerApp_Properties_STATUSGenerator gopter.Gen + +// ContainerApp_Properties_STATUSGenerator returns a generator of ContainerApp_Properties_STATUS instances for property testing. +// We first initialize containerApp_Properties_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 ContainerApp_Properties_STATUSGenerator() gopter.Gen { + if containerApp_Properties_STATUSGenerator != nil { + return containerApp_Properties_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerApp_Properties_STATUS(generators) + containerApp_Properties_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerApp_Properties_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerApp_Properties_STATUS(generators) + AddRelatedPropertyGeneratorsForContainerApp_Properties_STATUS(generators) + containerApp_Properties_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerApp_Properties_STATUS{}), generators) + + return containerApp_Properties_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForContainerApp_Properties_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerApp_Properties_STATUS(gens map[string]gopter.Gen) { + gens["CustomDomainVerificationId"] = gen.PtrOf(gen.AlphaString()) + gens["EnvironmentId"] = gen.PtrOf(gen.AlphaString()) + gens["EventStreamEndpoint"] = gen.PtrOf(gen.AlphaString()) + gens["LatestReadyRevisionName"] = gen.PtrOf(gen.AlphaString()) + gens["LatestRevisionFqdn"] = gen.PtrOf(gen.AlphaString()) + gens["LatestRevisionName"] = gen.PtrOf(gen.AlphaString()) + gens["ManagedEnvironmentId"] = gen.PtrOf(gen.AlphaString()) + gens["OutboundIpAddresses"] = gen.SliceOf(gen.AlphaString()) + gens["ProvisioningState"] = gen.PtrOf(gen.OneConstOf( + ContainerApp_Properties_ProvisioningState_STATUS_Canceled, + ContainerApp_Properties_ProvisioningState_STATUS_Deleting, + ContainerApp_Properties_ProvisioningState_STATUS_Failed, + ContainerApp_Properties_ProvisioningState_STATUS_InProgress, + ContainerApp_Properties_ProvisioningState_STATUS_Succeeded)) + gens["WorkloadProfileName"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForContainerApp_Properties_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerApp_Properties_STATUS(gens map[string]gopter.Gen) { + gens["Configuration"] = gen.PtrOf(Configuration_STATUSGenerator()) + gens["Template"] = gen.PtrOf(Template_STATUSGenerator()) +} + +func Test_ContainerApp_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 ContainerApp_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerApp_STATUS, ContainerApp_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerApp_STATUS runs a test to see if a specific instance of ContainerApp_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerApp_STATUS(subject ContainerApp_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerApp_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 ContainerApp_STATUS instances for property testing - lazily instantiated by +// ContainerApp_STATUSGenerator() +var containerApp_STATUSGenerator gopter.Gen + +// ContainerApp_STATUSGenerator returns a generator of ContainerApp_STATUS instances for property testing. +// We first initialize containerApp_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 ContainerApp_STATUSGenerator() gopter.Gen { + if containerApp_STATUSGenerator != nil { + return containerApp_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerApp_STATUS(generators) + containerApp_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerApp_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerApp_STATUS(generators) + AddRelatedPropertyGeneratorsForContainerApp_STATUS(generators) + containerApp_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerApp_STATUS{}), generators) + + return containerApp_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForContainerApp_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerApp_STATUS(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["ManagedBy"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForContainerApp_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerApp_STATUS(gens map[string]gopter.Gen) { + gens["ExtendedLocation"] = gen.PtrOf(ExtendedLocation_STATUSGenerator()) + gens["Identity"] = gen.PtrOf(ManagedServiceIdentity_STATUSGenerator()) + gens["Properties"] = gen.PtrOf(ContainerApp_Properties_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} + +func Test_ContainerResources_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 ContainerResources_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerResources_STATUS, ContainerResources_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerResources_STATUS runs a test to see if a specific instance of ContainerResources_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerResources_STATUS(subject ContainerResources_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerResources_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 ContainerResources_STATUS instances for property testing - lazily instantiated by +// ContainerResources_STATUSGenerator() +var containerResources_STATUSGenerator gopter.Gen + +// ContainerResources_STATUSGenerator returns a generator of ContainerResources_STATUS instances for property testing. +func ContainerResources_STATUSGenerator() gopter.Gen { + if containerResources_STATUSGenerator != nil { + return containerResources_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerResources_STATUS(generators) + containerResources_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerResources_STATUS{}), generators) + + return containerResources_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForContainerResources_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerResources_STATUS(gens map[string]gopter.Gen) { + gens["Cpu"] = gen.PtrOf(gen.Float64()) + gens["EphemeralStorage"] = gen.PtrOf(gen.AlphaString()) + gens["Memory"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Container_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 Container_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainer_STATUS, Container_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainer_STATUS runs a test to see if a specific instance of Container_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainer_STATUS(subject Container_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Container_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 Container_STATUS instances for property testing - lazily instantiated by Container_STATUSGenerator() +var container_STATUSGenerator gopter.Gen + +// Container_STATUSGenerator returns a generator of Container_STATUS instances for property testing. +// We first initialize container_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 Container_STATUSGenerator() gopter.Gen { + if container_STATUSGenerator != nil { + return container_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainer_STATUS(generators) + container_STATUSGenerator = gen.Struct(reflect.TypeOf(Container_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainer_STATUS(generators) + AddRelatedPropertyGeneratorsForContainer_STATUS(generators) + container_STATUSGenerator = gen.Struct(reflect.TypeOf(Container_STATUS{}), generators) + + return container_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForContainer_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainer_STATUS(gens map[string]gopter.Gen) { + gens["Args"] = gen.SliceOf(gen.AlphaString()) + gens["Command"] = gen.SliceOf(gen.AlphaString()) + gens["Image"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForContainer_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainer_STATUS(gens map[string]gopter.Gen) { + gens["Env"] = gen.SliceOf(EnvironmentVar_STATUSGenerator()) + gens["Probes"] = gen.SliceOf(ContainerAppProbe_STATUSGenerator()) + gens["Resources"] = gen.PtrOf(ContainerResources_STATUSGenerator()) + gens["VolumeMounts"] = gen.SliceOf(VolumeMount_STATUSGenerator()) +} + +func Test_CorsPolicy_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 CorsPolicy_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCorsPolicy_STATUS, CorsPolicy_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCorsPolicy_STATUS runs a test to see if a specific instance of CorsPolicy_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForCorsPolicy_STATUS(subject CorsPolicy_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CorsPolicy_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 CorsPolicy_STATUS instances for property testing - lazily instantiated by CorsPolicy_STATUSGenerator() +var corsPolicy_STATUSGenerator gopter.Gen + +// CorsPolicy_STATUSGenerator returns a generator of CorsPolicy_STATUS instances for property testing. +func CorsPolicy_STATUSGenerator() gopter.Gen { + if corsPolicy_STATUSGenerator != nil { + return corsPolicy_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCorsPolicy_STATUS(generators) + corsPolicy_STATUSGenerator = gen.Struct(reflect.TypeOf(CorsPolicy_STATUS{}), generators) + + return corsPolicy_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForCorsPolicy_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCorsPolicy_STATUS(gens map[string]gopter.Gen) { + gens["AllowCredentials"] = gen.PtrOf(gen.Bool()) + gens["AllowedHeaders"] = gen.SliceOf(gen.AlphaString()) + gens["AllowedMethods"] = gen.SliceOf(gen.AlphaString()) + gens["AllowedOrigins"] = gen.SliceOf(gen.AlphaString()) + gens["ExposeHeaders"] = gen.SliceOf(gen.AlphaString()) + gens["MaxAge"] = gen.PtrOf(gen.Int()) +} + +func Test_CustomDomain_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 CustomDomain_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCustomDomain_STATUS, CustomDomain_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCustomDomain_STATUS runs a test to see if a specific instance of CustomDomain_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForCustomDomain_STATUS(subject CustomDomain_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CustomDomain_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 CustomDomain_STATUS instances for property testing - lazily instantiated by +// CustomDomain_STATUSGenerator() +var customDomain_STATUSGenerator gopter.Gen + +// CustomDomain_STATUSGenerator returns a generator of CustomDomain_STATUS instances for property testing. +func CustomDomain_STATUSGenerator() gopter.Gen { + if customDomain_STATUSGenerator != nil { + return customDomain_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomDomain_STATUS(generators) + customDomain_STATUSGenerator = gen.Struct(reflect.TypeOf(CustomDomain_STATUS{}), generators) + + return customDomain_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForCustomDomain_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCustomDomain_STATUS(gens map[string]gopter.Gen) { + gens["BindingType"] = gen.PtrOf(gen.OneConstOf(CustomDomain_BindingType_STATUS_Disabled, CustomDomain_BindingType_STATUS_SniEnabled)) + gens["CertificateId"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_CustomScaleRule_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 CustomScaleRule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCustomScaleRule_STATUS, CustomScaleRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCustomScaleRule_STATUS runs a test to see if a specific instance of CustomScaleRule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForCustomScaleRule_STATUS(subject CustomScaleRule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CustomScaleRule_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 CustomScaleRule_STATUS instances for property testing - lazily instantiated by +// CustomScaleRule_STATUSGenerator() +var customScaleRule_STATUSGenerator gopter.Gen + +// CustomScaleRule_STATUSGenerator returns a generator of CustomScaleRule_STATUS instances for property testing. +// We first initialize customScaleRule_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 CustomScaleRule_STATUSGenerator() gopter.Gen { + if customScaleRule_STATUSGenerator != nil { + return customScaleRule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomScaleRule_STATUS(generators) + customScaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(CustomScaleRule_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomScaleRule_STATUS(generators) + AddRelatedPropertyGeneratorsForCustomScaleRule_STATUS(generators) + customScaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(CustomScaleRule_STATUS{}), generators) + + return customScaleRule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForCustomScaleRule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCustomScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["Metadata"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForCustomScaleRule_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForCustomScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["Auth"] = gen.SliceOf(ScaleRuleAuth_STATUSGenerator()) +} + +func Test_Dapr_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 Dapr_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDapr_STATUS, Dapr_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDapr_STATUS runs a test to see if a specific instance of Dapr_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForDapr_STATUS(subject Dapr_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Dapr_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 Dapr_STATUS instances for property testing - lazily instantiated by Dapr_STATUSGenerator() +var dapr_STATUSGenerator gopter.Gen + +// Dapr_STATUSGenerator returns a generator of Dapr_STATUS instances for property testing. +func Dapr_STATUSGenerator() gopter.Gen { + if dapr_STATUSGenerator != nil { + return dapr_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDapr_STATUS(generators) + dapr_STATUSGenerator = gen.Struct(reflect.TypeOf(Dapr_STATUS{}), generators) + + return dapr_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForDapr_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDapr_STATUS(gens map[string]gopter.Gen) { + gens["AppId"] = gen.PtrOf(gen.AlphaString()) + gens["AppPort"] = gen.PtrOf(gen.Int()) + gens["AppProtocol"] = gen.PtrOf(gen.OneConstOf(Dapr_AppProtocol_STATUS_Grpc, Dapr_AppProtocol_STATUS_Http)) + gens["EnableApiLogging"] = gen.PtrOf(gen.Bool()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["HttpMaxRequestSize"] = gen.PtrOf(gen.Int()) + gens["HttpReadBufferSize"] = gen.PtrOf(gen.Int()) + gens["LogLevel"] = gen.PtrOf(gen.OneConstOf( + Dapr_LogLevel_STATUS_Debug, + Dapr_LogLevel_STATUS_Error, + Dapr_LogLevel_STATUS_Info, + Dapr_LogLevel_STATUS_Warn)) +} + +func Test_EnvironmentVar_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 EnvironmentVar_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForEnvironmentVar_STATUS, EnvironmentVar_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForEnvironmentVar_STATUS runs a test to see if a specific instance of EnvironmentVar_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForEnvironmentVar_STATUS(subject EnvironmentVar_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual EnvironmentVar_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 EnvironmentVar_STATUS instances for property testing - lazily instantiated by +// EnvironmentVar_STATUSGenerator() +var environmentVar_STATUSGenerator gopter.Gen + +// EnvironmentVar_STATUSGenerator returns a generator of EnvironmentVar_STATUS instances for property testing. +func EnvironmentVar_STATUSGenerator() gopter.Gen { + if environmentVar_STATUSGenerator != nil { + return environmentVar_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForEnvironmentVar_STATUS(generators) + environmentVar_STATUSGenerator = gen.Struct(reflect.TypeOf(EnvironmentVar_STATUS{}), generators) + + return environmentVar_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForEnvironmentVar_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForEnvironmentVar_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["SecretRef"] = gen.PtrOf(gen.AlphaString()) + gens["Value"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ExtendedLocation_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 ExtendedLocation_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExtendedLocation_STATUS, ExtendedLocation_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExtendedLocation_STATUS runs a test to see if a specific instance of ExtendedLocation_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForExtendedLocation_STATUS(subject ExtendedLocation_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExtendedLocation_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 ExtendedLocation_STATUS instances for property testing - lazily instantiated by +// ExtendedLocation_STATUSGenerator() +var extendedLocation_STATUSGenerator gopter.Gen + +// ExtendedLocation_STATUSGenerator returns a generator of ExtendedLocation_STATUS instances for property testing. +func ExtendedLocation_STATUSGenerator() gopter.Gen { + if extendedLocation_STATUSGenerator != nil { + return extendedLocation_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExtendedLocation_STATUS(generators) + extendedLocation_STATUSGenerator = gen.Struct(reflect.TypeOf(ExtendedLocation_STATUS{}), generators) + + return extendedLocation_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForExtendedLocation_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForExtendedLocation_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.OneConstOf(ExtendedLocationType_STATUS_CustomLocation)) +} + +func Test_HttpScaleRule_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 HttpScaleRule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHttpScaleRule_STATUS, HttpScaleRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHttpScaleRule_STATUS runs a test to see if a specific instance of HttpScaleRule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForHttpScaleRule_STATUS(subject HttpScaleRule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HttpScaleRule_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 HttpScaleRule_STATUS instances for property testing - lazily instantiated by +// HttpScaleRule_STATUSGenerator() +var httpScaleRule_STATUSGenerator gopter.Gen + +// HttpScaleRule_STATUSGenerator returns a generator of HttpScaleRule_STATUS instances for property testing. +// We first initialize httpScaleRule_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 HttpScaleRule_STATUSGenerator() gopter.Gen { + if httpScaleRule_STATUSGenerator != nil { + return httpScaleRule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHttpScaleRule_STATUS(generators) + httpScaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(HttpScaleRule_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHttpScaleRule_STATUS(generators) + AddRelatedPropertyGeneratorsForHttpScaleRule_STATUS(generators) + httpScaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(HttpScaleRule_STATUS{}), generators) + + return httpScaleRule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForHttpScaleRule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHttpScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["Metadata"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForHttpScaleRule_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHttpScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["Auth"] = gen.SliceOf(ScaleRuleAuth_STATUSGenerator()) +} + +func Test_IngressPortMapping_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 IngressPortMapping_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIngressPortMapping_STATUS, IngressPortMapping_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIngressPortMapping_STATUS runs a test to see if a specific instance of IngressPortMapping_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIngressPortMapping_STATUS(subject IngressPortMapping_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IngressPortMapping_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 IngressPortMapping_STATUS instances for property testing - lazily instantiated by +// IngressPortMapping_STATUSGenerator() +var ingressPortMapping_STATUSGenerator gopter.Gen + +// IngressPortMapping_STATUSGenerator returns a generator of IngressPortMapping_STATUS instances for property testing. +func IngressPortMapping_STATUSGenerator() gopter.Gen { + if ingressPortMapping_STATUSGenerator != nil { + return ingressPortMapping_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIngressPortMapping_STATUS(generators) + ingressPortMapping_STATUSGenerator = gen.Struct(reflect.TypeOf(IngressPortMapping_STATUS{}), generators) + + return ingressPortMapping_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForIngressPortMapping_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIngressPortMapping_STATUS(gens map[string]gopter.Gen) { + gens["ExposedPort"] = gen.PtrOf(gen.Int()) + gens["External"] = gen.PtrOf(gen.Bool()) + gens["TargetPort"] = gen.PtrOf(gen.Int()) +} + +func Test_Ingress_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 Ingress_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIngress_STATUS, Ingress_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIngress_STATUS runs a test to see if a specific instance of Ingress_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIngress_STATUS(subject Ingress_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Ingress_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 Ingress_STATUS instances for property testing - lazily instantiated by Ingress_STATUSGenerator() +var ingress_STATUSGenerator gopter.Gen + +// Ingress_STATUSGenerator returns a generator of Ingress_STATUS instances for property testing. +// We first initialize ingress_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 Ingress_STATUSGenerator() gopter.Gen { + if ingress_STATUSGenerator != nil { + return ingress_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIngress_STATUS(generators) + ingress_STATUSGenerator = gen.Struct(reflect.TypeOf(Ingress_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIngress_STATUS(generators) + AddRelatedPropertyGeneratorsForIngress_STATUS(generators) + ingress_STATUSGenerator = gen.Struct(reflect.TypeOf(Ingress_STATUS{}), generators) + + return ingress_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForIngress_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIngress_STATUS(gens map[string]gopter.Gen) { + gens["AllowInsecure"] = gen.PtrOf(gen.Bool()) + gens["ClientCertificateMode"] = gen.PtrOf(gen.OneConstOf(Ingress_ClientCertificateMode_STATUS_Accept, Ingress_ClientCertificateMode_STATUS_Ignore, Ingress_ClientCertificateMode_STATUS_Require)) + gens["ExposedPort"] = gen.PtrOf(gen.Int()) + gens["External"] = gen.PtrOf(gen.Bool()) + gens["Fqdn"] = gen.PtrOf(gen.AlphaString()) + gens["TargetPort"] = gen.PtrOf(gen.Int()) + gens["Transport"] = gen.PtrOf(gen.OneConstOf( + Ingress_Transport_STATUS_Auto, + Ingress_Transport_STATUS_Http, + Ingress_Transport_STATUS_Http2, + Ingress_Transport_STATUS_Tcp)) +} + +// AddRelatedPropertyGeneratorsForIngress_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIngress_STATUS(gens map[string]gopter.Gen) { + gens["AdditionalPortMappings"] = gen.SliceOf(IngressPortMapping_STATUSGenerator()) + gens["CorsPolicy"] = gen.PtrOf(CorsPolicy_STATUSGenerator()) + gens["CustomDomains"] = gen.SliceOf(CustomDomain_STATUSGenerator()) + gens["IpSecurityRestrictions"] = gen.SliceOf(IpSecurityRestrictionRule_STATUSGenerator()) + gens["StickySessions"] = gen.PtrOf(Ingress_StickySessions_STATUSGenerator()) + gens["Traffic"] = gen.SliceOf(TrafficWeight_STATUSGenerator()) +} + +func Test_Ingress_StickySessions_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 Ingress_StickySessions_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIngress_StickySessions_STATUS, Ingress_StickySessions_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIngress_StickySessions_STATUS runs a test to see if a specific instance of Ingress_StickySessions_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIngress_StickySessions_STATUS(subject Ingress_StickySessions_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Ingress_StickySessions_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 Ingress_StickySessions_STATUS instances for property testing - lazily instantiated by +// Ingress_StickySessions_STATUSGenerator() +var ingress_StickySessions_STATUSGenerator gopter.Gen + +// Ingress_StickySessions_STATUSGenerator returns a generator of Ingress_StickySessions_STATUS instances for property testing. +func Ingress_StickySessions_STATUSGenerator() gopter.Gen { + if ingress_StickySessions_STATUSGenerator != nil { + return ingress_StickySessions_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIngress_StickySessions_STATUS(generators) + ingress_StickySessions_STATUSGenerator = gen.Struct(reflect.TypeOf(Ingress_StickySessions_STATUS{}), generators) + + return ingress_StickySessions_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForIngress_StickySessions_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIngress_StickySessions_STATUS(gens map[string]gopter.Gen) { + gens["Affinity"] = gen.PtrOf(gen.OneConstOf(Ingress_StickySessions_Affinity_STATUS_None, Ingress_StickySessions_Affinity_STATUS_Sticky)) +} + +func Test_IpSecurityRestrictionRule_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 IpSecurityRestrictionRule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIpSecurityRestrictionRule_STATUS, IpSecurityRestrictionRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIpSecurityRestrictionRule_STATUS runs a test to see if a specific instance of IpSecurityRestrictionRule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIpSecurityRestrictionRule_STATUS(subject IpSecurityRestrictionRule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IpSecurityRestrictionRule_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 IpSecurityRestrictionRule_STATUS instances for property testing - lazily instantiated by +// IpSecurityRestrictionRule_STATUSGenerator() +var ipSecurityRestrictionRule_STATUSGenerator gopter.Gen + +// IpSecurityRestrictionRule_STATUSGenerator returns a generator of IpSecurityRestrictionRule_STATUS instances for property testing. +func IpSecurityRestrictionRule_STATUSGenerator() gopter.Gen { + if ipSecurityRestrictionRule_STATUSGenerator != nil { + return ipSecurityRestrictionRule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIpSecurityRestrictionRule_STATUS(generators) + ipSecurityRestrictionRule_STATUSGenerator = gen.Struct(reflect.TypeOf(IpSecurityRestrictionRule_STATUS{}), generators) + + return ipSecurityRestrictionRule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForIpSecurityRestrictionRule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIpSecurityRestrictionRule_STATUS(gens map[string]gopter.Gen) { + gens["Action"] = gen.PtrOf(gen.OneConstOf(IpSecurityRestrictionRule_Action_STATUS_Allow, IpSecurityRestrictionRule_Action_STATUS_Deny)) + gens["Description"] = gen.PtrOf(gen.AlphaString()) + gens["IpAddressRange"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedServiceIdentity_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 ManagedServiceIdentity_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedServiceIdentity_STATUS, ManagedServiceIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedServiceIdentity_STATUS runs a test to see if a specific instance of ManagedServiceIdentity_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedServiceIdentity_STATUS(subject ManagedServiceIdentity_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedServiceIdentity_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 ManagedServiceIdentity_STATUS instances for property testing - lazily instantiated by +// ManagedServiceIdentity_STATUSGenerator() +var managedServiceIdentity_STATUSGenerator gopter.Gen + +// ManagedServiceIdentity_STATUSGenerator returns a generator of ManagedServiceIdentity_STATUS instances for property testing. +// We first initialize managedServiceIdentity_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 ManagedServiceIdentity_STATUSGenerator() gopter.Gen { + if managedServiceIdentity_STATUSGenerator != nil { + return managedServiceIdentity_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedServiceIdentity_STATUS(generators) + managedServiceIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedServiceIdentity_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedServiceIdentity_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedServiceIdentity_STATUS(generators) + managedServiceIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedServiceIdentity_STATUS{}), generators) + + return managedServiceIdentity_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedServiceIdentity_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedServiceIdentity_STATUS(gens map[string]gopter.Gen) { + gens["PrincipalId"] = gen.PtrOf(gen.AlphaString()) + gens["TenantId"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.OneConstOf( + ManagedServiceIdentityType_STATUS_None, + ManagedServiceIdentityType_STATUS_SystemAssigned, + ManagedServiceIdentityType_STATUS_SystemAssignedUserAssigned, + ManagedServiceIdentityType_STATUS_UserAssigned)) +} + +// AddRelatedPropertyGeneratorsForManagedServiceIdentity_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedServiceIdentity_STATUS(gens map[string]gopter.Gen) { + gens["UserAssignedIdentities"] = gen.MapOf( + gen.AlphaString(), + UserAssignedIdentity_STATUSGenerator()) +} + +func Test_QueueScaleRule_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 QueueScaleRule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForQueueScaleRule_STATUS, QueueScaleRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForQueueScaleRule_STATUS runs a test to see if a specific instance of QueueScaleRule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForQueueScaleRule_STATUS(subject QueueScaleRule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual QueueScaleRule_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 QueueScaleRule_STATUS instances for property testing - lazily instantiated by +// QueueScaleRule_STATUSGenerator() +var queueScaleRule_STATUSGenerator gopter.Gen + +// QueueScaleRule_STATUSGenerator returns a generator of QueueScaleRule_STATUS instances for property testing. +// We first initialize queueScaleRule_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 QueueScaleRule_STATUSGenerator() gopter.Gen { + if queueScaleRule_STATUSGenerator != nil { + return queueScaleRule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForQueueScaleRule_STATUS(generators) + queueScaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(QueueScaleRule_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForQueueScaleRule_STATUS(generators) + AddRelatedPropertyGeneratorsForQueueScaleRule_STATUS(generators) + queueScaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(QueueScaleRule_STATUS{}), generators) + + return queueScaleRule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForQueueScaleRule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForQueueScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["QueueLength"] = gen.PtrOf(gen.Int()) + gens["QueueName"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForQueueScaleRule_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForQueueScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["Auth"] = gen.SliceOf(ScaleRuleAuth_STATUSGenerator()) +} + +func Test_RegistryCredentials_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 RegistryCredentials_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForRegistryCredentials_STATUS, RegistryCredentials_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForRegistryCredentials_STATUS runs a test to see if a specific instance of RegistryCredentials_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForRegistryCredentials_STATUS(subject RegistryCredentials_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual RegistryCredentials_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 RegistryCredentials_STATUS instances for property testing - lazily instantiated by +// RegistryCredentials_STATUSGenerator() +var registryCredentials_STATUSGenerator gopter.Gen + +// RegistryCredentials_STATUSGenerator returns a generator of RegistryCredentials_STATUS instances for property testing. +func RegistryCredentials_STATUSGenerator() gopter.Gen { + if registryCredentials_STATUSGenerator != nil { + return registryCredentials_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForRegistryCredentials_STATUS(generators) + registryCredentials_STATUSGenerator = gen.Struct(reflect.TypeOf(RegistryCredentials_STATUS{}), generators) + + return registryCredentials_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForRegistryCredentials_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForRegistryCredentials_STATUS(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(gen.AlphaString()) + gens["PasswordSecretRef"] = gen.PtrOf(gen.AlphaString()) + gens["Server"] = gen.PtrOf(gen.AlphaString()) + gens["Username"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ScaleRuleAuth_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 ScaleRuleAuth_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForScaleRuleAuth_STATUS, ScaleRuleAuth_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForScaleRuleAuth_STATUS runs a test to see if a specific instance of ScaleRuleAuth_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForScaleRuleAuth_STATUS(subject ScaleRuleAuth_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ScaleRuleAuth_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 ScaleRuleAuth_STATUS instances for property testing - lazily instantiated by +// ScaleRuleAuth_STATUSGenerator() +var scaleRuleAuth_STATUSGenerator gopter.Gen + +// ScaleRuleAuth_STATUSGenerator returns a generator of ScaleRuleAuth_STATUS instances for property testing. +func ScaleRuleAuth_STATUSGenerator() gopter.Gen { + if scaleRuleAuth_STATUSGenerator != nil { + return scaleRuleAuth_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForScaleRuleAuth_STATUS(generators) + scaleRuleAuth_STATUSGenerator = gen.Struct(reflect.TypeOf(ScaleRuleAuth_STATUS{}), generators) + + return scaleRuleAuth_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForScaleRuleAuth_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForScaleRuleAuth_STATUS(gens map[string]gopter.Gen) { + gens["SecretRef"] = gen.PtrOf(gen.AlphaString()) + gens["TriggerParameter"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ScaleRule_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 ScaleRule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForScaleRule_STATUS, ScaleRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForScaleRule_STATUS runs a test to see if a specific instance of ScaleRule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForScaleRule_STATUS(subject ScaleRule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ScaleRule_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 ScaleRule_STATUS instances for property testing - lazily instantiated by ScaleRule_STATUSGenerator() +var scaleRule_STATUSGenerator gopter.Gen + +// ScaleRule_STATUSGenerator returns a generator of ScaleRule_STATUS instances for property testing. +// We first initialize scaleRule_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 ScaleRule_STATUSGenerator() gopter.Gen { + if scaleRule_STATUSGenerator != nil { + return scaleRule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForScaleRule_STATUS(generators) + scaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(ScaleRule_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForScaleRule_STATUS(generators) + AddRelatedPropertyGeneratorsForScaleRule_STATUS(generators) + scaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(ScaleRule_STATUS{}), generators) + + return scaleRule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForScaleRule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForScaleRule_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["AzureQueue"] = gen.PtrOf(QueueScaleRule_STATUSGenerator()) + gens["Custom"] = gen.PtrOf(CustomScaleRule_STATUSGenerator()) + gens["Http"] = gen.PtrOf(HttpScaleRule_STATUSGenerator()) + gens["Tcp"] = gen.PtrOf(TcpScaleRule_STATUSGenerator()) +} + +func Test_Scale_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 Scale_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForScale_STATUS, Scale_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForScale_STATUS runs a test to see if a specific instance of Scale_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForScale_STATUS(subject Scale_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Scale_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 Scale_STATUS instances for property testing - lazily instantiated by Scale_STATUSGenerator() +var scale_STATUSGenerator gopter.Gen + +// Scale_STATUSGenerator returns a generator of Scale_STATUS instances for property testing. +// We first initialize scale_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 Scale_STATUSGenerator() gopter.Gen { + if scale_STATUSGenerator != nil { + return scale_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForScale_STATUS(generators) + scale_STATUSGenerator = gen.Struct(reflect.TypeOf(Scale_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForScale_STATUS(generators) + AddRelatedPropertyGeneratorsForScale_STATUS(generators) + scale_STATUSGenerator = gen.Struct(reflect.TypeOf(Scale_STATUS{}), generators) + + return scale_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForScale_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForScale_STATUS(gens map[string]gopter.Gen) { + gens["MaxReplicas"] = gen.PtrOf(gen.Int()) + gens["MinReplicas"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForScale_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForScale_STATUS(gens map[string]gopter.Gen) { + gens["Rules"] = gen.SliceOf(ScaleRule_STATUSGenerator()) +} + +func Test_SecretVolumeItem_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 SecretVolumeItem_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSecretVolumeItem_STATUS, SecretVolumeItem_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSecretVolumeItem_STATUS runs a test to see if a specific instance of SecretVolumeItem_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForSecretVolumeItem_STATUS(subject SecretVolumeItem_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual SecretVolumeItem_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 SecretVolumeItem_STATUS instances for property testing - lazily instantiated by +// SecretVolumeItem_STATUSGenerator() +var secretVolumeItem_STATUSGenerator gopter.Gen + +// SecretVolumeItem_STATUSGenerator returns a generator of SecretVolumeItem_STATUS instances for property testing. +func SecretVolumeItem_STATUSGenerator() gopter.Gen { + if secretVolumeItem_STATUSGenerator != nil { + return secretVolumeItem_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForSecretVolumeItem_STATUS(generators) + secretVolumeItem_STATUSGenerator = gen.Struct(reflect.TypeOf(SecretVolumeItem_STATUS{}), generators) + + return secretVolumeItem_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForSecretVolumeItem_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForSecretVolumeItem_STATUS(gens map[string]gopter.Gen) { + gens["Path"] = gen.PtrOf(gen.AlphaString()) + gens["SecretRef"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Secret_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 Secret_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSecret_STATUS, Secret_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSecret_STATUS runs a test to see if a specific instance of Secret_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForSecret_STATUS(subject Secret_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Secret_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 Secret_STATUS instances for property testing - lazily instantiated by Secret_STATUSGenerator() +var secret_STATUSGenerator gopter.Gen + +// Secret_STATUSGenerator returns a generator of Secret_STATUS instances for property testing. +func Secret_STATUSGenerator() gopter.Gen { + if secret_STATUSGenerator != nil { + return secret_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForSecret_STATUS(generators) + secret_STATUSGenerator = gen.Struct(reflect.TypeOf(Secret_STATUS{}), generators) + + return secret_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForSecret_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForSecret_STATUS(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(gen.AlphaString()) + gens["KeyVaultUrl"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ServiceBind_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 ServiceBind_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForServiceBind_STATUS, ServiceBind_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForServiceBind_STATUS runs a test to see if a specific instance of ServiceBind_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForServiceBind_STATUS(subject ServiceBind_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ServiceBind_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 ServiceBind_STATUS instances for property testing - lazily instantiated by ServiceBind_STATUSGenerator() +var serviceBind_STATUSGenerator gopter.Gen + +// ServiceBind_STATUSGenerator returns a generator of ServiceBind_STATUS instances for property testing. +func ServiceBind_STATUSGenerator() gopter.Gen { + if serviceBind_STATUSGenerator != nil { + return serviceBind_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForServiceBind_STATUS(generators) + serviceBind_STATUSGenerator = gen.Struct(reflect.TypeOf(ServiceBind_STATUS{}), generators) + + return serviceBind_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForServiceBind_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForServiceBind_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["ServiceId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Service_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 Service_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForService_STATUS, Service_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForService_STATUS runs a test to see if a specific instance of Service_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForService_STATUS(subject Service_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Service_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 Service_STATUS instances for property testing - lazily instantiated by Service_STATUSGenerator() +var service_STATUSGenerator gopter.Gen + +// Service_STATUSGenerator returns a generator of Service_STATUS instances for property testing. +func Service_STATUSGenerator() gopter.Gen { + if service_STATUSGenerator != nil { + return service_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForService_STATUS(generators) + service_STATUSGenerator = gen.Struct(reflect.TypeOf(Service_STATUS{}), generators) + + return service_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForService_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForService_STATUS(gens map[string]gopter.Gen) { + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_TcpScaleRule_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 TcpScaleRule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTcpScaleRule_STATUS, TcpScaleRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTcpScaleRule_STATUS runs a test to see if a specific instance of TcpScaleRule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTcpScaleRule_STATUS(subject TcpScaleRule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TcpScaleRule_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 TcpScaleRule_STATUS instances for property testing - lazily instantiated by +// TcpScaleRule_STATUSGenerator() +var tcpScaleRule_STATUSGenerator gopter.Gen + +// TcpScaleRule_STATUSGenerator returns a generator of TcpScaleRule_STATUS instances for property testing. +// We first initialize tcpScaleRule_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 TcpScaleRule_STATUSGenerator() gopter.Gen { + if tcpScaleRule_STATUSGenerator != nil { + return tcpScaleRule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTcpScaleRule_STATUS(generators) + tcpScaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(TcpScaleRule_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTcpScaleRule_STATUS(generators) + AddRelatedPropertyGeneratorsForTcpScaleRule_STATUS(generators) + tcpScaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(TcpScaleRule_STATUS{}), generators) + + return tcpScaleRule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTcpScaleRule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTcpScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["Metadata"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForTcpScaleRule_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTcpScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["Auth"] = gen.SliceOf(ScaleRuleAuth_STATUSGenerator()) +} + +func Test_Template_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 Template_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTemplate_STATUS, Template_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTemplate_STATUS runs a test to see if a specific instance of Template_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTemplate_STATUS(subject Template_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Template_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 Template_STATUS instances for property testing - lazily instantiated by Template_STATUSGenerator() +var template_STATUSGenerator gopter.Gen + +// Template_STATUSGenerator returns a generator of Template_STATUS instances for property testing. +// We first initialize template_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 Template_STATUSGenerator() gopter.Gen { + if template_STATUSGenerator != nil { + return template_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTemplate_STATUS(generators) + template_STATUSGenerator = gen.Struct(reflect.TypeOf(Template_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTemplate_STATUS(generators) + AddRelatedPropertyGeneratorsForTemplate_STATUS(generators) + template_STATUSGenerator = gen.Struct(reflect.TypeOf(Template_STATUS{}), generators) + + return template_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTemplate_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTemplate_STATUS(gens map[string]gopter.Gen) { + gens["RevisionSuffix"] = gen.PtrOf(gen.AlphaString()) + gens["TerminationGracePeriodSeconds"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForTemplate_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTemplate_STATUS(gens map[string]gopter.Gen) { + gens["Containers"] = gen.SliceOf(Container_STATUSGenerator()) + gens["InitContainers"] = gen.SliceOf(BaseContainer_STATUSGenerator()) + gens["Scale"] = gen.PtrOf(Scale_STATUSGenerator()) + gens["ServiceBinds"] = gen.SliceOf(ServiceBind_STATUSGenerator()) + gens["Volumes"] = gen.SliceOf(Volume_STATUSGenerator()) +} + +func Test_TrafficWeight_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 TrafficWeight_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTrafficWeight_STATUS, TrafficWeight_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTrafficWeight_STATUS runs a test to see if a specific instance of TrafficWeight_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTrafficWeight_STATUS(subject TrafficWeight_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TrafficWeight_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 TrafficWeight_STATUS instances for property testing - lazily instantiated by +// TrafficWeight_STATUSGenerator() +var trafficWeight_STATUSGenerator gopter.Gen + +// TrafficWeight_STATUSGenerator returns a generator of TrafficWeight_STATUS instances for property testing. +func TrafficWeight_STATUSGenerator() gopter.Gen { + if trafficWeight_STATUSGenerator != nil { + return trafficWeight_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTrafficWeight_STATUS(generators) + trafficWeight_STATUSGenerator = gen.Struct(reflect.TypeOf(TrafficWeight_STATUS{}), generators) + + return trafficWeight_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTrafficWeight_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTrafficWeight_STATUS(gens map[string]gopter.Gen) { + gens["Label"] = gen.PtrOf(gen.AlphaString()) + gens["LatestRevision"] = gen.PtrOf(gen.Bool()) + gens["RevisionName"] = gen.PtrOf(gen.AlphaString()) + gens["Weight"] = gen.PtrOf(gen.Int()) +} + +func Test_UserAssignedIdentity_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 UserAssignedIdentity_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUserAssignedIdentity_STATUS, UserAssignedIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUserAssignedIdentity_STATUS runs a test to see if a specific instance of UserAssignedIdentity_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForUserAssignedIdentity_STATUS(subject UserAssignedIdentity_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UserAssignedIdentity_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 UserAssignedIdentity_STATUS instances for property testing - lazily instantiated by +// UserAssignedIdentity_STATUSGenerator() +var userAssignedIdentity_STATUSGenerator gopter.Gen + +// UserAssignedIdentity_STATUSGenerator returns a generator of UserAssignedIdentity_STATUS instances for property testing. +func UserAssignedIdentity_STATUSGenerator() gopter.Gen { + if userAssignedIdentity_STATUSGenerator != nil { + return userAssignedIdentity_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForUserAssignedIdentity_STATUS(generators) + userAssignedIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(UserAssignedIdentity_STATUS{}), generators) + + return userAssignedIdentity_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForUserAssignedIdentity_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForUserAssignedIdentity_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["PrincipalId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_VolumeMount_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 VolumeMount_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForVolumeMount_STATUS, VolumeMount_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForVolumeMount_STATUS runs a test to see if a specific instance of VolumeMount_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForVolumeMount_STATUS(subject VolumeMount_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual VolumeMount_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 VolumeMount_STATUS instances for property testing - lazily instantiated by VolumeMount_STATUSGenerator() +var volumeMount_STATUSGenerator gopter.Gen + +// VolumeMount_STATUSGenerator returns a generator of VolumeMount_STATUS instances for property testing. +func VolumeMount_STATUSGenerator() gopter.Gen { + if volumeMount_STATUSGenerator != nil { + return volumeMount_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForVolumeMount_STATUS(generators) + volumeMount_STATUSGenerator = gen.Struct(reflect.TypeOf(VolumeMount_STATUS{}), generators) + + return volumeMount_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForVolumeMount_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForVolumeMount_STATUS(gens map[string]gopter.Gen) { + gens["MountPath"] = gen.PtrOf(gen.AlphaString()) + gens["SubPath"] = gen.PtrOf(gen.AlphaString()) + gens["VolumeName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Volume_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 Volume_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForVolume_STATUS, Volume_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForVolume_STATUS runs a test to see if a specific instance of Volume_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForVolume_STATUS(subject Volume_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Volume_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 Volume_STATUS instances for property testing - lazily instantiated by Volume_STATUSGenerator() +var volume_STATUSGenerator gopter.Gen + +// Volume_STATUSGenerator returns a generator of Volume_STATUS instances for property testing. +// We first initialize volume_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 Volume_STATUSGenerator() gopter.Gen { + if volume_STATUSGenerator != nil { + return volume_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForVolume_STATUS(generators) + volume_STATUSGenerator = gen.Struct(reflect.TypeOf(Volume_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForVolume_STATUS(generators) + AddRelatedPropertyGeneratorsForVolume_STATUS(generators) + volume_STATUSGenerator = gen.Struct(reflect.TypeOf(Volume_STATUS{}), generators) + + return volume_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForVolume_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForVolume_STATUS(gens map[string]gopter.Gen) { + gens["MountOptions"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["StorageName"] = gen.PtrOf(gen.AlphaString()) + gens["StorageType"] = gen.PtrOf(gen.OneConstOf(Volume_StorageType_STATUS_AzureFile, Volume_StorageType_STATUS_EmptyDir, Volume_StorageType_STATUS_Secret)) +} + +// AddRelatedPropertyGeneratorsForVolume_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForVolume_STATUS(gens map[string]gopter.Gen) { + gens["Secrets"] = gen.SliceOf(SecretVolumeItem_STATUSGenerator()) +} diff --git a/v2/api/app/v1api20240301/arm/job_spec_types_gen.go b/v2/api/app/v1api20240301/arm/job_spec_types_gen.go new file mode 100644 index 00000000000..61611b15447 --- /dev/null +++ b/v2/api/app/v1api20240301/arm/job_spec_types_gen.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 arm + +import ( + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" +) + +type Job_Spec struct { + // Identity: Managed identities needed by a container app job to interact with other Azure services to not maintain any + // secrets or credentials in code. + Identity *ManagedServiceIdentity `json:"identity,omitempty"` + + // Location: The geo-location where the resource lives + Location *string `json:"location,omitempty"` + Name string `json:"name,omitempty"` + + // Properties: Container Apps Job resource specific properties. + Properties *Job_Properties_Spec `json:"properties,omitempty"` + + // Tags: Resource tags. + Tags map[string]string `json:"tags,omitempty"` +} + +var _ genruntime.ARMResourceSpec = &Job_Spec{} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-03-01" +func (job Job_Spec) GetAPIVersion() string { + return "2024-03-01" +} + +// GetName returns the Name of the resource +func (job *Job_Spec) GetName() string { + return job.Name +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.App/jobs" +func (job *Job_Spec) GetType() string { + return "Microsoft.App/jobs" +} + +type Job_Properties_Spec struct { + // Configuration: Container Apps Job configuration properties. + Configuration *JobConfiguration `json:"configuration,omitempty"` + EnvironmentId *string `json:"environmentId,omitempty"` + + // Template: Container Apps job definition. + Template *JobTemplate `json:"template,omitempty"` + + // WorkloadProfileName: Workload profile name to pin for container apps job execution. + WorkloadProfileName *string `json:"workloadProfileName,omitempty"` +} + +// Non versioned Container Apps Job configuration properties +type JobConfiguration struct { + // EventTriggerConfig: Trigger configuration of an event driven job. + EventTriggerConfig *JobConfiguration_EventTriggerConfig `json:"eventTriggerConfig,omitempty"` + + // ManualTriggerConfig: Manual trigger configuration for a single execution job. Properties replicaCompletionCount and + // parallelism would be set to 1 by default + ManualTriggerConfig *JobConfiguration_ManualTriggerConfig `json:"manualTriggerConfig,omitempty"` + + // Registries: Collection of private container registry credentials used by a Container apps job + Registries []RegistryCredentials `json:"registries,omitempty"` + + // ReplicaRetryLimit: Maximum number of retries before failing the job. + ReplicaRetryLimit *int `json:"replicaRetryLimit,omitempty"` + + // ReplicaTimeout: Maximum number of seconds a replica is allowed to run. + ReplicaTimeout *int `json:"replicaTimeout,omitempty"` + + // ScheduleTriggerConfig: Cron formatted repeating trigger schedule ("* * * * *") for cronjobs. Properties completions and + // parallelism would be set to 1 by default + ScheduleTriggerConfig *JobConfiguration_ScheduleTriggerConfig `json:"scheduleTriggerConfig,omitempty"` + + // Secrets: Collection of secrets used by a Container Apps Job + Secrets []Secret `json:"secrets,omitempty"` + + // TriggerType: Trigger type of the job + TriggerType *JobConfiguration_TriggerType `json:"triggerType,omitempty"` +} + +// Container Apps Job versioned application definition. Defines the desired state of an immutable revision. Any changes to +// this section Will result in a new revision being created +type JobTemplate struct { + // Containers: List of container definitions for the Container App. + Containers []Container `json:"containers,omitempty"` + + // InitContainers: List of specialized containers that run before app containers. + InitContainers []BaseContainer `json:"initContainers,omitempty"` + + // Volumes: List of volume definitions for the Container App. + Volumes []Volume `json:"volumes,omitempty"` +} + +type JobConfiguration_EventTriggerConfig struct { + Parallelism *int `json:"parallelism,omitempty"` + ReplicaCompletionCount *int `json:"replicaCompletionCount,omitempty"` + + // Scale: Scaling configurations for event driven jobs. + Scale *JobScale `json:"scale,omitempty"` +} + +type JobConfiguration_ManualTriggerConfig struct { + Parallelism *int `json:"parallelism,omitempty"` + ReplicaCompletionCount *int `json:"replicaCompletionCount,omitempty"` +} + +type JobConfiguration_ScheduleTriggerConfig struct { + // CronExpression: Cron formatted repeating schedule ("* * * * *") of a Cron Job. + CronExpression *string `json:"cronExpression,omitempty"` + Parallelism *int `json:"parallelism,omitempty"` + ReplicaCompletionCount *int `json:"replicaCompletionCount,omitempty"` +} + +// +kubebuilder:validation:Enum={"Event","Manual","Schedule"} +type JobConfiguration_TriggerType string + +const ( + JobConfiguration_TriggerType_Event = JobConfiguration_TriggerType("Event") + JobConfiguration_TriggerType_Manual = JobConfiguration_TriggerType("Manual") + JobConfiguration_TriggerType_Schedule = JobConfiguration_TriggerType("Schedule") +) + +// Mapping from string to JobConfiguration_TriggerType +var jobConfiguration_TriggerType_Values = map[string]JobConfiguration_TriggerType{ + "event": JobConfiguration_TriggerType_Event, + "manual": JobConfiguration_TriggerType_Manual, + "schedule": JobConfiguration_TriggerType_Schedule, +} + +// Scaling configurations for event driven jobs. +type JobScale struct { + // MaxExecutions: Maximum number of job executions that are created for a trigger, default 100. + MaxExecutions *int `json:"maxExecutions,omitempty"` + + // MinExecutions: Minimum number of job executions that are created for a trigger, default 0 + MinExecutions *int `json:"minExecutions,omitempty"` + PollingInterval *int `json:"pollingInterval,omitempty"` + + // Rules: Scaling rules. + Rules []JobScaleRule `json:"rules,omitempty"` +} + +// Scaling rule. +type JobScaleRule struct { + // Auth: Authentication secrets for the scale rule. + Auth []ScaleRuleAuth `json:"auth,omitempty"` + + // Metadata: Metadata properties to describe the scale rule. + Metadata map[string]v1.JSON `json:"metadata,omitempty"` + + // Name: Scale Rule Name + Name *string `json:"name,omitempty"` + + // Type: Type of the scale rule + // eg: azure-servicebus, redis etc. + Type *string `json:"type,omitempty"` +} diff --git a/v2/api/app/v1api20240301/arm/job_spec_types_gen_test.go b/v2/api/app/v1api20240301/arm/job_spec_types_gen_test.go new file mode 100644 index 00000000000..f1e4a709f01 --- /dev/null +++ b/v2/api/app/v1api20240301/arm/job_spec_types_gen_test.go @@ -0,0 +1,668 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +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_JobConfiguration_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 JobConfiguration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobConfiguration, JobConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobConfiguration runs a test to see if a specific instance of JobConfiguration round trips to JSON and back losslessly +func RunJSONSerializationTestForJobConfiguration(subject JobConfiguration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobConfiguration + 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 JobConfiguration instances for property testing - lazily instantiated by JobConfigurationGenerator() +var jobConfigurationGenerator gopter.Gen + +// JobConfigurationGenerator returns a generator of JobConfiguration instances for property testing. +// We first initialize jobConfigurationGenerator 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 JobConfigurationGenerator() gopter.Gen { + if jobConfigurationGenerator != nil { + return jobConfigurationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration(generators) + jobConfigurationGenerator = gen.Struct(reflect.TypeOf(JobConfiguration{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration(generators) + AddRelatedPropertyGeneratorsForJobConfiguration(generators) + jobConfigurationGenerator = gen.Struct(reflect.TypeOf(JobConfiguration{}), generators) + + return jobConfigurationGenerator +} + +// AddIndependentPropertyGeneratorsForJobConfiguration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobConfiguration(gens map[string]gopter.Gen) { + gens["ReplicaRetryLimit"] = gen.PtrOf(gen.Int()) + gens["ReplicaTimeout"] = gen.PtrOf(gen.Int()) + gens["TriggerType"] = gen.PtrOf(gen.OneConstOf(JobConfiguration_TriggerType_Event, JobConfiguration_TriggerType_Manual, JobConfiguration_TriggerType_Schedule)) +} + +// AddRelatedPropertyGeneratorsForJobConfiguration is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJobConfiguration(gens map[string]gopter.Gen) { + gens["EventTriggerConfig"] = gen.PtrOf(JobConfiguration_EventTriggerConfigGenerator()) + gens["ManualTriggerConfig"] = gen.PtrOf(JobConfiguration_ManualTriggerConfigGenerator()) + gens["Registries"] = gen.SliceOf(RegistryCredentialsGenerator()) + gens["ScheduleTriggerConfig"] = gen.PtrOf(JobConfiguration_ScheduleTriggerConfigGenerator()) + gens["Secrets"] = gen.SliceOf(SecretGenerator()) +} + +func Test_JobConfiguration_EventTriggerConfig_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 JobConfiguration_EventTriggerConfig via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobConfiguration_EventTriggerConfig, JobConfiguration_EventTriggerConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobConfiguration_EventTriggerConfig runs a test to see if a specific instance of JobConfiguration_EventTriggerConfig round trips to JSON and back losslessly +func RunJSONSerializationTestForJobConfiguration_EventTriggerConfig(subject JobConfiguration_EventTriggerConfig) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobConfiguration_EventTriggerConfig + 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 JobConfiguration_EventTriggerConfig instances for property testing - lazily instantiated by +// JobConfiguration_EventTriggerConfigGenerator() +var jobConfiguration_EventTriggerConfigGenerator gopter.Gen + +// JobConfiguration_EventTriggerConfigGenerator returns a generator of JobConfiguration_EventTriggerConfig instances for property testing. +// We first initialize jobConfiguration_EventTriggerConfigGenerator 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 JobConfiguration_EventTriggerConfigGenerator() gopter.Gen { + if jobConfiguration_EventTriggerConfigGenerator != nil { + return jobConfiguration_EventTriggerConfigGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration_EventTriggerConfig(generators) + jobConfiguration_EventTriggerConfigGenerator = gen.Struct(reflect.TypeOf(JobConfiguration_EventTriggerConfig{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration_EventTriggerConfig(generators) + AddRelatedPropertyGeneratorsForJobConfiguration_EventTriggerConfig(generators) + jobConfiguration_EventTriggerConfigGenerator = gen.Struct(reflect.TypeOf(JobConfiguration_EventTriggerConfig{}), generators) + + return jobConfiguration_EventTriggerConfigGenerator +} + +// AddIndependentPropertyGeneratorsForJobConfiguration_EventTriggerConfig is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobConfiguration_EventTriggerConfig(gens map[string]gopter.Gen) { + gens["Parallelism"] = gen.PtrOf(gen.Int()) + gens["ReplicaCompletionCount"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForJobConfiguration_EventTriggerConfig is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJobConfiguration_EventTriggerConfig(gens map[string]gopter.Gen) { + gens["Scale"] = gen.PtrOf(JobScaleGenerator()) +} + +func Test_JobConfiguration_ManualTriggerConfig_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 JobConfiguration_ManualTriggerConfig via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobConfiguration_ManualTriggerConfig, JobConfiguration_ManualTriggerConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobConfiguration_ManualTriggerConfig runs a test to see if a specific instance of JobConfiguration_ManualTriggerConfig round trips to JSON and back losslessly +func RunJSONSerializationTestForJobConfiguration_ManualTriggerConfig(subject JobConfiguration_ManualTriggerConfig) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobConfiguration_ManualTriggerConfig + 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 JobConfiguration_ManualTriggerConfig instances for property testing - lazily instantiated by +// JobConfiguration_ManualTriggerConfigGenerator() +var jobConfiguration_ManualTriggerConfigGenerator gopter.Gen + +// JobConfiguration_ManualTriggerConfigGenerator returns a generator of JobConfiguration_ManualTriggerConfig instances for property testing. +func JobConfiguration_ManualTriggerConfigGenerator() gopter.Gen { + if jobConfiguration_ManualTriggerConfigGenerator != nil { + return jobConfiguration_ManualTriggerConfigGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration_ManualTriggerConfig(generators) + jobConfiguration_ManualTriggerConfigGenerator = gen.Struct(reflect.TypeOf(JobConfiguration_ManualTriggerConfig{}), generators) + + return jobConfiguration_ManualTriggerConfigGenerator +} + +// AddIndependentPropertyGeneratorsForJobConfiguration_ManualTriggerConfig is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobConfiguration_ManualTriggerConfig(gens map[string]gopter.Gen) { + gens["Parallelism"] = gen.PtrOf(gen.Int()) + gens["ReplicaCompletionCount"] = gen.PtrOf(gen.Int()) +} + +func Test_JobConfiguration_ScheduleTriggerConfig_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 JobConfiguration_ScheduleTriggerConfig via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobConfiguration_ScheduleTriggerConfig, JobConfiguration_ScheduleTriggerConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobConfiguration_ScheduleTriggerConfig runs a test to see if a specific instance of JobConfiguration_ScheduleTriggerConfig round trips to JSON and back losslessly +func RunJSONSerializationTestForJobConfiguration_ScheduleTriggerConfig(subject JobConfiguration_ScheduleTriggerConfig) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobConfiguration_ScheduleTriggerConfig + 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 JobConfiguration_ScheduleTriggerConfig instances for property testing - lazily instantiated by +// JobConfiguration_ScheduleTriggerConfigGenerator() +var jobConfiguration_ScheduleTriggerConfigGenerator gopter.Gen + +// JobConfiguration_ScheduleTriggerConfigGenerator returns a generator of JobConfiguration_ScheduleTriggerConfig instances for property testing. +func JobConfiguration_ScheduleTriggerConfigGenerator() gopter.Gen { + if jobConfiguration_ScheduleTriggerConfigGenerator != nil { + return jobConfiguration_ScheduleTriggerConfigGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration_ScheduleTriggerConfig(generators) + jobConfiguration_ScheduleTriggerConfigGenerator = gen.Struct(reflect.TypeOf(JobConfiguration_ScheduleTriggerConfig{}), generators) + + return jobConfiguration_ScheduleTriggerConfigGenerator +} + +// AddIndependentPropertyGeneratorsForJobConfiguration_ScheduleTriggerConfig is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobConfiguration_ScheduleTriggerConfig(gens map[string]gopter.Gen) { + gens["CronExpression"] = gen.PtrOf(gen.AlphaString()) + gens["Parallelism"] = gen.PtrOf(gen.Int()) + gens["ReplicaCompletionCount"] = gen.PtrOf(gen.Int()) +} + +func Test_JobScale_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 JobScale via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobScale, JobScaleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobScale runs a test to see if a specific instance of JobScale round trips to JSON and back losslessly +func RunJSONSerializationTestForJobScale(subject JobScale) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobScale + 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 JobScale instances for property testing - lazily instantiated by JobScaleGenerator() +var jobScaleGenerator gopter.Gen + +// JobScaleGenerator returns a generator of JobScale instances for property testing. +// We first initialize jobScaleGenerator 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 JobScaleGenerator() gopter.Gen { + if jobScaleGenerator != nil { + return jobScaleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobScale(generators) + jobScaleGenerator = gen.Struct(reflect.TypeOf(JobScale{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobScale(generators) + AddRelatedPropertyGeneratorsForJobScale(generators) + jobScaleGenerator = gen.Struct(reflect.TypeOf(JobScale{}), generators) + + return jobScaleGenerator +} + +// AddIndependentPropertyGeneratorsForJobScale is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobScale(gens map[string]gopter.Gen) { + gens["MaxExecutions"] = gen.PtrOf(gen.Int()) + gens["MinExecutions"] = gen.PtrOf(gen.Int()) + gens["PollingInterval"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForJobScale is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJobScale(gens map[string]gopter.Gen) { + gens["Rules"] = gen.SliceOf(JobScaleRuleGenerator()) +} + +func Test_JobScaleRule_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 JobScaleRule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobScaleRule, JobScaleRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobScaleRule runs a test to see if a specific instance of JobScaleRule round trips to JSON and back losslessly +func RunJSONSerializationTestForJobScaleRule(subject JobScaleRule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobScaleRule + 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 JobScaleRule instances for property testing - lazily instantiated by JobScaleRuleGenerator() +var jobScaleRuleGenerator gopter.Gen + +// JobScaleRuleGenerator returns a generator of JobScaleRule instances for property testing. +// We first initialize jobScaleRuleGenerator 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 JobScaleRuleGenerator() gopter.Gen { + if jobScaleRuleGenerator != nil { + return jobScaleRuleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobScaleRule(generators) + jobScaleRuleGenerator = gen.Struct(reflect.TypeOf(JobScaleRule{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobScaleRule(generators) + AddRelatedPropertyGeneratorsForJobScaleRule(generators) + jobScaleRuleGenerator = gen.Struct(reflect.TypeOf(JobScaleRule{}), generators) + + return jobScaleRuleGenerator +} + +// AddIndependentPropertyGeneratorsForJobScaleRule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobScaleRule(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForJobScaleRule is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJobScaleRule(gens map[string]gopter.Gen) { + gens["Auth"] = gen.SliceOf(ScaleRuleAuthGenerator()) +} + +func Test_JobTemplate_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 JobTemplate via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobTemplate, JobTemplateGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobTemplate runs a test to see if a specific instance of JobTemplate round trips to JSON and back losslessly +func RunJSONSerializationTestForJobTemplate(subject JobTemplate) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobTemplate + 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 JobTemplate instances for property testing - lazily instantiated by JobTemplateGenerator() +var jobTemplateGenerator gopter.Gen + +// JobTemplateGenerator returns a generator of JobTemplate instances for property testing. +func JobTemplateGenerator() gopter.Gen { + if jobTemplateGenerator != nil { + return jobTemplateGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForJobTemplate(generators) + jobTemplateGenerator = gen.Struct(reflect.TypeOf(JobTemplate{}), generators) + + return jobTemplateGenerator +} + +// AddRelatedPropertyGeneratorsForJobTemplate is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJobTemplate(gens map[string]gopter.Gen) { + gens["Containers"] = gen.SliceOf(ContainerGenerator()) + gens["InitContainers"] = gen.SliceOf(BaseContainerGenerator()) + gens["Volumes"] = gen.SliceOf(VolumeGenerator()) +} + +func Test_Job_Properties_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 Job_Properties_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJob_Properties_Spec, Job_Properties_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJob_Properties_Spec runs a test to see if a specific instance of Job_Properties_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForJob_Properties_Spec(subject Job_Properties_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Job_Properties_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 Job_Properties_Spec instances for property testing - lazily instantiated by +// Job_Properties_SpecGenerator() +var job_Properties_SpecGenerator gopter.Gen + +// Job_Properties_SpecGenerator returns a generator of Job_Properties_Spec instances for property testing. +// We first initialize job_Properties_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 Job_Properties_SpecGenerator() gopter.Gen { + if job_Properties_SpecGenerator != nil { + return job_Properties_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJob_Properties_Spec(generators) + job_Properties_SpecGenerator = gen.Struct(reflect.TypeOf(Job_Properties_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJob_Properties_Spec(generators) + AddRelatedPropertyGeneratorsForJob_Properties_Spec(generators) + job_Properties_SpecGenerator = gen.Struct(reflect.TypeOf(Job_Properties_Spec{}), generators) + + return job_Properties_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForJob_Properties_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJob_Properties_Spec(gens map[string]gopter.Gen) { + gens["EnvironmentId"] = gen.PtrOf(gen.AlphaString()) + gens["WorkloadProfileName"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForJob_Properties_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJob_Properties_Spec(gens map[string]gopter.Gen) { + gens["Configuration"] = gen.PtrOf(JobConfigurationGenerator()) + gens["Template"] = gen.PtrOf(JobTemplateGenerator()) +} + +func Test_Job_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 Job_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJob_Spec, Job_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJob_Spec runs a test to see if a specific instance of Job_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForJob_Spec(subject Job_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Job_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 Job_Spec instances for property testing - lazily instantiated by Job_SpecGenerator() +var job_SpecGenerator gopter.Gen + +// Job_SpecGenerator returns a generator of Job_Spec instances for property testing. +// We first initialize job_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 Job_SpecGenerator() gopter.Gen { + if job_SpecGenerator != nil { + return job_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJob_Spec(generators) + job_SpecGenerator = gen.Struct(reflect.TypeOf(Job_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJob_Spec(generators) + AddRelatedPropertyGeneratorsForJob_Spec(generators) + job_SpecGenerator = gen.Struct(reflect.TypeOf(Job_Spec{}), generators) + + return job_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForJob_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJob_Spec(gens map[string]gopter.Gen) { + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.AlphaString() + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForJob_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJob_Spec(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(ManagedServiceIdentityGenerator()) + gens["Properties"] = gen.PtrOf(Job_Properties_SpecGenerator()) +} diff --git a/v2/api/app/v1api20240301/arm/job_status_types_gen.go b/v2/api/app/v1api20240301/arm/job_status_types_gen.go new file mode 100644 index 00000000000..af3435aea0d --- /dev/null +++ b/v2/api/app/v1api20240301/arm/job_status_types_gen.go @@ -0,0 +1,183 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +import "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" + +// Container App Job +type Job_STATUS struct { + // Id: Fully qualified resource ID for the resource. Ex - + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + Id *string `json:"id,omitempty"` + + // Identity: Managed identities needed by a container app job to interact with other Azure services to not maintain any + // secrets or credentials in code. + Identity *ManagedServiceIdentity_STATUS `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: Container Apps Job resource specific properties. + Properties *Job_Properties_STATUS `json:"properties,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"` +} + +type Job_Properties_STATUS struct { + // Configuration: Container Apps Job configuration properties. + Configuration *JobConfiguration_STATUS `json:"configuration,omitempty"` + + // EnvironmentId: Resource ID of environment. + EnvironmentId *string `json:"environmentId,omitempty"` + + // EventStreamEndpoint: The endpoint of the eventstream of the container apps job. + EventStreamEndpoint *string `json:"eventStreamEndpoint,omitempty"` + + // OutboundIpAddresses: Outbound IP Addresses of a container apps job. + OutboundIpAddresses []string `json:"outboundIpAddresses,omitempty"` + + // ProvisioningState: Provisioning state of the Container Apps Job. + ProvisioningState *Job_Properties_ProvisioningState_STATUS `json:"provisioningState,omitempty"` + + // Template: Container Apps job definition. + Template *JobTemplate_STATUS `json:"template,omitempty"` + + // WorkloadProfileName: Workload profile name to pin for container apps job execution. + WorkloadProfileName *string `json:"workloadProfileName,omitempty"` +} + +type Job_Properties_ProvisioningState_STATUS string + +const ( + Job_Properties_ProvisioningState_STATUS_Canceled = Job_Properties_ProvisioningState_STATUS("Canceled") + Job_Properties_ProvisioningState_STATUS_Deleting = Job_Properties_ProvisioningState_STATUS("Deleting") + Job_Properties_ProvisioningState_STATUS_Failed = Job_Properties_ProvisioningState_STATUS("Failed") + Job_Properties_ProvisioningState_STATUS_InProgress = Job_Properties_ProvisioningState_STATUS("InProgress") + Job_Properties_ProvisioningState_STATUS_Succeeded = Job_Properties_ProvisioningState_STATUS("Succeeded") +) + +// Mapping from string to Job_Properties_ProvisioningState_STATUS +var job_Properties_ProvisioningState_STATUS_Values = map[string]Job_Properties_ProvisioningState_STATUS{ + "canceled": Job_Properties_ProvisioningState_STATUS_Canceled, + "deleting": Job_Properties_ProvisioningState_STATUS_Deleting, + "failed": Job_Properties_ProvisioningState_STATUS_Failed, + "inprogress": Job_Properties_ProvisioningState_STATUS_InProgress, + "succeeded": Job_Properties_ProvisioningState_STATUS_Succeeded, +} + +// Non versioned Container Apps Job configuration properties +type JobConfiguration_STATUS struct { + // EventTriggerConfig: Trigger configuration of an event driven job. + EventTriggerConfig *JobConfiguration_EventTriggerConfig_STATUS `json:"eventTriggerConfig,omitempty"` + + // ManualTriggerConfig: Manual trigger configuration for a single execution job. Properties replicaCompletionCount and + // parallelism would be set to 1 by default + ManualTriggerConfig *JobConfiguration_ManualTriggerConfig_STATUS `json:"manualTriggerConfig,omitempty"` + + // Registries: Collection of private container registry credentials used by a Container apps job + Registries []RegistryCredentials_STATUS `json:"registries,omitempty"` + + // ReplicaRetryLimit: Maximum number of retries before failing the job. + ReplicaRetryLimit *int `json:"replicaRetryLimit,omitempty"` + + // ReplicaTimeout: Maximum number of seconds a replica is allowed to run. + ReplicaTimeout *int `json:"replicaTimeout,omitempty"` + + // ScheduleTriggerConfig: Cron formatted repeating trigger schedule ("* * * * *") for cronjobs. Properties completions and + // parallelism would be set to 1 by default + ScheduleTriggerConfig *JobConfiguration_ScheduleTriggerConfig_STATUS `json:"scheduleTriggerConfig,omitempty"` + + // Secrets: Collection of secrets used by a Container Apps Job + Secrets []Secret_STATUS `json:"secrets,omitempty"` + + // TriggerType: Trigger type of the job + TriggerType *JobConfiguration_TriggerType_STATUS `json:"triggerType,omitempty"` +} + +// Container Apps Job versioned application definition. Defines the desired state of an immutable revision. Any changes to +// this section Will result in a new revision being created +type JobTemplate_STATUS struct { + // Containers: List of container definitions for the Container App. + Containers []Container_STATUS `json:"containers,omitempty"` + + // InitContainers: List of specialized containers that run before app containers. + InitContainers []BaseContainer_STATUS `json:"initContainers,omitempty"` + + // Volumes: List of volume definitions for the Container App. + Volumes []Volume_STATUS `json:"volumes,omitempty"` +} + +type JobConfiguration_EventTriggerConfig_STATUS struct { + Parallelism *int `json:"parallelism,omitempty"` + ReplicaCompletionCount *int `json:"replicaCompletionCount,omitempty"` + + // Scale: Scaling configurations for event driven jobs. + Scale *JobScale_STATUS `json:"scale,omitempty"` +} + +type JobConfiguration_ManualTriggerConfig_STATUS struct { + Parallelism *int `json:"parallelism,omitempty"` + ReplicaCompletionCount *int `json:"replicaCompletionCount,omitempty"` +} + +type JobConfiguration_ScheduleTriggerConfig_STATUS struct { + // CronExpression: Cron formatted repeating schedule ("* * * * *") of a Cron Job. + CronExpression *string `json:"cronExpression,omitempty"` + Parallelism *int `json:"parallelism,omitempty"` + ReplicaCompletionCount *int `json:"replicaCompletionCount,omitempty"` +} + +type JobConfiguration_TriggerType_STATUS string + +const ( + JobConfiguration_TriggerType_STATUS_Event = JobConfiguration_TriggerType_STATUS("Event") + JobConfiguration_TriggerType_STATUS_Manual = JobConfiguration_TriggerType_STATUS("Manual") + JobConfiguration_TriggerType_STATUS_Schedule = JobConfiguration_TriggerType_STATUS("Schedule") +) + +// Mapping from string to JobConfiguration_TriggerType_STATUS +var jobConfiguration_TriggerType_STATUS_Values = map[string]JobConfiguration_TriggerType_STATUS{ + "event": JobConfiguration_TriggerType_STATUS_Event, + "manual": JobConfiguration_TriggerType_STATUS_Manual, + "schedule": JobConfiguration_TriggerType_STATUS_Schedule, +} + +// Scaling configurations for event driven jobs. +type JobScale_STATUS struct { + // MaxExecutions: Maximum number of job executions that are created for a trigger, default 100. + MaxExecutions *int `json:"maxExecutions,omitempty"` + + // MinExecutions: Minimum number of job executions that are created for a trigger, default 0 + MinExecutions *int `json:"minExecutions,omitempty"` + PollingInterval *int `json:"pollingInterval,omitempty"` + + // Rules: Scaling rules. + Rules []JobScaleRule_STATUS `json:"rules,omitempty"` +} + +// Scaling rule. +type JobScaleRule_STATUS struct { + // Auth: Authentication secrets for the scale rule. + Auth []ScaleRuleAuth_STATUS `json:"auth,omitempty"` + + // Metadata: Metadata properties to describe the scale rule. + Metadata map[string]v1.JSON `json:"metadata,omitempty"` + + // Name: Scale Rule Name + Name *string `json:"name,omitempty"` + + // Type: Type of the scale rule + // eg: azure-servicebus, redis etc. + Type *string `json:"type,omitempty"` +} diff --git a/v2/api/app/v1api20240301/arm/job_status_types_gen_test.go b/v2/api/app/v1api20240301/arm/job_status_types_gen_test.go new file mode 100644 index 00000000000..1a7ff1a6d58 --- /dev/null +++ b/v2/api/app/v1api20240301/arm/job_status_types_gen_test.go @@ -0,0 +1,681 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +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_JobConfiguration_EventTriggerConfig_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 JobConfiguration_EventTriggerConfig_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobConfiguration_EventTriggerConfig_STATUS, JobConfiguration_EventTriggerConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobConfiguration_EventTriggerConfig_STATUS runs a test to see if a specific instance of JobConfiguration_EventTriggerConfig_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForJobConfiguration_EventTriggerConfig_STATUS(subject JobConfiguration_EventTriggerConfig_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobConfiguration_EventTriggerConfig_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 JobConfiguration_EventTriggerConfig_STATUS instances for property testing - lazily instantiated by +// JobConfiguration_EventTriggerConfig_STATUSGenerator() +var jobConfiguration_EventTriggerConfig_STATUSGenerator gopter.Gen + +// JobConfiguration_EventTriggerConfig_STATUSGenerator returns a generator of JobConfiguration_EventTriggerConfig_STATUS instances for property testing. +// We first initialize jobConfiguration_EventTriggerConfig_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 JobConfiguration_EventTriggerConfig_STATUSGenerator() gopter.Gen { + if jobConfiguration_EventTriggerConfig_STATUSGenerator != nil { + return jobConfiguration_EventTriggerConfig_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration_EventTriggerConfig_STATUS(generators) + jobConfiguration_EventTriggerConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(JobConfiguration_EventTriggerConfig_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration_EventTriggerConfig_STATUS(generators) + AddRelatedPropertyGeneratorsForJobConfiguration_EventTriggerConfig_STATUS(generators) + jobConfiguration_EventTriggerConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(JobConfiguration_EventTriggerConfig_STATUS{}), generators) + + return jobConfiguration_EventTriggerConfig_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForJobConfiguration_EventTriggerConfig_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobConfiguration_EventTriggerConfig_STATUS(gens map[string]gopter.Gen) { + gens["Parallelism"] = gen.PtrOf(gen.Int()) + gens["ReplicaCompletionCount"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForJobConfiguration_EventTriggerConfig_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJobConfiguration_EventTriggerConfig_STATUS(gens map[string]gopter.Gen) { + gens["Scale"] = gen.PtrOf(JobScale_STATUSGenerator()) +} + +func Test_JobConfiguration_ManualTriggerConfig_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 JobConfiguration_ManualTriggerConfig_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobConfiguration_ManualTriggerConfig_STATUS, JobConfiguration_ManualTriggerConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobConfiguration_ManualTriggerConfig_STATUS runs a test to see if a specific instance of JobConfiguration_ManualTriggerConfig_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForJobConfiguration_ManualTriggerConfig_STATUS(subject JobConfiguration_ManualTriggerConfig_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobConfiguration_ManualTriggerConfig_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 JobConfiguration_ManualTriggerConfig_STATUS instances for property testing - lazily instantiated by +// JobConfiguration_ManualTriggerConfig_STATUSGenerator() +var jobConfiguration_ManualTriggerConfig_STATUSGenerator gopter.Gen + +// JobConfiguration_ManualTriggerConfig_STATUSGenerator returns a generator of JobConfiguration_ManualTriggerConfig_STATUS instances for property testing. +func JobConfiguration_ManualTriggerConfig_STATUSGenerator() gopter.Gen { + if jobConfiguration_ManualTriggerConfig_STATUSGenerator != nil { + return jobConfiguration_ManualTriggerConfig_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration_ManualTriggerConfig_STATUS(generators) + jobConfiguration_ManualTriggerConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(JobConfiguration_ManualTriggerConfig_STATUS{}), generators) + + return jobConfiguration_ManualTriggerConfig_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForJobConfiguration_ManualTriggerConfig_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobConfiguration_ManualTriggerConfig_STATUS(gens map[string]gopter.Gen) { + gens["Parallelism"] = gen.PtrOf(gen.Int()) + gens["ReplicaCompletionCount"] = gen.PtrOf(gen.Int()) +} + +func Test_JobConfiguration_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 JobConfiguration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobConfiguration_STATUS, JobConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobConfiguration_STATUS runs a test to see if a specific instance of JobConfiguration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForJobConfiguration_STATUS(subject JobConfiguration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobConfiguration_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 JobConfiguration_STATUS instances for property testing - lazily instantiated by +// JobConfiguration_STATUSGenerator() +var jobConfiguration_STATUSGenerator gopter.Gen + +// JobConfiguration_STATUSGenerator returns a generator of JobConfiguration_STATUS instances for property testing. +// We first initialize jobConfiguration_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 JobConfiguration_STATUSGenerator() gopter.Gen { + if jobConfiguration_STATUSGenerator != nil { + return jobConfiguration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration_STATUS(generators) + jobConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(JobConfiguration_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration_STATUS(generators) + AddRelatedPropertyGeneratorsForJobConfiguration_STATUS(generators) + jobConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(JobConfiguration_STATUS{}), generators) + + return jobConfiguration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForJobConfiguration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["ReplicaRetryLimit"] = gen.PtrOf(gen.Int()) + gens["ReplicaTimeout"] = gen.PtrOf(gen.Int()) + gens["TriggerType"] = gen.PtrOf(gen.OneConstOf(JobConfiguration_TriggerType_STATUS_Event, JobConfiguration_TriggerType_STATUS_Manual, JobConfiguration_TriggerType_STATUS_Schedule)) +} + +// AddRelatedPropertyGeneratorsForJobConfiguration_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJobConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["EventTriggerConfig"] = gen.PtrOf(JobConfiguration_EventTriggerConfig_STATUSGenerator()) + gens["ManualTriggerConfig"] = gen.PtrOf(JobConfiguration_ManualTriggerConfig_STATUSGenerator()) + gens["Registries"] = gen.SliceOf(RegistryCredentials_STATUSGenerator()) + gens["ScheduleTriggerConfig"] = gen.PtrOf(JobConfiguration_ScheduleTriggerConfig_STATUSGenerator()) + gens["Secrets"] = gen.SliceOf(Secret_STATUSGenerator()) +} + +func Test_JobConfiguration_ScheduleTriggerConfig_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 JobConfiguration_ScheduleTriggerConfig_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobConfiguration_ScheduleTriggerConfig_STATUS, JobConfiguration_ScheduleTriggerConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobConfiguration_ScheduleTriggerConfig_STATUS runs a test to see if a specific instance of JobConfiguration_ScheduleTriggerConfig_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForJobConfiguration_ScheduleTriggerConfig_STATUS(subject JobConfiguration_ScheduleTriggerConfig_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobConfiguration_ScheduleTriggerConfig_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 JobConfiguration_ScheduleTriggerConfig_STATUS instances for property testing - lazily instantiated by +// JobConfiguration_ScheduleTriggerConfig_STATUSGenerator() +var jobConfiguration_ScheduleTriggerConfig_STATUSGenerator gopter.Gen + +// JobConfiguration_ScheduleTriggerConfig_STATUSGenerator returns a generator of JobConfiguration_ScheduleTriggerConfig_STATUS instances for property testing. +func JobConfiguration_ScheduleTriggerConfig_STATUSGenerator() gopter.Gen { + if jobConfiguration_ScheduleTriggerConfig_STATUSGenerator != nil { + return jobConfiguration_ScheduleTriggerConfig_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration_ScheduleTriggerConfig_STATUS(generators) + jobConfiguration_ScheduleTriggerConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(JobConfiguration_ScheduleTriggerConfig_STATUS{}), generators) + + return jobConfiguration_ScheduleTriggerConfig_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForJobConfiguration_ScheduleTriggerConfig_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobConfiguration_ScheduleTriggerConfig_STATUS(gens map[string]gopter.Gen) { + gens["CronExpression"] = gen.PtrOf(gen.AlphaString()) + gens["Parallelism"] = gen.PtrOf(gen.Int()) + gens["ReplicaCompletionCount"] = gen.PtrOf(gen.Int()) +} + +func Test_JobScaleRule_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 JobScaleRule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobScaleRule_STATUS, JobScaleRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobScaleRule_STATUS runs a test to see if a specific instance of JobScaleRule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForJobScaleRule_STATUS(subject JobScaleRule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobScaleRule_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 JobScaleRule_STATUS instances for property testing - lazily instantiated by +// JobScaleRule_STATUSGenerator() +var jobScaleRule_STATUSGenerator gopter.Gen + +// JobScaleRule_STATUSGenerator returns a generator of JobScaleRule_STATUS instances for property testing. +// We first initialize jobScaleRule_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 JobScaleRule_STATUSGenerator() gopter.Gen { + if jobScaleRule_STATUSGenerator != nil { + return jobScaleRule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobScaleRule_STATUS(generators) + jobScaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(JobScaleRule_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobScaleRule_STATUS(generators) + AddRelatedPropertyGeneratorsForJobScaleRule_STATUS(generators) + jobScaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(JobScaleRule_STATUS{}), generators) + + return jobScaleRule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForJobScaleRule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForJobScaleRule_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJobScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["Auth"] = gen.SliceOf(ScaleRuleAuth_STATUSGenerator()) +} + +func Test_JobScale_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 JobScale_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobScale_STATUS, JobScale_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobScale_STATUS runs a test to see if a specific instance of JobScale_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForJobScale_STATUS(subject JobScale_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobScale_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 JobScale_STATUS instances for property testing - lazily instantiated by JobScale_STATUSGenerator() +var jobScale_STATUSGenerator gopter.Gen + +// JobScale_STATUSGenerator returns a generator of JobScale_STATUS instances for property testing. +// We first initialize jobScale_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 JobScale_STATUSGenerator() gopter.Gen { + if jobScale_STATUSGenerator != nil { + return jobScale_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobScale_STATUS(generators) + jobScale_STATUSGenerator = gen.Struct(reflect.TypeOf(JobScale_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobScale_STATUS(generators) + AddRelatedPropertyGeneratorsForJobScale_STATUS(generators) + jobScale_STATUSGenerator = gen.Struct(reflect.TypeOf(JobScale_STATUS{}), generators) + + return jobScale_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForJobScale_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobScale_STATUS(gens map[string]gopter.Gen) { + gens["MaxExecutions"] = gen.PtrOf(gen.Int()) + gens["MinExecutions"] = gen.PtrOf(gen.Int()) + gens["PollingInterval"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForJobScale_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJobScale_STATUS(gens map[string]gopter.Gen) { + gens["Rules"] = gen.SliceOf(JobScaleRule_STATUSGenerator()) +} + +func Test_JobTemplate_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 JobTemplate_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobTemplate_STATUS, JobTemplate_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobTemplate_STATUS runs a test to see if a specific instance of JobTemplate_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForJobTemplate_STATUS(subject JobTemplate_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobTemplate_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 JobTemplate_STATUS instances for property testing - lazily instantiated by JobTemplate_STATUSGenerator() +var jobTemplate_STATUSGenerator gopter.Gen + +// JobTemplate_STATUSGenerator returns a generator of JobTemplate_STATUS instances for property testing. +func JobTemplate_STATUSGenerator() gopter.Gen { + if jobTemplate_STATUSGenerator != nil { + return jobTemplate_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForJobTemplate_STATUS(generators) + jobTemplate_STATUSGenerator = gen.Struct(reflect.TypeOf(JobTemplate_STATUS{}), generators) + + return jobTemplate_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForJobTemplate_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJobTemplate_STATUS(gens map[string]gopter.Gen) { + gens["Containers"] = gen.SliceOf(Container_STATUSGenerator()) + gens["InitContainers"] = gen.SliceOf(BaseContainer_STATUSGenerator()) + gens["Volumes"] = gen.SliceOf(Volume_STATUSGenerator()) +} + +func Test_Job_Properties_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 Job_Properties_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJob_Properties_STATUS, Job_Properties_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJob_Properties_STATUS runs a test to see if a specific instance of Job_Properties_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForJob_Properties_STATUS(subject Job_Properties_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Job_Properties_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 Job_Properties_STATUS instances for property testing - lazily instantiated by +// Job_Properties_STATUSGenerator() +var job_Properties_STATUSGenerator gopter.Gen + +// Job_Properties_STATUSGenerator returns a generator of Job_Properties_STATUS instances for property testing. +// We first initialize job_Properties_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 Job_Properties_STATUSGenerator() gopter.Gen { + if job_Properties_STATUSGenerator != nil { + return job_Properties_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJob_Properties_STATUS(generators) + job_Properties_STATUSGenerator = gen.Struct(reflect.TypeOf(Job_Properties_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJob_Properties_STATUS(generators) + AddRelatedPropertyGeneratorsForJob_Properties_STATUS(generators) + job_Properties_STATUSGenerator = gen.Struct(reflect.TypeOf(Job_Properties_STATUS{}), generators) + + return job_Properties_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForJob_Properties_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJob_Properties_STATUS(gens map[string]gopter.Gen) { + gens["EnvironmentId"] = gen.PtrOf(gen.AlphaString()) + gens["EventStreamEndpoint"] = gen.PtrOf(gen.AlphaString()) + gens["OutboundIpAddresses"] = gen.SliceOf(gen.AlphaString()) + gens["ProvisioningState"] = gen.PtrOf(gen.OneConstOf( + Job_Properties_ProvisioningState_STATUS_Canceled, + Job_Properties_ProvisioningState_STATUS_Deleting, + Job_Properties_ProvisioningState_STATUS_Failed, + Job_Properties_ProvisioningState_STATUS_InProgress, + Job_Properties_ProvisioningState_STATUS_Succeeded)) + gens["WorkloadProfileName"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForJob_Properties_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJob_Properties_STATUS(gens map[string]gopter.Gen) { + gens["Configuration"] = gen.PtrOf(JobConfiguration_STATUSGenerator()) + gens["Template"] = gen.PtrOf(JobTemplate_STATUSGenerator()) +} + +func Test_Job_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 Job_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJob_STATUS, Job_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJob_STATUS runs a test to see if a specific instance of Job_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForJob_STATUS(subject Job_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Job_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 Job_STATUS instances for property testing - lazily instantiated by Job_STATUSGenerator() +var job_STATUSGenerator gopter.Gen + +// Job_STATUSGenerator returns a generator of Job_STATUS instances for property testing. +// We first initialize job_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 Job_STATUSGenerator() gopter.Gen { + if job_STATUSGenerator != nil { + return job_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJob_STATUS(generators) + job_STATUSGenerator = gen.Struct(reflect.TypeOf(Job_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJob_STATUS(generators) + AddRelatedPropertyGeneratorsForJob_STATUS(generators) + job_STATUSGenerator = gen.Struct(reflect.TypeOf(Job_STATUS{}), generators) + + return job_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForJob_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJob_STATUS(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()) +} + +// AddRelatedPropertyGeneratorsForJob_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJob_STATUS(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(ManagedServiceIdentity_STATUSGenerator()) + gens["Properties"] = gen.PtrOf(Job_Properties_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} diff --git a/v2/api/app/v1api20240301/arm/managed_environment_spec_types_gen.go b/v2/api/app/v1api20240301/arm/managed_environment_spec_types_gen.go new file mode 100644 index 00000000000..cd385b20691 --- /dev/null +++ b/v2/api/app/v1api20240301/arm/managed_environment_spec_types_gen.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 arm + +import "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + +type ManagedEnvironment_Spec struct { + // Kind: Kind of the Environment. + Kind *string `json:"kind,omitempty"` + + // Location: The geo-location where the resource lives + Location *string `json:"location,omitempty"` + Name string `json:"name,omitempty"` + + // Properties: Managed environment resource specific properties + Properties *ManagedEnvironment_Properties_Spec `json:"properties,omitempty"` + + // Tags: Resource tags. + Tags map[string]string `json:"tags,omitempty"` +} + +var _ genruntime.ARMResourceSpec = &ManagedEnvironment_Spec{} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-03-01" +func (environment ManagedEnvironment_Spec) GetAPIVersion() string { + return "2024-03-01" +} + +// GetName returns the Name of the resource +func (environment *ManagedEnvironment_Spec) GetName() string { + return environment.Name +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.App/managedEnvironments" +func (environment *ManagedEnvironment_Spec) GetType() string { + return "Microsoft.App/managedEnvironments" +} + +type ManagedEnvironment_Properties_Spec struct { + // AppLogsConfiguration: Cluster configuration which enables the log daemon to export app logs to configured destination. + AppLogsConfiguration *AppLogsConfiguration `json:"appLogsConfiguration,omitempty"` + + // CustomDomainConfiguration: Custom domain configuration for the environment + CustomDomainConfiguration *CustomDomainConfiguration `json:"customDomainConfiguration,omitempty"` + + // DaprAIConnectionString: Application Insights connection string used by Dapr to export Service to Service communication + // telemetry + DaprAIConnectionString *string `json:"daprAIConnectionString,omitempty"` + + // DaprAIInstrumentationKey: Azure Monitor instrumentation key used by Dapr to export Service to Service communication + // telemetry + DaprAIInstrumentationKey *string `json:"daprAIInstrumentationKey,omitempty"` + + // InfrastructureResourceGroup: Name of the platform-managed resource group created for the Managed Environment to host + // infrastructure resources. If a subnet ID is provided, this resource group will be created in the same subscription as + // the subnet. + InfrastructureResourceGroup *string `json:"infrastructureResourceGroup,omitempty"` + + // PeerAuthentication: Peer authentication settings for the Managed Environment + PeerAuthentication *ManagedEnvironment_Properties_PeerAuthentication_Spec `json:"peerAuthentication,omitempty"` + + // PeerTrafficConfiguration: Peer traffic settings for the Managed Environment + PeerTrafficConfiguration *ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec `json:"peerTrafficConfiguration,omitempty"` + + // VnetConfiguration: Vnet configuration for the environment + VnetConfiguration *VnetConfiguration `json:"vnetConfiguration,omitempty"` + + // WorkloadProfiles: Workload profiles configured for the Managed Environment. + WorkloadProfiles []WorkloadProfile `json:"workloadProfiles,omitempty"` + + // ZoneRedundant: Whether or not this Managed Environment is zone-redundant. + ZoneRedundant *bool `json:"zoneRedundant,omitempty"` +} + +// Configuration of application logs +type AppLogsConfiguration struct { + // Destination: Logs destination, can be 'log-analytics', 'azure-monitor' or 'none' + Destination *string `json:"destination,omitempty"` + + // LogAnalyticsConfiguration: Log Analytics configuration, must only be provided when destination is configured as + // 'log-analytics' + LogAnalyticsConfiguration *LogAnalyticsConfiguration `json:"logAnalyticsConfiguration,omitempty"` +} + +// Configuration properties for apps environment custom domain +type CustomDomainConfiguration struct { + // CertificatePassword: Certificate password + CertificatePassword *string `json:"certificatePassword,omitempty"` + + // CertificateValue: PFX or PEM blob + CertificateValue *string `json:"certificateValue,omitempty"` + + // DnsSuffix: Dns suffix for the environment domain + DnsSuffix *string `json:"dnsSuffix,omitempty"` +} + +type ManagedEnvironment_Properties_PeerAuthentication_Spec struct { + // Mtls: Mutual TLS authentication settings for the Managed Environment + Mtls *Mtls `json:"mtls,omitempty"` +} + +type ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec struct { + // Encryption: Peer traffic encryption settings for the Managed Environment + Encryption *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec `json:"encryption,omitempty"` +} + +// Configuration properties for apps environment to join a Virtual Network +type VnetConfiguration struct { + // DockerBridgeCidr: CIDR notation IP range assigned to the Docker bridge, network. Must not overlap with any other + // provided IP ranges. + DockerBridgeCidr *string `json:"dockerBridgeCidr,omitempty"` + InfrastructureSubnetId *string `json:"infrastructureSubnetId,omitempty"` + + // Internal: Boolean indicating the environment only has an internal load balancer. These environments do not have a public + // static IP resource. They must provide infrastructureSubnetId if enabling this property + Internal *bool `json:"internal,omitempty"` + + // PlatformReservedCidr: IP range in CIDR notation that can be reserved for environment infrastructure IP addresses. Must + // not overlap with any other provided IP ranges. + PlatformReservedCidr *string `json:"platformReservedCidr,omitempty"` + + // PlatformReservedDnsIP: An IP address from the IP range defined by platformReservedCidr that will be reserved for the + // internal DNS server. + PlatformReservedDnsIP *string `json:"platformReservedDnsIP,omitempty"` +} + +// Workload profile to scope container app execution. +type WorkloadProfile struct { + // MaximumCount: The maximum capacity. + MaximumCount *int `json:"maximumCount,omitempty"` + + // MinimumCount: The minimum capacity. + MinimumCount *int `json:"minimumCount,omitempty"` + + // Name: Workload profile type for the workloads to run on. + Name *string `json:"name,omitempty"` + + // WorkloadProfileType: Workload profile type for the workloads to run on. + WorkloadProfileType *string `json:"workloadProfileType,omitempty"` +} + +// Log Analytics configuration, must only be provided when destination is configured as 'log-analytics' +type LogAnalyticsConfiguration struct { + // CustomerId: Log analytics customer id + CustomerId *string `json:"customerId,omitempty"` + + // SharedKey: Log analytics customer key + SharedKey *string `json:"sharedKey,omitempty"` +} + +type ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec struct { + // Enabled: Boolean indicating whether the peer traffic encryption is enabled + Enabled *bool `json:"enabled,omitempty"` +} + +// Configuration properties for mutual TLS authentication +type Mtls struct { + // Enabled: Boolean indicating whether the mutual TLS authentication is enabled + Enabled *bool `json:"enabled,omitempty"` +} diff --git a/v2/api/app/v1api20240301/arm/managed_environment_spec_types_gen_test.go b/v2/api/app/v1api20240301/arm/managed_environment_spec_types_gen_test.go new file mode 100644 index 00000000000..aba63a9f93a --- /dev/null +++ b/v2/api/app/v1api20240301/arm/managed_environment_spec_types_gen_test.go @@ -0,0 +1,751 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +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_AppLogsConfiguration_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 AppLogsConfiguration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAppLogsConfiguration, AppLogsConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAppLogsConfiguration runs a test to see if a specific instance of AppLogsConfiguration round trips to JSON and back losslessly +func RunJSONSerializationTestForAppLogsConfiguration(subject AppLogsConfiguration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AppLogsConfiguration + 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 AppLogsConfiguration instances for property testing - lazily instantiated by +// AppLogsConfigurationGenerator() +var appLogsConfigurationGenerator gopter.Gen + +// AppLogsConfigurationGenerator returns a generator of AppLogsConfiguration instances for property testing. +// We first initialize appLogsConfigurationGenerator 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 AppLogsConfigurationGenerator() gopter.Gen { + if appLogsConfigurationGenerator != nil { + return appLogsConfigurationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAppLogsConfiguration(generators) + appLogsConfigurationGenerator = gen.Struct(reflect.TypeOf(AppLogsConfiguration{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAppLogsConfiguration(generators) + AddRelatedPropertyGeneratorsForAppLogsConfiguration(generators) + appLogsConfigurationGenerator = gen.Struct(reflect.TypeOf(AppLogsConfiguration{}), generators) + + return appLogsConfigurationGenerator +} + +// AddIndependentPropertyGeneratorsForAppLogsConfiguration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAppLogsConfiguration(gens map[string]gopter.Gen) { + gens["Destination"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForAppLogsConfiguration is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAppLogsConfiguration(gens map[string]gopter.Gen) { + gens["LogAnalyticsConfiguration"] = gen.PtrOf(LogAnalyticsConfigurationGenerator()) +} + +func Test_CustomDomainConfiguration_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 CustomDomainConfiguration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCustomDomainConfiguration, CustomDomainConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCustomDomainConfiguration runs a test to see if a specific instance of CustomDomainConfiguration round trips to JSON and back losslessly +func RunJSONSerializationTestForCustomDomainConfiguration(subject CustomDomainConfiguration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CustomDomainConfiguration + 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 CustomDomainConfiguration instances for property testing - lazily instantiated by +// CustomDomainConfigurationGenerator() +var customDomainConfigurationGenerator gopter.Gen + +// CustomDomainConfigurationGenerator returns a generator of CustomDomainConfiguration instances for property testing. +func CustomDomainConfigurationGenerator() gopter.Gen { + if customDomainConfigurationGenerator != nil { + return customDomainConfigurationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomDomainConfiguration(generators) + customDomainConfigurationGenerator = gen.Struct(reflect.TypeOf(CustomDomainConfiguration{}), generators) + + return customDomainConfigurationGenerator +} + +// AddIndependentPropertyGeneratorsForCustomDomainConfiguration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCustomDomainConfiguration(gens map[string]gopter.Gen) { + gens["CertificatePassword"] = gen.PtrOf(gen.AlphaString()) + gens["CertificateValue"] = gen.PtrOf(gen.AlphaString()) + gens["DnsSuffix"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_LogAnalyticsConfiguration_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 LogAnalyticsConfiguration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLogAnalyticsConfiguration, LogAnalyticsConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLogAnalyticsConfiguration runs a test to see if a specific instance of LogAnalyticsConfiguration round trips to JSON and back losslessly +func RunJSONSerializationTestForLogAnalyticsConfiguration(subject LogAnalyticsConfiguration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual LogAnalyticsConfiguration + 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 LogAnalyticsConfiguration instances for property testing - lazily instantiated by +// LogAnalyticsConfigurationGenerator() +var logAnalyticsConfigurationGenerator gopter.Gen + +// LogAnalyticsConfigurationGenerator returns a generator of LogAnalyticsConfiguration instances for property testing. +func LogAnalyticsConfigurationGenerator() gopter.Gen { + if logAnalyticsConfigurationGenerator != nil { + return logAnalyticsConfigurationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLogAnalyticsConfiguration(generators) + logAnalyticsConfigurationGenerator = gen.Struct(reflect.TypeOf(LogAnalyticsConfiguration{}), generators) + + return logAnalyticsConfigurationGenerator +} + +// AddIndependentPropertyGeneratorsForLogAnalyticsConfiguration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLogAnalyticsConfiguration(gens map[string]gopter.Gen) { + gens["CustomerId"] = gen.PtrOf(gen.AlphaString()) + gens["SharedKey"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedEnvironment_Properties_PeerAuthentication_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 ManagedEnvironment_Properties_PeerAuthentication_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedEnvironment_Properties_PeerAuthentication_Spec, ManagedEnvironment_Properties_PeerAuthentication_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedEnvironment_Properties_PeerAuthentication_Spec runs a test to see if a specific instance of ManagedEnvironment_Properties_PeerAuthentication_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedEnvironment_Properties_PeerAuthentication_Spec(subject ManagedEnvironment_Properties_PeerAuthentication_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedEnvironment_Properties_PeerAuthentication_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 ManagedEnvironment_Properties_PeerAuthentication_Spec instances for property testing - lazily +// instantiated by ManagedEnvironment_Properties_PeerAuthentication_SpecGenerator() +var managedEnvironment_Properties_PeerAuthentication_SpecGenerator gopter.Gen + +// ManagedEnvironment_Properties_PeerAuthentication_SpecGenerator returns a generator of ManagedEnvironment_Properties_PeerAuthentication_Spec instances for property testing. +func ManagedEnvironment_Properties_PeerAuthentication_SpecGenerator() gopter.Gen { + if managedEnvironment_Properties_PeerAuthentication_SpecGenerator != nil { + return managedEnvironment_Properties_PeerAuthentication_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerAuthentication_Spec(generators) + managedEnvironment_Properties_PeerAuthentication_SpecGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_Properties_PeerAuthentication_Spec{}), generators) + + return managedEnvironment_Properties_PeerAuthentication_SpecGenerator +} + +// AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerAuthentication_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerAuthentication_Spec(gens map[string]gopter.Gen) { + gens["Mtls"] = gen.PtrOf(MtlsGenerator()) +} + +func Test_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_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 ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec, ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec runs a test to see if a specific instance of ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec(subject ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_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 ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec instances for property testing - +// lazily instantiated by ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_SpecGenerator() +var managedEnvironment_Properties_PeerTrafficConfiguration_Encryption_SpecGenerator gopter.Gen + +// ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_SpecGenerator returns a generator of ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec instances for property testing. +func ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_SpecGenerator() gopter.Gen { + if managedEnvironment_Properties_PeerTrafficConfiguration_Encryption_SpecGenerator != nil { + return managedEnvironment_Properties_PeerTrafficConfiguration_Encryption_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec(generators) + managedEnvironment_Properties_PeerTrafficConfiguration_Encryption_SpecGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec{}), generators) + + return managedEnvironment_Properties_PeerTrafficConfiguration_Encryption_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedEnvironment_Properties_PeerTrafficConfiguration_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 ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Spec, ManagedEnvironment_Properties_PeerTrafficConfiguration_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Spec runs a test to see if a specific instance of ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Spec(subject ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedEnvironment_Properties_PeerTrafficConfiguration_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 ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec instances for property testing - lazily +// instantiated by ManagedEnvironment_Properties_PeerTrafficConfiguration_SpecGenerator() +var managedEnvironment_Properties_PeerTrafficConfiguration_SpecGenerator gopter.Gen + +// ManagedEnvironment_Properties_PeerTrafficConfiguration_SpecGenerator returns a generator of ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec instances for property testing. +func ManagedEnvironment_Properties_PeerTrafficConfiguration_SpecGenerator() gopter.Gen { + if managedEnvironment_Properties_PeerTrafficConfiguration_SpecGenerator != nil { + return managedEnvironment_Properties_PeerTrafficConfiguration_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_Spec(generators) + managedEnvironment_Properties_PeerTrafficConfiguration_SpecGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec{}), generators) + + return managedEnvironment_Properties_PeerTrafficConfiguration_SpecGenerator +} + +// AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_Spec(gens map[string]gopter.Gen) { + gens["Encryption"] = gen.PtrOf(ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_SpecGenerator()) +} + +func Test_ManagedEnvironment_Properties_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 ManagedEnvironment_Properties_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedEnvironment_Properties_Spec, ManagedEnvironment_Properties_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedEnvironment_Properties_Spec runs a test to see if a specific instance of ManagedEnvironment_Properties_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedEnvironment_Properties_Spec(subject ManagedEnvironment_Properties_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedEnvironment_Properties_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 ManagedEnvironment_Properties_Spec instances for property testing - lazily instantiated by +// ManagedEnvironment_Properties_SpecGenerator() +var managedEnvironment_Properties_SpecGenerator gopter.Gen + +// ManagedEnvironment_Properties_SpecGenerator returns a generator of ManagedEnvironment_Properties_Spec instances for property testing. +// We first initialize managedEnvironment_Properties_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 ManagedEnvironment_Properties_SpecGenerator() gopter.Gen { + if managedEnvironment_Properties_SpecGenerator != nil { + return managedEnvironment_Properties_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedEnvironment_Properties_Spec(generators) + managedEnvironment_Properties_SpecGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_Properties_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedEnvironment_Properties_Spec(generators) + AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_Spec(generators) + managedEnvironment_Properties_SpecGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_Properties_Spec{}), generators) + + return managedEnvironment_Properties_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForManagedEnvironment_Properties_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedEnvironment_Properties_Spec(gens map[string]gopter.Gen) { + gens["DaprAIConnectionString"] = gen.PtrOf(gen.AlphaString()) + gens["DaprAIInstrumentationKey"] = gen.PtrOf(gen.AlphaString()) + gens["InfrastructureResourceGroup"] = gen.PtrOf(gen.AlphaString()) + gens["ZoneRedundant"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_Spec(gens map[string]gopter.Gen) { + gens["AppLogsConfiguration"] = gen.PtrOf(AppLogsConfigurationGenerator()) + gens["CustomDomainConfiguration"] = gen.PtrOf(CustomDomainConfigurationGenerator()) + gens["PeerAuthentication"] = gen.PtrOf(ManagedEnvironment_Properties_PeerAuthentication_SpecGenerator()) + gens["PeerTrafficConfiguration"] = gen.PtrOf(ManagedEnvironment_Properties_PeerTrafficConfiguration_SpecGenerator()) + gens["VnetConfiguration"] = gen.PtrOf(VnetConfigurationGenerator()) + gens["WorkloadProfiles"] = gen.SliceOf(WorkloadProfileGenerator()) +} + +func Test_ManagedEnvironment_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 ManagedEnvironment_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedEnvironment_Spec, ManagedEnvironment_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedEnvironment_Spec runs a test to see if a specific instance of ManagedEnvironment_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedEnvironment_Spec(subject ManagedEnvironment_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedEnvironment_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 ManagedEnvironment_Spec instances for property testing - lazily instantiated by +// ManagedEnvironment_SpecGenerator() +var managedEnvironment_SpecGenerator gopter.Gen + +// ManagedEnvironment_SpecGenerator returns a generator of ManagedEnvironment_Spec instances for property testing. +// We first initialize managedEnvironment_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 ManagedEnvironment_SpecGenerator() gopter.Gen { + if managedEnvironment_SpecGenerator != nil { + return managedEnvironment_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedEnvironment_Spec(generators) + managedEnvironment_SpecGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedEnvironment_Spec(generators) + AddRelatedPropertyGeneratorsForManagedEnvironment_Spec(generators) + managedEnvironment_SpecGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_Spec{}), generators) + + return managedEnvironment_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForManagedEnvironment_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedEnvironment_Spec(gens map[string]gopter.Gen) { + gens["Kind"] = gen.PtrOf(gen.AlphaString()) + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.AlphaString() + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForManagedEnvironment_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedEnvironment_Spec(gens map[string]gopter.Gen) { + gens["Properties"] = gen.PtrOf(ManagedEnvironment_Properties_SpecGenerator()) +} + +func Test_Mtls_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 Mtls via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMtls, MtlsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMtls runs a test to see if a specific instance of Mtls round trips to JSON and back losslessly +func RunJSONSerializationTestForMtls(subject Mtls) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Mtls + 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 Mtls instances for property testing - lazily instantiated by MtlsGenerator() +var mtlsGenerator gopter.Gen + +// MtlsGenerator returns a generator of Mtls instances for property testing. +func MtlsGenerator() gopter.Gen { + if mtlsGenerator != nil { + return mtlsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMtls(generators) + mtlsGenerator = gen.Struct(reflect.TypeOf(Mtls{}), generators) + + return mtlsGenerator +} + +// AddIndependentPropertyGeneratorsForMtls is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMtls(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_VnetConfiguration_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 VnetConfiguration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForVnetConfiguration, VnetConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForVnetConfiguration runs a test to see if a specific instance of VnetConfiguration round trips to JSON and back losslessly +func RunJSONSerializationTestForVnetConfiguration(subject VnetConfiguration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual VnetConfiguration + 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 VnetConfiguration instances for property testing - lazily instantiated by VnetConfigurationGenerator() +var vnetConfigurationGenerator gopter.Gen + +// VnetConfigurationGenerator returns a generator of VnetConfiguration instances for property testing. +func VnetConfigurationGenerator() gopter.Gen { + if vnetConfigurationGenerator != nil { + return vnetConfigurationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForVnetConfiguration(generators) + vnetConfigurationGenerator = gen.Struct(reflect.TypeOf(VnetConfiguration{}), generators) + + return vnetConfigurationGenerator +} + +// AddIndependentPropertyGeneratorsForVnetConfiguration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForVnetConfiguration(gens map[string]gopter.Gen) { + gens["DockerBridgeCidr"] = gen.PtrOf(gen.AlphaString()) + gens["InfrastructureSubnetId"] = gen.PtrOf(gen.AlphaString()) + gens["Internal"] = gen.PtrOf(gen.Bool()) + gens["PlatformReservedCidr"] = gen.PtrOf(gen.AlphaString()) + gens["PlatformReservedDnsIP"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_WorkloadProfile_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 WorkloadProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForWorkloadProfile, WorkloadProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForWorkloadProfile runs a test to see if a specific instance of WorkloadProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForWorkloadProfile(subject WorkloadProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual WorkloadProfile + 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 WorkloadProfile instances for property testing - lazily instantiated by WorkloadProfileGenerator() +var workloadProfileGenerator gopter.Gen + +// WorkloadProfileGenerator returns a generator of WorkloadProfile instances for property testing. +func WorkloadProfileGenerator() gopter.Gen { + if workloadProfileGenerator != nil { + return workloadProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForWorkloadProfile(generators) + workloadProfileGenerator = gen.Struct(reflect.TypeOf(WorkloadProfile{}), generators) + + return workloadProfileGenerator +} + +// AddIndependentPropertyGeneratorsForWorkloadProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForWorkloadProfile(gens map[string]gopter.Gen) { + gens["MaximumCount"] = gen.PtrOf(gen.Int()) + gens["MinimumCount"] = gen.PtrOf(gen.Int()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["WorkloadProfileType"] = gen.PtrOf(gen.AlphaString()) +} diff --git a/v2/api/app/v1api20240301/arm/managed_environment_status_types_gen.go b/v2/api/app/v1api20240301/arm/managed_environment_status_types_gen.go new file mode 100644 index 00000000000..1137beab433 --- /dev/null +++ b/v2/api/app/v1api20240301/arm/managed_environment_status_types_gen.go @@ -0,0 +1,215 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +// An environment for hosting container apps +type ManagedEnvironment_STATUS struct { + // Id: Fully qualified resource ID for the resource. Ex - + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + Id *string `json:"id,omitempty"` + + // Kind: Kind of the Environment. + Kind *string `json:"kind,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: Managed environment resource specific properties + Properties *ManagedEnvironment_Properties_STATUS `json:"properties,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"` +} + +type ManagedEnvironment_Properties_STATUS struct { + // AppLogsConfiguration: Cluster configuration which enables the log daemon to export app logs to configured destination. + AppLogsConfiguration *AppLogsConfiguration_STATUS `json:"appLogsConfiguration,omitempty"` + + // CustomDomainConfiguration: Custom domain configuration for the environment + CustomDomainConfiguration *CustomDomainConfiguration_STATUS `json:"customDomainConfiguration,omitempty"` + + // DaprConfiguration: The configuration of Dapr component. + DaprConfiguration *DaprConfiguration_STATUS `json:"daprConfiguration,omitempty"` + + // DefaultDomain: Default Domain Name for the cluster + DefaultDomain *string `json:"defaultDomain,omitempty"` + + // DeploymentErrors: Any errors that occurred during deployment or deployment validation + DeploymentErrors *string `json:"deploymentErrors,omitempty"` + + // EventStreamEndpoint: The endpoint of the eventstream of the Environment. + EventStreamEndpoint *string `json:"eventStreamEndpoint,omitempty"` + + // InfrastructureResourceGroup: Name of the platform-managed resource group created for the Managed Environment to host + // infrastructure resources. If a subnet ID is provided, this resource group will be created in the same subscription as + // the subnet. + InfrastructureResourceGroup *string `json:"infrastructureResourceGroup,omitempty"` + + // KedaConfiguration: The configuration of Keda component. + KedaConfiguration *KedaConfiguration_STATUS `json:"kedaConfiguration,omitempty"` + + // PeerAuthentication: Peer authentication settings for the Managed Environment + PeerAuthentication *ManagedEnvironment_Properties_PeerAuthentication_STATUS `json:"peerAuthentication,omitempty"` + + // PeerTrafficConfiguration: Peer traffic settings for the Managed Environment + PeerTrafficConfiguration *ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS `json:"peerTrafficConfiguration,omitempty"` + + // ProvisioningState: Provisioning state of the Environment. + ProvisioningState *ManagedEnvironment_Properties_ProvisioningState_STATUS `json:"provisioningState,omitempty"` + + // StaticIp: Static IP of the Environment + StaticIp *string `json:"staticIp,omitempty"` + + // VnetConfiguration: Vnet configuration for the environment + VnetConfiguration *VnetConfiguration_STATUS `json:"vnetConfiguration,omitempty"` + + // WorkloadProfiles: Workload profiles configured for the Managed Environment. + WorkloadProfiles []WorkloadProfile_STATUS `json:"workloadProfiles,omitempty"` + + // ZoneRedundant: Whether or not this Managed Environment is zone-redundant. + ZoneRedundant *bool `json:"zoneRedundant,omitempty"` +} + +// Configuration of application logs +type AppLogsConfiguration_STATUS struct { + // Destination: Logs destination, can be 'log-analytics', 'azure-monitor' or 'none' + Destination *string `json:"destination,omitempty"` + + // LogAnalyticsConfiguration: Log Analytics configuration, must only be provided when destination is configured as + // 'log-analytics' + LogAnalyticsConfiguration *LogAnalyticsConfiguration_STATUS `json:"logAnalyticsConfiguration,omitempty"` +} + +// Configuration properties for apps environment custom domain +type CustomDomainConfiguration_STATUS struct { + // CustomDomainVerificationId: Id used to verify domain name ownership + CustomDomainVerificationId *string `json:"customDomainVerificationId,omitempty"` + + // DnsSuffix: Dns suffix for the environment domain + DnsSuffix *string `json:"dnsSuffix,omitempty"` + + // ExpirationDate: Certificate expiration date. + ExpirationDate *string `json:"expirationDate,omitempty"` + + // SubjectName: Subject name of the certificate. + SubjectName *string `json:"subjectName,omitempty"` + + // Thumbprint: Certificate thumbprint. + Thumbprint *string `json:"thumbprint,omitempty"` +} + +// Configuration properties Dapr component +type DaprConfiguration_STATUS struct { + // Version: The version of Dapr + Version *string `json:"version,omitempty"` +} + +// Configuration properties Keda component +type KedaConfiguration_STATUS struct { + // Version: The version of Keda + Version *string `json:"version,omitempty"` +} + +type ManagedEnvironment_Properties_PeerAuthentication_STATUS struct { + // Mtls: Mutual TLS authentication settings for the Managed Environment + Mtls *Mtls_STATUS `json:"mtls,omitempty"` +} + +type ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS struct { + // Encryption: Peer traffic encryption settings for the Managed Environment + Encryption *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS `json:"encryption,omitempty"` +} + +type ManagedEnvironment_Properties_ProvisioningState_STATUS string + +const ( + ManagedEnvironment_Properties_ProvisioningState_STATUS_Canceled = ManagedEnvironment_Properties_ProvisioningState_STATUS("Canceled") + ManagedEnvironment_Properties_ProvisioningState_STATUS_Failed = ManagedEnvironment_Properties_ProvisioningState_STATUS("Failed") + ManagedEnvironment_Properties_ProvisioningState_STATUS_InfrastructureSetupComplete = ManagedEnvironment_Properties_ProvisioningState_STATUS("InfrastructureSetupComplete") + ManagedEnvironment_Properties_ProvisioningState_STATUS_InfrastructureSetupInProgress = ManagedEnvironment_Properties_ProvisioningState_STATUS("InfrastructureSetupInProgress") + ManagedEnvironment_Properties_ProvisioningState_STATUS_InitializationInProgress = ManagedEnvironment_Properties_ProvisioningState_STATUS("InitializationInProgress") + ManagedEnvironment_Properties_ProvisioningState_STATUS_ScheduledForDelete = ManagedEnvironment_Properties_ProvisioningState_STATUS("ScheduledForDelete") + ManagedEnvironment_Properties_ProvisioningState_STATUS_Succeeded = ManagedEnvironment_Properties_ProvisioningState_STATUS("Succeeded") + ManagedEnvironment_Properties_ProvisioningState_STATUS_UpgradeFailed = ManagedEnvironment_Properties_ProvisioningState_STATUS("UpgradeFailed") + ManagedEnvironment_Properties_ProvisioningState_STATUS_UpgradeRequested = ManagedEnvironment_Properties_ProvisioningState_STATUS("UpgradeRequested") + ManagedEnvironment_Properties_ProvisioningState_STATUS_Waiting = ManagedEnvironment_Properties_ProvisioningState_STATUS("Waiting") +) + +// Mapping from string to ManagedEnvironment_Properties_ProvisioningState_STATUS +var managedEnvironment_Properties_ProvisioningState_STATUS_Values = map[string]ManagedEnvironment_Properties_ProvisioningState_STATUS{ + "canceled": ManagedEnvironment_Properties_ProvisioningState_STATUS_Canceled, + "failed": ManagedEnvironment_Properties_ProvisioningState_STATUS_Failed, + "infrastructuresetupcomplete": ManagedEnvironment_Properties_ProvisioningState_STATUS_InfrastructureSetupComplete, + "infrastructuresetupinprogress": ManagedEnvironment_Properties_ProvisioningState_STATUS_InfrastructureSetupInProgress, + "initializationinprogress": ManagedEnvironment_Properties_ProvisioningState_STATUS_InitializationInProgress, + "scheduledfordelete": ManagedEnvironment_Properties_ProvisioningState_STATUS_ScheduledForDelete, + "succeeded": ManagedEnvironment_Properties_ProvisioningState_STATUS_Succeeded, + "upgradefailed": ManagedEnvironment_Properties_ProvisioningState_STATUS_UpgradeFailed, + "upgraderequested": ManagedEnvironment_Properties_ProvisioningState_STATUS_UpgradeRequested, + "waiting": ManagedEnvironment_Properties_ProvisioningState_STATUS_Waiting, +} + +// Configuration properties for apps environment to join a Virtual Network +type VnetConfiguration_STATUS struct { + // DockerBridgeCidr: CIDR notation IP range assigned to the Docker bridge, network. Must not overlap with any other + // provided IP ranges. + DockerBridgeCidr *string `json:"dockerBridgeCidr,omitempty"` + + // InfrastructureSubnetId: Resource ID of a subnet for infrastructure components. Must not overlap with any other provided + // IP ranges. + InfrastructureSubnetId *string `json:"infrastructureSubnetId,omitempty"` + + // Internal: Boolean indicating the environment only has an internal load balancer. These environments do not have a public + // static IP resource. They must provide infrastructureSubnetId if enabling this property + Internal *bool `json:"internal,omitempty"` + + // PlatformReservedCidr: IP range in CIDR notation that can be reserved for environment infrastructure IP addresses. Must + // not overlap with any other provided IP ranges. + PlatformReservedCidr *string `json:"platformReservedCidr,omitempty"` + + // PlatformReservedDnsIP: An IP address from the IP range defined by platformReservedCidr that will be reserved for the + // internal DNS server. + PlatformReservedDnsIP *string `json:"platformReservedDnsIP,omitempty"` +} + +// Workload profile to scope container app execution. +type WorkloadProfile_STATUS struct { + // MaximumCount: The maximum capacity. + MaximumCount *int `json:"maximumCount,omitempty"` + + // MinimumCount: The minimum capacity. + MinimumCount *int `json:"minimumCount,omitempty"` + + // Name: Workload profile type for the workloads to run on. + Name *string `json:"name,omitempty"` + + // WorkloadProfileType: Workload profile type for the workloads to run on. + WorkloadProfileType *string `json:"workloadProfileType,omitempty"` +} + +// Log Analytics configuration, must only be provided when destination is configured as 'log-analytics' +type LogAnalyticsConfiguration_STATUS struct { + // CustomerId: Log analytics customer id + CustomerId *string `json:"customerId,omitempty"` +} + +type ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS struct { + // Enabled: Boolean indicating whether the peer traffic encryption is enabled + Enabled *bool `json:"enabled,omitempty"` +} + +// Configuration properties for mutual TLS authentication +type Mtls_STATUS struct { + // Enabled: Boolean indicating whether the mutual TLS authentication is enabled + Enabled *bool `json:"enabled,omitempty"` +} diff --git a/v2/api/app/v1api20240301/arm/managed_environment_status_types_gen_test.go b/v2/api/app/v1api20240301/arm/managed_environment_status_types_gen_test.go new file mode 100644 index 00000000000..73515811ade --- /dev/null +++ b/v2/api/app/v1api20240301/arm/managed_environment_status_types_gen_test.go @@ -0,0 +1,894 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +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_AppLogsConfiguration_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 AppLogsConfiguration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAppLogsConfiguration_STATUS, AppLogsConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAppLogsConfiguration_STATUS runs a test to see if a specific instance of AppLogsConfiguration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAppLogsConfiguration_STATUS(subject AppLogsConfiguration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AppLogsConfiguration_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 AppLogsConfiguration_STATUS instances for property testing - lazily instantiated by +// AppLogsConfiguration_STATUSGenerator() +var appLogsConfiguration_STATUSGenerator gopter.Gen + +// AppLogsConfiguration_STATUSGenerator returns a generator of AppLogsConfiguration_STATUS instances for property testing. +// We first initialize appLogsConfiguration_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 AppLogsConfiguration_STATUSGenerator() gopter.Gen { + if appLogsConfiguration_STATUSGenerator != nil { + return appLogsConfiguration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAppLogsConfiguration_STATUS(generators) + appLogsConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(AppLogsConfiguration_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAppLogsConfiguration_STATUS(generators) + AddRelatedPropertyGeneratorsForAppLogsConfiguration_STATUS(generators) + appLogsConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(AppLogsConfiguration_STATUS{}), generators) + + return appLogsConfiguration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAppLogsConfiguration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAppLogsConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["Destination"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForAppLogsConfiguration_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAppLogsConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["LogAnalyticsConfiguration"] = gen.PtrOf(LogAnalyticsConfiguration_STATUSGenerator()) +} + +func Test_CustomDomainConfiguration_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 CustomDomainConfiguration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCustomDomainConfiguration_STATUS, CustomDomainConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCustomDomainConfiguration_STATUS runs a test to see if a specific instance of CustomDomainConfiguration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForCustomDomainConfiguration_STATUS(subject CustomDomainConfiguration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CustomDomainConfiguration_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 CustomDomainConfiguration_STATUS instances for property testing - lazily instantiated by +// CustomDomainConfiguration_STATUSGenerator() +var customDomainConfiguration_STATUSGenerator gopter.Gen + +// CustomDomainConfiguration_STATUSGenerator returns a generator of CustomDomainConfiguration_STATUS instances for property testing. +func CustomDomainConfiguration_STATUSGenerator() gopter.Gen { + if customDomainConfiguration_STATUSGenerator != nil { + return customDomainConfiguration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomDomainConfiguration_STATUS(generators) + customDomainConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(CustomDomainConfiguration_STATUS{}), generators) + + return customDomainConfiguration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForCustomDomainConfiguration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCustomDomainConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["CustomDomainVerificationId"] = gen.PtrOf(gen.AlphaString()) + gens["DnsSuffix"] = gen.PtrOf(gen.AlphaString()) + gens["ExpirationDate"] = gen.PtrOf(gen.AlphaString()) + gens["SubjectName"] = gen.PtrOf(gen.AlphaString()) + gens["Thumbprint"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_DaprConfiguration_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 DaprConfiguration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDaprConfiguration_STATUS, DaprConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDaprConfiguration_STATUS runs a test to see if a specific instance of DaprConfiguration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForDaprConfiguration_STATUS(subject DaprConfiguration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DaprConfiguration_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 DaprConfiguration_STATUS instances for property testing - lazily instantiated by +// DaprConfiguration_STATUSGenerator() +var daprConfiguration_STATUSGenerator gopter.Gen + +// DaprConfiguration_STATUSGenerator returns a generator of DaprConfiguration_STATUS instances for property testing. +func DaprConfiguration_STATUSGenerator() gopter.Gen { + if daprConfiguration_STATUSGenerator != nil { + return daprConfiguration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDaprConfiguration_STATUS(generators) + daprConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(DaprConfiguration_STATUS{}), generators) + + return daprConfiguration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForDaprConfiguration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDaprConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["Version"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_KedaConfiguration_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 KedaConfiguration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForKedaConfiguration_STATUS, KedaConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForKedaConfiguration_STATUS runs a test to see if a specific instance of KedaConfiguration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForKedaConfiguration_STATUS(subject KedaConfiguration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual KedaConfiguration_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 KedaConfiguration_STATUS instances for property testing - lazily instantiated by +// KedaConfiguration_STATUSGenerator() +var kedaConfiguration_STATUSGenerator gopter.Gen + +// KedaConfiguration_STATUSGenerator returns a generator of KedaConfiguration_STATUS instances for property testing. +func KedaConfiguration_STATUSGenerator() gopter.Gen { + if kedaConfiguration_STATUSGenerator != nil { + return kedaConfiguration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForKedaConfiguration_STATUS(generators) + kedaConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(KedaConfiguration_STATUS{}), generators) + + return kedaConfiguration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForKedaConfiguration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForKedaConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["Version"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_LogAnalyticsConfiguration_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 LogAnalyticsConfiguration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLogAnalyticsConfiguration_STATUS, LogAnalyticsConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLogAnalyticsConfiguration_STATUS runs a test to see if a specific instance of LogAnalyticsConfiguration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForLogAnalyticsConfiguration_STATUS(subject LogAnalyticsConfiguration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual LogAnalyticsConfiguration_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 LogAnalyticsConfiguration_STATUS instances for property testing - lazily instantiated by +// LogAnalyticsConfiguration_STATUSGenerator() +var logAnalyticsConfiguration_STATUSGenerator gopter.Gen + +// LogAnalyticsConfiguration_STATUSGenerator returns a generator of LogAnalyticsConfiguration_STATUS instances for property testing. +func LogAnalyticsConfiguration_STATUSGenerator() gopter.Gen { + if logAnalyticsConfiguration_STATUSGenerator != nil { + return logAnalyticsConfiguration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLogAnalyticsConfiguration_STATUS(generators) + logAnalyticsConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(LogAnalyticsConfiguration_STATUS{}), generators) + + return logAnalyticsConfiguration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForLogAnalyticsConfiguration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLogAnalyticsConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["CustomerId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedEnvironment_Properties_PeerAuthentication_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 ManagedEnvironment_Properties_PeerAuthentication_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedEnvironment_Properties_PeerAuthentication_STATUS, ManagedEnvironment_Properties_PeerAuthentication_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedEnvironment_Properties_PeerAuthentication_STATUS runs a test to see if a specific instance of ManagedEnvironment_Properties_PeerAuthentication_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedEnvironment_Properties_PeerAuthentication_STATUS(subject ManagedEnvironment_Properties_PeerAuthentication_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedEnvironment_Properties_PeerAuthentication_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 ManagedEnvironment_Properties_PeerAuthentication_STATUS instances for property testing - lazily +// instantiated by ManagedEnvironment_Properties_PeerAuthentication_STATUSGenerator() +var managedEnvironment_Properties_PeerAuthentication_STATUSGenerator gopter.Gen + +// ManagedEnvironment_Properties_PeerAuthentication_STATUSGenerator returns a generator of ManagedEnvironment_Properties_PeerAuthentication_STATUS instances for property testing. +func ManagedEnvironment_Properties_PeerAuthentication_STATUSGenerator() gopter.Gen { + if managedEnvironment_Properties_PeerAuthentication_STATUSGenerator != nil { + return managedEnvironment_Properties_PeerAuthentication_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerAuthentication_STATUS(generators) + managedEnvironment_Properties_PeerAuthentication_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_Properties_PeerAuthentication_STATUS{}), generators) + + return managedEnvironment_Properties_PeerAuthentication_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerAuthentication_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerAuthentication_STATUS(gens map[string]gopter.Gen) { + gens["Mtls"] = gen.PtrOf(Mtls_STATUSGenerator()) +} + +func Test_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_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 ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS, ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS runs a test to see if a specific instance of ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS(subject ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_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 ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS instances for property testing +// - lazily instantiated by ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUSGenerator() +var managedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUSGenerator gopter.Gen + +// ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUSGenerator returns a generator of ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS instances for property testing. +func ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUSGenerator() gopter.Gen { + if managedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUSGenerator != nil { + return managedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS(generators) + managedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS{}), generators) + + return managedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedEnvironment_Properties_PeerTrafficConfiguration_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 ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS, ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS runs a test to see if a specific instance of ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS(subject ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedEnvironment_Properties_PeerTrafficConfiguration_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 ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS instances for property testing - lazily +// instantiated by ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUSGenerator() +var managedEnvironment_Properties_PeerTrafficConfiguration_STATUSGenerator gopter.Gen + +// ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUSGenerator returns a generator of ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS instances for property testing. +func ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUSGenerator() gopter.Gen { + if managedEnvironment_Properties_PeerTrafficConfiguration_STATUSGenerator != nil { + return managedEnvironment_Properties_PeerTrafficConfiguration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS(generators) + managedEnvironment_Properties_PeerTrafficConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS{}), generators) + + return managedEnvironment_Properties_PeerTrafficConfiguration_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["Encryption"] = gen.PtrOf(ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUSGenerator()) +} + +func Test_ManagedEnvironment_Properties_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 ManagedEnvironment_Properties_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedEnvironment_Properties_STATUS, ManagedEnvironment_Properties_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedEnvironment_Properties_STATUS runs a test to see if a specific instance of ManagedEnvironment_Properties_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedEnvironment_Properties_STATUS(subject ManagedEnvironment_Properties_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedEnvironment_Properties_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 ManagedEnvironment_Properties_STATUS instances for property testing - lazily instantiated by +// ManagedEnvironment_Properties_STATUSGenerator() +var managedEnvironment_Properties_STATUSGenerator gopter.Gen + +// ManagedEnvironment_Properties_STATUSGenerator returns a generator of ManagedEnvironment_Properties_STATUS instances for property testing. +// We first initialize managedEnvironment_Properties_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 ManagedEnvironment_Properties_STATUSGenerator() gopter.Gen { + if managedEnvironment_Properties_STATUSGenerator != nil { + return managedEnvironment_Properties_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedEnvironment_Properties_STATUS(generators) + managedEnvironment_Properties_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_Properties_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedEnvironment_Properties_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_STATUS(generators) + managedEnvironment_Properties_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_Properties_STATUS{}), generators) + + return managedEnvironment_Properties_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedEnvironment_Properties_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedEnvironment_Properties_STATUS(gens map[string]gopter.Gen) { + gens["DefaultDomain"] = gen.PtrOf(gen.AlphaString()) + gens["DeploymentErrors"] = gen.PtrOf(gen.AlphaString()) + gens["EventStreamEndpoint"] = gen.PtrOf(gen.AlphaString()) + gens["InfrastructureResourceGroup"] = gen.PtrOf(gen.AlphaString()) + gens["ProvisioningState"] = gen.PtrOf(gen.OneConstOf( + ManagedEnvironment_Properties_ProvisioningState_STATUS_Canceled, + ManagedEnvironment_Properties_ProvisioningState_STATUS_Failed, + ManagedEnvironment_Properties_ProvisioningState_STATUS_InfrastructureSetupComplete, + ManagedEnvironment_Properties_ProvisioningState_STATUS_InfrastructureSetupInProgress, + ManagedEnvironment_Properties_ProvisioningState_STATUS_InitializationInProgress, + ManagedEnvironment_Properties_ProvisioningState_STATUS_ScheduledForDelete, + ManagedEnvironment_Properties_ProvisioningState_STATUS_Succeeded, + ManagedEnvironment_Properties_ProvisioningState_STATUS_UpgradeFailed, + ManagedEnvironment_Properties_ProvisioningState_STATUS_UpgradeRequested, + ManagedEnvironment_Properties_ProvisioningState_STATUS_Waiting)) + gens["StaticIp"] = gen.PtrOf(gen.AlphaString()) + gens["ZoneRedundant"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_STATUS(gens map[string]gopter.Gen) { + gens["AppLogsConfiguration"] = gen.PtrOf(AppLogsConfiguration_STATUSGenerator()) + gens["CustomDomainConfiguration"] = gen.PtrOf(CustomDomainConfiguration_STATUSGenerator()) + gens["DaprConfiguration"] = gen.PtrOf(DaprConfiguration_STATUSGenerator()) + gens["KedaConfiguration"] = gen.PtrOf(KedaConfiguration_STATUSGenerator()) + gens["PeerAuthentication"] = gen.PtrOf(ManagedEnvironment_Properties_PeerAuthentication_STATUSGenerator()) + gens["PeerTrafficConfiguration"] = gen.PtrOf(ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUSGenerator()) + gens["VnetConfiguration"] = gen.PtrOf(VnetConfiguration_STATUSGenerator()) + gens["WorkloadProfiles"] = gen.SliceOf(WorkloadProfile_STATUSGenerator()) +} + +func Test_ManagedEnvironment_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 ManagedEnvironment_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedEnvironment_STATUS, ManagedEnvironment_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedEnvironment_STATUS runs a test to see if a specific instance of ManagedEnvironment_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedEnvironment_STATUS(subject ManagedEnvironment_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedEnvironment_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 ManagedEnvironment_STATUS instances for property testing - lazily instantiated by +// ManagedEnvironment_STATUSGenerator() +var managedEnvironment_STATUSGenerator gopter.Gen + +// ManagedEnvironment_STATUSGenerator returns a generator of ManagedEnvironment_STATUS instances for property testing. +// We first initialize managedEnvironment_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 ManagedEnvironment_STATUSGenerator() gopter.Gen { + if managedEnvironment_STATUSGenerator != nil { + return managedEnvironment_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedEnvironment_STATUS(generators) + managedEnvironment_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedEnvironment_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedEnvironment_STATUS(generators) + managedEnvironment_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_STATUS{}), generators) + + return managedEnvironment_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedEnvironment_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedEnvironment_STATUS(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Kind"] = 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()) +} + +// AddRelatedPropertyGeneratorsForManagedEnvironment_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedEnvironment_STATUS(gens map[string]gopter.Gen) { + gens["Properties"] = gen.PtrOf(ManagedEnvironment_Properties_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} + +func Test_Mtls_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 Mtls_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMtls_STATUS, Mtls_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMtls_STATUS runs a test to see if a specific instance of Mtls_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForMtls_STATUS(subject Mtls_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Mtls_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 Mtls_STATUS instances for property testing - lazily instantiated by Mtls_STATUSGenerator() +var mtls_STATUSGenerator gopter.Gen + +// Mtls_STATUSGenerator returns a generator of Mtls_STATUS instances for property testing. +func Mtls_STATUSGenerator() gopter.Gen { + if mtls_STATUSGenerator != nil { + return mtls_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMtls_STATUS(generators) + mtls_STATUSGenerator = gen.Struct(reflect.TypeOf(Mtls_STATUS{}), generators) + + return mtls_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForMtls_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMtls_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_VnetConfiguration_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 VnetConfiguration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForVnetConfiguration_STATUS, VnetConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForVnetConfiguration_STATUS runs a test to see if a specific instance of VnetConfiguration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForVnetConfiguration_STATUS(subject VnetConfiguration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual VnetConfiguration_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 VnetConfiguration_STATUS instances for property testing - lazily instantiated by +// VnetConfiguration_STATUSGenerator() +var vnetConfiguration_STATUSGenerator gopter.Gen + +// VnetConfiguration_STATUSGenerator returns a generator of VnetConfiguration_STATUS instances for property testing. +func VnetConfiguration_STATUSGenerator() gopter.Gen { + if vnetConfiguration_STATUSGenerator != nil { + return vnetConfiguration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForVnetConfiguration_STATUS(generators) + vnetConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(VnetConfiguration_STATUS{}), generators) + + return vnetConfiguration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForVnetConfiguration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForVnetConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["DockerBridgeCidr"] = gen.PtrOf(gen.AlphaString()) + gens["InfrastructureSubnetId"] = gen.PtrOf(gen.AlphaString()) + gens["Internal"] = gen.PtrOf(gen.Bool()) + gens["PlatformReservedCidr"] = gen.PtrOf(gen.AlphaString()) + gens["PlatformReservedDnsIP"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_WorkloadProfile_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 WorkloadProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForWorkloadProfile_STATUS, WorkloadProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForWorkloadProfile_STATUS runs a test to see if a specific instance of WorkloadProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForWorkloadProfile_STATUS(subject WorkloadProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual WorkloadProfile_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 WorkloadProfile_STATUS instances for property testing - lazily instantiated by +// WorkloadProfile_STATUSGenerator() +var workloadProfile_STATUSGenerator gopter.Gen + +// WorkloadProfile_STATUSGenerator returns a generator of WorkloadProfile_STATUS instances for property testing. +func WorkloadProfile_STATUSGenerator() gopter.Gen { + if workloadProfile_STATUSGenerator != nil { + return workloadProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForWorkloadProfile_STATUS(generators) + workloadProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(WorkloadProfile_STATUS{}), generators) + + return workloadProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForWorkloadProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForWorkloadProfile_STATUS(gens map[string]gopter.Gen) { + gens["MaximumCount"] = gen.PtrOf(gen.Int()) + gens["MinimumCount"] = gen.PtrOf(gen.Int()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["WorkloadProfileType"] = gen.PtrOf(gen.AlphaString()) +} diff --git a/v2/api/app/v1api20240301/arm/structure.txt b/v2/api/app/v1api20240301/arm/structure.txt new file mode 100644 index 00000000000..16c59ed0e69 --- /dev/null +++ b/v2/api/app/v1api20240301/arm/structure.txt @@ -0,0 +1,1084 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +github.com/Azure/azure-service-operator/v2/api/app/v1api20240301/arm +-------------------------------------------------------------------- +AuthConfig_STATUS: Object (5 properties) +├── Id: *string +├── Name: *string +├── Properties: *Object (6 properties) +│ ├── EncryptionSettings: *Object (2 properties) +│ │ ├── ContainerAppAuthEncryptionSecretName: *string +│ │ └── ContainerAppAuthSigningSecretName: *string +│ ├── GlobalValidation: *Object (3 properties) +│ │ ├── ExcludedPaths: string[] +│ │ ├── RedirectToProvider: *string +│ │ └── UnauthenticatedClientAction: *Enum (4 values) +│ │ ├── "AllowAnonymous" +│ │ ├── "RedirectToLoginPage" +│ │ ├── "Return401" +│ │ └── "Return403" +│ ├── HttpSettings: *Object (3 properties) +│ │ ├── ForwardProxy: *Object (3 properties) +│ │ │ ├── Convention: *Enum (3 values) +│ │ │ │ ├── "Custom" +│ │ │ │ ├── "NoProxy" +│ │ │ │ └── "Standard" +│ │ │ ├── CustomHostHeaderName: *string +│ │ │ └── CustomProtoHeaderName: *string +│ │ ├── RequireHttps: *bool +│ │ └── Routes: *Object (1 property) +│ │ └── ApiPrefix: *string +│ ├── IdentityProviders: *Object (8 properties) +│ │ ├── Apple: *Object (3 properties) +│ │ │ ├── Enabled: *bool +│ │ │ ├── Login: *Object (1 property) +│ │ │ │ └── Scopes: string[] +│ │ │ └── Registration: *Object (2 properties) +│ │ │ ├── ClientId: *string +│ │ │ └── ClientSecretSettingName: *string +│ │ ├── AzureActiveDirectory: *Object (5 properties) +│ │ │ ├── Enabled: *bool +│ │ │ ├── IsAutoProvisioned: *bool +│ │ │ ├── Login: *Object (2 properties) +│ │ │ │ ├── DisableWWWAuthenticate: *bool +│ │ │ │ └── LoginParameters: string[] +│ │ │ ├── Registration: *Object (6 properties) +│ │ │ │ ├── ClientId: *string +│ │ │ │ ├── ClientSecretCertificateIssuer: *string +│ │ │ │ ├── ClientSecretCertificateSubjectAlternativeName: *string +│ │ │ │ ├── ClientSecretCertificateThumbprint: *string +│ │ │ │ ├── ClientSecretSettingName: *string +│ │ │ │ └── OpenIdIssuer: *string +│ │ │ └── Validation: *Object (3 properties) +│ │ │ ├── AllowedAudiences: string[] +│ │ │ ├── DefaultAuthorizationPolicy: *Object (2 properties) +│ │ │ │ ├── AllowedApplications: string[] +│ │ │ │ └── AllowedPrincipals: *Object (2 properties) +│ │ │ │ ├── Groups: string[] +│ │ │ │ └── Identities: string[] +│ │ │ └── JwtClaimChecks: *Object (2 properties) +│ │ │ ├── AllowedClientApplications: string[] +│ │ │ └── AllowedGroups: string[] +│ │ ├── AzureStaticWebApps: *Object (2 properties) +│ │ │ ├── Enabled: *bool +│ │ │ └── Registration: *Object (1 property) +│ │ │ └── ClientId: *string +│ │ ├── CustomOpenIdConnectProviders: map[string]Object (3 properties) +│ │ │ ├── Enabled: *bool +│ │ │ ├── Login: *Object (2 properties) +│ │ │ │ ├── NameClaimType: *string +│ │ │ │ └── Scopes: string[] +│ │ │ └── Registration: *Object (3 properties) +│ │ │ ├── ClientCredential: *Object (2 properties) +│ │ │ │ ├── ClientSecretSettingName: *string +│ │ │ │ └── Method: *Enum (1 value) +│ │ │ │ └── "ClientSecretPost" +│ │ │ ├── ClientId: *string +│ │ │ └── OpenIdConnectConfiguration: *Object (5 properties) +│ │ │ ├── AuthorizationEndpoint: *string +│ │ │ ├── CertificationUri: *string +│ │ │ ├── Issuer: *string +│ │ │ ├── TokenEndpoint: *string +│ │ │ └── WellKnownOpenIdConfiguration: *string +│ │ ├── Facebook: *Object (4 properties) +│ │ │ ├── Enabled: *bool +│ │ │ ├── GraphApiVersion: *string +│ │ │ ├── Login: *Object (1 property) +│ │ │ │ └── Scopes: string[] +│ │ │ └── Registration: *Object (2 properties) +│ │ │ ├── AppId: *string +│ │ │ └── AppSecretSettingName: *string +│ │ ├── GitHub: *Object (3 properties) +│ │ │ ├── Enabled: *bool +│ │ │ ├── Login: *Object (1 property) +│ │ │ │ └── Scopes: string[] +│ │ │ └── Registration: *Object (2 properties) +│ │ │ ├── ClientId: *string +│ │ │ └── ClientSecretSettingName: *string +│ │ ├── Google: *Object (4 properties) +│ │ │ ├── Enabled: *bool +│ │ │ ├── Login: *Object (1 property) +│ │ │ │ └── Scopes: string[] +│ │ │ ├── Registration: *Object (2 properties) +│ │ │ │ ├── ClientId: *string +│ │ │ │ └── ClientSecretSettingName: *string +│ │ │ └── Validation: *Object (1 property) +│ │ │ └── AllowedAudiences: string[] +│ │ └── Twitter: *Object (2 properties) +│ │ ├── Enabled: *bool +│ │ └── Registration: *Object (2 properties) +│ │ ├── ConsumerKey: *string +│ │ └── ConsumerSecretSettingName: *string +│ ├── Login: *Object (6 properties) +│ │ ├── AllowedExternalRedirectUrls: string[] +│ │ ├── CookieExpiration: *Object (2 properties) +│ │ │ ├── Convention: *Enum (2 values) +│ │ │ │ ├── "FixedTime" +│ │ │ │ └── "IdentityProviderDerived" +│ │ │ └── TimeToExpiration: *string +│ │ ├── Nonce: *Object (2 properties) +│ │ │ ├── NonceExpirationInterval: *string +│ │ │ └── ValidateNonce: *bool +│ │ ├── PreserveUrlFragmentsForLogins: *bool +│ │ ├── Routes: *Object (1 property) +│ │ │ └── LogoutEndpoint: *string +│ │ └── TokenStore: *Object (3 properties) +│ │ ├── AzureBlobStorage: *Object (1 property) +│ │ │ └── SasUrlSettingName: *string +│ │ ├── Enabled: *bool +│ │ └── TokenRefreshExtensionHours: *float64 +│ └── Platform: *Object (2 properties) +│ ├── Enabled: *bool +│ └── RuntimeVersion: *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 +AuthConfig_Spec: Object (2 properties) +├── Name: string +└── Properties: *Object (6 properties) + ├── EncryptionSettings: *Object (2 properties) + │ ├── ContainerAppAuthEncryptionSecretName: *string + │ └── ContainerAppAuthSigningSecretName: *string + ├── GlobalValidation: *Object (3 properties) + │ ├── ExcludedPaths: string[] + │ ├── RedirectToProvider: *string + │ └── UnauthenticatedClientAction: *Enum (4 values) + │ ├── "AllowAnonymous" + │ ├── "RedirectToLoginPage" + │ ├── "Return401" + │ └── "Return403" + ├── HttpSettings: *Object (3 properties) + │ ├── ForwardProxy: *Object (3 properties) + │ │ ├── Convention: *Enum (3 values) + │ │ │ ├── "Custom" + │ │ │ ├── "NoProxy" + │ │ │ └── "Standard" + │ │ ├── CustomHostHeaderName: *string + │ │ └── CustomProtoHeaderName: *string + │ ├── RequireHttps: *bool + │ └── Routes: *Object (1 property) + │ └── ApiPrefix: *string + ├── IdentityProviders: *Object (8 properties) + │ ├── Apple: *Object (3 properties) + │ │ ├── Enabled: *bool + │ │ ├── Login: *Object (1 property) + │ │ │ └── Scopes: string[] + │ │ └── Registration: *Object (2 properties) + │ │ ├── ClientId: *string + │ │ └── ClientSecretSettingName: *string + │ ├── AzureActiveDirectory: *Object (5 properties) + │ │ ├── Enabled: *bool + │ │ ├── IsAutoProvisioned: *bool + │ │ ├── Login: *Object (2 properties) + │ │ │ ├── DisableWWWAuthenticate: *bool + │ │ │ └── LoginParameters: string[] + │ │ ├── Registration: *Object (6 properties) + │ │ │ ├── ClientId: *string + │ │ │ ├── ClientSecretCertificateIssuer: *string + │ │ │ ├── ClientSecretCertificateSubjectAlternativeName: *string + │ │ │ ├── ClientSecretCertificateThumbprint: *string + │ │ │ ├── ClientSecretSettingName: *string + │ │ │ └── OpenIdIssuer: *string + │ │ └── Validation: *Object (3 properties) + │ │ ├── AllowedAudiences: string[] + │ │ ├── DefaultAuthorizationPolicy: *Object (2 properties) + │ │ │ ├── AllowedApplications: string[] + │ │ │ └── AllowedPrincipals: *Object (2 properties) + │ │ │ ├── Groups: string[] + │ │ │ └── Identities: string[] + │ │ └── JwtClaimChecks: *Object (2 properties) + │ │ ├── AllowedClientApplications: string[] + │ │ └── AllowedGroups: string[] + │ ├── AzureStaticWebApps: *Object (2 properties) + │ │ ├── Enabled: *bool + │ │ └── Registration: *Object (1 property) + │ │ └── ClientId: *string + │ ├── CustomOpenIdConnectProviders: map[string]Object (3 properties) + │ │ ├── Enabled: *bool + │ │ ├── Login: *Object (2 properties) + │ │ │ ├── NameClaimType: *string + │ │ │ └── Scopes: string[] + │ │ └── Registration: *Object (3 properties) + │ │ ├── ClientCredential: *Object (2 properties) + │ │ │ ├── ClientSecretSettingName: *string + │ │ │ └── Method: *Enum (1 value) + │ │ │ └── "ClientSecretPost" + │ │ ├── ClientId: *string + │ │ └── OpenIdConnectConfiguration: *Object (5 properties) + │ │ ├── AuthorizationEndpoint: *string + │ │ ├── CertificationUri: *string + │ │ ├── Issuer: *string + │ │ ├── TokenEndpoint: *string + │ │ └── WellKnownOpenIdConfiguration: *string + │ ├── Facebook: *Object (4 properties) + │ │ ├── Enabled: *bool + │ │ ├── GraphApiVersion: *string + │ │ ├── Login: *Object (1 property) + │ │ │ └── Scopes: string[] + │ │ └── Registration: *Object (2 properties) + │ │ ├── AppId: *string + │ │ └── AppSecretSettingName: *string + │ ├── GitHub: *Object (3 properties) + │ │ ├── Enabled: *bool + │ │ ├── Login: *Object (1 property) + │ │ │ └── Scopes: string[] + │ │ └── Registration: *Object (2 properties) + │ │ ├── ClientId: *string + │ │ └── ClientSecretSettingName: *string + │ ├── Google: *Object (4 properties) + │ │ ├── Enabled: *bool + │ │ ├── Login: *Object (1 property) + │ │ │ └── Scopes: string[] + │ │ ├── Registration: *Object (2 properties) + │ │ │ ├── ClientId: *string + │ │ │ └── ClientSecretSettingName: *string + │ │ └── Validation: *Object (1 property) + │ │ └── AllowedAudiences: string[] + │ └── Twitter: *Object (2 properties) + │ ├── Enabled: *bool + │ └── Registration: *Object (2 properties) + │ ├── ConsumerKey: *string + │ └── ConsumerSecretSettingName: *string + ├── Login: *Object (6 properties) + │ ├── AllowedExternalRedirectUrls: string[] + │ ├── CookieExpiration: *Object (2 properties) + │ │ ├── Convention: *Enum (2 values) + │ │ │ ├── "FixedTime" + │ │ │ └── "IdentityProviderDerived" + │ │ └── TimeToExpiration: *string + │ ├── Nonce: *Object (2 properties) + │ │ ├── NonceExpirationInterval: *string + │ │ └── ValidateNonce: *bool + │ ├── PreserveUrlFragmentsForLogins: *bool + │ ├── Routes: *Object (1 property) + │ │ └── LogoutEndpoint: *string + │ └── TokenStore: *Object (3 properties) + │ ├── AzureBlobStorage: *Object (1 property) + │ │ └── SasUrlSettingName: *string + │ ├── Enabled: *bool + │ └── TokenRefreshExtensionHours: *float64 + └── Platform: *Object (2 properties) + ├── Enabled: *bool + └── RuntimeVersion: *string +ContainerApp_STATUS: Object (10 properties) +├── ExtendedLocation: *Object (2 properties) +│ ├── Name: *string +│ └── Type: *Enum (1 value) +│ └── "CustomLocation" +├── Id: *string +├── Identity: *Object (4 properties) +│ ├── PrincipalId: *string +│ ├── TenantId: *string +│ ├── Type: *Enum (4 values) +│ │ ├── "None" +│ │ ├── "SystemAssigned" +│ │ ├── "SystemAssigned,UserAssigned" +│ │ └── "UserAssigned" +│ └── UserAssignedIdentities: map[string]Object (2 properties) +│ ├── ClientId: *string +│ └── PrincipalId: *string +├── Location: *string +├── ManagedBy: *string +├── Name: *string +├── Properties: *Object (12 properties) +│ ├── Configuration: *Object (7 properties) +│ │ ├── ActiveRevisionsMode: *Enum (2 values) +│ │ │ ├── "Multiple" +│ │ │ └── "Single" +│ │ ├── Dapr: *Object (8 properties) +│ │ │ ├── AppId: *string +│ │ │ ├── AppPort: *int +│ │ │ ├── AppProtocol: *Enum (2 values) +│ │ │ │ ├── "grpc" +│ │ │ │ └── "http" +│ │ │ ├── EnableApiLogging: *bool +│ │ │ ├── Enabled: *bool +│ │ │ ├── HttpMaxRequestSize: *int +│ │ │ ├── HttpReadBufferSize: *int +│ │ │ └── LogLevel: *Enum (4 values) +│ │ │ ├── "debug" +│ │ │ ├── "error" +│ │ │ ├── "info" +│ │ │ └── "warn" +│ │ ├── Ingress: *Object (13 properties) +│ │ │ ├── AdditionalPortMappings: Object (3 properties)[] +│ │ │ │ ├── ExposedPort: *int +│ │ │ │ ├── External: *bool +│ │ │ │ └── TargetPort: *int +│ │ │ ├── AllowInsecure: *bool +│ │ │ ├── ClientCertificateMode: *Enum (3 values) +│ │ │ │ ├── "accept" +│ │ │ │ ├── "ignore" +│ │ │ │ └── "require" +│ │ │ ├── CorsPolicy: *Object (6 properties) +│ │ │ │ ├── AllowCredentials: *bool +│ │ │ │ ├── AllowedHeaders: string[] +│ │ │ │ ├── AllowedMethods: string[] +│ │ │ │ ├── AllowedOrigins: string[] +│ │ │ │ ├── ExposeHeaders: string[] +│ │ │ │ └── MaxAge: *int +│ │ │ ├── CustomDomains: Object (3 properties)[] +│ │ │ │ ├── BindingType: *Enum (2 values) +│ │ │ │ │ ├── "Disabled" +│ │ │ │ │ └── "SniEnabled" +│ │ │ │ ├── CertificateId: *string +│ │ │ │ └── Name: *string +│ │ │ ├── ExposedPort: *int +│ │ │ ├── External: *bool +│ │ │ ├── Fqdn: *string +│ │ │ ├── IpSecurityRestrictions: Object (4 properties)[] +│ │ │ │ ├── Action: *Enum (2 values) +│ │ │ │ │ ├── "Allow" +│ │ │ │ │ └── "Deny" +│ │ │ │ ├── Description: *string +│ │ │ │ ├── IpAddressRange: *string +│ │ │ │ └── Name: *string +│ │ │ ├── StickySessions: *Object (1 property) +│ │ │ │ └── Affinity: *Enum (2 values) +│ │ │ │ ├── "none" +│ │ │ │ └── "sticky" +│ │ │ ├── TargetPort: *int +│ │ │ ├── Traffic: Object (4 properties)[] +│ │ │ │ ├── Label: *string +│ │ │ │ ├── LatestRevision: *bool +│ │ │ │ ├── RevisionName: *string +│ │ │ │ └── Weight: *int +│ │ │ └── Transport: *Enum (4 values) +│ │ │ ├── "auto" +│ │ │ ├── "http" +│ │ │ ├── "http2" +│ │ │ └── "tcp" +│ │ ├── MaxInactiveRevisions: *int +│ │ ├── Registries: Object (4 properties)[] +│ │ │ ├── Identity: *string +│ │ │ ├── PasswordSecretRef: *string +│ │ │ ├── Server: *string +│ │ │ └── Username: *string +│ │ ├── Secrets: Object (3 properties)[] +│ │ │ ├── Identity: *string +│ │ │ ├── KeyVaultUrl: *string +│ │ │ └── Name: *string +│ │ └── Service: *Object (1 property) +│ │ └── Type: *string +│ ├── CustomDomainVerificationId: *string +│ ├── EnvironmentId: *string +│ ├── EventStreamEndpoint: *string +│ ├── LatestReadyRevisionName: *string +│ ├── LatestRevisionFqdn: *string +│ ├── LatestRevisionName: *string +│ ├── ManagedEnvironmentId: *string +│ ├── OutboundIpAddresses: string[] +│ ├── ProvisioningState: *Enum (5 values) +│ │ ├── "Canceled" +│ │ ├── "Deleting" +│ │ ├── "Failed" +│ │ ├── "InProgress" +│ │ └── "Succeeded" +│ ├── Template: *Object (7 properties) +│ │ ├── Containers: Object (8 properties)[] +│ │ │ ├── Args: string[] +│ │ │ ├── Command: string[] +│ │ │ ├── Env: Object (3 properties)[] +│ │ │ │ ├── Name: *string +│ │ │ │ ├── SecretRef: *string +│ │ │ │ └── Value: *string +│ │ │ ├── Image: *string +│ │ │ ├── Name: *string +│ │ │ ├── Probes: Object (9 properties)[] +│ │ │ │ ├── FailureThreshold: *int +│ │ │ │ ├── HttpGet: *Object (5 properties) +│ │ │ │ │ ├── Host: *string +│ │ │ │ │ ├── HttpHeaders: Object (2 properties)[] +│ │ │ │ │ │ ├── Name: *string +│ │ │ │ │ │ └── Value: *string +│ │ │ │ │ ├── Path: *string +│ │ │ │ │ ├── Port: *int +│ │ │ │ │ └── Scheme: *Enum (2 values) +│ │ │ │ │ ├── "HTTP" +│ │ │ │ │ └── "HTTPS" +│ │ │ │ ├── InitialDelaySeconds: *int +│ │ │ │ ├── PeriodSeconds: *int +│ │ │ │ ├── SuccessThreshold: *int +│ │ │ │ ├── TcpSocket: *Object (2 properties) +│ │ │ │ │ ├── Host: *string +│ │ │ │ │ └── Port: *int +│ │ │ │ ├── TerminationGracePeriodSeconds: *int +│ │ │ │ ├── TimeoutSeconds: *int +│ │ │ │ └── Type: *Enum (3 values) +│ │ │ │ ├── "Liveness" +│ │ │ │ ├── "Readiness" +│ │ │ │ └── "Startup" +│ │ │ ├── Resources: *Object (3 properties) +│ │ │ │ ├── Cpu: *float64 +│ │ │ │ ├── EphemeralStorage: *string +│ │ │ │ └── Memory: *string +│ │ │ └── VolumeMounts: Object (3 properties)[] +│ │ │ ├── MountPath: *string +│ │ │ ├── SubPath: *string +│ │ │ └── VolumeName: *string +│ │ ├── InitContainers: Object (7 properties)[] +│ │ │ ├── Args: string[] +│ │ │ ├── Command: string[] +│ │ │ ├── Env: Object (3 properties)[] +│ │ │ │ ├── Name: *string +│ │ │ │ ├── SecretRef: *string +│ │ │ │ └── Value: *string +│ │ │ ├── Image: *string +│ │ │ ├── Name: *string +│ │ │ ├── Resources: *Object (3 properties) +│ │ │ │ ├── Cpu: *float64 +│ │ │ │ ├── EphemeralStorage: *string +│ │ │ │ └── Memory: *string +│ │ │ └── VolumeMounts: Object (3 properties)[] +│ │ │ ├── MountPath: *string +│ │ │ ├── SubPath: *string +│ │ │ └── VolumeName: *string +│ │ ├── RevisionSuffix: *string +│ │ ├── Scale: *Object (3 properties) +│ │ │ ├── MaxReplicas: *int +│ │ │ ├── MinReplicas: *int +│ │ │ └── Rules: Object (5 properties)[] +│ │ │ ├── AzureQueue: *Object (3 properties) +│ │ │ │ ├── Auth: Object (2 properties)[] +│ │ │ │ │ ├── SecretRef: *string +│ │ │ │ │ └── TriggerParameter: *string +│ │ │ │ ├── QueueLength: *int +│ │ │ │ └── QueueName: *string +│ │ │ ├── Custom: *Object (3 properties) +│ │ │ │ ├── Auth: Object (2 properties)[] +│ │ │ │ │ ├── SecretRef: *string +│ │ │ │ │ └── TriggerParameter: *string +│ │ │ │ ├── Metadata: map[string]string +│ │ │ │ └── Type: *string +│ │ │ ├── Http: *Object (2 properties) +│ │ │ │ ├── Auth: Object (2 properties)[] +│ │ │ │ │ ├── SecretRef: *string +│ │ │ │ │ └── TriggerParameter: *string +│ │ │ │ └── Metadata: map[string]string +│ │ │ ├── Name: *string +│ │ │ └── Tcp: *Object (2 properties) +│ │ │ ├── Auth: Object (2 properties)[] +│ │ │ │ ├── SecretRef: *string +│ │ │ │ └── TriggerParameter: *string +│ │ │ └── Metadata: map[string]string +│ │ ├── ServiceBinds: Object (2 properties)[] +│ │ │ ├── Name: *string +│ │ │ └── ServiceId: *string +│ │ ├── TerminationGracePeriodSeconds: *int +│ │ └── Volumes: Object (5 properties)[] +│ │ ├── MountOptions: *string +│ │ ├── Name: *string +│ │ ├── Secrets: Object (2 properties)[] +│ │ │ ├── Path: *string +│ │ │ └── SecretRef: *string +│ │ ├── StorageName: *string +│ │ └── StorageType: *Enum (3 values) +│ │ ├── "AzureFile" +│ │ ├── "EmptyDir" +│ │ └── "Secret" +│ └── WorkloadProfileName: *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 +ContainerApp_Spec: Object (7 properties) +├── ExtendedLocation: *Object (2 properties) +│ ├── Name: *string +│ └── Type: *Enum (1 value) +│ └── "CustomLocation" +├── Identity: *Object (2 properties) +│ ├── Type: *Enum (4 values) +│ │ ├── "None" +│ │ ├── "SystemAssigned" +│ │ ├── "SystemAssigned,UserAssigned" +│ │ └── "UserAssigned" +│ └── UserAssignedIdentities: map[string]Object (0 properties) +├── Location: *string +├── ManagedBy: *string +├── Name: string +├── Properties: *Object (5 properties) +│ ├── Configuration: *Object (7 properties) +│ │ ├── ActiveRevisionsMode: *Enum (2 values) +│ │ │ ├── "Multiple" +│ │ │ └── "Single" +│ │ ├── Dapr: *Object (8 properties) +│ │ │ ├── AppId: *string +│ │ │ ├── AppPort: *int +│ │ │ ├── AppProtocol: *Enum (2 values) +│ │ │ │ ├── "grpc" +│ │ │ │ └── "http" +│ │ │ ├── EnableApiLogging: *bool +│ │ │ ├── Enabled: *bool +│ │ │ ├── HttpMaxRequestSize: *int +│ │ │ ├── HttpReadBufferSize: *int +│ │ │ └── LogLevel: *Enum (4 values) +│ │ │ ├── "debug" +│ │ │ ├── "error" +│ │ │ ├── "info" +│ │ │ └── "warn" +│ │ ├── Ingress: *Object (12 properties) +│ │ │ ├── AdditionalPortMappings: Object (3 properties)[] +│ │ │ │ ├── ExposedPort: *int +│ │ │ │ ├── External: *bool +│ │ │ │ └── TargetPort: *int +│ │ │ ├── AllowInsecure: *bool +│ │ │ ├── ClientCertificateMode: *Enum (3 values) +│ │ │ │ ├── "accept" +│ │ │ │ ├── "ignore" +│ │ │ │ └── "require" +│ │ │ ├── CorsPolicy: *Object (6 properties) +│ │ │ │ ├── AllowCredentials: *bool +│ │ │ │ ├── AllowedHeaders: string[] +│ │ │ │ ├── AllowedMethods: string[] +│ │ │ │ ├── AllowedOrigins: string[] +│ │ │ │ ├── ExposeHeaders: string[] +│ │ │ │ └── MaxAge: *int +│ │ │ ├── CustomDomains: Object (3 properties)[] +│ │ │ │ ├── BindingType: *Enum (2 values) +│ │ │ │ │ ├── "Disabled" +│ │ │ │ │ └── "SniEnabled" +│ │ │ │ ├── CertificateId: *string +│ │ │ │ └── Name: *string +│ │ │ ├── ExposedPort: *int +│ │ │ ├── External: *bool +│ │ │ ├── IpSecurityRestrictions: Object (4 properties)[] +│ │ │ │ ├── Action: *Enum (2 values) +│ │ │ │ │ ├── "Allow" +│ │ │ │ │ └── "Deny" +│ │ │ │ ├── Description: *string +│ │ │ │ ├── IpAddressRange: *string +│ │ │ │ └── Name: *string +│ │ │ ├── StickySessions: *Object (1 property) +│ │ │ │ └── Affinity: *Enum (2 values) +│ │ │ │ ├── "none" +│ │ │ │ └── "sticky" +│ │ │ ├── TargetPort: *int +│ │ │ ├── Traffic: Object (4 properties)[] +│ │ │ │ ├── Label: *string +│ │ │ │ ├── LatestRevision: *bool +│ │ │ │ ├── RevisionName: *string +│ │ │ │ └── Weight: *int +│ │ │ └── Transport: *Enum (4 values) +│ │ │ ├── "auto" +│ │ │ ├── "http" +│ │ │ ├── "http2" +│ │ │ └── "tcp" +│ │ ├── MaxInactiveRevisions: *int +│ │ ├── Registries: Object (4 properties)[] +│ │ │ ├── Identity: *string +│ │ │ ├── PasswordSecretRef: *string +│ │ │ ├── Server: *string +│ │ │ └── Username: *string +│ │ ├── Secrets: Object (4 properties)[] +│ │ │ ├── Identity: *string +│ │ │ ├── KeyVaultUrl: *string +│ │ │ ├── Name: *string +│ │ │ └── Value: *string +│ │ └── Service: *Object (1 property) +│ │ └── Type: *string +│ ├── EnvironmentId: *string +│ ├── ManagedEnvironmentId: *string +│ ├── Template: *Object (7 properties) +│ │ ├── Containers: Object (8 properties)[] +│ │ │ ├── Args: string[] +│ │ │ ├── Command: string[] +│ │ │ ├── Env: Object (3 properties)[] +│ │ │ │ ├── Name: *string +│ │ │ │ ├── SecretRef: *string +│ │ │ │ └── Value: *string +│ │ │ ├── Image: *string +│ │ │ ├── Name: *string +│ │ │ ├── Probes: Object (9 properties)[] +│ │ │ │ ├── FailureThreshold: *int +│ │ │ │ ├── HttpGet: *Object (5 properties) +│ │ │ │ │ ├── Host: *string +│ │ │ │ │ ├── HttpHeaders: Object (2 properties)[] +│ │ │ │ │ │ ├── Name: *string +│ │ │ │ │ │ └── Value: *string +│ │ │ │ │ ├── Path: *string +│ │ │ │ │ ├── Port: *int +│ │ │ │ │ └── Scheme: *Enum (2 values) +│ │ │ │ │ ├── "HTTP" +│ │ │ │ │ └── "HTTPS" +│ │ │ │ ├── InitialDelaySeconds: *int +│ │ │ │ ├── PeriodSeconds: *int +│ │ │ │ ├── SuccessThreshold: *int +│ │ │ │ ├── TcpSocket: *Object (2 properties) +│ │ │ │ │ ├── Host: *string +│ │ │ │ │ └── Port: *int +│ │ │ │ ├── TerminationGracePeriodSeconds: *int +│ │ │ │ ├── TimeoutSeconds: *int +│ │ │ │ └── Type: *Enum (3 values) +│ │ │ │ ├── "Liveness" +│ │ │ │ ├── "Readiness" +│ │ │ │ └── "Startup" +│ │ │ ├── Resources: *Object (2 properties) +│ │ │ │ ├── Cpu: *float64 +│ │ │ │ └── Memory: *string +│ │ │ └── VolumeMounts: Object (3 properties)[] +│ │ │ ├── MountPath: *string +│ │ │ ├── SubPath: *string +│ │ │ └── VolumeName: *string +│ │ ├── InitContainers: Object (7 properties)[] +│ │ │ ├── Args: string[] +│ │ │ ├── Command: string[] +│ │ │ ├── Env: Object (3 properties)[] +│ │ │ │ ├── Name: *string +│ │ │ │ ├── SecretRef: *string +│ │ │ │ └── Value: *string +│ │ │ ├── Image: *string +│ │ │ ├── Name: *string +│ │ │ ├── Resources: *Object (2 properties) +│ │ │ │ ├── Cpu: *float64 +│ │ │ │ └── Memory: *string +│ │ │ └── VolumeMounts: Object (3 properties)[] +│ │ │ ├── MountPath: *string +│ │ │ ├── SubPath: *string +│ │ │ └── VolumeName: *string +│ │ ├── RevisionSuffix: *string +│ │ ├── Scale: *Object (3 properties) +│ │ │ ├── MaxReplicas: *int +│ │ │ ├── MinReplicas: *int +│ │ │ └── Rules: Object (5 properties)[] +│ │ │ ├── AzureQueue: *Object (3 properties) +│ │ │ │ ├── Auth: Object (2 properties)[] +│ │ │ │ │ ├── SecretRef: *string +│ │ │ │ │ └── TriggerParameter: *string +│ │ │ │ ├── QueueLength: *int +│ │ │ │ └── QueueName: *string +│ │ │ ├── Custom: *Object (3 properties) +│ │ │ │ ├── Auth: Object (2 properties)[] +│ │ │ │ │ ├── SecretRef: *string +│ │ │ │ │ └── TriggerParameter: *string +│ │ │ │ ├── Metadata: map[string]string +│ │ │ │ └── Type: *string +│ │ │ ├── Http: *Object (2 properties) +│ │ │ │ ├── Auth: Object (2 properties)[] +│ │ │ │ │ ├── SecretRef: *string +│ │ │ │ │ └── TriggerParameter: *string +│ │ │ │ └── Metadata: map[string]string +│ │ │ ├── Name: *string +│ │ │ └── Tcp: *Object (2 properties) +│ │ │ ├── Auth: Object (2 properties)[] +│ │ │ │ ├── SecretRef: *string +│ │ │ │ └── TriggerParameter: *string +│ │ │ └── Metadata: map[string]string +│ │ ├── ServiceBinds: Object (2 properties)[] +│ │ │ ├── Name: *string +│ │ │ └── ServiceId: *string +│ │ ├── TerminationGracePeriodSeconds: *int +│ │ └── Volumes: Object (5 properties)[] +│ │ ├── MountOptions: *string +│ │ ├── Name: *string +│ │ ├── Secrets: Object (2 properties)[] +│ │ │ ├── Path: *string +│ │ │ └── SecretRef: *string +│ │ ├── StorageName: *string +│ │ └── StorageType: *Enum (3 values) +│ │ ├── "AzureFile" +│ │ ├── "EmptyDir" +│ │ └── "Secret" +│ └── WorkloadProfileName: *string +└── Tags: map[string]string +Job_STATUS: Object (8 properties) +├── Id: *string +├── Identity: *Object (4 properties) +│ ├── PrincipalId: *string +│ ├── TenantId: *string +│ ├── Type: *Enum (4 values) +│ │ ├── "None" +│ │ ├── "SystemAssigned" +│ │ ├── "SystemAssigned,UserAssigned" +│ │ └── "UserAssigned" +│ └── UserAssignedIdentities: map[string]Object (2 properties) +│ ├── ClientId: *string +│ └── PrincipalId: *string +├── Location: *string +├── Name: *string +├── Properties: *Object (7 properties) +│ ├── Configuration: *Object (8 properties) +│ │ ├── EventTriggerConfig: *Object (3 properties) +│ │ │ ├── Parallelism: *int +│ │ │ ├── ReplicaCompletionCount: *int +│ │ │ └── Scale: *Object (4 properties) +│ │ │ ├── MaxExecutions: *int +│ │ │ ├── MinExecutions: *int +│ │ │ ├── PollingInterval: *int +│ │ │ └── Rules: Object (4 properties)[] +│ │ │ ├── Auth: Object (2 properties)[] +│ │ │ │ ├── SecretRef: *string +│ │ │ │ └── TriggerParameter: *string +│ │ │ ├── Metadata: map[string]v1.JSON +│ │ │ ├── Name: *string +│ │ │ └── Type: *string +│ │ ├── ManualTriggerConfig: *Object (2 properties) +│ │ │ ├── Parallelism: *int +│ │ │ └── ReplicaCompletionCount: *int +│ │ ├── Registries: Object (4 properties)[] +│ │ │ ├── Identity: *string +│ │ │ ├── PasswordSecretRef: *string +│ │ │ ├── Server: *string +│ │ │ └── Username: *string +│ │ ├── ReplicaRetryLimit: *int +│ │ ├── ReplicaTimeout: *int +│ │ ├── ScheduleTriggerConfig: *Object (3 properties) +│ │ │ ├── CronExpression: *string +│ │ │ ├── Parallelism: *int +│ │ │ └── ReplicaCompletionCount: *int +│ │ ├── Secrets: Object (3 properties)[] +│ │ │ ├── Identity: *string +│ │ │ ├── KeyVaultUrl: *string +│ │ │ └── Name: *string +│ │ └── TriggerType: *Enum (3 values) +│ │ ├── "Event" +│ │ ├── "Manual" +│ │ └── "Schedule" +│ ├── EnvironmentId: *string +│ ├── EventStreamEndpoint: *string +│ ├── OutboundIpAddresses: string[] +│ ├── ProvisioningState: *Enum (5 values) +│ │ ├── "Canceled" +│ │ ├── "Deleting" +│ │ ├── "Failed" +│ │ ├── "InProgress" +│ │ └── "Succeeded" +│ ├── Template: *Object (3 properties) +│ │ ├── Containers: Object (8 properties)[] +│ │ │ ├── Args: string[] +│ │ │ ├── Command: string[] +│ │ │ ├── Env: Object (3 properties)[] +│ │ │ │ ├── Name: *string +│ │ │ │ ├── SecretRef: *string +│ │ │ │ └── Value: *string +│ │ │ ├── Image: *string +│ │ │ ├── Name: *string +│ │ │ ├── Probes: Object (9 properties)[] +│ │ │ │ ├── FailureThreshold: *int +│ │ │ │ ├── HttpGet: *Object (5 properties) +│ │ │ │ │ ├── Host: *string +│ │ │ │ │ ├── HttpHeaders: Object (2 properties)[] +│ │ │ │ │ │ ├── Name: *string +│ │ │ │ │ │ └── Value: *string +│ │ │ │ │ ├── Path: *string +│ │ │ │ │ ├── Port: *int +│ │ │ │ │ └── Scheme: *Enum (2 values) +│ │ │ │ │ ├── "HTTP" +│ │ │ │ │ └── "HTTPS" +│ │ │ │ ├── InitialDelaySeconds: *int +│ │ │ │ ├── PeriodSeconds: *int +│ │ │ │ ├── SuccessThreshold: *int +│ │ │ │ ├── TcpSocket: *Object (2 properties) +│ │ │ │ │ ├── Host: *string +│ │ │ │ │ └── Port: *int +│ │ │ │ ├── TerminationGracePeriodSeconds: *int +│ │ │ │ ├── TimeoutSeconds: *int +│ │ │ │ └── Type: *Enum (3 values) +│ │ │ │ ├── "Liveness" +│ │ │ │ ├── "Readiness" +│ │ │ │ └── "Startup" +│ │ │ ├── Resources: *Object (3 properties) +│ │ │ │ ├── Cpu: *float64 +│ │ │ │ ├── EphemeralStorage: *string +│ │ │ │ └── Memory: *string +│ │ │ └── VolumeMounts: Object (3 properties)[] +│ │ │ ├── MountPath: *string +│ │ │ ├── SubPath: *string +│ │ │ └── VolumeName: *string +│ │ ├── InitContainers: Object (7 properties)[] +│ │ │ ├── Args: string[] +│ │ │ ├── Command: string[] +│ │ │ ├── Env: Object (3 properties)[] +│ │ │ │ ├── Name: *string +│ │ │ │ ├── SecretRef: *string +│ │ │ │ └── Value: *string +│ │ │ ├── Image: *string +│ │ │ ├── Name: *string +│ │ │ ├── Resources: *Object (3 properties) +│ │ │ │ ├── Cpu: *float64 +│ │ │ │ ├── EphemeralStorage: *string +│ │ │ │ └── Memory: *string +│ │ │ └── VolumeMounts: Object (3 properties)[] +│ │ │ ├── MountPath: *string +│ │ │ ├── SubPath: *string +│ │ │ └── VolumeName: *string +│ │ └── Volumes: Object (5 properties)[] +│ │ ├── MountOptions: *string +│ │ ├── Name: *string +│ │ ├── Secrets: Object (2 properties)[] +│ │ │ ├── Path: *string +│ │ │ └── SecretRef: *string +│ │ ├── StorageName: *string +│ │ └── StorageType: *Enum (3 values) +│ │ ├── "AzureFile" +│ │ ├── "EmptyDir" +│ │ └── "Secret" +│ └── WorkloadProfileName: *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 +Job_Spec: Object (5 properties) +├── Identity: *Object (2 properties) +│ ├── Type: *Enum (4 values) +│ │ ├── "None" +│ │ ├── "SystemAssigned" +│ │ ├── "SystemAssigned,UserAssigned" +│ │ └── "UserAssigned" +│ └── UserAssignedIdentities: map[string]Object (0 properties) +├── Location: *string +├── Name: string +├── Properties: *Object (4 properties) +│ ├── Configuration: *Object (8 properties) +│ │ ├── EventTriggerConfig: *Object (3 properties) +│ │ │ ├── Parallelism: *int +│ │ │ ├── ReplicaCompletionCount: *int +│ │ │ └── Scale: *Object (4 properties) +│ │ │ ├── MaxExecutions: *int +│ │ │ ├── MinExecutions: *int +│ │ │ ├── PollingInterval: *int +│ │ │ └── Rules: Object (4 properties)[] +│ │ │ ├── Auth: Object (2 properties)[] +│ │ │ │ ├── SecretRef: *string +│ │ │ │ └── TriggerParameter: *string +│ │ │ ├── Metadata: map[string]v1.JSON +│ │ │ ├── Name: *string +│ │ │ └── Type: *string +│ │ ├── ManualTriggerConfig: *Object (2 properties) +│ │ │ ├── Parallelism: *int +│ │ │ └── ReplicaCompletionCount: *int +│ │ ├── Registries: Object (4 properties)[] +│ │ │ ├── Identity: *string +│ │ │ ├── PasswordSecretRef: *string +│ │ │ ├── Server: *string +│ │ │ └── Username: *string +│ │ ├── ReplicaRetryLimit: *int +│ │ ├── ReplicaTimeout: *int +│ │ ├── ScheduleTriggerConfig: *Object (3 properties) +│ │ │ ├── CronExpression: *string +│ │ │ ├── Parallelism: *int +│ │ │ └── ReplicaCompletionCount: *int +│ │ ├── Secrets: Object (4 properties)[] +│ │ │ ├── Identity: *string +│ │ │ ├── KeyVaultUrl: *string +│ │ │ ├── Name: *string +│ │ │ └── Value: *string +│ │ └── TriggerType: *Enum (3 values) +│ │ ├── "Event" +│ │ ├── "Manual" +│ │ └── "Schedule" +│ ├── EnvironmentId: *string +│ ├── Template: *Object (3 properties) +│ │ ├── Containers: Object (8 properties)[] +│ │ │ ├── Args: string[] +│ │ │ ├── Command: string[] +│ │ │ ├── Env: Object (3 properties)[] +│ │ │ │ ├── Name: *string +│ │ │ │ ├── SecretRef: *string +│ │ │ │ └── Value: *string +│ │ │ ├── Image: *string +│ │ │ ├── Name: *string +│ │ │ ├── Probes: Object (9 properties)[] +│ │ │ │ ├── FailureThreshold: *int +│ │ │ │ ├── HttpGet: *Object (5 properties) +│ │ │ │ │ ├── Host: *string +│ │ │ │ │ ├── HttpHeaders: Object (2 properties)[] +│ │ │ │ │ │ ├── Name: *string +│ │ │ │ │ │ └── Value: *string +│ │ │ │ │ ├── Path: *string +│ │ │ │ │ ├── Port: *int +│ │ │ │ │ └── Scheme: *Enum (2 values) +│ │ │ │ │ ├── "HTTP" +│ │ │ │ │ └── "HTTPS" +│ │ │ │ ├── InitialDelaySeconds: *int +│ │ │ │ ├── PeriodSeconds: *int +│ │ │ │ ├── SuccessThreshold: *int +│ │ │ │ ├── TcpSocket: *Object (2 properties) +│ │ │ │ │ ├── Host: *string +│ │ │ │ │ └── Port: *int +│ │ │ │ ├── TerminationGracePeriodSeconds: *int +│ │ │ │ ├── TimeoutSeconds: *int +│ │ │ │ └── Type: *Enum (3 values) +│ │ │ │ ├── "Liveness" +│ │ │ │ ├── "Readiness" +│ │ │ │ └── "Startup" +│ │ │ ├── Resources: *Object (2 properties) +│ │ │ │ ├── Cpu: *float64 +│ │ │ │ └── Memory: *string +│ │ │ └── VolumeMounts: Object (3 properties)[] +│ │ │ ├── MountPath: *string +│ │ │ ├── SubPath: *string +│ │ │ └── VolumeName: *string +│ │ ├── InitContainers: Object (7 properties)[] +│ │ │ ├── Args: string[] +│ │ │ ├── Command: string[] +│ │ │ ├── Env: Object (3 properties)[] +│ │ │ │ ├── Name: *string +│ │ │ │ ├── SecretRef: *string +│ │ │ │ └── Value: *string +│ │ │ ├── Image: *string +│ │ │ ├── Name: *string +│ │ │ ├── Resources: *Object (2 properties) +│ │ │ │ ├── Cpu: *float64 +│ │ │ │ └── Memory: *string +│ │ │ └── VolumeMounts: Object (3 properties)[] +│ │ │ ├── MountPath: *string +│ │ │ ├── SubPath: *string +│ │ │ └── VolumeName: *string +│ │ └── Volumes: Object (5 properties)[] +│ │ ├── MountOptions: *string +│ │ ├── Name: *string +│ │ ├── Secrets: Object (2 properties)[] +│ │ │ ├── Path: *string +│ │ │ └── SecretRef: *string +│ │ ├── StorageName: *string +│ │ └── StorageType: *Enum (3 values) +│ │ ├── "AzureFile" +│ │ ├── "EmptyDir" +│ │ └── "Secret" +│ └── WorkloadProfileName: *string +└── Tags: map[string]string +ManagedEnvironment_STATUS: Object (8 properties) +├── Id: *string +├── Kind: *string +├── Location: *string +├── Name: *string +├── Properties: *Object (15 properties) +│ ├── AppLogsConfiguration: *Object (2 properties) +│ │ ├── Destination: *string +│ │ └── LogAnalyticsConfiguration: *Object (1 property) +│ │ └── CustomerId: *string +│ ├── CustomDomainConfiguration: *Object (5 properties) +│ │ ├── CustomDomainVerificationId: *string +│ │ ├── DnsSuffix: *string +│ │ ├── ExpirationDate: *string +│ │ ├── SubjectName: *string +│ │ └── Thumbprint: *string +│ ├── DaprConfiguration: *Object (1 property) +│ │ └── Version: *string +│ ├── DefaultDomain: *string +│ ├── DeploymentErrors: *string +│ ├── EventStreamEndpoint: *string +│ ├── InfrastructureResourceGroup: *string +│ ├── KedaConfiguration: *Object (1 property) +│ │ └── Version: *string +│ ├── PeerAuthentication: *Object (1 property) +│ │ └── Mtls: *Object (1 property) +│ │ └── Enabled: *bool +│ ├── PeerTrafficConfiguration: *Object (1 property) +│ │ └── Encryption: *Object (1 property) +│ │ └── Enabled: *bool +│ ├── ProvisioningState: *Enum (10 values) +│ │ ├── "Canceled" +│ │ ├── "Failed" +│ │ ├── "InfrastructureSetupComplete" +│ │ ├── "InfrastructureSetupInProgress" +│ │ ├── "InitializationInProgress" +│ │ ├── "ScheduledForDelete" +│ │ ├── "Succeeded" +│ │ ├── "UpgradeFailed" +│ │ ├── "UpgradeRequested" +│ │ └── "Waiting" +│ ├── StaticIp: *string +│ ├── VnetConfiguration: *Object (5 properties) +│ │ ├── DockerBridgeCidr: *string +│ │ ├── InfrastructureSubnetId: *string +│ │ ├── Internal: *bool +│ │ ├── PlatformReservedCidr: *string +│ │ └── PlatformReservedDnsIP: *string +│ ├── WorkloadProfiles: Object (4 properties)[] +│ │ ├── MaximumCount: *int +│ │ ├── MinimumCount: *int +│ │ ├── Name: *string +│ │ └── WorkloadProfileType: *string +│ └── ZoneRedundant: *bool +├── 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 +ManagedEnvironment_Spec: Object (5 properties) +├── Kind: *string +├── Location: *string +├── Name: string +├── Properties: *Object (10 properties) +│ ├── AppLogsConfiguration: *Object (2 properties) +│ │ ├── Destination: *string +│ │ └── LogAnalyticsConfiguration: *Object (2 properties) +│ │ ├── CustomerId: *string +│ │ └── SharedKey: *string +│ ├── CustomDomainConfiguration: *Object (3 properties) +│ │ ├── CertificatePassword: *string +│ │ ├── CertificateValue: *string +│ │ └── DnsSuffix: *string +│ ├── DaprAIConnectionString: *string +│ ├── DaprAIInstrumentationKey: *string +│ ├── InfrastructureResourceGroup: *string +│ ├── PeerAuthentication: *Object (1 property) +│ │ └── Mtls: *Object (1 property) +│ │ └── Enabled: *bool +│ ├── PeerTrafficConfiguration: *Object (1 property) +│ │ └── Encryption: *Object (1 property) +│ │ └── Enabled: *bool +│ ├── VnetConfiguration: *Object (5 properties) +│ │ ├── DockerBridgeCidr: *string +│ │ ├── InfrastructureSubnetId: *string +│ │ ├── Internal: *bool +│ │ ├── PlatformReservedCidr: *string +│ │ └── PlatformReservedDnsIP: *string +│ ├── WorkloadProfiles: Object (4 properties)[] +│ │ ├── MaximumCount: *int +│ │ ├── MinimumCount: *int +│ │ ├── Name: *string +│ │ └── WorkloadProfileType: *string +│ └── ZoneRedundant: *bool +└── Tags: map[string]string diff --git a/v2/api/app/v1api20240301/auth_config_types_gen.go b/v2/api/app/v1api20240301/auth_config_types_gen.go new file mode 100644 index 00000000000..9d2e6ef2a45 --- /dev/null +++ b/v2/api/app/v1api20240301/auth_config_types_gen.go @@ -0,0 +1,12524 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20240301 + +import ( + "fmt" + arm "github.com/Azure/azure-service-operator/v2/api/app/v1api20240301/arm" + storage "github.com/Azure/azure-service-operator/v2/api/app/v1api20240301/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/Azure/azure-service-operator/v2/pkg/genruntime/configmaps" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/core" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/secrets" + "github.com/rotisserie/eris" + 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: /app/resource-manager/Microsoft.App/stable/2024-03-01/AuthConfigs.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/authConfigs/{authConfigName} +type AuthConfig struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec AuthConfig_Spec `json:"spec,omitempty"` + Status AuthConfig_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &AuthConfig{} + +// GetConditions returns the conditions of the resource +func (config *AuthConfig) GetConditions() conditions.Conditions { + return config.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (config *AuthConfig) SetConditions(conditions conditions.Conditions) { + config.Status.Conditions = conditions +} + +var _ conversion.Convertible = &AuthConfig{} + +// ConvertFrom populates our AuthConfig from the provided hub AuthConfig +func (config *AuthConfig) ConvertFrom(hub conversion.Hub) error { + source, ok := hub.(*storage.AuthConfig) + if !ok { + return fmt.Errorf("expected app/v1api20240301/storage/AuthConfig but received %T instead", hub) + } + + return config.AssignProperties_From_AuthConfig(source) +} + +// ConvertTo populates the provided hub AuthConfig from our AuthConfig +func (config *AuthConfig) ConvertTo(hub conversion.Hub) error { + destination, ok := hub.(*storage.AuthConfig) + if !ok { + return fmt.Errorf("expected app/v1api20240301/storage/AuthConfig but received %T instead", hub) + } + + return config.AssignProperties_To_AuthConfig(destination) +} + +// +kubebuilder:webhook:path=/mutate-app-azure-com-v1api20240301-authconfig,mutating=true,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=app.azure.com,resources=authconfigs,verbs=create;update,versions=v1api20240301,name=default.v1api20240301.authconfigs.app.azure.com,admissionReviewVersions=v1 + +var _ admission.Defaulter = &AuthConfig{} + +// Default applies defaults to the AuthConfig resource +func (config *AuthConfig) Default() { + config.defaultImpl() + var temp any = config + if runtimeDefaulter, ok := temp.(genruntime.Defaulter); ok { + runtimeDefaulter.CustomDefault() + } +} + +// defaultAzureName defaults the Azure name of the resource to the Kubernetes name +func (config *AuthConfig) defaultAzureName() { + if config.Spec.AzureName == "" { + config.Spec.AzureName = config.Name + } +} + +// defaultImpl applies the code generated defaults to the AuthConfig resource +func (config *AuthConfig) defaultImpl() { config.defaultAzureName() } + +var _ configmaps.Exporter = &AuthConfig{} + +// ConfigMapDestinationExpressions returns the Spec.OperatorSpec.ConfigMapExpressions property +func (config *AuthConfig) ConfigMapDestinationExpressions() []*core.DestinationExpression { + if config.Spec.OperatorSpec == nil { + return nil + } + return config.Spec.OperatorSpec.ConfigMapExpressions +} + +var _ secrets.Exporter = &AuthConfig{} + +// SecretDestinationExpressions returns the Spec.OperatorSpec.SecretExpressions property +func (config *AuthConfig) SecretDestinationExpressions() []*core.DestinationExpression { + if config.Spec.OperatorSpec == nil { + return nil + } + return config.Spec.OperatorSpec.SecretExpressions +} + +var _ genruntime.ImportableResource = &AuthConfig{} + +// InitializeSpec initializes the spec for this resource from the given status +func (config *AuthConfig) InitializeSpec(status genruntime.ConvertibleStatus) error { + if s, ok := status.(*AuthConfig_STATUS); ok { + return config.Spec.Initialize_From_AuthConfig_STATUS(s) + } + + return fmt.Errorf("expected Status of type AuthConfig_STATUS but received %T instead", status) +} + +var _ genruntime.KubernetesResource = &AuthConfig{} + +// AzureName returns the Azure name of the resource +func (config *AuthConfig) AzureName() string { + return config.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-03-01" +func (config AuthConfig) GetAPIVersion() string { + return "2024-03-01" +} + +// GetResourceScope returns the scope of the resource +func (config *AuthConfig) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (config *AuthConfig) GetSpec() genruntime.ConvertibleSpec { + return &config.Spec +} + +// GetStatus returns the status of this resource +func (config *AuthConfig) GetStatus() genruntime.ConvertibleStatus { + return &config.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (config *AuthConfig) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.App/containerApps/authConfigs" +func (config *AuthConfig) GetType() string { + return "Microsoft.App/containerApps/authConfigs" +} + +// NewEmptyStatus returns a new empty (blank) status +func (config *AuthConfig) NewEmptyStatus() genruntime.ConvertibleStatus { + return &AuthConfig_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (config *AuthConfig) Owner() *genruntime.ResourceReference { + if config.Spec.Owner == nil { + return nil + } + + group, kind := genruntime.LookupOwnerGroupKind(config.Spec) + return config.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (config *AuthConfig) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*AuthConfig_STATUS); ok { + config.Status = *st + return nil + } + + // Convert status to required version + var st AuthConfig_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return eris.Wrap(err, "failed to convert status") + } + + config.Status = st + return nil +} + +// +kubebuilder:webhook:path=/validate-app-azure-com-v1api20240301-authconfig,mutating=false,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=app.azure.com,resources=authconfigs,verbs=create;update,versions=v1api20240301,name=validate.v1api20240301.authconfigs.app.azure.com,admissionReviewVersions=v1 + +var _ admission.Validator = &AuthConfig{} + +// ValidateCreate validates the creation of the resource +func (config *AuthConfig) ValidateCreate() (admission.Warnings, error) { + validations := config.createValidations() + var temp any = config + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.CreateValidations()...) + } + return genruntime.ValidateCreate(validations) +} + +// ValidateDelete validates the deletion of the resource +func (config *AuthConfig) ValidateDelete() (admission.Warnings, error) { + validations := config.deleteValidations() + var temp any = config + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.DeleteValidations()...) + } + return genruntime.ValidateDelete(validations) +} + +// ValidateUpdate validates an update of the resource +func (config *AuthConfig) ValidateUpdate(old runtime.Object) (admission.Warnings, error) { + validations := config.updateValidations() + var temp any = config + 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 (config *AuthConfig) createValidations() []func() (admission.Warnings, error) { + return []func() (admission.Warnings, error){config.validateResourceReferences, config.validateOwnerReference, config.validateSecretDestinations, config.validateConfigMapDestinations} +} + +// deleteValidations validates the deletion of the resource +func (config *AuthConfig) deleteValidations() []func() (admission.Warnings, error) { + return nil +} + +// updateValidations validates the update of the resource +func (config *AuthConfig) updateValidations() []func(old runtime.Object) (admission.Warnings, error) { + return []func(old runtime.Object) (admission.Warnings, error){ + func(old runtime.Object) (admission.Warnings, error) { + return config.validateResourceReferences() + }, + config.validateWriteOnceProperties, + func(old runtime.Object) (admission.Warnings, error) { + return config.validateOwnerReference() + }, + func(old runtime.Object) (admission.Warnings, error) { + return config.validateSecretDestinations() + }, + func(old runtime.Object) (admission.Warnings, error) { + return config.validateConfigMapDestinations() + }, + } +} + +// validateConfigMapDestinations validates there are no colliding genruntime.ConfigMapDestinations +func (config *AuthConfig) validateConfigMapDestinations() (admission.Warnings, error) { + if config.Spec.OperatorSpec == nil { + return nil, nil + } + return configmaps.ValidateDestinations(config, nil, config.Spec.OperatorSpec.ConfigMapExpressions) +} + +// validateOwnerReference validates the owner field +func (config *AuthConfig) validateOwnerReference() (admission.Warnings, error) { + return genruntime.ValidateOwner(config) +} + +// validateResourceReferences validates all resource references +func (config *AuthConfig) validateResourceReferences() (admission.Warnings, error) { + refs, err := reflecthelpers.FindResourceReferences(&config.Spec) + if err != nil { + return nil, err + } + return genruntime.ValidateResourceReferences(refs) +} + +// validateSecretDestinations validates there are no colliding genruntime.SecretDestination's +func (config *AuthConfig) validateSecretDestinations() (admission.Warnings, error) { + if config.Spec.OperatorSpec == nil { + return nil, nil + } + return secrets.ValidateDestinations(config, nil, config.Spec.OperatorSpec.SecretExpressions) +} + +// validateWriteOnceProperties validates all WriteOnce properties +func (config *AuthConfig) validateWriteOnceProperties(old runtime.Object) (admission.Warnings, error) { + oldObj, ok := old.(*AuthConfig) + if !ok { + return nil, nil + } + + return genruntime.ValidateWriteOnceProperties(oldObj, config) +} + +// AssignProperties_From_AuthConfig populates our AuthConfig from the provided source AuthConfig +func (config *AuthConfig) AssignProperties_From_AuthConfig(source *storage.AuthConfig) error { + + // ObjectMeta + config.ObjectMeta = *source.ObjectMeta.DeepCopy() + + // Spec + var spec AuthConfig_Spec + err := spec.AssignProperties_From_AuthConfig_Spec(&source.Spec) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_AuthConfig_Spec() to populate field Spec") + } + config.Spec = spec + + // Status + var status AuthConfig_STATUS + err = status.AssignProperties_From_AuthConfig_STATUS(&source.Status) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_AuthConfig_STATUS() to populate field Status") + } + config.Status = status + + // No error + return nil +} + +// AssignProperties_To_AuthConfig populates the provided destination AuthConfig from our AuthConfig +func (config *AuthConfig) AssignProperties_To_AuthConfig(destination *storage.AuthConfig) error { + + // ObjectMeta + destination.ObjectMeta = *config.ObjectMeta.DeepCopy() + + // Spec + var spec storage.AuthConfig_Spec + err := config.Spec.AssignProperties_To_AuthConfig_Spec(&spec) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_AuthConfig_Spec() to populate field Spec") + } + destination.Spec = spec + + // Status + var status storage.AuthConfig_STATUS + err = config.Status.AssignProperties_To_AuthConfig_STATUS(&status) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_AuthConfig_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 (config *AuthConfig) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: config.Spec.OriginalVersion(), + Kind: "AuthConfig", + } +} + +// +kubebuilder:object:root=true +// Generator information: +// - Generated from: /app/resource-manager/Microsoft.App/stable/2024-03-01/AuthConfigs.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/authConfigs/{authConfigName} +type AuthConfigList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []AuthConfig `json:"items"` +} + +// +kubebuilder:validation:Enum={"2024-03-01"} +type APIVersion string + +const APIVersion_Value = APIVersion("2024-03-01") + +type AuthConfig_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"` + + // EncryptionSettings: The configuration settings of the secrets references of encryption key and signing key for + // ContainerApp Service Authentication/Authorization. + EncryptionSettings *EncryptionSettings `json:"encryptionSettings,omitempty"` + + // GlobalValidation: The configuration settings that determines the validation flow of users using Service + // Authentication/Authorization. + GlobalValidation *GlobalValidation `json:"globalValidation,omitempty"` + + // HttpSettings: The configuration settings of the HTTP requests for authentication and authorization requests made against + // ContainerApp Service Authentication/Authorization. + HttpSettings *HttpSettings `json:"httpSettings,omitempty"` + + // IdentityProviders: The configuration settings of each of the identity providers used to configure ContainerApp Service + // Authentication/Authorization. + IdentityProviders *IdentityProviders `json:"identityProviders,omitempty"` + + // Login: The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization. + Login *Login `json:"login,omitempty"` + + // OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + // passed directly to Azure + OperatorSpec *AuthConfigOperatorSpec `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 app.azure.com/ContainerApp resource + Owner *genruntime.KnownResourceReference `group:"app.azure.com" json:"owner,omitempty" kind:"ContainerApp"` + + // Platform: The configuration settings of the platform of ContainerApp Service Authentication/Authorization. + Platform *AuthPlatform `json:"platform,omitempty"` +} + +var _ genruntime.ARMTransformer = &AuthConfig_Spec{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (config *AuthConfig_Spec) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if config == nil { + return nil, nil + } + result := &arm.AuthConfig_Spec{} + + // Set property "Name": + result.Name = resolved.Name + + // Set property "Properties": + if config.EncryptionSettings != nil || + config.GlobalValidation != nil || + config.HttpSettings != nil || + config.IdentityProviders != nil || + config.Login != nil || + config.Platform != nil { + result.Properties = &arm.ContainerApps_AuthConfig_Properties_Spec{} + } + if config.EncryptionSettings != nil { + encryptionSettings_ARM, err := (*config.EncryptionSettings).ConvertToARM(resolved) + if err != nil { + return nil, err + } + encryptionSettings := *encryptionSettings_ARM.(*arm.EncryptionSettings) + result.Properties.EncryptionSettings = &encryptionSettings + } + if config.GlobalValidation != nil { + globalValidation_ARM, err := (*config.GlobalValidation).ConvertToARM(resolved) + if err != nil { + return nil, err + } + globalValidation := *globalValidation_ARM.(*arm.GlobalValidation) + result.Properties.GlobalValidation = &globalValidation + } + if config.HttpSettings != nil { + httpSettings_ARM, err := (*config.HttpSettings).ConvertToARM(resolved) + if err != nil { + return nil, err + } + httpSettings := *httpSettings_ARM.(*arm.HttpSettings) + result.Properties.HttpSettings = &httpSettings + } + if config.IdentityProviders != nil { + identityProviders_ARM, err := (*config.IdentityProviders).ConvertToARM(resolved) + if err != nil { + return nil, err + } + identityProviders := *identityProviders_ARM.(*arm.IdentityProviders) + result.Properties.IdentityProviders = &identityProviders + } + if config.Login != nil { + login_ARM, err := (*config.Login).ConvertToARM(resolved) + if err != nil { + return nil, err + } + login := *login_ARM.(*arm.Login) + result.Properties.Login = &login + } + if config.Platform != nil { + platform_ARM, err := (*config.Platform).ConvertToARM(resolved) + if err != nil { + return nil, err + } + platform := *platform_ARM.(*arm.AuthPlatform) + result.Properties.Platform = &platform + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (config *AuthConfig_Spec) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AuthConfig_Spec{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (config *AuthConfig_Spec) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AuthConfig_Spec) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AuthConfig_Spec, got %T", armInput) + } + + // Set property "AzureName": + config.SetAzureName(genruntime.ExtractKubernetesResourceNameFromARMName(typedInput.Name)) + + // Set property "EncryptionSettings": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.EncryptionSettings != nil { + var encryptionSettings1 EncryptionSettings + err := encryptionSettings1.PopulateFromARM(owner, *typedInput.Properties.EncryptionSettings) + if err != nil { + return err + } + encryptionSettings := encryptionSettings1 + config.EncryptionSettings = &encryptionSettings + } + } + + // Set property "GlobalValidation": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.GlobalValidation != nil { + var globalValidation1 GlobalValidation + err := globalValidation1.PopulateFromARM(owner, *typedInput.Properties.GlobalValidation) + if err != nil { + return err + } + globalValidation := globalValidation1 + config.GlobalValidation = &globalValidation + } + } + + // Set property "HttpSettings": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.HttpSettings != nil { + var httpSettings1 HttpSettings + err := httpSettings1.PopulateFromARM(owner, *typedInput.Properties.HttpSettings) + if err != nil { + return err + } + httpSettings := httpSettings1 + config.HttpSettings = &httpSettings + } + } + + // Set property "IdentityProviders": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.IdentityProviders != nil { + var identityProviders1 IdentityProviders + err := identityProviders1.PopulateFromARM(owner, *typedInput.Properties.IdentityProviders) + if err != nil { + return err + } + identityProviders := identityProviders1 + config.IdentityProviders = &identityProviders + } + } + + // Set property "Login": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Login != nil { + var login1 Login + err := login1.PopulateFromARM(owner, *typedInput.Properties.Login) + if err != nil { + return err + } + login := login1 + config.Login = &login + } + } + + // no assignment for property "OperatorSpec" + + // Set property "Owner": + config.Owner = &genruntime.KnownResourceReference{ + Name: owner.Name, + ARMID: owner.ARMID, + } + + // Set property "Platform": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Platform != nil { + var platform1 AuthPlatform + err := platform1.PopulateFromARM(owner, *typedInput.Properties.Platform) + if err != nil { + return err + } + platform := platform1 + config.Platform = &platform + } + } + + // No error + return nil +} + +var _ genruntime.ConvertibleSpec = &AuthConfig_Spec{} + +// ConvertSpecFrom populates our AuthConfig_Spec from the provided source +func (config *AuthConfig_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + src, ok := source.(*storage.AuthConfig_Spec) + if ok { + // Populate our instance from source + return config.AssignProperties_From_AuthConfig_Spec(src) + } + + // Convert to an intermediate form + src = &storage.AuthConfig_Spec{} + err := src.ConvertSpecFrom(source) + if err != nil { + return eris.Wrap(err, "initial step of conversion in ConvertSpecFrom()") + } + + // Update our instance from src + err = config.AssignProperties_From_AuthConfig_Spec(src) + if err != nil { + return eris.Wrap(err, "final step of conversion in ConvertSpecFrom()") + } + + return nil +} + +// ConvertSpecTo populates the provided destination from our AuthConfig_Spec +func (config *AuthConfig_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + dst, ok := destination.(*storage.AuthConfig_Spec) + if ok { + // Populate destination from our instance + return config.AssignProperties_To_AuthConfig_Spec(dst) + } + + // Convert to an intermediate form + dst = &storage.AuthConfig_Spec{} + err := config.AssignProperties_To_AuthConfig_Spec(dst) + if err != nil { + return eris.Wrap(err, "initial step of conversion in ConvertSpecTo()") + } + + // Update dst from our instance + err = dst.ConvertSpecTo(destination) + if err != nil { + return eris.Wrap(err, "final step of conversion in ConvertSpecTo()") + } + + return nil +} + +// AssignProperties_From_AuthConfig_Spec populates our AuthConfig_Spec from the provided source AuthConfig_Spec +func (config *AuthConfig_Spec) AssignProperties_From_AuthConfig_Spec(source *storage.AuthConfig_Spec) error { + + // AzureName + config.AzureName = source.AzureName + + // EncryptionSettings + if source.EncryptionSettings != nil { + var encryptionSetting EncryptionSettings + err := encryptionSetting.AssignProperties_From_EncryptionSettings(source.EncryptionSettings) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_EncryptionSettings() to populate field EncryptionSettings") + } + config.EncryptionSettings = &encryptionSetting + } else { + config.EncryptionSettings = nil + } + + // GlobalValidation + if source.GlobalValidation != nil { + var globalValidation GlobalValidation + err := globalValidation.AssignProperties_From_GlobalValidation(source.GlobalValidation) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_GlobalValidation() to populate field GlobalValidation") + } + config.GlobalValidation = &globalValidation + } else { + config.GlobalValidation = nil + } + + // HttpSettings + if source.HttpSettings != nil { + var httpSetting HttpSettings + err := httpSetting.AssignProperties_From_HttpSettings(source.HttpSettings) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_HttpSettings() to populate field HttpSettings") + } + config.HttpSettings = &httpSetting + } else { + config.HttpSettings = nil + } + + // IdentityProviders + if source.IdentityProviders != nil { + var identityProvider IdentityProviders + err := identityProvider.AssignProperties_From_IdentityProviders(source.IdentityProviders) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_IdentityProviders() to populate field IdentityProviders") + } + config.IdentityProviders = &identityProvider + } else { + config.IdentityProviders = nil + } + + // Login + if source.Login != nil { + var login Login + err := login.AssignProperties_From_Login(source.Login) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Login() to populate field Login") + } + config.Login = &login + } else { + config.Login = nil + } + + // OperatorSpec + if source.OperatorSpec != nil { + var operatorSpec AuthConfigOperatorSpec + err := operatorSpec.AssignProperties_From_AuthConfigOperatorSpec(source.OperatorSpec) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_AuthConfigOperatorSpec() to populate field OperatorSpec") + } + config.OperatorSpec = &operatorSpec + } else { + config.OperatorSpec = nil + } + + // Owner + if source.Owner != nil { + owner := source.Owner.Copy() + config.Owner = &owner + } else { + config.Owner = nil + } + + // Platform + if source.Platform != nil { + var platform AuthPlatform + err := platform.AssignProperties_From_AuthPlatform(source.Platform) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_AuthPlatform() to populate field Platform") + } + config.Platform = &platform + } else { + config.Platform = nil + } + + // No error + return nil +} + +// AssignProperties_To_AuthConfig_Spec populates the provided destination AuthConfig_Spec from our AuthConfig_Spec +func (config *AuthConfig_Spec) AssignProperties_To_AuthConfig_Spec(destination *storage.AuthConfig_Spec) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AzureName + destination.AzureName = config.AzureName + + // EncryptionSettings + if config.EncryptionSettings != nil { + var encryptionSetting storage.EncryptionSettings + err := config.EncryptionSettings.AssignProperties_To_EncryptionSettings(&encryptionSetting) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_EncryptionSettings() to populate field EncryptionSettings") + } + destination.EncryptionSettings = &encryptionSetting + } else { + destination.EncryptionSettings = nil + } + + // GlobalValidation + if config.GlobalValidation != nil { + var globalValidation storage.GlobalValidation + err := config.GlobalValidation.AssignProperties_To_GlobalValidation(&globalValidation) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_GlobalValidation() to populate field GlobalValidation") + } + destination.GlobalValidation = &globalValidation + } else { + destination.GlobalValidation = nil + } + + // HttpSettings + if config.HttpSettings != nil { + var httpSetting storage.HttpSettings + err := config.HttpSettings.AssignProperties_To_HttpSettings(&httpSetting) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_HttpSettings() to populate field HttpSettings") + } + destination.HttpSettings = &httpSetting + } else { + destination.HttpSettings = nil + } + + // IdentityProviders + if config.IdentityProviders != nil { + var identityProvider storage.IdentityProviders + err := config.IdentityProviders.AssignProperties_To_IdentityProviders(&identityProvider) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_IdentityProviders() to populate field IdentityProviders") + } + destination.IdentityProviders = &identityProvider + } else { + destination.IdentityProviders = nil + } + + // Login + if config.Login != nil { + var login storage.Login + err := config.Login.AssignProperties_To_Login(&login) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Login() to populate field Login") + } + destination.Login = &login + } else { + destination.Login = nil + } + + // OperatorSpec + if config.OperatorSpec != nil { + var operatorSpec storage.AuthConfigOperatorSpec + err := config.OperatorSpec.AssignProperties_To_AuthConfigOperatorSpec(&operatorSpec) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_AuthConfigOperatorSpec() to populate field OperatorSpec") + } + destination.OperatorSpec = &operatorSpec + } else { + destination.OperatorSpec = nil + } + + // OriginalVersion + destination.OriginalVersion = config.OriginalVersion() + + // Owner + if config.Owner != nil { + owner := config.Owner.Copy() + destination.Owner = &owner + } else { + destination.Owner = nil + } + + // Platform + if config.Platform != nil { + var platform storage.AuthPlatform + err := config.Platform.AssignProperties_To_AuthPlatform(&platform) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_AuthPlatform() to populate field Platform") + } + destination.Platform = &platform + } else { + destination.Platform = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_AuthConfig_STATUS populates our AuthConfig_Spec from the provided source AuthConfig_STATUS +func (config *AuthConfig_Spec) Initialize_From_AuthConfig_STATUS(source *AuthConfig_STATUS) error { + + // EncryptionSettings + if source.EncryptionSettings != nil { + var encryptionSetting EncryptionSettings + err := encryptionSetting.Initialize_From_EncryptionSettings_STATUS(source.EncryptionSettings) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_EncryptionSettings_STATUS() to populate field EncryptionSettings") + } + config.EncryptionSettings = &encryptionSetting + } else { + config.EncryptionSettings = nil + } + + // GlobalValidation + if source.GlobalValidation != nil { + var globalValidation GlobalValidation + err := globalValidation.Initialize_From_GlobalValidation_STATUS(source.GlobalValidation) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_GlobalValidation_STATUS() to populate field GlobalValidation") + } + config.GlobalValidation = &globalValidation + } else { + config.GlobalValidation = nil + } + + // HttpSettings + if source.HttpSettings != nil { + var httpSetting HttpSettings + err := httpSetting.Initialize_From_HttpSettings_STATUS(source.HttpSettings) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_HttpSettings_STATUS() to populate field HttpSettings") + } + config.HttpSettings = &httpSetting + } else { + config.HttpSettings = nil + } + + // IdentityProviders + if source.IdentityProviders != nil { + var identityProvider IdentityProviders + err := identityProvider.Initialize_From_IdentityProviders_STATUS(source.IdentityProviders) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_IdentityProviders_STATUS() to populate field IdentityProviders") + } + config.IdentityProviders = &identityProvider + } else { + config.IdentityProviders = nil + } + + // Login + if source.Login != nil { + var login Login + err := login.Initialize_From_Login_STATUS(source.Login) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_Login_STATUS() to populate field Login") + } + config.Login = &login + } else { + config.Login = nil + } + + // Platform + if source.Platform != nil { + var platform AuthPlatform + err := platform.Initialize_From_AuthPlatform_STATUS(source.Platform) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_AuthPlatform_STATUS() to populate field Platform") + } + config.Platform = &platform + } else { + config.Platform = nil + } + + // No error + return nil +} + +// OriginalVersion returns the original API version used to create the resource. +func (config *AuthConfig_Spec) OriginalVersion() string { + return GroupVersion.Version +} + +// SetAzureName sets the Azure name of the resource +func (config *AuthConfig_Spec) SetAzureName(azureName string) { config.AzureName = azureName } + +type AuthConfig_STATUS struct { + // Conditions: The observed state of the resource + Conditions []conditions.Condition `json:"conditions,omitempty"` + + // EncryptionSettings: The configuration settings of the secrets references of encryption key and signing key for + // ContainerApp Service Authentication/Authorization. + EncryptionSettings *EncryptionSettings_STATUS `json:"encryptionSettings,omitempty"` + + // GlobalValidation: The configuration settings that determines the validation flow of users using Service + // Authentication/Authorization. + GlobalValidation *GlobalValidation_STATUS `json:"globalValidation,omitempty"` + + // HttpSettings: The configuration settings of the HTTP requests for authentication and authorization requests made against + // ContainerApp Service Authentication/Authorization. + HttpSettings *HttpSettings_STATUS `json:"httpSettings,omitempty"` + + // Id: Fully qualified resource ID for the resource. Ex - + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + Id *string `json:"id,omitempty"` + + // IdentityProviders: The configuration settings of each of the identity providers used to configure ContainerApp Service + // Authentication/Authorization. + IdentityProviders *IdentityProviders_STATUS `json:"identityProviders,omitempty"` + + // Login: The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization. + Login *Login_STATUS `json:"login,omitempty"` + + // Name: The name of the resource + Name *string `json:"name,omitempty"` + + // Platform: The configuration settings of the platform of ContainerApp Service Authentication/Authorization. + Platform *AuthPlatform_STATUS `json:"platform,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 = &AuthConfig_STATUS{} + +// ConvertStatusFrom populates our AuthConfig_STATUS from the provided source +func (config *AuthConfig_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + src, ok := source.(*storage.AuthConfig_STATUS) + if ok { + // Populate our instance from source + return config.AssignProperties_From_AuthConfig_STATUS(src) + } + + // Convert to an intermediate form + src = &storage.AuthConfig_STATUS{} + err := src.ConvertStatusFrom(source) + if err != nil { + return eris.Wrap(err, "initial step of conversion in ConvertStatusFrom()") + } + + // Update our instance from src + err = config.AssignProperties_From_AuthConfig_STATUS(src) + if err != nil { + return eris.Wrap(err, "final step of conversion in ConvertStatusFrom()") + } + + return nil +} + +// ConvertStatusTo populates the provided destination from our AuthConfig_STATUS +func (config *AuthConfig_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + dst, ok := destination.(*storage.AuthConfig_STATUS) + if ok { + // Populate destination from our instance + return config.AssignProperties_To_AuthConfig_STATUS(dst) + } + + // Convert to an intermediate form + dst = &storage.AuthConfig_STATUS{} + err := config.AssignProperties_To_AuthConfig_STATUS(dst) + if err != nil { + return eris.Wrap(err, "initial step of conversion in ConvertStatusTo()") + } + + // Update dst from our instance + err = dst.ConvertStatusTo(destination) + if err != nil { + return eris.Wrap(err, "final step of conversion in ConvertStatusTo()") + } + + return nil +} + +var _ genruntime.FromARMConverter = &AuthConfig_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (config *AuthConfig_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AuthConfig_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (config *AuthConfig_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AuthConfig_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AuthConfig_STATUS, got %T", armInput) + } + + // no assignment for property "Conditions" + + // Set property "EncryptionSettings": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.EncryptionSettings != nil { + var encryptionSettings1 EncryptionSettings_STATUS + err := encryptionSettings1.PopulateFromARM(owner, *typedInput.Properties.EncryptionSettings) + if err != nil { + return err + } + encryptionSettings := encryptionSettings1 + config.EncryptionSettings = &encryptionSettings + } + } + + // Set property "GlobalValidation": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.GlobalValidation != nil { + var globalValidation1 GlobalValidation_STATUS + err := globalValidation1.PopulateFromARM(owner, *typedInput.Properties.GlobalValidation) + if err != nil { + return err + } + globalValidation := globalValidation1 + config.GlobalValidation = &globalValidation + } + } + + // Set property "HttpSettings": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.HttpSettings != nil { + var httpSettings1 HttpSettings_STATUS + err := httpSettings1.PopulateFromARM(owner, *typedInput.Properties.HttpSettings) + if err != nil { + return err + } + httpSettings := httpSettings1 + config.HttpSettings = &httpSettings + } + } + + // Set property "Id": + if typedInput.Id != nil { + id := *typedInput.Id + config.Id = &id + } + + // Set property "IdentityProviders": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.IdentityProviders != nil { + var identityProviders1 IdentityProviders_STATUS + err := identityProviders1.PopulateFromARM(owner, *typedInput.Properties.IdentityProviders) + if err != nil { + return err + } + identityProviders := identityProviders1 + config.IdentityProviders = &identityProviders + } + } + + // Set property "Login": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Login != nil { + var login1 Login_STATUS + err := login1.PopulateFromARM(owner, *typedInput.Properties.Login) + if err != nil { + return err + } + login := login1 + config.Login = &login + } + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + config.Name = &name + } + + // Set property "Platform": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Platform != nil { + var platform1 AuthPlatform_STATUS + err := platform1.PopulateFromARM(owner, *typedInput.Properties.Platform) + if err != nil { + return err + } + platform := platform1 + config.Platform = &platform + } + } + + // Set property "SystemData": + if typedInput.SystemData != nil { + var systemData1 SystemData_STATUS + err := systemData1.PopulateFromARM(owner, *typedInput.SystemData) + if err != nil { + return err + } + systemData := systemData1 + config.SystemData = &systemData + } + + // Set property "Type": + if typedInput.Type != nil { + typeVar := *typedInput.Type + config.Type = &typeVar + } + + // No error + return nil +} + +// AssignProperties_From_AuthConfig_STATUS populates our AuthConfig_STATUS from the provided source AuthConfig_STATUS +func (config *AuthConfig_STATUS) AssignProperties_From_AuthConfig_STATUS(source *storage.AuthConfig_STATUS) error { + + // Conditions + config.Conditions = genruntime.CloneSliceOfCondition(source.Conditions) + + // EncryptionSettings + if source.EncryptionSettings != nil { + var encryptionSetting EncryptionSettings_STATUS + err := encryptionSetting.AssignProperties_From_EncryptionSettings_STATUS(source.EncryptionSettings) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_EncryptionSettings_STATUS() to populate field EncryptionSettings") + } + config.EncryptionSettings = &encryptionSetting + } else { + config.EncryptionSettings = nil + } + + // GlobalValidation + if source.GlobalValidation != nil { + var globalValidation GlobalValidation_STATUS + err := globalValidation.AssignProperties_From_GlobalValidation_STATUS(source.GlobalValidation) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_GlobalValidation_STATUS() to populate field GlobalValidation") + } + config.GlobalValidation = &globalValidation + } else { + config.GlobalValidation = nil + } + + // HttpSettings + if source.HttpSettings != nil { + var httpSetting HttpSettings_STATUS + err := httpSetting.AssignProperties_From_HttpSettings_STATUS(source.HttpSettings) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_HttpSettings_STATUS() to populate field HttpSettings") + } + config.HttpSettings = &httpSetting + } else { + config.HttpSettings = nil + } + + // Id + config.Id = genruntime.ClonePointerToString(source.Id) + + // IdentityProviders + if source.IdentityProviders != nil { + var identityProvider IdentityProviders_STATUS + err := identityProvider.AssignProperties_From_IdentityProviders_STATUS(source.IdentityProviders) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_IdentityProviders_STATUS() to populate field IdentityProviders") + } + config.IdentityProviders = &identityProvider + } else { + config.IdentityProviders = nil + } + + // Login + if source.Login != nil { + var login Login_STATUS + err := login.AssignProperties_From_Login_STATUS(source.Login) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Login_STATUS() to populate field Login") + } + config.Login = &login + } else { + config.Login = nil + } + + // Name + config.Name = genruntime.ClonePointerToString(source.Name) + + // Platform + if source.Platform != nil { + var platform AuthPlatform_STATUS + err := platform.AssignProperties_From_AuthPlatform_STATUS(source.Platform) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_AuthPlatform_STATUS() to populate field Platform") + } + config.Platform = &platform + } else { + config.Platform = nil + } + + // SystemData + if source.SystemData != nil { + var systemDatum SystemData_STATUS + err := systemDatum.AssignProperties_From_SystemData_STATUS(source.SystemData) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_SystemData_STATUS() to populate field SystemData") + } + config.SystemData = &systemDatum + } else { + config.SystemData = nil + } + + // Type + config.Type = genruntime.ClonePointerToString(source.Type) + + // No error + return nil +} + +// AssignProperties_To_AuthConfig_STATUS populates the provided destination AuthConfig_STATUS from our AuthConfig_STATUS +func (config *AuthConfig_STATUS) AssignProperties_To_AuthConfig_STATUS(destination *storage.AuthConfig_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Conditions + destination.Conditions = genruntime.CloneSliceOfCondition(config.Conditions) + + // EncryptionSettings + if config.EncryptionSettings != nil { + var encryptionSetting storage.EncryptionSettings_STATUS + err := config.EncryptionSettings.AssignProperties_To_EncryptionSettings_STATUS(&encryptionSetting) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_EncryptionSettings_STATUS() to populate field EncryptionSettings") + } + destination.EncryptionSettings = &encryptionSetting + } else { + destination.EncryptionSettings = nil + } + + // GlobalValidation + if config.GlobalValidation != nil { + var globalValidation storage.GlobalValidation_STATUS + err := config.GlobalValidation.AssignProperties_To_GlobalValidation_STATUS(&globalValidation) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_GlobalValidation_STATUS() to populate field GlobalValidation") + } + destination.GlobalValidation = &globalValidation + } else { + destination.GlobalValidation = nil + } + + // HttpSettings + if config.HttpSettings != nil { + var httpSetting storage.HttpSettings_STATUS + err := config.HttpSettings.AssignProperties_To_HttpSettings_STATUS(&httpSetting) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_HttpSettings_STATUS() to populate field HttpSettings") + } + destination.HttpSettings = &httpSetting + } else { + destination.HttpSettings = nil + } + + // Id + destination.Id = genruntime.ClonePointerToString(config.Id) + + // IdentityProviders + if config.IdentityProviders != nil { + var identityProvider storage.IdentityProviders_STATUS + err := config.IdentityProviders.AssignProperties_To_IdentityProviders_STATUS(&identityProvider) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_IdentityProviders_STATUS() to populate field IdentityProviders") + } + destination.IdentityProviders = &identityProvider + } else { + destination.IdentityProviders = nil + } + + // Login + if config.Login != nil { + var login storage.Login_STATUS + err := config.Login.AssignProperties_To_Login_STATUS(&login) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Login_STATUS() to populate field Login") + } + destination.Login = &login + } else { + destination.Login = nil + } + + // Name + destination.Name = genruntime.ClonePointerToString(config.Name) + + // Platform + if config.Platform != nil { + var platform storage.AuthPlatform_STATUS + err := config.Platform.AssignProperties_To_AuthPlatform_STATUS(&platform) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_AuthPlatform_STATUS() to populate field Platform") + } + destination.Platform = &platform + } else { + destination.Platform = nil + } + + // SystemData + if config.SystemData != nil { + var systemDatum storage.SystemData_STATUS + err := config.SystemData.AssignProperties_To_SystemData_STATUS(&systemDatum) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_SystemData_STATUS() to populate field SystemData") + } + destination.SystemData = &systemDatum + } else { + destination.SystemData = nil + } + + // Type + destination.Type = genruntime.ClonePointerToString(config.Type) + + // 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 AuthConfigOperatorSpec struct { + // ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions). + ConfigMapExpressions []*core.DestinationExpression `json:"configMapExpressions,omitempty"` + + // SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions). + SecretExpressions []*core.DestinationExpression `json:"secretExpressions,omitempty"` +} + +// AssignProperties_From_AuthConfigOperatorSpec populates our AuthConfigOperatorSpec from the provided source AuthConfigOperatorSpec +func (operator *AuthConfigOperatorSpec) AssignProperties_From_AuthConfigOperatorSpec(source *storage.AuthConfigOperatorSpec) error { + + // ConfigMapExpressions + if source.ConfigMapExpressions != nil { + configMapExpressionList := make([]*core.DestinationExpression, len(source.ConfigMapExpressions)) + for configMapExpressionIndex, configMapExpressionItem := range source.ConfigMapExpressions { + // Shadow the loop variable to avoid aliasing + configMapExpressionItem := configMapExpressionItem + if configMapExpressionItem != nil { + configMapExpression := *configMapExpressionItem.DeepCopy() + configMapExpressionList[configMapExpressionIndex] = &configMapExpression + } else { + configMapExpressionList[configMapExpressionIndex] = nil + } + } + operator.ConfigMapExpressions = configMapExpressionList + } else { + operator.ConfigMapExpressions = nil + } + + // SecretExpressions + if source.SecretExpressions != nil { + secretExpressionList := make([]*core.DestinationExpression, len(source.SecretExpressions)) + for secretExpressionIndex, secretExpressionItem := range source.SecretExpressions { + // Shadow the loop variable to avoid aliasing + secretExpressionItem := secretExpressionItem + if secretExpressionItem != nil { + secretExpression := *secretExpressionItem.DeepCopy() + secretExpressionList[secretExpressionIndex] = &secretExpression + } else { + secretExpressionList[secretExpressionIndex] = nil + } + } + operator.SecretExpressions = secretExpressionList + } else { + operator.SecretExpressions = nil + } + + // No error + return nil +} + +// AssignProperties_To_AuthConfigOperatorSpec populates the provided destination AuthConfigOperatorSpec from our AuthConfigOperatorSpec +func (operator *AuthConfigOperatorSpec) AssignProperties_To_AuthConfigOperatorSpec(destination *storage.AuthConfigOperatorSpec) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ConfigMapExpressions + if operator.ConfigMapExpressions != nil { + configMapExpressionList := make([]*core.DestinationExpression, len(operator.ConfigMapExpressions)) + for configMapExpressionIndex, configMapExpressionItem := range operator.ConfigMapExpressions { + // Shadow the loop variable to avoid aliasing + configMapExpressionItem := configMapExpressionItem + if configMapExpressionItem != nil { + configMapExpression := *configMapExpressionItem.DeepCopy() + configMapExpressionList[configMapExpressionIndex] = &configMapExpression + } else { + configMapExpressionList[configMapExpressionIndex] = nil + } + } + destination.ConfigMapExpressions = configMapExpressionList + } else { + destination.ConfigMapExpressions = nil + } + + // SecretExpressions + if operator.SecretExpressions != nil { + secretExpressionList := make([]*core.DestinationExpression, len(operator.SecretExpressions)) + for secretExpressionIndex, secretExpressionItem := range operator.SecretExpressions { + // Shadow the loop variable to avoid aliasing + secretExpressionItem := secretExpressionItem + if secretExpressionItem != nil { + secretExpression := *secretExpressionItem.DeepCopy() + secretExpressionList[secretExpressionIndex] = &secretExpression + } else { + secretExpressionList[secretExpressionIndex] = nil + } + } + destination.SecretExpressions = secretExpressionList + } else { + destination.SecretExpressions = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings of the platform of ContainerApp Service Authentication/Authorization. +type AuthPlatform struct { + // Enabled: true if the Authentication / Authorization feature is enabled for the current app; otherwise, + // false. + Enabled *bool `json:"enabled,omitempty"` + + // RuntimeVersion: The RuntimeVersion of the Authentication / Authorization feature in use for the current app. + // The setting in this value can control the behavior of certain features in the Authentication / Authorization module. + RuntimeVersion *string `json:"runtimeVersion,omitempty"` +} + +var _ genruntime.ARMTransformer = &AuthPlatform{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (platform *AuthPlatform) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if platform == nil { + return nil, nil + } + result := &arm.AuthPlatform{} + + // Set property "Enabled": + if platform.Enabled != nil { + enabled := *platform.Enabled + result.Enabled = &enabled + } + + // Set property "RuntimeVersion": + if platform.RuntimeVersion != nil { + runtimeVersion := *platform.RuntimeVersion + result.RuntimeVersion = &runtimeVersion + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (platform *AuthPlatform) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AuthPlatform{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (platform *AuthPlatform) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AuthPlatform) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AuthPlatform, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + platform.Enabled = &enabled + } + + // Set property "RuntimeVersion": + if typedInput.RuntimeVersion != nil { + runtimeVersion := *typedInput.RuntimeVersion + platform.RuntimeVersion = &runtimeVersion + } + + // No error + return nil +} + +// AssignProperties_From_AuthPlatform populates our AuthPlatform from the provided source AuthPlatform +func (platform *AuthPlatform) AssignProperties_From_AuthPlatform(source *storage.AuthPlatform) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + platform.Enabled = &enabled + } else { + platform.Enabled = nil + } + + // RuntimeVersion + platform.RuntimeVersion = genruntime.ClonePointerToString(source.RuntimeVersion) + + // No error + return nil +} + +// AssignProperties_To_AuthPlatform populates the provided destination AuthPlatform from our AuthPlatform +func (platform *AuthPlatform) AssignProperties_To_AuthPlatform(destination *storage.AuthPlatform) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if platform.Enabled != nil { + enabled := *platform.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // RuntimeVersion + destination.RuntimeVersion = genruntime.ClonePointerToString(platform.RuntimeVersion) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_AuthPlatform_STATUS populates our AuthPlatform from the provided source AuthPlatform_STATUS +func (platform *AuthPlatform) Initialize_From_AuthPlatform_STATUS(source *AuthPlatform_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + platform.Enabled = &enabled + } else { + platform.Enabled = nil + } + + // RuntimeVersion + platform.RuntimeVersion = genruntime.ClonePointerToString(source.RuntimeVersion) + + // No error + return nil +} + +// The configuration settings of the platform of ContainerApp Service Authentication/Authorization. +type AuthPlatform_STATUS struct { + // Enabled: true if the Authentication / Authorization feature is enabled for the current app; otherwise, + // false. + Enabled *bool `json:"enabled,omitempty"` + + // RuntimeVersion: The RuntimeVersion of the Authentication / Authorization feature in use for the current app. + // The setting in this value can control the behavior of certain features in the Authentication / Authorization module. + RuntimeVersion *string `json:"runtimeVersion,omitempty"` +} + +var _ genruntime.FromARMConverter = &AuthPlatform_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (platform *AuthPlatform_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AuthPlatform_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (platform *AuthPlatform_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AuthPlatform_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AuthPlatform_STATUS, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + platform.Enabled = &enabled + } + + // Set property "RuntimeVersion": + if typedInput.RuntimeVersion != nil { + runtimeVersion := *typedInput.RuntimeVersion + platform.RuntimeVersion = &runtimeVersion + } + + // No error + return nil +} + +// AssignProperties_From_AuthPlatform_STATUS populates our AuthPlatform_STATUS from the provided source AuthPlatform_STATUS +func (platform *AuthPlatform_STATUS) AssignProperties_From_AuthPlatform_STATUS(source *storage.AuthPlatform_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + platform.Enabled = &enabled + } else { + platform.Enabled = nil + } + + // RuntimeVersion + platform.RuntimeVersion = genruntime.ClonePointerToString(source.RuntimeVersion) + + // No error + return nil +} + +// AssignProperties_To_AuthPlatform_STATUS populates the provided destination AuthPlatform_STATUS from our AuthPlatform_STATUS +func (platform *AuthPlatform_STATUS) AssignProperties_To_AuthPlatform_STATUS(destination *storage.AuthPlatform_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if platform.Enabled != nil { + enabled := *platform.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // RuntimeVersion + destination.RuntimeVersion = genruntime.ClonePointerToString(platform.RuntimeVersion) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings of the secrets references of encryption key and signing key for ContainerApp Service +// Authentication/Authorization. +type EncryptionSettings struct { + // ContainerAppAuthEncryptionSecretName: The secret name which is referenced for EncryptionKey. + ContainerAppAuthEncryptionSecretName *string `json:"containerAppAuthEncryptionSecretName,omitempty"` + + // ContainerAppAuthSigningSecretName: The secret name which is referenced for SigningKey. + ContainerAppAuthSigningSecretName *string `json:"containerAppAuthSigningSecretName,omitempty"` +} + +var _ genruntime.ARMTransformer = &EncryptionSettings{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (settings *EncryptionSettings) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if settings == nil { + return nil, nil + } + result := &arm.EncryptionSettings{} + + // Set property "ContainerAppAuthEncryptionSecretName": + if settings.ContainerAppAuthEncryptionSecretName != nil { + containerAppAuthEncryptionSecretName := *settings.ContainerAppAuthEncryptionSecretName + result.ContainerAppAuthEncryptionSecretName = &containerAppAuthEncryptionSecretName + } + + // Set property "ContainerAppAuthSigningSecretName": + if settings.ContainerAppAuthSigningSecretName != nil { + containerAppAuthSigningSecretName := *settings.ContainerAppAuthSigningSecretName + result.ContainerAppAuthSigningSecretName = &containerAppAuthSigningSecretName + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (settings *EncryptionSettings) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.EncryptionSettings{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (settings *EncryptionSettings) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.EncryptionSettings) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.EncryptionSettings, got %T", armInput) + } + + // Set property "ContainerAppAuthEncryptionSecretName": + if typedInput.ContainerAppAuthEncryptionSecretName != nil { + containerAppAuthEncryptionSecretName := *typedInput.ContainerAppAuthEncryptionSecretName + settings.ContainerAppAuthEncryptionSecretName = &containerAppAuthEncryptionSecretName + } + + // Set property "ContainerAppAuthSigningSecretName": + if typedInput.ContainerAppAuthSigningSecretName != nil { + containerAppAuthSigningSecretName := *typedInput.ContainerAppAuthSigningSecretName + settings.ContainerAppAuthSigningSecretName = &containerAppAuthSigningSecretName + } + + // No error + return nil +} + +// AssignProperties_From_EncryptionSettings populates our EncryptionSettings from the provided source EncryptionSettings +func (settings *EncryptionSettings) AssignProperties_From_EncryptionSettings(source *storage.EncryptionSettings) error { + + // ContainerAppAuthEncryptionSecretName + settings.ContainerAppAuthEncryptionSecretName = genruntime.ClonePointerToString(source.ContainerAppAuthEncryptionSecretName) + + // ContainerAppAuthSigningSecretName + settings.ContainerAppAuthSigningSecretName = genruntime.ClonePointerToString(source.ContainerAppAuthSigningSecretName) + + // No error + return nil +} + +// AssignProperties_To_EncryptionSettings populates the provided destination EncryptionSettings from our EncryptionSettings +func (settings *EncryptionSettings) AssignProperties_To_EncryptionSettings(destination *storage.EncryptionSettings) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ContainerAppAuthEncryptionSecretName + destination.ContainerAppAuthEncryptionSecretName = genruntime.ClonePointerToString(settings.ContainerAppAuthEncryptionSecretName) + + // ContainerAppAuthSigningSecretName + destination.ContainerAppAuthSigningSecretName = genruntime.ClonePointerToString(settings.ContainerAppAuthSigningSecretName) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_EncryptionSettings_STATUS populates our EncryptionSettings from the provided source EncryptionSettings_STATUS +func (settings *EncryptionSettings) Initialize_From_EncryptionSettings_STATUS(source *EncryptionSettings_STATUS) error { + + // ContainerAppAuthEncryptionSecretName + settings.ContainerAppAuthEncryptionSecretName = genruntime.ClonePointerToString(source.ContainerAppAuthEncryptionSecretName) + + // ContainerAppAuthSigningSecretName + settings.ContainerAppAuthSigningSecretName = genruntime.ClonePointerToString(source.ContainerAppAuthSigningSecretName) + + // No error + return nil +} + +// The configuration settings of the secrets references of encryption key and signing key for ContainerApp Service +// Authentication/Authorization. +type EncryptionSettings_STATUS struct { + // ContainerAppAuthEncryptionSecretName: The secret name which is referenced for EncryptionKey. + ContainerAppAuthEncryptionSecretName *string `json:"containerAppAuthEncryptionSecretName,omitempty"` + + // ContainerAppAuthSigningSecretName: The secret name which is referenced for SigningKey. + ContainerAppAuthSigningSecretName *string `json:"containerAppAuthSigningSecretName,omitempty"` +} + +var _ genruntime.FromARMConverter = &EncryptionSettings_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (settings *EncryptionSettings_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.EncryptionSettings_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (settings *EncryptionSettings_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.EncryptionSettings_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.EncryptionSettings_STATUS, got %T", armInput) + } + + // Set property "ContainerAppAuthEncryptionSecretName": + if typedInput.ContainerAppAuthEncryptionSecretName != nil { + containerAppAuthEncryptionSecretName := *typedInput.ContainerAppAuthEncryptionSecretName + settings.ContainerAppAuthEncryptionSecretName = &containerAppAuthEncryptionSecretName + } + + // Set property "ContainerAppAuthSigningSecretName": + if typedInput.ContainerAppAuthSigningSecretName != nil { + containerAppAuthSigningSecretName := *typedInput.ContainerAppAuthSigningSecretName + settings.ContainerAppAuthSigningSecretName = &containerAppAuthSigningSecretName + } + + // No error + return nil +} + +// AssignProperties_From_EncryptionSettings_STATUS populates our EncryptionSettings_STATUS from the provided source EncryptionSettings_STATUS +func (settings *EncryptionSettings_STATUS) AssignProperties_From_EncryptionSettings_STATUS(source *storage.EncryptionSettings_STATUS) error { + + // ContainerAppAuthEncryptionSecretName + settings.ContainerAppAuthEncryptionSecretName = genruntime.ClonePointerToString(source.ContainerAppAuthEncryptionSecretName) + + // ContainerAppAuthSigningSecretName + settings.ContainerAppAuthSigningSecretName = genruntime.ClonePointerToString(source.ContainerAppAuthSigningSecretName) + + // No error + return nil +} + +// AssignProperties_To_EncryptionSettings_STATUS populates the provided destination EncryptionSettings_STATUS from our EncryptionSettings_STATUS +func (settings *EncryptionSettings_STATUS) AssignProperties_To_EncryptionSettings_STATUS(destination *storage.EncryptionSettings_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ContainerAppAuthEncryptionSecretName + destination.ContainerAppAuthEncryptionSecretName = genruntime.ClonePointerToString(settings.ContainerAppAuthEncryptionSecretName) + + // ContainerAppAuthSigningSecretName + destination.ContainerAppAuthSigningSecretName = genruntime.ClonePointerToString(settings.ContainerAppAuthSigningSecretName) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings that determines the validation flow of users using ContainerApp Service +// Authentication/Authorization. +type GlobalValidation struct { + // ExcludedPaths: The paths for which unauthenticated flow would not be redirected to the login page. + ExcludedPaths []string `json:"excludedPaths,omitempty"` + + // RedirectToProvider: The default authentication provider to use when multiple providers are configured. + // This setting is only needed if multiple providers are configured and the unauthenticated client + // action is set to "RedirectToLoginPage". + RedirectToProvider *string `json:"redirectToProvider,omitempty"` + + // UnauthenticatedClientAction: The action to take when an unauthenticated client attempts to access the app. + UnauthenticatedClientAction *GlobalValidation_UnauthenticatedClientAction `json:"unauthenticatedClientAction,omitempty"` +} + +var _ genruntime.ARMTransformer = &GlobalValidation{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (validation *GlobalValidation) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if validation == nil { + return nil, nil + } + result := &arm.GlobalValidation{} + + // Set property "ExcludedPaths": + for _, item := range validation.ExcludedPaths { + result.ExcludedPaths = append(result.ExcludedPaths, item) + } + + // Set property "RedirectToProvider": + if validation.RedirectToProvider != nil { + redirectToProvider := *validation.RedirectToProvider + result.RedirectToProvider = &redirectToProvider + } + + // Set property "UnauthenticatedClientAction": + if validation.UnauthenticatedClientAction != nil { + var temp string + temp = string(*validation.UnauthenticatedClientAction) + unauthenticatedClientAction := arm.GlobalValidation_UnauthenticatedClientAction(temp) + result.UnauthenticatedClientAction = &unauthenticatedClientAction + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (validation *GlobalValidation) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.GlobalValidation{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (validation *GlobalValidation) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.GlobalValidation) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.GlobalValidation, got %T", armInput) + } + + // Set property "ExcludedPaths": + for _, item := range typedInput.ExcludedPaths { + validation.ExcludedPaths = append(validation.ExcludedPaths, item) + } + + // Set property "RedirectToProvider": + if typedInput.RedirectToProvider != nil { + redirectToProvider := *typedInput.RedirectToProvider + validation.RedirectToProvider = &redirectToProvider + } + + // Set property "UnauthenticatedClientAction": + if typedInput.UnauthenticatedClientAction != nil { + var temp string + temp = string(*typedInput.UnauthenticatedClientAction) + unauthenticatedClientAction := GlobalValidation_UnauthenticatedClientAction(temp) + validation.UnauthenticatedClientAction = &unauthenticatedClientAction + } + + // No error + return nil +} + +// AssignProperties_From_GlobalValidation populates our GlobalValidation from the provided source GlobalValidation +func (validation *GlobalValidation) AssignProperties_From_GlobalValidation(source *storage.GlobalValidation) error { + + // ExcludedPaths + validation.ExcludedPaths = genruntime.CloneSliceOfString(source.ExcludedPaths) + + // RedirectToProvider + validation.RedirectToProvider = genruntime.ClonePointerToString(source.RedirectToProvider) + + // UnauthenticatedClientAction + if source.UnauthenticatedClientAction != nil { + unauthenticatedClientAction := *source.UnauthenticatedClientAction + unauthenticatedClientActionTemp := genruntime.ToEnum(unauthenticatedClientAction, globalValidation_UnauthenticatedClientAction_Values) + validation.UnauthenticatedClientAction = &unauthenticatedClientActionTemp + } else { + validation.UnauthenticatedClientAction = nil + } + + // No error + return nil +} + +// AssignProperties_To_GlobalValidation populates the provided destination GlobalValidation from our GlobalValidation +func (validation *GlobalValidation) AssignProperties_To_GlobalValidation(destination *storage.GlobalValidation) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ExcludedPaths + destination.ExcludedPaths = genruntime.CloneSliceOfString(validation.ExcludedPaths) + + // RedirectToProvider + destination.RedirectToProvider = genruntime.ClonePointerToString(validation.RedirectToProvider) + + // UnauthenticatedClientAction + if validation.UnauthenticatedClientAction != nil { + unauthenticatedClientAction := string(*validation.UnauthenticatedClientAction) + destination.UnauthenticatedClientAction = &unauthenticatedClientAction + } else { + destination.UnauthenticatedClientAction = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_GlobalValidation_STATUS populates our GlobalValidation from the provided source GlobalValidation_STATUS +func (validation *GlobalValidation) Initialize_From_GlobalValidation_STATUS(source *GlobalValidation_STATUS) error { + + // ExcludedPaths + validation.ExcludedPaths = genruntime.CloneSliceOfString(source.ExcludedPaths) + + // RedirectToProvider + validation.RedirectToProvider = genruntime.ClonePointerToString(source.RedirectToProvider) + + // UnauthenticatedClientAction + if source.UnauthenticatedClientAction != nil { + unauthenticatedClientAction := genruntime.ToEnum(string(*source.UnauthenticatedClientAction), globalValidation_UnauthenticatedClientAction_Values) + validation.UnauthenticatedClientAction = &unauthenticatedClientAction + } else { + validation.UnauthenticatedClientAction = nil + } + + // No error + return nil +} + +// The configuration settings that determines the validation flow of users using ContainerApp Service +// Authentication/Authorization. +type GlobalValidation_STATUS struct { + // ExcludedPaths: The paths for which unauthenticated flow would not be redirected to the login page. + ExcludedPaths []string `json:"excludedPaths,omitempty"` + + // RedirectToProvider: The default authentication provider to use when multiple providers are configured. + // This setting is only needed if multiple providers are configured and the unauthenticated client + // action is set to "RedirectToLoginPage". + RedirectToProvider *string `json:"redirectToProvider,omitempty"` + + // UnauthenticatedClientAction: The action to take when an unauthenticated client attempts to access the app. + UnauthenticatedClientAction *GlobalValidation_UnauthenticatedClientAction_STATUS `json:"unauthenticatedClientAction,omitempty"` +} + +var _ genruntime.FromARMConverter = &GlobalValidation_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (validation *GlobalValidation_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.GlobalValidation_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (validation *GlobalValidation_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.GlobalValidation_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.GlobalValidation_STATUS, got %T", armInput) + } + + // Set property "ExcludedPaths": + for _, item := range typedInput.ExcludedPaths { + validation.ExcludedPaths = append(validation.ExcludedPaths, item) + } + + // Set property "RedirectToProvider": + if typedInput.RedirectToProvider != nil { + redirectToProvider := *typedInput.RedirectToProvider + validation.RedirectToProvider = &redirectToProvider + } + + // Set property "UnauthenticatedClientAction": + if typedInput.UnauthenticatedClientAction != nil { + var temp string + temp = string(*typedInput.UnauthenticatedClientAction) + unauthenticatedClientAction := GlobalValidation_UnauthenticatedClientAction_STATUS(temp) + validation.UnauthenticatedClientAction = &unauthenticatedClientAction + } + + // No error + return nil +} + +// AssignProperties_From_GlobalValidation_STATUS populates our GlobalValidation_STATUS from the provided source GlobalValidation_STATUS +func (validation *GlobalValidation_STATUS) AssignProperties_From_GlobalValidation_STATUS(source *storage.GlobalValidation_STATUS) error { + + // ExcludedPaths + validation.ExcludedPaths = genruntime.CloneSliceOfString(source.ExcludedPaths) + + // RedirectToProvider + validation.RedirectToProvider = genruntime.ClonePointerToString(source.RedirectToProvider) + + // UnauthenticatedClientAction + if source.UnauthenticatedClientAction != nil { + unauthenticatedClientAction := *source.UnauthenticatedClientAction + unauthenticatedClientActionTemp := genruntime.ToEnum(unauthenticatedClientAction, globalValidation_UnauthenticatedClientAction_STATUS_Values) + validation.UnauthenticatedClientAction = &unauthenticatedClientActionTemp + } else { + validation.UnauthenticatedClientAction = nil + } + + // No error + return nil +} + +// AssignProperties_To_GlobalValidation_STATUS populates the provided destination GlobalValidation_STATUS from our GlobalValidation_STATUS +func (validation *GlobalValidation_STATUS) AssignProperties_To_GlobalValidation_STATUS(destination *storage.GlobalValidation_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ExcludedPaths + destination.ExcludedPaths = genruntime.CloneSliceOfString(validation.ExcludedPaths) + + // RedirectToProvider + destination.RedirectToProvider = genruntime.ClonePointerToString(validation.RedirectToProvider) + + // UnauthenticatedClientAction + if validation.UnauthenticatedClientAction != nil { + unauthenticatedClientAction := string(*validation.UnauthenticatedClientAction) + destination.UnauthenticatedClientAction = &unauthenticatedClientAction + } else { + destination.UnauthenticatedClientAction = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp +// Service Authentication/Authorization. +type HttpSettings struct { + // ForwardProxy: The configuration settings of a forward proxy used to make the requests. + ForwardProxy *ForwardProxy `json:"forwardProxy,omitempty"` + + // RequireHttps: false if the authentication/authorization responses not having the HTTPS scheme are + // permissible; otherwise, true. + RequireHttps *bool `json:"requireHttps,omitempty"` + + // Routes: The configuration settings of the paths HTTP requests. + Routes *HttpSettingsRoutes `json:"routes,omitempty"` +} + +var _ genruntime.ARMTransformer = &HttpSettings{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (settings *HttpSettings) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if settings == nil { + return nil, nil + } + result := &arm.HttpSettings{} + + // Set property "ForwardProxy": + if settings.ForwardProxy != nil { + forwardProxy_ARM, err := (*settings.ForwardProxy).ConvertToARM(resolved) + if err != nil { + return nil, err + } + forwardProxy := *forwardProxy_ARM.(*arm.ForwardProxy) + result.ForwardProxy = &forwardProxy + } + + // Set property "RequireHttps": + if settings.RequireHttps != nil { + requireHttps := *settings.RequireHttps + result.RequireHttps = &requireHttps + } + + // Set property "Routes": + if settings.Routes != nil { + routes_ARM, err := (*settings.Routes).ConvertToARM(resolved) + if err != nil { + return nil, err + } + routes := *routes_ARM.(*arm.HttpSettingsRoutes) + result.Routes = &routes + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (settings *HttpSettings) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.HttpSettings{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (settings *HttpSettings) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.HttpSettings) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.HttpSettings, got %T", armInput) + } + + // Set property "ForwardProxy": + if typedInput.ForwardProxy != nil { + var forwardProxy1 ForwardProxy + err := forwardProxy1.PopulateFromARM(owner, *typedInput.ForwardProxy) + if err != nil { + return err + } + forwardProxy := forwardProxy1 + settings.ForwardProxy = &forwardProxy + } + + // Set property "RequireHttps": + if typedInput.RequireHttps != nil { + requireHttps := *typedInput.RequireHttps + settings.RequireHttps = &requireHttps + } + + // Set property "Routes": + if typedInput.Routes != nil { + var routes1 HttpSettingsRoutes + err := routes1.PopulateFromARM(owner, *typedInput.Routes) + if err != nil { + return err + } + routes := routes1 + settings.Routes = &routes + } + + // No error + return nil +} + +// AssignProperties_From_HttpSettings populates our HttpSettings from the provided source HttpSettings +func (settings *HttpSettings) AssignProperties_From_HttpSettings(source *storage.HttpSettings) error { + + // ForwardProxy + if source.ForwardProxy != nil { + var forwardProxy ForwardProxy + err := forwardProxy.AssignProperties_From_ForwardProxy(source.ForwardProxy) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ForwardProxy() to populate field ForwardProxy") + } + settings.ForwardProxy = &forwardProxy + } else { + settings.ForwardProxy = nil + } + + // RequireHttps + if source.RequireHttps != nil { + requireHttpsHTTPS := *source.RequireHttps + settings.RequireHttps = &requireHttpsHTTPS + } else { + settings.RequireHttps = nil + } + + // Routes + if source.Routes != nil { + var route HttpSettingsRoutes + err := route.AssignProperties_From_HttpSettingsRoutes(source.Routes) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_HttpSettingsRoutes() to populate field Routes") + } + settings.Routes = &route + } else { + settings.Routes = nil + } + + // No error + return nil +} + +// AssignProperties_To_HttpSettings populates the provided destination HttpSettings from our HttpSettings +func (settings *HttpSettings) AssignProperties_To_HttpSettings(destination *storage.HttpSettings) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ForwardProxy + if settings.ForwardProxy != nil { + var forwardProxy storage.ForwardProxy + err := settings.ForwardProxy.AssignProperties_To_ForwardProxy(&forwardProxy) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ForwardProxy() to populate field ForwardProxy") + } + destination.ForwardProxy = &forwardProxy + } else { + destination.ForwardProxy = nil + } + + // RequireHttps + if settings.RequireHttps != nil { + requireHttpsHTTPS := *settings.RequireHttps + destination.RequireHttps = &requireHttpsHTTPS + } else { + destination.RequireHttps = nil + } + + // Routes + if settings.Routes != nil { + var route storage.HttpSettingsRoutes + err := settings.Routes.AssignProperties_To_HttpSettingsRoutes(&route) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_HttpSettingsRoutes() to populate field Routes") + } + destination.Routes = &route + } else { + destination.Routes = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_HttpSettings_STATUS populates our HttpSettings from the provided source HttpSettings_STATUS +func (settings *HttpSettings) Initialize_From_HttpSettings_STATUS(source *HttpSettings_STATUS) error { + + // ForwardProxy + if source.ForwardProxy != nil { + var forwardProxy ForwardProxy + err := forwardProxy.Initialize_From_ForwardProxy_STATUS(source.ForwardProxy) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_ForwardProxy_STATUS() to populate field ForwardProxy") + } + settings.ForwardProxy = &forwardProxy + } else { + settings.ForwardProxy = nil + } + + // RequireHttps + if source.RequireHttps != nil { + requireHttpsHTTPS := *source.RequireHttps + settings.RequireHttps = &requireHttpsHTTPS + } else { + settings.RequireHttps = nil + } + + // Routes + if source.Routes != nil { + var route HttpSettingsRoutes + err := route.Initialize_From_HttpSettingsRoutes_STATUS(source.Routes) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_HttpSettingsRoutes_STATUS() to populate field Routes") + } + settings.Routes = &route + } else { + settings.Routes = nil + } + + // No error + return nil +} + +// The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp +// Service Authentication/Authorization. +type HttpSettings_STATUS struct { + // ForwardProxy: The configuration settings of a forward proxy used to make the requests. + ForwardProxy *ForwardProxy_STATUS `json:"forwardProxy,omitempty"` + + // RequireHttps: false if the authentication/authorization responses not having the HTTPS scheme are + // permissible; otherwise, true. + RequireHttps *bool `json:"requireHttps,omitempty"` + + // Routes: The configuration settings of the paths HTTP requests. + Routes *HttpSettingsRoutes_STATUS `json:"routes,omitempty"` +} + +var _ genruntime.FromARMConverter = &HttpSettings_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (settings *HttpSettings_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.HttpSettings_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (settings *HttpSettings_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.HttpSettings_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.HttpSettings_STATUS, got %T", armInput) + } + + // Set property "ForwardProxy": + if typedInput.ForwardProxy != nil { + var forwardProxy1 ForwardProxy_STATUS + err := forwardProxy1.PopulateFromARM(owner, *typedInput.ForwardProxy) + if err != nil { + return err + } + forwardProxy := forwardProxy1 + settings.ForwardProxy = &forwardProxy + } + + // Set property "RequireHttps": + if typedInput.RequireHttps != nil { + requireHttps := *typedInput.RequireHttps + settings.RequireHttps = &requireHttps + } + + // Set property "Routes": + if typedInput.Routes != nil { + var routes1 HttpSettingsRoutes_STATUS + err := routes1.PopulateFromARM(owner, *typedInput.Routes) + if err != nil { + return err + } + routes := routes1 + settings.Routes = &routes + } + + // No error + return nil +} + +// AssignProperties_From_HttpSettings_STATUS populates our HttpSettings_STATUS from the provided source HttpSettings_STATUS +func (settings *HttpSettings_STATUS) AssignProperties_From_HttpSettings_STATUS(source *storage.HttpSettings_STATUS) error { + + // ForwardProxy + if source.ForwardProxy != nil { + var forwardProxy ForwardProxy_STATUS + err := forwardProxy.AssignProperties_From_ForwardProxy_STATUS(source.ForwardProxy) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ForwardProxy_STATUS() to populate field ForwardProxy") + } + settings.ForwardProxy = &forwardProxy + } else { + settings.ForwardProxy = nil + } + + // RequireHttps + if source.RequireHttps != nil { + requireHttpsHTTPS := *source.RequireHttps + settings.RequireHttps = &requireHttpsHTTPS + } else { + settings.RequireHttps = nil + } + + // Routes + if source.Routes != nil { + var route HttpSettingsRoutes_STATUS + err := route.AssignProperties_From_HttpSettingsRoutes_STATUS(source.Routes) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_HttpSettingsRoutes_STATUS() to populate field Routes") + } + settings.Routes = &route + } else { + settings.Routes = nil + } + + // No error + return nil +} + +// AssignProperties_To_HttpSettings_STATUS populates the provided destination HttpSettings_STATUS from our HttpSettings_STATUS +func (settings *HttpSettings_STATUS) AssignProperties_To_HttpSettings_STATUS(destination *storage.HttpSettings_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ForwardProxy + if settings.ForwardProxy != nil { + var forwardProxy storage.ForwardProxy_STATUS + err := settings.ForwardProxy.AssignProperties_To_ForwardProxy_STATUS(&forwardProxy) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ForwardProxy_STATUS() to populate field ForwardProxy") + } + destination.ForwardProxy = &forwardProxy + } else { + destination.ForwardProxy = nil + } + + // RequireHttps + if settings.RequireHttps != nil { + requireHttpsHTTPS := *settings.RequireHttps + destination.RequireHttps = &requireHttpsHTTPS + } else { + destination.RequireHttps = nil + } + + // Routes + if settings.Routes != nil { + var route storage.HttpSettingsRoutes_STATUS + err := settings.Routes.AssignProperties_To_HttpSettingsRoutes_STATUS(&route) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_HttpSettingsRoutes_STATUS() to populate field Routes") + } + destination.Routes = &route + } else { + destination.Routes = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings of each of the identity providers used to configure ContainerApp Service +// Authentication/Authorization. +type IdentityProviders struct { + // Apple: The configuration settings of the Apple provider. + Apple *Apple `json:"apple,omitempty"` + + // AzureActiveDirectory: The configuration settings of the Azure Active directory provider. + AzureActiveDirectory *AzureActiveDirectory `json:"azureActiveDirectory,omitempty"` + + // AzureStaticWebApps: The configuration settings of the Azure Static Web Apps provider. + AzureStaticWebApps *AzureStaticWebApps `json:"azureStaticWebApps,omitempty"` + + // CustomOpenIdConnectProviders: The map of the name of the alias of each custom Open ID Connect provider to the + // configuration settings of the custom Open ID Connect provider. + CustomOpenIdConnectProviders map[string]CustomOpenIdConnectProvider `json:"customOpenIdConnectProviders,omitempty"` + + // Facebook: The configuration settings of the Facebook provider. + Facebook *Facebook `json:"facebook,omitempty"` + + // GitHub: The configuration settings of the GitHub provider. + GitHub *GitHub `json:"gitHub,omitempty"` + + // Google: The configuration settings of the Google provider. + Google *Google `json:"google,omitempty"` + + // Twitter: The configuration settings of the Twitter provider. + Twitter *Twitter `json:"twitter,omitempty"` +} + +var _ genruntime.ARMTransformer = &IdentityProviders{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (providers *IdentityProviders) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if providers == nil { + return nil, nil + } + result := &arm.IdentityProviders{} + + // Set property "Apple": + if providers.Apple != nil { + apple_ARM, err := (*providers.Apple).ConvertToARM(resolved) + if err != nil { + return nil, err + } + apple := *apple_ARM.(*arm.Apple) + result.Apple = &apple + } + + // Set property "AzureActiveDirectory": + if providers.AzureActiveDirectory != nil { + azureActiveDirectory_ARM, err := (*providers.AzureActiveDirectory).ConvertToARM(resolved) + if err != nil { + return nil, err + } + azureActiveDirectory := *azureActiveDirectory_ARM.(*arm.AzureActiveDirectory) + result.AzureActiveDirectory = &azureActiveDirectory + } + + // Set property "AzureStaticWebApps": + if providers.AzureStaticWebApps != nil { + azureStaticWebApps_ARM, err := (*providers.AzureStaticWebApps).ConvertToARM(resolved) + if err != nil { + return nil, err + } + azureStaticWebApps := *azureStaticWebApps_ARM.(*arm.AzureStaticWebApps) + result.AzureStaticWebApps = &azureStaticWebApps + } + + // Set property "CustomOpenIdConnectProviders": + if providers.CustomOpenIdConnectProviders != nil { + result.CustomOpenIdConnectProviders = make(map[string]arm.CustomOpenIdConnectProvider, len(providers.CustomOpenIdConnectProviders)) + for key, value := range providers.CustomOpenIdConnectProviders { + value_ARM, err := value.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.CustomOpenIdConnectProviders[key] = *value_ARM.(*arm.CustomOpenIdConnectProvider) + } + } + + // Set property "Facebook": + if providers.Facebook != nil { + facebook_ARM, err := (*providers.Facebook).ConvertToARM(resolved) + if err != nil { + return nil, err + } + facebook := *facebook_ARM.(*arm.Facebook) + result.Facebook = &facebook + } + + // Set property "GitHub": + if providers.GitHub != nil { + gitHub_ARM, err := (*providers.GitHub).ConvertToARM(resolved) + if err != nil { + return nil, err + } + gitHub := *gitHub_ARM.(*arm.GitHub) + result.GitHub = &gitHub + } + + // Set property "Google": + if providers.Google != nil { + google_ARM, err := (*providers.Google).ConvertToARM(resolved) + if err != nil { + return nil, err + } + google := *google_ARM.(*arm.Google) + result.Google = &google + } + + // Set property "Twitter": + if providers.Twitter != nil { + twitter_ARM, err := (*providers.Twitter).ConvertToARM(resolved) + if err != nil { + return nil, err + } + twitter := *twitter_ARM.(*arm.Twitter) + result.Twitter = &twitter + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (providers *IdentityProviders) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.IdentityProviders{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (providers *IdentityProviders) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.IdentityProviders) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.IdentityProviders, got %T", armInput) + } + + // Set property "Apple": + if typedInput.Apple != nil { + var apple1 Apple + err := apple1.PopulateFromARM(owner, *typedInput.Apple) + if err != nil { + return err + } + apple := apple1 + providers.Apple = &apple + } + + // Set property "AzureActiveDirectory": + if typedInput.AzureActiveDirectory != nil { + var azureActiveDirectory1 AzureActiveDirectory + err := azureActiveDirectory1.PopulateFromARM(owner, *typedInput.AzureActiveDirectory) + if err != nil { + return err + } + azureActiveDirectory := azureActiveDirectory1 + providers.AzureActiveDirectory = &azureActiveDirectory + } + + // Set property "AzureStaticWebApps": + if typedInput.AzureStaticWebApps != nil { + var azureStaticWebApps1 AzureStaticWebApps + err := azureStaticWebApps1.PopulateFromARM(owner, *typedInput.AzureStaticWebApps) + if err != nil { + return err + } + azureStaticWebApps := azureStaticWebApps1 + providers.AzureStaticWebApps = &azureStaticWebApps + } + + // Set property "CustomOpenIdConnectProviders": + if typedInput.CustomOpenIdConnectProviders != nil { + providers.CustomOpenIdConnectProviders = make(map[string]CustomOpenIdConnectProvider, len(typedInput.CustomOpenIdConnectProviders)) + for key, value := range typedInput.CustomOpenIdConnectProviders { + var value1 CustomOpenIdConnectProvider + err := value1.PopulateFromARM(owner, value) + if err != nil { + return err + } + providers.CustomOpenIdConnectProviders[key] = value1 + } + } + + // Set property "Facebook": + if typedInput.Facebook != nil { + var facebook1 Facebook + err := facebook1.PopulateFromARM(owner, *typedInput.Facebook) + if err != nil { + return err + } + facebook := facebook1 + providers.Facebook = &facebook + } + + // Set property "GitHub": + if typedInput.GitHub != nil { + var gitHub1 GitHub + err := gitHub1.PopulateFromARM(owner, *typedInput.GitHub) + if err != nil { + return err + } + gitHub := gitHub1 + providers.GitHub = &gitHub + } + + // Set property "Google": + if typedInput.Google != nil { + var google1 Google + err := google1.PopulateFromARM(owner, *typedInput.Google) + if err != nil { + return err + } + google := google1 + providers.Google = &google + } + + // Set property "Twitter": + if typedInput.Twitter != nil { + var twitter1 Twitter + err := twitter1.PopulateFromARM(owner, *typedInput.Twitter) + if err != nil { + return err + } + twitter := twitter1 + providers.Twitter = &twitter + } + + // No error + return nil +} + +// AssignProperties_From_IdentityProviders populates our IdentityProviders from the provided source IdentityProviders +func (providers *IdentityProviders) AssignProperties_From_IdentityProviders(source *storage.IdentityProviders) error { + + // Apple + if source.Apple != nil { + var apple Apple + err := apple.AssignProperties_From_Apple(source.Apple) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Apple() to populate field Apple") + } + providers.Apple = &apple + } else { + providers.Apple = nil + } + + // AzureActiveDirectory + if source.AzureActiveDirectory != nil { + var azureActiveDirectory AzureActiveDirectory + err := azureActiveDirectory.AssignProperties_From_AzureActiveDirectory(source.AzureActiveDirectory) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_AzureActiveDirectory() to populate field AzureActiveDirectory") + } + providers.AzureActiveDirectory = &azureActiveDirectory + } else { + providers.AzureActiveDirectory = nil + } + + // AzureStaticWebApps + if source.AzureStaticWebApps != nil { + var azureStaticWebApp AzureStaticWebApps + err := azureStaticWebApp.AssignProperties_From_AzureStaticWebApps(source.AzureStaticWebApps) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_AzureStaticWebApps() to populate field AzureStaticWebApps") + } + providers.AzureStaticWebApps = &azureStaticWebApp + } else { + providers.AzureStaticWebApps = nil + } + + // CustomOpenIdConnectProviders + if source.CustomOpenIdConnectProviders != nil { + customOpenIdConnectProviderMap := make(map[string]CustomOpenIdConnectProvider, len(source.CustomOpenIdConnectProviders)) + for customOpenIdConnectProviderKey, customOpenIdConnectProviderValue := range source.CustomOpenIdConnectProviders { + // Shadow the loop variable to avoid aliasing + customOpenIdConnectProviderValue := customOpenIdConnectProviderValue + var customOpenIdConnectProvider CustomOpenIdConnectProvider + err := customOpenIdConnectProvider.AssignProperties_From_CustomOpenIdConnectProvider(&customOpenIdConnectProviderValue) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_CustomOpenIdConnectProvider() to populate field CustomOpenIdConnectProviders") + } + customOpenIdConnectProviderMap[customOpenIdConnectProviderKey] = customOpenIdConnectProvider + } + providers.CustomOpenIdConnectProviders = customOpenIdConnectProviderMap + } else { + providers.CustomOpenIdConnectProviders = nil + } + + // Facebook + if source.Facebook != nil { + var facebook Facebook + err := facebook.AssignProperties_From_Facebook(source.Facebook) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Facebook() to populate field Facebook") + } + providers.Facebook = &facebook + } else { + providers.Facebook = nil + } + + // GitHub + if source.GitHub != nil { + var gitHub GitHub + err := gitHub.AssignProperties_From_GitHub(source.GitHub) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_GitHub() to populate field GitHub") + } + providers.GitHub = &gitHub + } else { + providers.GitHub = nil + } + + // Google + if source.Google != nil { + var google Google + err := google.AssignProperties_From_Google(source.Google) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Google() to populate field Google") + } + providers.Google = &google + } else { + providers.Google = nil + } + + // Twitter + if source.Twitter != nil { + var twitter Twitter + err := twitter.AssignProperties_From_Twitter(source.Twitter) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Twitter() to populate field Twitter") + } + providers.Twitter = &twitter + } else { + providers.Twitter = nil + } + + // No error + return nil +} + +// AssignProperties_To_IdentityProviders populates the provided destination IdentityProviders from our IdentityProviders +func (providers *IdentityProviders) AssignProperties_To_IdentityProviders(destination *storage.IdentityProviders) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Apple + if providers.Apple != nil { + var apple storage.Apple + err := providers.Apple.AssignProperties_To_Apple(&apple) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Apple() to populate field Apple") + } + destination.Apple = &apple + } else { + destination.Apple = nil + } + + // AzureActiveDirectory + if providers.AzureActiveDirectory != nil { + var azureActiveDirectory storage.AzureActiveDirectory + err := providers.AzureActiveDirectory.AssignProperties_To_AzureActiveDirectory(&azureActiveDirectory) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_AzureActiveDirectory() to populate field AzureActiveDirectory") + } + destination.AzureActiveDirectory = &azureActiveDirectory + } else { + destination.AzureActiveDirectory = nil + } + + // AzureStaticWebApps + if providers.AzureStaticWebApps != nil { + var azureStaticWebApp storage.AzureStaticWebApps + err := providers.AzureStaticWebApps.AssignProperties_To_AzureStaticWebApps(&azureStaticWebApp) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_AzureStaticWebApps() to populate field AzureStaticWebApps") + } + destination.AzureStaticWebApps = &azureStaticWebApp + } else { + destination.AzureStaticWebApps = nil + } + + // CustomOpenIdConnectProviders + if providers.CustomOpenIdConnectProviders != nil { + customOpenIdConnectProviderMap := make(map[string]storage.CustomOpenIdConnectProvider, len(providers.CustomOpenIdConnectProviders)) + for customOpenIdConnectProviderKey, customOpenIdConnectProviderValue := range providers.CustomOpenIdConnectProviders { + // Shadow the loop variable to avoid aliasing + customOpenIdConnectProviderValue := customOpenIdConnectProviderValue + var customOpenIdConnectProvider storage.CustomOpenIdConnectProvider + err := customOpenIdConnectProviderValue.AssignProperties_To_CustomOpenIdConnectProvider(&customOpenIdConnectProvider) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_CustomOpenIdConnectProvider() to populate field CustomOpenIdConnectProviders") + } + customOpenIdConnectProviderMap[customOpenIdConnectProviderKey] = customOpenIdConnectProvider + } + destination.CustomOpenIdConnectProviders = customOpenIdConnectProviderMap + } else { + destination.CustomOpenIdConnectProviders = nil + } + + // Facebook + if providers.Facebook != nil { + var facebook storage.Facebook + err := providers.Facebook.AssignProperties_To_Facebook(&facebook) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Facebook() to populate field Facebook") + } + destination.Facebook = &facebook + } else { + destination.Facebook = nil + } + + // GitHub + if providers.GitHub != nil { + var gitHub storage.GitHub + err := providers.GitHub.AssignProperties_To_GitHub(&gitHub) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_GitHub() to populate field GitHub") + } + destination.GitHub = &gitHub + } else { + destination.GitHub = nil + } + + // Google + if providers.Google != nil { + var google storage.Google + err := providers.Google.AssignProperties_To_Google(&google) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Google() to populate field Google") + } + destination.Google = &google + } else { + destination.Google = nil + } + + // Twitter + if providers.Twitter != nil { + var twitter storage.Twitter + err := providers.Twitter.AssignProperties_To_Twitter(&twitter) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Twitter() to populate field Twitter") + } + destination.Twitter = &twitter + } else { + destination.Twitter = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_IdentityProviders_STATUS populates our IdentityProviders from the provided source IdentityProviders_STATUS +func (providers *IdentityProviders) Initialize_From_IdentityProviders_STATUS(source *IdentityProviders_STATUS) error { + + // Apple + if source.Apple != nil { + var apple Apple + err := apple.Initialize_From_Apple_STATUS(source.Apple) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_Apple_STATUS() to populate field Apple") + } + providers.Apple = &apple + } else { + providers.Apple = nil + } + + // AzureActiveDirectory + if source.AzureActiveDirectory != nil { + var azureActiveDirectory AzureActiveDirectory + err := azureActiveDirectory.Initialize_From_AzureActiveDirectory_STATUS(source.AzureActiveDirectory) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_AzureActiveDirectory_STATUS() to populate field AzureActiveDirectory") + } + providers.AzureActiveDirectory = &azureActiveDirectory + } else { + providers.AzureActiveDirectory = nil + } + + // AzureStaticWebApps + if source.AzureStaticWebApps != nil { + var azureStaticWebApp AzureStaticWebApps + err := azureStaticWebApp.Initialize_From_AzureStaticWebApps_STATUS(source.AzureStaticWebApps) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_AzureStaticWebApps_STATUS() to populate field AzureStaticWebApps") + } + providers.AzureStaticWebApps = &azureStaticWebApp + } else { + providers.AzureStaticWebApps = nil + } + + // CustomOpenIdConnectProviders + if source.CustomOpenIdConnectProviders != nil { + customOpenIdConnectProviderMap := make(map[string]CustomOpenIdConnectProvider, len(source.CustomOpenIdConnectProviders)) + for customOpenIdConnectProviderKey, customOpenIdConnectProviderValue := range source.CustomOpenIdConnectProviders { + // Shadow the loop variable to avoid aliasing + customOpenIdConnectProviderValue := customOpenIdConnectProviderValue + var customOpenIdConnectProvider CustomOpenIdConnectProvider + err := customOpenIdConnectProvider.Initialize_From_CustomOpenIdConnectProvider_STATUS(&customOpenIdConnectProviderValue) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_CustomOpenIdConnectProvider_STATUS() to populate field CustomOpenIdConnectProviders") + } + customOpenIdConnectProviderMap[customOpenIdConnectProviderKey] = customOpenIdConnectProvider + } + providers.CustomOpenIdConnectProviders = customOpenIdConnectProviderMap + } else { + providers.CustomOpenIdConnectProviders = nil + } + + // Facebook + if source.Facebook != nil { + var facebook Facebook + err := facebook.Initialize_From_Facebook_STATUS(source.Facebook) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_Facebook_STATUS() to populate field Facebook") + } + providers.Facebook = &facebook + } else { + providers.Facebook = nil + } + + // GitHub + if source.GitHub != nil { + var gitHub GitHub + err := gitHub.Initialize_From_GitHub_STATUS(source.GitHub) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_GitHub_STATUS() to populate field GitHub") + } + providers.GitHub = &gitHub + } else { + providers.GitHub = nil + } + + // Google + if source.Google != nil { + var google Google + err := google.Initialize_From_Google_STATUS(source.Google) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_Google_STATUS() to populate field Google") + } + providers.Google = &google + } else { + providers.Google = nil + } + + // Twitter + if source.Twitter != nil { + var twitter Twitter + err := twitter.Initialize_From_Twitter_STATUS(source.Twitter) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_Twitter_STATUS() to populate field Twitter") + } + providers.Twitter = &twitter + } else { + providers.Twitter = nil + } + + // No error + return nil +} + +// The configuration settings of each of the identity providers used to configure ContainerApp Service +// Authentication/Authorization. +type IdentityProviders_STATUS struct { + // Apple: The configuration settings of the Apple provider. + Apple *Apple_STATUS `json:"apple,omitempty"` + + // AzureActiveDirectory: The configuration settings of the Azure Active directory provider. + AzureActiveDirectory *AzureActiveDirectory_STATUS `json:"azureActiveDirectory,omitempty"` + + // AzureStaticWebApps: The configuration settings of the Azure Static Web Apps provider. + AzureStaticWebApps *AzureStaticWebApps_STATUS `json:"azureStaticWebApps,omitempty"` + + // CustomOpenIdConnectProviders: The map of the name of the alias of each custom Open ID Connect provider to the + // configuration settings of the custom Open ID Connect provider. + CustomOpenIdConnectProviders map[string]CustomOpenIdConnectProvider_STATUS `json:"customOpenIdConnectProviders,omitempty"` + + // Facebook: The configuration settings of the Facebook provider. + Facebook *Facebook_STATUS `json:"facebook,omitempty"` + + // GitHub: The configuration settings of the GitHub provider. + GitHub *GitHub_STATUS `json:"gitHub,omitempty"` + + // Google: The configuration settings of the Google provider. + Google *Google_STATUS `json:"google,omitempty"` + + // Twitter: The configuration settings of the Twitter provider. + Twitter *Twitter_STATUS `json:"twitter,omitempty"` +} + +var _ genruntime.FromARMConverter = &IdentityProviders_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (providers *IdentityProviders_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.IdentityProviders_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (providers *IdentityProviders_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.IdentityProviders_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.IdentityProviders_STATUS, got %T", armInput) + } + + // Set property "Apple": + if typedInput.Apple != nil { + var apple1 Apple_STATUS + err := apple1.PopulateFromARM(owner, *typedInput.Apple) + if err != nil { + return err + } + apple := apple1 + providers.Apple = &apple + } + + // Set property "AzureActiveDirectory": + if typedInput.AzureActiveDirectory != nil { + var azureActiveDirectory1 AzureActiveDirectory_STATUS + err := azureActiveDirectory1.PopulateFromARM(owner, *typedInput.AzureActiveDirectory) + if err != nil { + return err + } + azureActiveDirectory := azureActiveDirectory1 + providers.AzureActiveDirectory = &azureActiveDirectory + } + + // Set property "AzureStaticWebApps": + if typedInput.AzureStaticWebApps != nil { + var azureStaticWebApps1 AzureStaticWebApps_STATUS + err := azureStaticWebApps1.PopulateFromARM(owner, *typedInput.AzureStaticWebApps) + if err != nil { + return err + } + azureStaticWebApps := azureStaticWebApps1 + providers.AzureStaticWebApps = &azureStaticWebApps + } + + // Set property "CustomOpenIdConnectProviders": + if typedInput.CustomOpenIdConnectProviders != nil { + providers.CustomOpenIdConnectProviders = make(map[string]CustomOpenIdConnectProvider_STATUS, len(typedInput.CustomOpenIdConnectProviders)) + for key, value := range typedInput.CustomOpenIdConnectProviders { + var value1 CustomOpenIdConnectProvider_STATUS + err := value1.PopulateFromARM(owner, value) + if err != nil { + return err + } + providers.CustomOpenIdConnectProviders[key] = value1 + } + } + + // Set property "Facebook": + if typedInput.Facebook != nil { + var facebook1 Facebook_STATUS + err := facebook1.PopulateFromARM(owner, *typedInput.Facebook) + if err != nil { + return err + } + facebook := facebook1 + providers.Facebook = &facebook + } + + // Set property "GitHub": + if typedInput.GitHub != nil { + var gitHub1 GitHub_STATUS + err := gitHub1.PopulateFromARM(owner, *typedInput.GitHub) + if err != nil { + return err + } + gitHub := gitHub1 + providers.GitHub = &gitHub + } + + // Set property "Google": + if typedInput.Google != nil { + var google1 Google_STATUS + err := google1.PopulateFromARM(owner, *typedInput.Google) + if err != nil { + return err + } + google := google1 + providers.Google = &google + } + + // Set property "Twitter": + if typedInput.Twitter != nil { + var twitter1 Twitter_STATUS + err := twitter1.PopulateFromARM(owner, *typedInput.Twitter) + if err != nil { + return err + } + twitter := twitter1 + providers.Twitter = &twitter + } + + // No error + return nil +} + +// AssignProperties_From_IdentityProviders_STATUS populates our IdentityProviders_STATUS from the provided source IdentityProviders_STATUS +func (providers *IdentityProviders_STATUS) AssignProperties_From_IdentityProviders_STATUS(source *storage.IdentityProviders_STATUS) error { + + // Apple + if source.Apple != nil { + var apple Apple_STATUS + err := apple.AssignProperties_From_Apple_STATUS(source.Apple) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Apple_STATUS() to populate field Apple") + } + providers.Apple = &apple + } else { + providers.Apple = nil + } + + // AzureActiveDirectory + if source.AzureActiveDirectory != nil { + var azureActiveDirectory AzureActiveDirectory_STATUS + err := azureActiveDirectory.AssignProperties_From_AzureActiveDirectory_STATUS(source.AzureActiveDirectory) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_AzureActiveDirectory_STATUS() to populate field AzureActiveDirectory") + } + providers.AzureActiveDirectory = &azureActiveDirectory + } else { + providers.AzureActiveDirectory = nil + } + + // AzureStaticWebApps + if source.AzureStaticWebApps != nil { + var azureStaticWebApp AzureStaticWebApps_STATUS + err := azureStaticWebApp.AssignProperties_From_AzureStaticWebApps_STATUS(source.AzureStaticWebApps) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_AzureStaticWebApps_STATUS() to populate field AzureStaticWebApps") + } + providers.AzureStaticWebApps = &azureStaticWebApp + } else { + providers.AzureStaticWebApps = nil + } + + // CustomOpenIdConnectProviders + if source.CustomOpenIdConnectProviders != nil { + customOpenIdConnectProviderMap := make(map[string]CustomOpenIdConnectProvider_STATUS, len(source.CustomOpenIdConnectProviders)) + for customOpenIdConnectProviderKey, customOpenIdConnectProviderValue := range source.CustomOpenIdConnectProviders { + // Shadow the loop variable to avoid aliasing + customOpenIdConnectProviderValue := customOpenIdConnectProviderValue + var customOpenIdConnectProvider CustomOpenIdConnectProvider_STATUS + err := customOpenIdConnectProvider.AssignProperties_From_CustomOpenIdConnectProvider_STATUS(&customOpenIdConnectProviderValue) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_CustomOpenIdConnectProvider_STATUS() to populate field CustomOpenIdConnectProviders") + } + customOpenIdConnectProviderMap[customOpenIdConnectProviderKey] = customOpenIdConnectProvider + } + providers.CustomOpenIdConnectProviders = customOpenIdConnectProviderMap + } else { + providers.CustomOpenIdConnectProviders = nil + } + + // Facebook + if source.Facebook != nil { + var facebook Facebook_STATUS + err := facebook.AssignProperties_From_Facebook_STATUS(source.Facebook) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Facebook_STATUS() to populate field Facebook") + } + providers.Facebook = &facebook + } else { + providers.Facebook = nil + } + + // GitHub + if source.GitHub != nil { + var gitHub GitHub_STATUS + err := gitHub.AssignProperties_From_GitHub_STATUS(source.GitHub) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_GitHub_STATUS() to populate field GitHub") + } + providers.GitHub = &gitHub + } else { + providers.GitHub = nil + } + + // Google + if source.Google != nil { + var google Google_STATUS + err := google.AssignProperties_From_Google_STATUS(source.Google) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Google_STATUS() to populate field Google") + } + providers.Google = &google + } else { + providers.Google = nil + } + + // Twitter + if source.Twitter != nil { + var twitter Twitter_STATUS + err := twitter.AssignProperties_From_Twitter_STATUS(source.Twitter) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Twitter_STATUS() to populate field Twitter") + } + providers.Twitter = &twitter + } else { + providers.Twitter = nil + } + + // No error + return nil +} + +// AssignProperties_To_IdentityProviders_STATUS populates the provided destination IdentityProviders_STATUS from our IdentityProviders_STATUS +func (providers *IdentityProviders_STATUS) AssignProperties_To_IdentityProviders_STATUS(destination *storage.IdentityProviders_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Apple + if providers.Apple != nil { + var apple storage.Apple_STATUS + err := providers.Apple.AssignProperties_To_Apple_STATUS(&apple) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Apple_STATUS() to populate field Apple") + } + destination.Apple = &apple + } else { + destination.Apple = nil + } + + // AzureActiveDirectory + if providers.AzureActiveDirectory != nil { + var azureActiveDirectory storage.AzureActiveDirectory_STATUS + err := providers.AzureActiveDirectory.AssignProperties_To_AzureActiveDirectory_STATUS(&azureActiveDirectory) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_AzureActiveDirectory_STATUS() to populate field AzureActiveDirectory") + } + destination.AzureActiveDirectory = &azureActiveDirectory + } else { + destination.AzureActiveDirectory = nil + } + + // AzureStaticWebApps + if providers.AzureStaticWebApps != nil { + var azureStaticWebApp storage.AzureStaticWebApps_STATUS + err := providers.AzureStaticWebApps.AssignProperties_To_AzureStaticWebApps_STATUS(&azureStaticWebApp) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_AzureStaticWebApps_STATUS() to populate field AzureStaticWebApps") + } + destination.AzureStaticWebApps = &azureStaticWebApp + } else { + destination.AzureStaticWebApps = nil + } + + // CustomOpenIdConnectProviders + if providers.CustomOpenIdConnectProviders != nil { + customOpenIdConnectProviderMap := make(map[string]storage.CustomOpenIdConnectProvider_STATUS, len(providers.CustomOpenIdConnectProviders)) + for customOpenIdConnectProviderKey, customOpenIdConnectProviderValue := range providers.CustomOpenIdConnectProviders { + // Shadow the loop variable to avoid aliasing + customOpenIdConnectProviderValue := customOpenIdConnectProviderValue + var customOpenIdConnectProvider storage.CustomOpenIdConnectProvider_STATUS + err := customOpenIdConnectProviderValue.AssignProperties_To_CustomOpenIdConnectProvider_STATUS(&customOpenIdConnectProvider) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_CustomOpenIdConnectProvider_STATUS() to populate field CustomOpenIdConnectProviders") + } + customOpenIdConnectProviderMap[customOpenIdConnectProviderKey] = customOpenIdConnectProvider + } + destination.CustomOpenIdConnectProviders = customOpenIdConnectProviderMap + } else { + destination.CustomOpenIdConnectProviders = nil + } + + // Facebook + if providers.Facebook != nil { + var facebook storage.Facebook_STATUS + err := providers.Facebook.AssignProperties_To_Facebook_STATUS(&facebook) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Facebook_STATUS() to populate field Facebook") + } + destination.Facebook = &facebook + } else { + destination.Facebook = nil + } + + // GitHub + if providers.GitHub != nil { + var gitHub storage.GitHub_STATUS + err := providers.GitHub.AssignProperties_To_GitHub_STATUS(&gitHub) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_GitHub_STATUS() to populate field GitHub") + } + destination.GitHub = &gitHub + } else { + destination.GitHub = nil + } + + // Google + if providers.Google != nil { + var google storage.Google_STATUS + err := providers.Google.AssignProperties_To_Google_STATUS(&google) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Google_STATUS() to populate field Google") + } + destination.Google = &google + } else { + destination.Google = nil + } + + // Twitter + if providers.Twitter != nil { + var twitter storage.Twitter_STATUS + err := providers.Twitter.AssignProperties_To_Twitter_STATUS(&twitter) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Twitter_STATUS() to populate field Twitter") + } + destination.Twitter = &twitter + } else { + destination.Twitter = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization. +type Login struct { + // AllowedExternalRedirectUrls: External URLs that can be redirected to as part of logging in or logging out of the app. + // Note that the query string part of the URL is ignored. + // This is an advanced setting typically only needed by Windows Store application backends. + // Note that URLs within the current domain are always implicitly allowed. + AllowedExternalRedirectUrls []string `json:"allowedExternalRedirectUrls,omitempty"` + + // CookieExpiration: The configuration settings of the session cookie's expiration. + CookieExpiration *CookieExpiration `json:"cookieExpiration,omitempty"` + + // Nonce: The configuration settings of the nonce used in the login flow. + Nonce *Nonce `json:"nonce,omitempty"` + + // PreserveUrlFragmentsForLogins: true if the fragments from the request are preserved after the login request + // is made; otherwise, false. + PreserveUrlFragmentsForLogins *bool `json:"preserveUrlFragmentsForLogins,omitempty"` + + // Routes: The routes that specify the endpoints used for login and logout requests. + Routes *LoginRoutes `json:"routes,omitempty"` + + // TokenStore: The configuration settings of the token store. + TokenStore *TokenStore `json:"tokenStore,omitempty"` +} + +var _ genruntime.ARMTransformer = &Login{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (login *Login) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if login == nil { + return nil, nil + } + result := &arm.Login{} + + // Set property "AllowedExternalRedirectUrls": + for _, item := range login.AllowedExternalRedirectUrls { + result.AllowedExternalRedirectUrls = append(result.AllowedExternalRedirectUrls, item) + } + + // Set property "CookieExpiration": + if login.CookieExpiration != nil { + cookieExpiration_ARM, err := (*login.CookieExpiration).ConvertToARM(resolved) + if err != nil { + return nil, err + } + cookieExpiration := *cookieExpiration_ARM.(*arm.CookieExpiration) + result.CookieExpiration = &cookieExpiration + } + + // Set property "Nonce": + if login.Nonce != nil { + nonce_ARM, err := (*login.Nonce).ConvertToARM(resolved) + if err != nil { + return nil, err + } + nonce := *nonce_ARM.(*arm.Nonce) + result.Nonce = &nonce + } + + // Set property "PreserveUrlFragmentsForLogins": + if login.PreserveUrlFragmentsForLogins != nil { + preserveUrlFragmentsForLogins := *login.PreserveUrlFragmentsForLogins + result.PreserveUrlFragmentsForLogins = &preserveUrlFragmentsForLogins + } + + // Set property "Routes": + if login.Routes != nil { + routes_ARM, err := (*login.Routes).ConvertToARM(resolved) + if err != nil { + return nil, err + } + routes := *routes_ARM.(*arm.LoginRoutes) + result.Routes = &routes + } + + // Set property "TokenStore": + if login.TokenStore != nil { + tokenStore_ARM, err := (*login.TokenStore).ConvertToARM(resolved) + if err != nil { + return nil, err + } + tokenStore := *tokenStore_ARM.(*arm.TokenStore) + result.TokenStore = &tokenStore + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (login *Login) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Login{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (login *Login) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Login) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Login, got %T", armInput) + } + + // Set property "AllowedExternalRedirectUrls": + for _, item := range typedInput.AllowedExternalRedirectUrls { + login.AllowedExternalRedirectUrls = append(login.AllowedExternalRedirectUrls, item) + } + + // Set property "CookieExpiration": + if typedInput.CookieExpiration != nil { + var cookieExpiration1 CookieExpiration + err := cookieExpiration1.PopulateFromARM(owner, *typedInput.CookieExpiration) + if err != nil { + return err + } + cookieExpiration := cookieExpiration1 + login.CookieExpiration = &cookieExpiration + } + + // Set property "Nonce": + if typedInput.Nonce != nil { + var nonce1 Nonce + err := nonce1.PopulateFromARM(owner, *typedInput.Nonce) + if err != nil { + return err + } + nonce := nonce1 + login.Nonce = &nonce + } + + // Set property "PreserveUrlFragmentsForLogins": + if typedInput.PreserveUrlFragmentsForLogins != nil { + preserveUrlFragmentsForLogins := *typedInput.PreserveUrlFragmentsForLogins + login.PreserveUrlFragmentsForLogins = &preserveUrlFragmentsForLogins + } + + // Set property "Routes": + if typedInput.Routes != nil { + var routes1 LoginRoutes + err := routes1.PopulateFromARM(owner, *typedInput.Routes) + if err != nil { + return err + } + routes := routes1 + login.Routes = &routes + } + + // Set property "TokenStore": + if typedInput.TokenStore != nil { + var tokenStore1 TokenStore + err := tokenStore1.PopulateFromARM(owner, *typedInput.TokenStore) + if err != nil { + return err + } + tokenStore := tokenStore1 + login.TokenStore = &tokenStore + } + + // No error + return nil +} + +// AssignProperties_From_Login populates our Login from the provided source Login +func (login *Login) AssignProperties_From_Login(source *storage.Login) error { + + // AllowedExternalRedirectUrls + login.AllowedExternalRedirectUrls = genruntime.CloneSliceOfString(source.AllowedExternalRedirectUrls) + + // CookieExpiration + if source.CookieExpiration != nil { + var cookieExpiration CookieExpiration + err := cookieExpiration.AssignProperties_From_CookieExpiration(source.CookieExpiration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_CookieExpiration() to populate field CookieExpiration") + } + login.CookieExpiration = &cookieExpiration + } else { + login.CookieExpiration = nil + } + + // Nonce + if source.Nonce != nil { + var nonce Nonce + err := nonce.AssignProperties_From_Nonce(source.Nonce) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Nonce() to populate field Nonce") + } + login.Nonce = &nonce + } else { + login.Nonce = nil + } + + // PreserveUrlFragmentsForLogins + if source.PreserveUrlFragmentsForLogins != nil { + preserveUrlFragmentsForLogin := *source.PreserveUrlFragmentsForLogins + login.PreserveUrlFragmentsForLogins = &preserveUrlFragmentsForLogin + } else { + login.PreserveUrlFragmentsForLogins = nil + } + + // Routes + if source.Routes != nil { + var route LoginRoutes + err := route.AssignProperties_From_LoginRoutes(source.Routes) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_LoginRoutes() to populate field Routes") + } + login.Routes = &route + } else { + login.Routes = nil + } + + // TokenStore + if source.TokenStore != nil { + var tokenStore TokenStore + err := tokenStore.AssignProperties_From_TokenStore(source.TokenStore) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_TokenStore() to populate field TokenStore") + } + login.TokenStore = &tokenStore + } else { + login.TokenStore = nil + } + + // No error + return nil +} + +// AssignProperties_To_Login populates the provided destination Login from our Login +func (login *Login) AssignProperties_To_Login(destination *storage.Login) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AllowedExternalRedirectUrls + destination.AllowedExternalRedirectUrls = genruntime.CloneSliceOfString(login.AllowedExternalRedirectUrls) + + // CookieExpiration + if login.CookieExpiration != nil { + var cookieExpiration storage.CookieExpiration + err := login.CookieExpiration.AssignProperties_To_CookieExpiration(&cookieExpiration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_CookieExpiration() to populate field CookieExpiration") + } + destination.CookieExpiration = &cookieExpiration + } else { + destination.CookieExpiration = nil + } + + // Nonce + if login.Nonce != nil { + var nonce storage.Nonce + err := login.Nonce.AssignProperties_To_Nonce(&nonce) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Nonce() to populate field Nonce") + } + destination.Nonce = &nonce + } else { + destination.Nonce = nil + } + + // PreserveUrlFragmentsForLogins + if login.PreserveUrlFragmentsForLogins != nil { + preserveUrlFragmentsForLogin := *login.PreserveUrlFragmentsForLogins + destination.PreserveUrlFragmentsForLogins = &preserveUrlFragmentsForLogin + } else { + destination.PreserveUrlFragmentsForLogins = nil + } + + // Routes + if login.Routes != nil { + var route storage.LoginRoutes + err := login.Routes.AssignProperties_To_LoginRoutes(&route) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_LoginRoutes() to populate field Routes") + } + destination.Routes = &route + } else { + destination.Routes = nil + } + + // TokenStore + if login.TokenStore != nil { + var tokenStore storage.TokenStore + err := login.TokenStore.AssignProperties_To_TokenStore(&tokenStore) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_TokenStore() to populate field TokenStore") + } + destination.TokenStore = &tokenStore + } else { + destination.TokenStore = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_Login_STATUS populates our Login from the provided source Login_STATUS +func (login *Login) Initialize_From_Login_STATUS(source *Login_STATUS) error { + + // AllowedExternalRedirectUrls + login.AllowedExternalRedirectUrls = genruntime.CloneSliceOfString(source.AllowedExternalRedirectUrls) + + // CookieExpiration + if source.CookieExpiration != nil { + var cookieExpiration CookieExpiration + err := cookieExpiration.Initialize_From_CookieExpiration_STATUS(source.CookieExpiration) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_CookieExpiration_STATUS() to populate field CookieExpiration") + } + login.CookieExpiration = &cookieExpiration + } else { + login.CookieExpiration = nil + } + + // Nonce + if source.Nonce != nil { + var nonce Nonce + err := nonce.Initialize_From_Nonce_STATUS(source.Nonce) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_Nonce_STATUS() to populate field Nonce") + } + login.Nonce = &nonce + } else { + login.Nonce = nil + } + + // PreserveUrlFragmentsForLogins + if source.PreserveUrlFragmentsForLogins != nil { + preserveUrlFragmentsForLogin := *source.PreserveUrlFragmentsForLogins + login.PreserveUrlFragmentsForLogins = &preserveUrlFragmentsForLogin + } else { + login.PreserveUrlFragmentsForLogins = nil + } + + // Routes + if source.Routes != nil { + var route LoginRoutes + err := route.Initialize_From_LoginRoutes_STATUS(source.Routes) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_LoginRoutes_STATUS() to populate field Routes") + } + login.Routes = &route + } else { + login.Routes = nil + } + + // TokenStore + if source.TokenStore != nil { + var tokenStore TokenStore + err := tokenStore.Initialize_From_TokenStore_STATUS(source.TokenStore) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_TokenStore_STATUS() to populate field TokenStore") + } + login.TokenStore = &tokenStore + } else { + login.TokenStore = nil + } + + // No error + return nil +} + +// The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization. +type Login_STATUS struct { + // AllowedExternalRedirectUrls: External URLs that can be redirected to as part of logging in or logging out of the app. + // Note that the query string part of the URL is ignored. + // This is an advanced setting typically only needed by Windows Store application backends. + // Note that URLs within the current domain are always implicitly allowed. + AllowedExternalRedirectUrls []string `json:"allowedExternalRedirectUrls,omitempty"` + + // CookieExpiration: The configuration settings of the session cookie's expiration. + CookieExpiration *CookieExpiration_STATUS `json:"cookieExpiration,omitempty"` + + // Nonce: The configuration settings of the nonce used in the login flow. + Nonce *Nonce_STATUS `json:"nonce,omitempty"` + + // PreserveUrlFragmentsForLogins: true if the fragments from the request are preserved after the login request + // is made; otherwise, false. + PreserveUrlFragmentsForLogins *bool `json:"preserveUrlFragmentsForLogins,omitempty"` + + // Routes: The routes that specify the endpoints used for login and logout requests. + Routes *LoginRoutes_STATUS `json:"routes,omitempty"` + + // TokenStore: The configuration settings of the token store. + TokenStore *TokenStore_STATUS `json:"tokenStore,omitempty"` +} + +var _ genruntime.FromARMConverter = &Login_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (login *Login_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Login_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (login *Login_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Login_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Login_STATUS, got %T", armInput) + } + + // Set property "AllowedExternalRedirectUrls": + for _, item := range typedInput.AllowedExternalRedirectUrls { + login.AllowedExternalRedirectUrls = append(login.AllowedExternalRedirectUrls, item) + } + + // Set property "CookieExpiration": + if typedInput.CookieExpiration != nil { + var cookieExpiration1 CookieExpiration_STATUS + err := cookieExpiration1.PopulateFromARM(owner, *typedInput.CookieExpiration) + if err != nil { + return err + } + cookieExpiration := cookieExpiration1 + login.CookieExpiration = &cookieExpiration + } + + // Set property "Nonce": + if typedInput.Nonce != nil { + var nonce1 Nonce_STATUS + err := nonce1.PopulateFromARM(owner, *typedInput.Nonce) + if err != nil { + return err + } + nonce := nonce1 + login.Nonce = &nonce + } + + // Set property "PreserveUrlFragmentsForLogins": + if typedInput.PreserveUrlFragmentsForLogins != nil { + preserveUrlFragmentsForLogins := *typedInput.PreserveUrlFragmentsForLogins + login.PreserveUrlFragmentsForLogins = &preserveUrlFragmentsForLogins + } + + // Set property "Routes": + if typedInput.Routes != nil { + var routes1 LoginRoutes_STATUS + err := routes1.PopulateFromARM(owner, *typedInput.Routes) + if err != nil { + return err + } + routes := routes1 + login.Routes = &routes + } + + // Set property "TokenStore": + if typedInput.TokenStore != nil { + var tokenStore1 TokenStore_STATUS + err := tokenStore1.PopulateFromARM(owner, *typedInput.TokenStore) + if err != nil { + return err + } + tokenStore := tokenStore1 + login.TokenStore = &tokenStore + } + + // No error + return nil +} + +// AssignProperties_From_Login_STATUS populates our Login_STATUS from the provided source Login_STATUS +func (login *Login_STATUS) AssignProperties_From_Login_STATUS(source *storage.Login_STATUS) error { + + // AllowedExternalRedirectUrls + login.AllowedExternalRedirectUrls = genruntime.CloneSliceOfString(source.AllowedExternalRedirectUrls) + + // CookieExpiration + if source.CookieExpiration != nil { + var cookieExpiration CookieExpiration_STATUS + err := cookieExpiration.AssignProperties_From_CookieExpiration_STATUS(source.CookieExpiration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_CookieExpiration_STATUS() to populate field CookieExpiration") + } + login.CookieExpiration = &cookieExpiration + } else { + login.CookieExpiration = nil + } + + // Nonce + if source.Nonce != nil { + var nonce Nonce_STATUS + err := nonce.AssignProperties_From_Nonce_STATUS(source.Nonce) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Nonce_STATUS() to populate field Nonce") + } + login.Nonce = &nonce + } else { + login.Nonce = nil + } + + // PreserveUrlFragmentsForLogins + if source.PreserveUrlFragmentsForLogins != nil { + preserveUrlFragmentsForLogin := *source.PreserveUrlFragmentsForLogins + login.PreserveUrlFragmentsForLogins = &preserveUrlFragmentsForLogin + } else { + login.PreserveUrlFragmentsForLogins = nil + } + + // Routes + if source.Routes != nil { + var route LoginRoutes_STATUS + err := route.AssignProperties_From_LoginRoutes_STATUS(source.Routes) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_LoginRoutes_STATUS() to populate field Routes") + } + login.Routes = &route + } else { + login.Routes = nil + } + + // TokenStore + if source.TokenStore != nil { + var tokenStore TokenStore_STATUS + err := tokenStore.AssignProperties_From_TokenStore_STATUS(source.TokenStore) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_TokenStore_STATUS() to populate field TokenStore") + } + login.TokenStore = &tokenStore + } else { + login.TokenStore = nil + } + + // No error + return nil +} + +// AssignProperties_To_Login_STATUS populates the provided destination Login_STATUS from our Login_STATUS +func (login *Login_STATUS) AssignProperties_To_Login_STATUS(destination *storage.Login_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AllowedExternalRedirectUrls + destination.AllowedExternalRedirectUrls = genruntime.CloneSliceOfString(login.AllowedExternalRedirectUrls) + + // CookieExpiration + if login.CookieExpiration != nil { + var cookieExpiration storage.CookieExpiration_STATUS + err := login.CookieExpiration.AssignProperties_To_CookieExpiration_STATUS(&cookieExpiration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_CookieExpiration_STATUS() to populate field CookieExpiration") + } + destination.CookieExpiration = &cookieExpiration + } else { + destination.CookieExpiration = nil + } + + // Nonce + if login.Nonce != nil { + var nonce storage.Nonce_STATUS + err := login.Nonce.AssignProperties_To_Nonce_STATUS(&nonce) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Nonce_STATUS() to populate field Nonce") + } + destination.Nonce = &nonce + } else { + destination.Nonce = nil + } + + // PreserveUrlFragmentsForLogins + if login.PreserveUrlFragmentsForLogins != nil { + preserveUrlFragmentsForLogin := *login.PreserveUrlFragmentsForLogins + destination.PreserveUrlFragmentsForLogins = &preserveUrlFragmentsForLogin + } else { + destination.PreserveUrlFragmentsForLogins = nil + } + + // Routes + if login.Routes != nil { + var route storage.LoginRoutes_STATUS + err := login.Routes.AssignProperties_To_LoginRoutes_STATUS(&route) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_LoginRoutes_STATUS() to populate field Routes") + } + destination.Routes = &route + } else { + destination.Routes = nil + } + + // TokenStore + if login.TokenStore != nil { + var tokenStore storage.TokenStore_STATUS + err := login.TokenStore.AssignProperties_To_TokenStore_STATUS(&tokenStore) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_TokenStore_STATUS() to populate field TokenStore") + } + destination.TokenStore = &tokenStore + } else { + destination.TokenStore = nil + } + + // 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 &arm.SystemData_STATUS{} +} + +// 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.(arm.SystemData_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.SystemData_STATUS, 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 { + var temp string + temp = string(*typedInput.CreatedByType) + createdByType := SystemData_CreatedByType_STATUS(temp) + 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 { + var temp string + temp = string(*typedInput.LastModifiedByType) + lastModifiedByType := SystemData_LastModifiedByType_STATUS(temp) + 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 *storage.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 *storage.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 +} + +// The configuration settings of the Apple provider. +type Apple struct { + // Enabled: false if the Apple provider should not be enabled despite the set registration; otherwise, + // true. + Enabled *bool `json:"enabled,omitempty"` + + // Login: The configuration settings of the login flow. + Login *LoginScopes `json:"login,omitempty"` + + // Registration: The configuration settings of the Apple registration. + Registration *AppleRegistration `json:"registration,omitempty"` +} + +var _ genruntime.ARMTransformer = &Apple{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (apple *Apple) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if apple == nil { + return nil, nil + } + result := &arm.Apple{} + + // Set property "Enabled": + if apple.Enabled != nil { + enabled := *apple.Enabled + result.Enabled = &enabled + } + + // Set property "Login": + if apple.Login != nil { + login_ARM, err := (*apple.Login).ConvertToARM(resolved) + if err != nil { + return nil, err + } + login := *login_ARM.(*arm.LoginScopes) + result.Login = &login + } + + // Set property "Registration": + if apple.Registration != nil { + registration_ARM, err := (*apple.Registration).ConvertToARM(resolved) + if err != nil { + return nil, err + } + registration := *registration_ARM.(*arm.AppleRegistration) + result.Registration = ®istration + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (apple *Apple) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Apple{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (apple *Apple) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Apple) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Apple, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + apple.Enabled = &enabled + } + + // Set property "Login": + if typedInput.Login != nil { + var login1 LoginScopes + err := login1.PopulateFromARM(owner, *typedInput.Login) + if err != nil { + return err + } + login := login1 + apple.Login = &login + } + + // Set property "Registration": + if typedInput.Registration != nil { + var registration1 AppleRegistration + err := registration1.PopulateFromARM(owner, *typedInput.Registration) + if err != nil { + return err + } + registration := registration1 + apple.Registration = ®istration + } + + // No error + return nil +} + +// AssignProperties_From_Apple populates our Apple from the provided source Apple +func (apple *Apple) AssignProperties_From_Apple(source *storage.Apple) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + apple.Enabled = &enabled + } else { + apple.Enabled = nil + } + + // Login + if source.Login != nil { + var login LoginScopes + err := login.AssignProperties_From_LoginScopes(source.Login) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_LoginScopes() to populate field Login") + } + apple.Login = &login + } else { + apple.Login = nil + } + + // Registration + if source.Registration != nil { + var registration AppleRegistration + err := registration.AssignProperties_From_AppleRegistration(source.Registration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_AppleRegistration() to populate field Registration") + } + apple.Registration = ®istration + } else { + apple.Registration = nil + } + + // No error + return nil +} + +// AssignProperties_To_Apple populates the provided destination Apple from our Apple +func (apple *Apple) AssignProperties_To_Apple(destination *storage.Apple) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if apple.Enabled != nil { + enabled := *apple.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Login + if apple.Login != nil { + var login storage.LoginScopes + err := apple.Login.AssignProperties_To_LoginScopes(&login) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_LoginScopes() to populate field Login") + } + destination.Login = &login + } else { + destination.Login = nil + } + + // Registration + if apple.Registration != nil { + var registration storage.AppleRegistration + err := apple.Registration.AssignProperties_To_AppleRegistration(®istration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_AppleRegistration() to populate field Registration") + } + destination.Registration = ®istration + } else { + destination.Registration = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_Apple_STATUS populates our Apple from the provided source Apple_STATUS +func (apple *Apple) Initialize_From_Apple_STATUS(source *Apple_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + apple.Enabled = &enabled + } else { + apple.Enabled = nil + } + + // Login + if source.Login != nil { + var login LoginScopes + err := login.Initialize_From_LoginScopes_STATUS(source.Login) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_LoginScopes_STATUS() to populate field Login") + } + apple.Login = &login + } else { + apple.Login = nil + } + + // Registration + if source.Registration != nil { + var registration AppleRegistration + err := registration.Initialize_From_AppleRegistration_STATUS(source.Registration) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_AppleRegistration_STATUS() to populate field Registration") + } + apple.Registration = ®istration + } else { + apple.Registration = nil + } + + // No error + return nil +} + +// The configuration settings of the Apple provider. +type Apple_STATUS struct { + // Enabled: false if the Apple provider should not be enabled despite the set registration; otherwise, + // true. + Enabled *bool `json:"enabled,omitempty"` + + // Login: The configuration settings of the login flow. + Login *LoginScopes_STATUS `json:"login,omitempty"` + + // Registration: The configuration settings of the Apple registration. + Registration *AppleRegistration_STATUS `json:"registration,omitempty"` +} + +var _ genruntime.FromARMConverter = &Apple_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (apple *Apple_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Apple_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (apple *Apple_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Apple_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Apple_STATUS, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + apple.Enabled = &enabled + } + + // Set property "Login": + if typedInput.Login != nil { + var login1 LoginScopes_STATUS + err := login1.PopulateFromARM(owner, *typedInput.Login) + if err != nil { + return err + } + login := login1 + apple.Login = &login + } + + // Set property "Registration": + if typedInput.Registration != nil { + var registration1 AppleRegistration_STATUS + err := registration1.PopulateFromARM(owner, *typedInput.Registration) + if err != nil { + return err + } + registration := registration1 + apple.Registration = ®istration + } + + // No error + return nil +} + +// AssignProperties_From_Apple_STATUS populates our Apple_STATUS from the provided source Apple_STATUS +func (apple *Apple_STATUS) AssignProperties_From_Apple_STATUS(source *storage.Apple_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + apple.Enabled = &enabled + } else { + apple.Enabled = nil + } + + // Login + if source.Login != nil { + var login LoginScopes_STATUS + err := login.AssignProperties_From_LoginScopes_STATUS(source.Login) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_LoginScopes_STATUS() to populate field Login") + } + apple.Login = &login + } else { + apple.Login = nil + } + + // Registration + if source.Registration != nil { + var registration AppleRegistration_STATUS + err := registration.AssignProperties_From_AppleRegistration_STATUS(source.Registration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_AppleRegistration_STATUS() to populate field Registration") + } + apple.Registration = ®istration + } else { + apple.Registration = nil + } + + // No error + return nil +} + +// AssignProperties_To_Apple_STATUS populates the provided destination Apple_STATUS from our Apple_STATUS +func (apple *Apple_STATUS) AssignProperties_To_Apple_STATUS(destination *storage.Apple_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if apple.Enabled != nil { + enabled := *apple.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Login + if apple.Login != nil { + var login storage.LoginScopes_STATUS + err := apple.Login.AssignProperties_To_LoginScopes_STATUS(&login) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_LoginScopes_STATUS() to populate field Login") + } + destination.Login = &login + } else { + destination.Login = nil + } + + // Registration + if apple.Registration != nil { + var registration storage.AppleRegistration_STATUS + err := apple.Registration.AssignProperties_To_AppleRegistration_STATUS(®istration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_AppleRegistration_STATUS() to populate field Registration") + } + destination.Registration = ®istration + } else { + destination.Registration = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings of the Azure Active directory provider. +type AzureActiveDirectory struct { + // Enabled: false if the Azure Active Directory provider should not be enabled despite the set registration; + // otherwise, true. + Enabled *bool `json:"enabled,omitempty"` + + // IsAutoProvisioned: Gets a value indicating whether the Azure AD configuration was auto-provisioned using 1st party + // tooling. + // This is an internal flag primarily intended to support the Azure Management Portal. Users should not + // read or write to this property. + IsAutoProvisioned *bool `json:"isAutoProvisioned,omitempty"` + + // Login: The configuration settings of the Azure Active Directory login flow. + Login *AzureActiveDirectoryLogin `json:"login,omitempty"` + + // Registration: The configuration settings of the Azure Active Directory app registration. + Registration *AzureActiveDirectoryRegistration `json:"registration,omitempty"` + + // Validation: The configuration settings of the Azure Active Directory token validation flow. + Validation *AzureActiveDirectoryValidation `json:"validation,omitempty"` +} + +var _ genruntime.ARMTransformer = &AzureActiveDirectory{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (directory *AzureActiveDirectory) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if directory == nil { + return nil, nil + } + result := &arm.AzureActiveDirectory{} + + // Set property "Enabled": + if directory.Enabled != nil { + enabled := *directory.Enabled + result.Enabled = &enabled + } + + // Set property "IsAutoProvisioned": + if directory.IsAutoProvisioned != nil { + isAutoProvisioned := *directory.IsAutoProvisioned + result.IsAutoProvisioned = &isAutoProvisioned + } + + // Set property "Login": + if directory.Login != nil { + login_ARM, err := (*directory.Login).ConvertToARM(resolved) + if err != nil { + return nil, err + } + login := *login_ARM.(*arm.AzureActiveDirectoryLogin) + result.Login = &login + } + + // Set property "Registration": + if directory.Registration != nil { + registration_ARM, err := (*directory.Registration).ConvertToARM(resolved) + if err != nil { + return nil, err + } + registration := *registration_ARM.(*arm.AzureActiveDirectoryRegistration) + result.Registration = ®istration + } + + // Set property "Validation": + if directory.Validation != nil { + validation_ARM, err := (*directory.Validation).ConvertToARM(resolved) + if err != nil { + return nil, err + } + validation := *validation_ARM.(*arm.AzureActiveDirectoryValidation) + result.Validation = &validation + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (directory *AzureActiveDirectory) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AzureActiveDirectory{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (directory *AzureActiveDirectory) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AzureActiveDirectory) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AzureActiveDirectory, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + directory.Enabled = &enabled + } + + // Set property "IsAutoProvisioned": + if typedInput.IsAutoProvisioned != nil { + isAutoProvisioned := *typedInput.IsAutoProvisioned + directory.IsAutoProvisioned = &isAutoProvisioned + } + + // Set property "Login": + if typedInput.Login != nil { + var login1 AzureActiveDirectoryLogin + err := login1.PopulateFromARM(owner, *typedInput.Login) + if err != nil { + return err + } + login := login1 + directory.Login = &login + } + + // Set property "Registration": + if typedInput.Registration != nil { + var registration1 AzureActiveDirectoryRegistration + err := registration1.PopulateFromARM(owner, *typedInput.Registration) + if err != nil { + return err + } + registration := registration1 + directory.Registration = ®istration + } + + // Set property "Validation": + if typedInput.Validation != nil { + var validation1 AzureActiveDirectoryValidation + err := validation1.PopulateFromARM(owner, *typedInput.Validation) + if err != nil { + return err + } + validation := validation1 + directory.Validation = &validation + } + + // No error + return nil +} + +// AssignProperties_From_AzureActiveDirectory populates our AzureActiveDirectory from the provided source AzureActiveDirectory +func (directory *AzureActiveDirectory) AssignProperties_From_AzureActiveDirectory(source *storage.AzureActiveDirectory) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + directory.Enabled = &enabled + } else { + directory.Enabled = nil + } + + // IsAutoProvisioned + if source.IsAutoProvisioned != nil { + isAutoProvisioned := *source.IsAutoProvisioned + directory.IsAutoProvisioned = &isAutoProvisioned + } else { + directory.IsAutoProvisioned = nil + } + + // Login + if source.Login != nil { + var login AzureActiveDirectoryLogin + err := login.AssignProperties_From_AzureActiveDirectoryLogin(source.Login) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_AzureActiveDirectoryLogin() to populate field Login") + } + directory.Login = &login + } else { + directory.Login = nil + } + + // Registration + if source.Registration != nil { + var registration AzureActiveDirectoryRegistration + err := registration.AssignProperties_From_AzureActiveDirectoryRegistration(source.Registration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_AzureActiveDirectoryRegistration() to populate field Registration") + } + directory.Registration = ®istration + } else { + directory.Registration = nil + } + + // Validation + if source.Validation != nil { + var validation AzureActiveDirectoryValidation + err := validation.AssignProperties_From_AzureActiveDirectoryValidation(source.Validation) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_AzureActiveDirectoryValidation() to populate field Validation") + } + directory.Validation = &validation + } else { + directory.Validation = nil + } + + // No error + return nil +} + +// AssignProperties_To_AzureActiveDirectory populates the provided destination AzureActiveDirectory from our AzureActiveDirectory +func (directory *AzureActiveDirectory) AssignProperties_To_AzureActiveDirectory(destination *storage.AzureActiveDirectory) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if directory.Enabled != nil { + enabled := *directory.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // IsAutoProvisioned + if directory.IsAutoProvisioned != nil { + isAutoProvisioned := *directory.IsAutoProvisioned + destination.IsAutoProvisioned = &isAutoProvisioned + } else { + destination.IsAutoProvisioned = nil + } + + // Login + if directory.Login != nil { + var login storage.AzureActiveDirectoryLogin + err := directory.Login.AssignProperties_To_AzureActiveDirectoryLogin(&login) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_AzureActiveDirectoryLogin() to populate field Login") + } + destination.Login = &login + } else { + destination.Login = nil + } + + // Registration + if directory.Registration != nil { + var registration storage.AzureActiveDirectoryRegistration + err := directory.Registration.AssignProperties_To_AzureActiveDirectoryRegistration(®istration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_AzureActiveDirectoryRegistration() to populate field Registration") + } + destination.Registration = ®istration + } else { + destination.Registration = nil + } + + // Validation + if directory.Validation != nil { + var validation storage.AzureActiveDirectoryValidation + err := directory.Validation.AssignProperties_To_AzureActiveDirectoryValidation(&validation) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_AzureActiveDirectoryValidation() to populate field Validation") + } + destination.Validation = &validation + } else { + destination.Validation = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_AzureActiveDirectory_STATUS populates our AzureActiveDirectory from the provided source AzureActiveDirectory_STATUS +func (directory *AzureActiveDirectory) Initialize_From_AzureActiveDirectory_STATUS(source *AzureActiveDirectory_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + directory.Enabled = &enabled + } else { + directory.Enabled = nil + } + + // IsAutoProvisioned + if source.IsAutoProvisioned != nil { + isAutoProvisioned := *source.IsAutoProvisioned + directory.IsAutoProvisioned = &isAutoProvisioned + } else { + directory.IsAutoProvisioned = nil + } + + // Login + if source.Login != nil { + var login AzureActiveDirectoryLogin + err := login.Initialize_From_AzureActiveDirectoryLogin_STATUS(source.Login) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_AzureActiveDirectoryLogin_STATUS() to populate field Login") + } + directory.Login = &login + } else { + directory.Login = nil + } + + // Registration + if source.Registration != nil { + var registration AzureActiveDirectoryRegistration + err := registration.Initialize_From_AzureActiveDirectoryRegistration_STATUS(source.Registration) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_AzureActiveDirectoryRegistration_STATUS() to populate field Registration") + } + directory.Registration = ®istration + } else { + directory.Registration = nil + } + + // Validation + if source.Validation != nil { + var validation AzureActiveDirectoryValidation + err := validation.Initialize_From_AzureActiveDirectoryValidation_STATUS(source.Validation) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_AzureActiveDirectoryValidation_STATUS() to populate field Validation") + } + directory.Validation = &validation + } else { + directory.Validation = nil + } + + // No error + return nil +} + +// The configuration settings of the Azure Active directory provider. +type AzureActiveDirectory_STATUS struct { + // Enabled: false if the Azure Active Directory provider should not be enabled despite the set registration; + // otherwise, true. + Enabled *bool `json:"enabled,omitempty"` + + // IsAutoProvisioned: Gets a value indicating whether the Azure AD configuration was auto-provisioned using 1st party + // tooling. + // This is an internal flag primarily intended to support the Azure Management Portal. Users should not + // read or write to this property. + IsAutoProvisioned *bool `json:"isAutoProvisioned,omitempty"` + + // Login: The configuration settings of the Azure Active Directory login flow. + Login *AzureActiveDirectoryLogin_STATUS `json:"login,omitempty"` + + // Registration: The configuration settings of the Azure Active Directory app registration. + Registration *AzureActiveDirectoryRegistration_STATUS `json:"registration,omitempty"` + + // Validation: The configuration settings of the Azure Active Directory token validation flow. + Validation *AzureActiveDirectoryValidation_STATUS `json:"validation,omitempty"` +} + +var _ genruntime.FromARMConverter = &AzureActiveDirectory_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (directory *AzureActiveDirectory_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AzureActiveDirectory_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (directory *AzureActiveDirectory_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AzureActiveDirectory_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AzureActiveDirectory_STATUS, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + directory.Enabled = &enabled + } + + // Set property "IsAutoProvisioned": + if typedInput.IsAutoProvisioned != nil { + isAutoProvisioned := *typedInput.IsAutoProvisioned + directory.IsAutoProvisioned = &isAutoProvisioned + } + + // Set property "Login": + if typedInput.Login != nil { + var login1 AzureActiveDirectoryLogin_STATUS + err := login1.PopulateFromARM(owner, *typedInput.Login) + if err != nil { + return err + } + login := login1 + directory.Login = &login + } + + // Set property "Registration": + if typedInput.Registration != nil { + var registration1 AzureActiveDirectoryRegistration_STATUS + err := registration1.PopulateFromARM(owner, *typedInput.Registration) + if err != nil { + return err + } + registration := registration1 + directory.Registration = ®istration + } + + // Set property "Validation": + if typedInput.Validation != nil { + var validation1 AzureActiveDirectoryValidation_STATUS + err := validation1.PopulateFromARM(owner, *typedInput.Validation) + if err != nil { + return err + } + validation := validation1 + directory.Validation = &validation + } + + // No error + return nil +} + +// AssignProperties_From_AzureActiveDirectory_STATUS populates our AzureActiveDirectory_STATUS from the provided source AzureActiveDirectory_STATUS +func (directory *AzureActiveDirectory_STATUS) AssignProperties_From_AzureActiveDirectory_STATUS(source *storage.AzureActiveDirectory_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + directory.Enabled = &enabled + } else { + directory.Enabled = nil + } + + // IsAutoProvisioned + if source.IsAutoProvisioned != nil { + isAutoProvisioned := *source.IsAutoProvisioned + directory.IsAutoProvisioned = &isAutoProvisioned + } else { + directory.IsAutoProvisioned = nil + } + + // Login + if source.Login != nil { + var login AzureActiveDirectoryLogin_STATUS + err := login.AssignProperties_From_AzureActiveDirectoryLogin_STATUS(source.Login) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_AzureActiveDirectoryLogin_STATUS() to populate field Login") + } + directory.Login = &login + } else { + directory.Login = nil + } + + // Registration + if source.Registration != nil { + var registration AzureActiveDirectoryRegistration_STATUS + err := registration.AssignProperties_From_AzureActiveDirectoryRegistration_STATUS(source.Registration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_AzureActiveDirectoryRegistration_STATUS() to populate field Registration") + } + directory.Registration = ®istration + } else { + directory.Registration = nil + } + + // Validation + if source.Validation != nil { + var validation AzureActiveDirectoryValidation_STATUS + err := validation.AssignProperties_From_AzureActiveDirectoryValidation_STATUS(source.Validation) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_AzureActiveDirectoryValidation_STATUS() to populate field Validation") + } + directory.Validation = &validation + } else { + directory.Validation = nil + } + + // No error + return nil +} + +// AssignProperties_To_AzureActiveDirectory_STATUS populates the provided destination AzureActiveDirectory_STATUS from our AzureActiveDirectory_STATUS +func (directory *AzureActiveDirectory_STATUS) AssignProperties_To_AzureActiveDirectory_STATUS(destination *storage.AzureActiveDirectory_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if directory.Enabled != nil { + enabled := *directory.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // IsAutoProvisioned + if directory.IsAutoProvisioned != nil { + isAutoProvisioned := *directory.IsAutoProvisioned + destination.IsAutoProvisioned = &isAutoProvisioned + } else { + destination.IsAutoProvisioned = nil + } + + // Login + if directory.Login != nil { + var login storage.AzureActiveDirectoryLogin_STATUS + err := directory.Login.AssignProperties_To_AzureActiveDirectoryLogin_STATUS(&login) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_AzureActiveDirectoryLogin_STATUS() to populate field Login") + } + destination.Login = &login + } else { + destination.Login = nil + } + + // Registration + if directory.Registration != nil { + var registration storage.AzureActiveDirectoryRegistration_STATUS + err := directory.Registration.AssignProperties_To_AzureActiveDirectoryRegistration_STATUS(®istration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_AzureActiveDirectoryRegistration_STATUS() to populate field Registration") + } + destination.Registration = ®istration + } else { + destination.Registration = nil + } + + // Validation + if directory.Validation != nil { + var validation storage.AzureActiveDirectoryValidation_STATUS + err := directory.Validation.AssignProperties_To_AzureActiveDirectoryValidation_STATUS(&validation) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_AzureActiveDirectoryValidation_STATUS() to populate field Validation") + } + destination.Validation = &validation + } else { + destination.Validation = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings of the Azure Static Web Apps provider. +type AzureStaticWebApps struct { + // Enabled: false if the Azure Static Web Apps provider should not be enabled despite the set registration; + // otherwise, true. + Enabled *bool `json:"enabled,omitempty"` + + // Registration: The configuration settings of the Azure Static Web Apps registration. + Registration *AzureStaticWebAppsRegistration `json:"registration,omitempty"` +} + +var _ genruntime.ARMTransformer = &AzureStaticWebApps{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (apps *AzureStaticWebApps) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if apps == nil { + return nil, nil + } + result := &arm.AzureStaticWebApps{} + + // Set property "Enabled": + if apps.Enabled != nil { + enabled := *apps.Enabled + result.Enabled = &enabled + } + + // Set property "Registration": + if apps.Registration != nil { + registration_ARM, err := (*apps.Registration).ConvertToARM(resolved) + if err != nil { + return nil, err + } + registration := *registration_ARM.(*arm.AzureStaticWebAppsRegistration) + result.Registration = ®istration + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (apps *AzureStaticWebApps) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AzureStaticWebApps{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (apps *AzureStaticWebApps) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AzureStaticWebApps) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AzureStaticWebApps, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + apps.Enabled = &enabled + } + + // Set property "Registration": + if typedInput.Registration != nil { + var registration1 AzureStaticWebAppsRegistration + err := registration1.PopulateFromARM(owner, *typedInput.Registration) + if err != nil { + return err + } + registration := registration1 + apps.Registration = ®istration + } + + // No error + return nil +} + +// AssignProperties_From_AzureStaticWebApps populates our AzureStaticWebApps from the provided source AzureStaticWebApps +func (apps *AzureStaticWebApps) AssignProperties_From_AzureStaticWebApps(source *storage.AzureStaticWebApps) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + apps.Enabled = &enabled + } else { + apps.Enabled = nil + } + + // Registration + if source.Registration != nil { + var registration AzureStaticWebAppsRegistration + err := registration.AssignProperties_From_AzureStaticWebAppsRegistration(source.Registration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_AzureStaticWebAppsRegistration() to populate field Registration") + } + apps.Registration = ®istration + } else { + apps.Registration = nil + } + + // No error + return nil +} + +// AssignProperties_To_AzureStaticWebApps populates the provided destination AzureStaticWebApps from our AzureStaticWebApps +func (apps *AzureStaticWebApps) AssignProperties_To_AzureStaticWebApps(destination *storage.AzureStaticWebApps) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if apps.Enabled != nil { + enabled := *apps.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Registration + if apps.Registration != nil { + var registration storage.AzureStaticWebAppsRegistration + err := apps.Registration.AssignProperties_To_AzureStaticWebAppsRegistration(®istration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_AzureStaticWebAppsRegistration() to populate field Registration") + } + destination.Registration = ®istration + } else { + destination.Registration = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_AzureStaticWebApps_STATUS populates our AzureStaticWebApps from the provided source AzureStaticWebApps_STATUS +func (apps *AzureStaticWebApps) Initialize_From_AzureStaticWebApps_STATUS(source *AzureStaticWebApps_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + apps.Enabled = &enabled + } else { + apps.Enabled = nil + } + + // Registration + if source.Registration != nil { + var registration AzureStaticWebAppsRegistration + err := registration.Initialize_From_AzureStaticWebAppsRegistration_STATUS(source.Registration) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_AzureStaticWebAppsRegistration_STATUS() to populate field Registration") + } + apps.Registration = ®istration + } else { + apps.Registration = nil + } + + // No error + return nil +} + +// The configuration settings of the Azure Static Web Apps provider. +type AzureStaticWebApps_STATUS struct { + // Enabled: false if the Azure Static Web Apps provider should not be enabled despite the set registration; + // otherwise, true. + Enabled *bool `json:"enabled,omitempty"` + + // Registration: The configuration settings of the Azure Static Web Apps registration. + Registration *AzureStaticWebAppsRegistration_STATUS `json:"registration,omitempty"` +} + +var _ genruntime.FromARMConverter = &AzureStaticWebApps_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (apps *AzureStaticWebApps_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AzureStaticWebApps_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (apps *AzureStaticWebApps_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AzureStaticWebApps_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AzureStaticWebApps_STATUS, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + apps.Enabled = &enabled + } + + // Set property "Registration": + if typedInput.Registration != nil { + var registration1 AzureStaticWebAppsRegistration_STATUS + err := registration1.PopulateFromARM(owner, *typedInput.Registration) + if err != nil { + return err + } + registration := registration1 + apps.Registration = ®istration + } + + // No error + return nil +} + +// AssignProperties_From_AzureStaticWebApps_STATUS populates our AzureStaticWebApps_STATUS from the provided source AzureStaticWebApps_STATUS +func (apps *AzureStaticWebApps_STATUS) AssignProperties_From_AzureStaticWebApps_STATUS(source *storage.AzureStaticWebApps_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + apps.Enabled = &enabled + } else { + apps.Enabled = nil + } + + // Registration + if source.Registration != nil { + var registration AzureStaticWebAppsRegistration_STATUS + err := registration.AssignProperties_From_AzureStaticWebAppsRegistration_STATUS(source.Registration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_AzureStaticWebAppsRegistration_STATUS() to populate field Registration") + } + apps.Registration = ®istration + } else { + apps.Registration = nil + } + + // No error + return nil +} + +// AssignProperties_To_AzureStaticWebApps_STATUS populates the provided destination AzureStaticWebApps_STATUS from our AzureStaticWebApps_STATUS +func (apps *AzureStaticWebApps_STATUS) AssignProperties_To_AzureStaticWebApps_STATUS(destination *storage.AzureStaticWebApps_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if apps.Enabled != nil { + enabled := *apps.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Registration + if apps.Registration != nil { + var registration storage.AzureStaticWebAppsRegistration_STATUS + err := apps.Registration.AssignProperties_To_AzureStaticWebAppsRegistration_STATUS(®istration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_AzureStaticWebAppsRegistration_STATUS() to populate field Registration") + } + destination.Registration = ®istration + } else { + destination.Registration = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings of the session cookie's expiration. +type CookieExpiration struct { + // Convention: The convention used when determining the session cookie's expiration. + Convention *CookieExpiration_Convention `json:"convention,omitempty"` + + // TimeToExpiration: The time after the request is made when the session cookie should expire. + TimeToExpiration *string `json:"timeToExpiration,omitempty"` +} + +var _ genruntime.ARMTransformer = &CookieExpiration{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (expiration *CookieExpiration) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if expiration == nil { + return nil, nil + } + result := &arm.CookieExpiration{} + + // Set property "Convention": + if expiration.Convention != nil { + var temp string + temp = string(*expiration.Convention) + convention := arm.CookieExpiration_Convention(temp) + result.Convention = &convention + } + + // Set property "TimeToExpiration": + if expiration.TimeToExpiration != nil { + timeToExpiration := *expiration.TimeToExpiration + result.TimeToExpiration = &timeToExpiration + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (expiration *CookieExpiration) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.CookieExpiration{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (expiration *CookieExpiration) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.CookieExpiration) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.CookieExpiration, got %T", armInput) + } + + // Set property "Convention": + if typedInput.Convention != nil { + var temp string + temp = string(*typedInput.Convention) + convention := CookieExpiration_Convention(temp) + expiration.Convention = &convention + } + + // Set property "TimeToExpiration": + if typedInput.TimeToExpiration != nil { + timeToExpiration := *typedInput.TimeToExpiration + expiration.TimeToExpiration = &timeToExpiration + } + + // No error + return nil +} + +// AssignProperties_From_CookieExpiration populates our CookieExpiration from the provided source CookieExpiration +func (expiration *CookieExpiration) AssignProperties_From_CookieExpiration(source *storage.CookieExpiration) error { + + // Convention + if source.Convention != nil { + convention := *source.Convention + conventionTemp := genruntime.ToEnum(convention, cookieExpiration_Convention_Values) + expiration.Convention = &conventionTemp + } else { + expiration.Convention = nil + } + + // TimeToExpiration + expiration.TimeToExpiration = genruntime.ClonePointerToString(source.TimeToExpiration) + + // No error + return nil +} + +// AssignProperties_To_CookieExpiration populates the provided destination CookieExpiration from our CookieExpiration +func (expiration *CookieExpiration) AssignProperties_To_CookieExpiration(destination *storage.CookieExpiration) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Convention + if expiration.Convention != nil { + convention := string(*expiration.Convention) + destination.Convention = &convention + } else { + destination.Convention = nil + } + + // TimeToExpiration + destination.TimeToExpiration = genruntime.ClonePointerToString(expiration.TimeToExpiration) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_CookieExpiration_STATUS populates our CookieExpiration from the provided source CookieExpiration_STATUS +func (expiration *CookieExpiration) Initialize_From_CookieExpiration_STATUS(source *CookieExpiration_STATUS) error { + + // Convention + if source.Convention != nil { + convention := genruntime.ToEnum(string(*source.Convention), cookieExpiration_Convention_Values) + expiration.Convention = &convention + } else { + expiration.Convention = nil + } + + // TimeToExpiration + expiration.TimeToExpiration = genruntime.ClonePointerToString(source.TimeToExpiration) + + // No error + return nil +} + +// The configuration settings of the session cookie's expiration. +type CookieExpiration_STATUS struct { + // Convention: The convention used when determining the session cookie's expiration. + Convention *CookieExpiration_Convention_STATUS `json:"convention,omitempty"` + + // TimeToExpiration: The time after the request is made when the session cookie should expire. + TimeToExpiration *string `json:"timeToExpiration,omitempty"` +} + +var _ genruntime.FromARMConverter = &CookieExpiration_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (expiration *CookieExpiration_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.CookieExpiration_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (expiration *CookieExpiration_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.CookieExpiration_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.CookieExpiration_STATUS, got %T", armInput) + } + + // Set property "Convention": + if typedInput.Convention != nil { + var temp string + temp = string(*typedInput.Convention) + convention := CookieExpiration_Convention_STATUS(temp) + expiration.Convention = &convention + } + + // Set property "TimeToExpiration": + if typedInput.TimeToExpiration != nil { + timeToExpiration := *typedInput.TimeToExpiration + expiration.TimeToExpiration = &timeToExpiration + } + + // No error + return nil +} + +// AssignProperties_From_CookieExpiration_STATUS populates our CookieExpiration_STATUS from the provided source CookieExpiration_STATUS +func (expiration *CookieExpiration_STATUS) AssignProperties_From_CookieExpiration_STATUS(source *storage.CookieExpiration_STATUS) error { + + // Convention + if source.Convention != nil { + convention := *source.Convention + conventionTemp := genruntime.ToEnum(convention, cookieExpiration_Convention_STATUS_Values) + expiration.Convention = &conventionTemp + } else { + expiration.Convention = nil + } + + // TimeToExpiration + expiration.TimeToExpiration = genruntime.ClonePointerToString(source.TimeToExpiration) + + // No error + return nil +} + +// AssignProperties_To_CookieExpiration_STATUS populates the provided destination CookieExpiration_STATUS from our CookieExpiration_STATUS +func (expiration *CookieExpiration_STATUS) AssignProperties_To_CookieExpiration_STATUS(destination *storage.CookieExpiration_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Convention + if expiration.Convention != nil { + convention := string(*expiration.Convention) + destination.Convention = &convention + } else { + destination.Convention = nil + } + + // TimeToExpiration + destination.TimeToExpiration = genruntime.ClonePointerToString(expiration.TimeToExpiration) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings of the custom Open ID Connect provider. +type CustomOpenIdConnectProvider struct { + // Enabled: false if the custom Open ID provider provider should not be enabled; otherwise, true. + Enabled *bool `json:"enabled,omitempty"` + + // Login: The configuration settings of the login flow of the custom Open ID Connect provider. + Login *OpenIdConnectLogin `json:"login,omitempty"` + + // Registration: The configuration settings of the app registration for the custom Open ID Connect provider. + Registration *OpenIdConnectRegistration `json:"registration,omitempty"` +} + +var _ genruntime.ARMTransformer = &CustomOpenIdConnectProvider{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (provider *CustomOpenIdConnectProvider) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if provider == nil { + return nil, nil + } + result := &arm.CustomOpenIdConnectProvider{} + + // Set property "Enabled": + if provider.Enabled != nil { + enabled := *provider.Enabled + result.Enabled = &enabled + } + + // Set property "Login": + if provider.Login != nil { + login_ARM, err := (*provider.Login).ConvertToARM(resolved) + if err != nil { + return nil, err + } + login := *login_ARM.(*arm.OpenIdConnectLogin) + result.Login = &login + } + + // Set property "Registration": + if provider.Registration != nil { + registration_ARM, err := (*provider.Registration).ConvertToARM(resolved) + if err != nil { + return nil, err + } + registration := *registration_ARM.(*arm.OpenIdConnectRegistration) + result.Registration = ®istration + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (provider *CustomOpenIdConnectProvider) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.CustomOpenIdConnectProvider{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (provider *CustomOpenIdConnectProvider) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.CustomOpenIdConnectProvider) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.CustomOpenIdConnectProvider, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + provider.Enabled = &enabled + } + + // Set property "Login": + if typedInput.Login != nil { + var login1 OpenIdConnectLogin + err := login1.PopulateFromARM(owner, *typedInput.Login) + if err != nil { + return err + } + login := login1 + provider.Login = &login + } + + // Set property "Registration": + if typedInput.Registration != nil { + var registration1 OpenIdConnectRegistration + err := registration1.PopulateFromARM(owner, *typedInput.Registration) + if err != nil { + return err + } + registration := registration1 + provider.Registration = ®istration + } + + // No error + return nil +} + +// AssignProperties_From_CustomOpenIdConnectProvider populates our CustomOpenIdConnectProvider from the provided source CustomOpenIdConnectProvider +func (provider *CustomOpenIdConnectProvider) AssignProperties_From_CustomOpenIdConnectProvider(source *storage.CustomOpenIdConnectProvider) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + provider.Enabled = &enabled + } else { + provider.Enabled = nil + } + + // Login + if source.Login != nil { + var login OpenIdConnectLogin + err := login.AssignProperties_From_OpenIdConnectLogin(source.Login) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_OpenIdConnectLogin() to populate field Login") + } + provider.Login = &login + } else { + provider.Login = nil + } + + // Registration + if source.Registration != nil { + var registration OpenIdConnectRegistration + err := registration.AssignProperties_From_OpenIdConnectRegistration(source.Registration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_OpenIdConnectRegistration() to populate field Registration") + } + provider.Registration = ®istration + } else { + provider.Registration = nil + } + + // No error + return nil +} + +// AssignProperties_To_CustomOpenIdConnectProvider populates the provided destination CustomOpenIdConnectProvider from our CustomOpenIdConnectProvider +func (provider *CustomOpenIdConnectProvider) AssignProperties_To_CustomOpenIdConnectProvider(destination *storage.CustomOpenIdConnectProvider) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if provider.Enabled != nil { + enabled := *provider.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Login + if provider.Login != nil { + var login storage.OpenIdConnectLogin + err := provider.Login.AssignProperties_To_OpenIdConnectLogin(&login) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_OpenIdConnectLogin() to populate field Login") + } + destination.Login = &login + } else { + destination.Login = nil + } + + // Registration + if provider.Registration != nil { + var registration storage.OpenIdConnectRegistration + err := provider.Registration.AssignProperties_To_OpenIdConnectRegistration(®istration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_OpenIdConnectRegistration() to populate field Registration") + } + destination.Registration = ®istration + } else { + destination.Registration = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_CustomOpenIdConnectProvider_STATUS populates our CustomOpenIdConnectProvider from the provided source CustomOpenIdConnectProvider_STATUS +func (provider *CustomOpenIdConnectProvider) Initialize_From_CustomOpenIdConnectProvider_STATUS(source *CustomOpenIdConnectProvider_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + provider.Enabled = &enabled + } else { + provider.Enabled = nil + } + + // Login + if source.Login != nil { + var login OpenIdConnectLogin + err := login.Initialize_From_OpenIdConnectLogin_STATUS(source.Login) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_OpenIdConnectLogin_STATUS() to populate field Login") + } + provider.Login = &login + } else { + provider.Login = nil + } + + // Registration + if source.Registration != nil { + var registration OpenIdConnectRegistration + err := registration.Initialize_From_OpenIdConnectRegistration_STATUS(source.Registration) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_OpenIdConnectRegistration_STATUS() to populate field Registration") + } + provider.Registration = ®istration + } else { + provider.Registration = nil + } + + // No error + return nil +} + +// The configuration settings of the custom Open ID Connect provider. +type CustomOpenIdConnectProvider_STATUS struct { + // Enabled: false if the custom Open ID provider provider should not be enabled; otherwise, true. + Enabled *bool `json:"enabled,omitempty"` + + // Login: The configuration settings of the login flow of the custom Open ID Connect provider. + Login *OpenIdConnectLogin_STATUS `json:"login,omitempty"` + + // Registration: The configuration settings of the app registration for the custom Open ID Connect provider. + Registration *OpenIdConnectRegistration_STATUS `json:"registration,omitempty"` +} + +var _ genruntime.FromARMConverter = &CustomOpenIdConnectProvider_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (provider *CustomOpenIdConnectProvider_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.CustomOpenIdConnectProvider_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (provider *CustomOpenIdConnectProvider_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.CustomOpenIdConnectProvider_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.CustomOpenIdConnectProvider_STATUS, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + provider.Enabled = &enabled + } + + // Set property "Login": + if typedInput.Login != nil { + var login1 OpenIdConnectLogin_STATUS + err := login1.PopulateFromARM(owner, *typedInput.Login) + if err != nil { + return err + } + login := login1 + provider.Login = &login + } + + // Set property "Registration": + if typedInput.Registration != nil { + var registration1 OpenIdConnectRegistration_STATUS + err := registration1.PopulateFromARM(owner, *typedInput.Registration) + if err != nil { + return err + } + registration := registration1 + provider.Registration = ®istration + } + + // No error + return nil +} + +// AssignProperties_From_CustomOpenIdConnectProvider_STATUS populates our CustomOpenIdConnectProvider_STATUS from the provided source CustomOpenIdConnectProvider_STATUS +func (provider *CustomOpenIdConnectProvider_STATUS) AssignProperties_From_CustomOpenIdConnectProvider_STATUS(source *storage.CustomOpenIdConnectProvider_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + provider.Enabled = &enabled + } else { + provider.Enabled = nil + } + + // Login + if source.Login != nil { + var login OpenIdConnectLogin_STATUS + err := login.AssignProperties_From_OpenIdConnectLogin_STATUS(source.Login) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_OpenIdConnectLogin_STATUS() to populate field Login") + } + provider.Login = &login + } else { + provider.Login = nil + } + + // Registration + if source.Registration != nil { + var registration OpenIdConnectRegistration_STATUS + err := registration.AssignProperties_From_OpenIdConnectRegistration_STATUS(source.Registration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_OpenIdConnectRegistration_STATUS() to populate field Registration") + } + provider.Registration = ®istration + } else { + provider.Registration = nil + } + + // No error + return nil +} + +// AssignProperties_To_CustomOpenIdConnectProvider_STATUS populates the provided destination CustomOpenIdConnectProvider_STATUS from our CustomOpenIdConnectProvider_STATUS +func (provider *CustomOpenIdConnectProvider_STATUS) AssignProperties_To_CustomOpenIdConnectProvider_STATUS(destination *storage.CustomOpenIdConnectProvider_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if provider.Enabled != nil { + enabled := *provider.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Login + if provider.Login != nil { + var login storage.OpenIdConnectLogin_STATUS + err := provider.Login.AssignProperties_To_OpenIdConnectLogin_STATUS(&login) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_OpenIdConnectLogin_STATUS() to populate field Login") + } + destination.Login = &login + } else { + destination.Login = nil + } + + // Registration + if provider.Registration != nil { + var registration storage.OpenIdConnectRegistration_STATUS + err := provider.Registration.AssignProperties_To_OpenIdConnectRegistration_STATUS(®istration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_OpenIdConnectRegistration_STATUS() to populate field Registration") + } + destination.Registration = ®istration + } else { + destination.Registration = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings of the Facebook provider. +type Facebook struct { + // Enabled: false if the Facebook provider should not be enabled despite the set registration; otherwise, + // true. + Enabled *bool `json:"enabled,omitempty"` + + // GraphApiVersion: The version of the Facebook api to be used while logging in. + GraphApiVersion *string `json:"graphApiVersion,omitempty"` + + // Login: The configuration settings of the login flow. + Login *LoginScopes `json:"login,omitempty"` + + // Registration: The configuration settings of the app registration for the Facebook provider. + Registration *AppRegistration `json:"registration,omitempty"` +} + +var _ genruntime.ARMTransformer = &Facebook{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (facebook *Facebook) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if facebook == nil { + return nil, nil + } + result := &arm.Facebook{} + + // Set property "Enabled": + if facebook.Enabled != nil { + enabled := *facebook.Enabled + result.Enabled = &enabled + } + + // Set property "GraphApiVersion": + if facebook.GraphApiVersion != nil { + graphApiVersion := *facebook.GraphApiVersion + result.GraphApiVersion = &graphApiVersion + } + + // Set property "Login": + if facebook.Login != nil { + login_ARM, err := (*facebook.Login).ConvertToARM(resolved) + if err != nil { + return nil, err + } + login := *login_ARM.(*arm.LoginScopes) + result.Login = &login + } + + // Set property "Registration": + if facebook.Registration != nil { + registration_ARM, err := (*facebook.Registration).ConvertToARM(resolved) + if err != nil { + return nil, err + } + registration := *registration_ARM.(*arm.AppRegistration) + result.Registration = ®istration + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (facebook *Facebook) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Facebook{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (facebook *Facebook) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Facebook) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Facebook, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + facebook.Enabled = &enabled + } + + // Set property "GraphApiVersion": + if typedInput.GraphApiVersion != nil { + graphApiVersion := *typedInput.GraphApiVersion + facebook.GraphApiVersion = &graphApiVersion + } + + // Set property "Login": + if typedInput.Login != nil { + var login1 LoginScopes + err := login1.PopulateFromARM(owner, *typedInput.Login) + if err != nil { + return err + } + login := login1 + facebook.Login = &login + } + + // Set property "Registration": + if typedInput.Registration != nil { + var registration1 AppRegistration + err := registration1.PopulateFromARM(owner, *typedInput.Registration) + if err != nil { + return err + } + registration := registration1 + facebook.Registration = ®istration + } + + // No error + return nil +} + +// AssignProperties_From_Facebook populates our Facebook from the provided source Facebook +func (facebook *Facebook) AssignProperties_From_Facebook(source *storage.Facebook) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + facebook.Enabled = &enabled + } else { + facebook.Enabled = nil + } + + // GraphApiVersion + facebook.GraphApiVersion = genruntime.ClonePointerToString(source.GraphApiVersion) + + // Login + if source.Login != nil { + var login LoginScopes + err := login.AssignProperties_From_LoginScopes(source.Login) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_LoginScopes() to populate field Login") + } + facebook.Login = &login + } else { + facebook.Login = nil + } + + // Registration + if source.Registration != nil { + var registration AppRegistration + err := registration.AssignProperties_From_AppRegistration(source.Registration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_AppRegistration() to populate field Registration") + } + facebook.Registration = ®istration + } else { + facebook.Registration = nil + } + + // No error + return nil +} + +// AssignProperties_To_Facebook populates the provided destination Facebook from our Facebook +func (facebook *Facebook) AssignProperties_To_Facebook(destination *storage.Facebook) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if facebook.Enabled != nil { + enabled := *facebook.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // GraphApiVersion + destination.GraphApiVersion = genruntime.ClonePointerToString(facebook.GraphApiVersion) + + // Login + if facebook.Login != nil { + var login storage.LoginScopes + err := facebook.Login.AssignProperties_To_LoginScopes(&login) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_LoginScopes() to populate field Login") + } + destination.Login = &login + } else { + destination.Login = nil + } + + // Registration + if facebook.Registration != nil { + var registration storage.AppRegistration + err := facebook.Registration.AssignProperties_To_AppRegistration(®istration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_AppRegistration() to populate field Registration") + } + destination.Registration = ®istration + } else { + destination.Registration = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_Facebook_STATUS populates our Facebook from the provided source Facebook_STATUS +func (facebook *Facebook) Initialize_From_Facebook_STATUS(source *Facebook_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + facebook.Enabled = &enabled + } else { + facebook.Enabled = nil + } + + // GraphApiVersion + facebook.GraphApiVersion = genruntime.ClonePointerToString(source.GraphApiVersion) + + // Login + if source.Login != nil { + var login LoginScopes + err := login.Initialize_From_LoginScopes_STATUS(source.Login) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_LoginScopes_STATUS() to populate field Login") + } + facebook.Login = &login + } else { + facebook.Login = nil + } + + // Registration + if source.Registration != nil { + var registration AppRegistration + err := registration.Initialize_From_AppRegistration_STATUS(source.Registration) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_AppRegistration_STATUS() to populate field Registration") + } + facebook.Registration = ®istration + } else { + facebook.Registration = nil + } + + // No error + return nil +} + +// The configuration settings of the Facebook provider. +type Facebook_STATUS struct { + // Enabled: false if the Facebook provider should not be enabled despite the set registration; otherwise, + // true. + Enabled *bool `json:"enabled,omitempty"` + + // GraphApiVersion: The version of the Facebook api to be used while logging in. + GraphApiVersion *string `json:"graphApiVersion,omitempty"` + + // Login: The configuration settings of the login flow. + Login *LoginScopes_STATUS `json:"login,omitempty"` + + // Registration: The configuration settings of the app registration for the Facebook provider. + Registration *AppRegistration_STATUS `json:"registration,omitempty"` +} + +var _ genruntime.FromARMConverter = &Facebook_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (facebook *Facebook_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Facebook_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (facebook *Facebook_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Facebook_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Facebook_STATUS, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + facebook.Enabled = &enabled + } + + // Set property "GraphApiVersion": + if typedInput.GraphApiVersion != nil { + graphApiVersion := *typedInput.GraphApiVersion + facebook.GraphApiVersion = &graphApiVersion + } + + // Set property "Login": + if typedInput.Login != nil { + var login1 LoginScopes_STATUS + err := login1.PopulateFromARM(owner, *typedInput.Login) + if err != nil { + return err + } + login := login1 + facebook.Login = &login + } + + // Set property "Registration": + if typedInput.Registration != nil { + var registration1 AppRegistration_STATUS + err := registration1.PopulateFromARM(owner, *typedInput.Registration) + if err != nil { + return err + } + registration := registration1 + facebook.Registration = ®istration + } + + // No error + return nil +} + +// AssignProperties_From_Facebook_STATUS populates our Facebook_STATUS from the provided source Facebook_STATUS +func (facebook *Facebook_STATUS) AssignProperties_From_Facebook_STATUS(source *storage.Facebook_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + facebook.Enabled = &enabled + } else { + facebook.Enabled = nil + } + + // GraphApiVersion + facebook.GraphApiVersion = genruntime.ClonePointerToString(source.GraphApiVersion) + + // Login + if source.Login != nil { + var login LoginScopes_STATUS + err := login.AssignProperties_From_LoginScopes_STATUS(source.Login) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_LoginScopes_STATUS() to populate field Login") + } + facebook.Login = &login + } else { + facebook.Login = nil + } + + // Registration + if source.Registration != nil { + var registration AppRegistration_STATUS + err := registration.AssignProperties_From_AppRegistration_STATUS(source.Registration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_AppRegistration_STATUS() to populate field Registration") + } + facebook.Registration = ®istration + } else { + facebook.Registration = nil + } + + // No error + return nil +} + +// AssignProperties_To_Facebook_STATUS populates the provided destination Facebook_STATUS from our Facebook_STATUS +func (facebook *Facebook_STATUS) AssignProperties_To_Facebook_STATUS(destination *storage.Facebook_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if facebook.Enabled != nil { + enabled := *facebook.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // GraphApiVersion + destination.GraphApiVersion = genruntime.ClonePointerToString(facebook.GraphApiVersion) + + // Login + if facebook.Login != nil { + var login storage.LoginScopes_STATUS + err := facebook.Login.AssignProperties_To_LoginScopes_STATUS(&login) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_LoginScopes_STATUS() to populate field Login") + } + destination.Login = &login + } else { + destination.Login = nil + } + + // Registration + if facebook.Registration != nil { + var registration storage.AppRegistration_STATUS + err := facebook.Registration.AssignProperties_To_AppRegistration_STATUS(®istration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_AppRegistration_STATUS() to populate field Registration") + } + destination.Registration = ®istration + } else { + destination.Registration = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings of a forward proxy used to make the requests. +type ForwardProxy struct { + // Convention: The convention used to determine the url of the request made. + Convention *ForwardProxy_Convention `json:"convention,omitempty"` + + // CustomHostHeaderName: The name of the header containing the host of the request. + CustomHostHeaderName *string `json:"customHostHeaderName,omitempty"` + + // CustomProtoHeaderName: The name of the header containing the scheme of the request. + CustomProtoHeaderName *string `json:"customProtoHeaderName,omitempty"` +} + +var _ genruntime.ARMTransformer = &ForwardProxy{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (proxy *ForwardProxy) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if proxy == nil { + return nil, nil + } + result := &arm.ForwardProxy{} + + // Set property "Convention": + if proxy.Convention != nil { + var temp string + temp = string(*proxy.Convention) + convention := arm.ForwardProxy_Convention(temp) + result.Convention = &convention + } + + // Set property "CustomHostHeaderName": + if proxy.CustomHostHeaderName != nil { + customHostHeaderName := *proxy.CustomHostHeaderName + result.CustomHostHeaderName = &customHostHeaderName + } + + // Set property "CustomProtoHeaderName": + if proxy.CustomProtoHeaderName != nil { + customProtoHeaderName := *proxy.CustomProtoHeaderName + result.CustomProtoHeaderName = &customProtoHeaderName + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (proxy *ForwardProxy) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ForwardProxy{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (proxy *ForwardProxy) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ForwardProxy) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ForwardProxy, got %T", armInput) + } + + // Set property "Convention": + if typedInput.Convention != nil { + var temp string + temp = string(*typedInput.Convention) + convention := ForwardProxy_Convention(temp) + proxy.Convention = &convention + } + + // Set property "CustomHostHeaderName": + if typedInput.CustomHostHeaderName != nil { + customHostHeaderName := *typedInput.CustomHostHeaderName + proxy.CustomHostHeaderName = &customHostHeaderName + } + + // Set property "CustomProtoHeaderName": + if typedInput.CustomProtoHeaderName != nil { + customProtoHeaderName := *typedInput.CustomProtoHeaderName + proxy.CustomProtoHeaderName = &customProtoHeaderName + } + + // No error + return nil +} + +// AssignProperties_From_ForwardProxy populates our ForwardProxy from the provided source ForwardProxy +func (proxy *ForwardProxy) AssignProperties_From_ForwardProxy(source *storage.ForwardProxy) error { + + // Convention + if source.Convention != nil { + convention := *source.Convention + conventionTemp := genruntime.ToEnum(convention, forwardProxy_Convention_Values) + proxy.Convention = &conventionTemp + } else { + proxy.Convention = nil + } + + // CustomHostHeaderName + proxy.CustomHostHeaderName = genruntime.ClonePointerToString(source.CustomHostHeaderName) + + // CustomProtoHeaderName + proxy.CustomProtoHeaderName = genruntime.ClonePointerToString(source.CustomProtoHeaderName) + + // No error + return nil +} + +// AssignProperties_To_ForwardProxy populates the provided destination ForwardProxy from our ForwardProxy +func (proxy *ForwardProxy) AssignProperties_To_ForwardProxy(destination *storage.ForwardProxy) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Convention + if proxy.Convention != nil { + convention := string(*proxy.Convention) + destination.Convention = &convention + } else { + destination.Convention = nil + } + + // CustomHostHeaderName + destination.CustomHostHeaderName = genruntime.ClonePointerToString(proxy.CustomHostHeaderName) + + // CustomProtoHeaderName + destination.CustomProtoHeaderName = genruntime.ClonePointerToString(proxy.CustomProtoHeaderName) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ForwardProxy_STATUS populates our ForwardProxy from the provided source ForwardProxy_STATUS +func (proxy *ForwardProxy) Initialize_From_ForwardProxy_STATUS(source *ForwardProxy_STATUS) error { + + // Convention + if source.Convention != nil { + convention := genruntime.ToEnum(string(*source.Convention), forwardProxy_Convention_Values) + proxy.Convention = &convention + } else { + proxy.Convention = nil + } + + // CustomHostHeaderName + proxy.CustomHostHeaderName = genruntime.ClonePointerToString(source.CustomHostHeaderName) + + // CustomProtoHeaderName + proxy.CustomProtoHeaderName = genruntime.ClonePointerToString(source.CustomProtoHeaderName) + + // No error + return nil +} + +// The configuration settings of a forward proxy used to make the requests. +type ForwardProxy_STATUS struct { + // Convention: The convention used to determine the url of the request made. + Convention *ForwardProxy_Convention_STATUS `json:"convention,omitempty"` + + // CustomHostHeaderName: The name of the header containing the host of the request. + CustomHostHeaderName *string `json:"customHostHeaderName,omitempty"` + + // CustomProtoHeaderName: The name of the header containing the scheme of the request. + CustomProtoHeaderName *string `json:"customProtoHeaderName,omitempty"` +} + +var _ genruntime.FromARMConverter = &ForwardProxy_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (proxy *ForwardProxy_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ForwardProxy_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (proxy *ForwardProxy_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ForwardProxy_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ForwardProxy_STATUS, got %T", armInput) + } + + // Set property "Convention": + if typedInput.Convention != nil { + var temp string + temp = string(*typedInput.Convention) + convention := ForwardProxy_Convention_STATUS(temp) + proxy.Convention = &convention + } + + // Set property "CustomHostHeaderName": + if typedInput.CustomHostHeaderName != nil { + customHostHeaderName := *typedInput.CustomHostHeaderName + proxy.CustomHostHeaderName = &customHostHeaderName + } + + // Set property "CustomProtoHeaderName": + if typedInput.CustomProtoHeaderName != nil { + customProtoHeaderName := *typedInput.CustomProtoHeaderName + proxy.CustomProtoHeaderName = &customProtoHeaderName + } + + // No error + return nil +} + +// AssignProperties_From_ForwardProxy_STATUS populates our ForwardProxy_STATUS from the provided source ForwardProxy_STATUS +func (proxy *ForwardProxy_STATUS) AssignProperties_From_ForwardProxy_STATUS(source *storage.ForwardProxy_STATUS) error { + + // Convention + if source.Convention != nil { + convention := *source.Convention + conventionTemp := genruntime.ToEnum(convention, forwardProxy_Convention_STATUS_Values) + proxy.Convention = &conventionTemp + } else { + proxy.Convention = nil + } + + // CustomHostHeaderName + proxy.CustomHostHeaderName = genruntime.ClonePointerToString(source.CustomHostHeaderName) + + // CustomProtoHeaderName + proxy.CustomProtoHeaderName = genruntime.ClonePointerToString(source.CustomProtoHeaderName) + + // No error + return nil +} + +// AssignProperties_To_ForwardProxy_STATUS populates the provided destination ForwardProxy_STATUS from our ForwardProxy_STATUS +func (proxy *ForwardProxy_STATUS) AssignProperties_To_ForwardProxy_STATUS(destination *storage.ForwardProxy_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Convention + if proxy.Convention != nil { + convention := string(*proxy.Convention) + destination.Convention = &convention + } else { + destination.Convention = nil + } + + // CustomHostHeaderName + destination.CustomHostHeaderName = genruntime.ClonePointerToString(proxy.CustomHostHeaderName) + + // CustomProtoHeaderName + destination.CustomProtoHeaderName = genruntime.ClonePointerToString(proxy.CustomProtoHeaderName) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings of the GitHub provider. +type GitHub struct { + // Enabled: false if the GitHub provider should not be enabled despite the set registration; otherwise, + // true. + Enabled *bool `json:"enabled,omitempty"` + + // Login: The configuration settings of the login flow. + Login *LoginScopes `json:"login,omitempty"` + + // Registration: The configuration settings of the app registration for the GitHub provider. + Registration *ClientRegistration `json:"registration,omitempty"` +} + +var _ genruntime.ARMTransformer = &GitHub{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (gitHub *GitHub) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if gitHub == nil { + return nil, nil + } + result := &arm.GitHub{} + + // Set property "Enabled": + if gitHub.Enabled != nil { + enabled := *gitHub.Enabled + result.Enabled = &enabled + } + + // Set property "Login": + if gitHub.Login != nil { + login_ARM, err := (*gitHub.Login).ConvertToARM(resolved) + if err != nil { + return nil, err + } + login := *login_ARM.(*arm.LoginScopes) + result.Login = &login + } + + // Set property "Registration": + if gitHub.Registration != nil { + registration_ARM, err := (*gitHub.Registration).ConvertToARM(resolved) + if err != nil { + return nil, err + } + registration := *registration_ARM.(*arm.ClientRegistration) + result.Registration = ®istration + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (gitHub *GitHub) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.GitHub{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (gitHub *GitHub) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.GitHub) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.GitHub, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + gitHub.Enabled = &enabled + } + + // Set property "Login": + if typedInput.Login != nil { + var login1 LoginScopes + err := login1.PopulateFromARM(owner, *typedInput.Login) + if err != nil { + return err + } + login := login1 + gitHub.Login = &login + } + + // Set property "Registration": + if typedInput.Registration != nil { + var registration1 ClientRegistration + err := registration1.PopulateFromARM(owner, *typedInput.Registration) + if err != nil { + return err + } + registration := registration1 + gitHub.Registration = ®istration + } + + // No error + return nil +} + +// AssignProperties_From_GitHub populates our GitHub from the provided source GitHub +func (gitHub *GitHub) AssignProperties_From_GitHub(source *storage.GitHub) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + gitHub.Enabled = &enabled + } else { + gitHub.Enabled = nil + } + + // Login + if source.Login != nil { + var login LoginScopes + err := login.AssignProperties_From_LoginScopes(source.Login) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_LoginScopes() to populate field Login") + } + gitHub.Login = &login + } else { + gitHub.Login = nil + } + + // Registration + if source.Registration != nil { + var registration ClientRegistration + err := registration.AssignProperties_From_ClientRegistration(source.Registration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ClientRegistration() to populate field Registration") + } + gitHub.Registration = ®istration + } else { + gitHub.Registration = nil + } + + // No error + return nil +} + +// AssignProperties_To_GitHub populates the provided destination GitHub from our GitHub +func (gitHub *GitHub) AssignProperties_To_GitHub(destination *storage.GitHub) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if gitHub.Enabled != nil { + enabled := *gitHub.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Login + if gitHub.Login != nil { + var login storage.LoginScopes + err := gitHub.Login.AssignProperties_To_LoginScopes(&login) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_LoginScopes() to populate field Login") + } + destination.Login = &login + } else { + destination.Login = nil + } + + // Registration + if gitHub.Registration != nil { + var registration storage.ClientRegistration + err := gitHub.Registration.AssignProperties_To_ClientRegistration(®istration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ClientRegistration() to populate field Registration") + } + destination.Registration = ®istration + } else { + destination.Registration = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_GitHub_STATUS populates our GitHub from the provided source GitHub_STATUS +func (gitHub *GitHub) Initialize_From_GitHub_STATUS(source *GitHub_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + gitHub.Enabled = &enabled + } else { + gitHub.Enabled = nil + } + + // Login + if source.Login != nil { + var login LoginScopes + err := login.Initialize_From_LoginScopes_STATUS(source.Login) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_LoginScopes_STATUS() to populate field Login") + } + gitHub.Login = &login + } else { + gitHub.Login = nil + } + + // Registration + if source.Registration != nil { + var registration ClientRegistration + err := registration.Initialize_From_ClientRegistration_STATUS(source.Registration) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_ClientRegistration_STATUS() to populate field Registration") + } + gitHub.Registration = ®istration + } else { + gitHub.Registration = nil + } + + // No error + return nil +} + +// The configuration settings of the GitHub provider. +type GitHub_STATUS struct { + // Enabled: false if the GitHub provider should not be enabled despite the set registration; otherwise, + // true. + Enabled *bool `json:"enabled,omitempty"` + + // Login: The configuration settings of the login flow. + Login *LoginScopes_STATUS `json:"login,omitempty"` + + // Registration: The configuration settings of the app registration for the GitHub provider. + Registration *ClientRegistration_STATUS `json:"registration,omitempty"` +} + +var _ genruntime.FromARMConverter = &GitHub_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (gitHub *GitHub_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.GitHub_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (gitHub *GitHub_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.GitHub_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.GitHub_STATUS, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + gitHub.Enabled = &enabled + } + + // Set property "Login": + if typedInput.Login != nil { + var login1 LoginScopes_STATUS + err := login1.PopulateFromARM(owner, *typedInput.Login) + if err != nil { + return err + } + login := login1 + gitHub.Login = &login + } + + // Set property "Registration": + if typedInput.Registration != nil { + var registration1 ClientRegistration_STATUS + err := registration1.PopulateFromARM(owner, *typedInput.Registration) + if err != nil { + return err + } + registration := registration1 + gitHub.Registration = ®istration + } + + // No error + return nil +} + +// AssignProperties_From_GitHub_STATUS populates our GitHub_STATUS from the provided source GitHub_STATUS +func (gitHub *GitHub_STATUS) AssignProperties_From_GitHub_STATUS(source *storage.GitHub_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + gitHub.Enabled = &enabled + } else { + gitHub.Enabled = nil + } + + // Login + if source.Login != nil { + var login LoginScopes_STATUS + err := login.AssignProperties_From_LoginScopes_STATUS(source.Login) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_LoginScopes_STATUS() to populate field Login") + } + gitHub.Login = &login + } else { + gitHub.Login = nil + } + + // Registration + if source.Registration != nil { + var registration ClientRegistration_STATUS + err := registration.AssignProperties_From_ClientRegistration_STATUS(source.Registration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ClientRegistration_STATUS() to populate field Registration") + } + gitHub.Registration = ®istration + } else { + gitHub.Registration = nil + } + + // No error + return nil +} + +// AssignProperties_To_GitHub_STATUS populates the provided destination GitHub_STATUS from our GitHub_STATUS +func (gitHub *GitHub_STATUS) AssignProperties_To_GitHub_STATUS(destination *storage.GitHub_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if gitHub.Enabled != nil { + enabled := *gitHub.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Login + if gitHub.Login != nil { + var login storage.LoginScopes_STATUS + err := gitHub.Login.AssignProperties_To_LoginScopes_STATUS(&login) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_LoginScopes_STATUS() to populate field Login") + } + destination.Login = &login + } else { + destination.Login = nil + } + + // Registration + if gitHub.Registration != nil { + var registration storage.ClientRegistration_STATUS + err := gitHub.Registration.AssignProperties_To_ClientRegistration_STATUS(®istration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ClientRegistration_STATUS() to populate field Registration") + } + destination.Registration = ®istration + } else { + destination.Registration = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"AllowAnonymous","RedirectToLoginPage","Return401","Return403"} +type GlobalValidation_UnauthenticatedClientAction string + +const ( + GlobalValidation_UnauthenticatedClientAction_AllowAnonymous = GlobalValidation_UnauthenticatedClientAction("AllowAnonymous") + GlobalValidation_UnauthenticatedClientAction_RedirectToLoginPage = GlobalValidation_UnauthenticatedClientAction("RedirectToLoginPage") + GlobalValidation_UnauthenticatedClientAction_Return401 = GlobalValidation_UnauthenticatedClientAction("Return401") + GlobalValidation_UnauthenticatedClientAction_Return403 = GlobalValidation_UnauthenticatedClientAction("Return403") +) + +// Mapping from string to GlobalValidation_UnauthenticatedClientAction +var globalValidation_UnauthenticatedClientAction_Values = map[string]GlobalValidation_UnauthenticatedClientAction{ + "allowanonymous": GlobalValidation_UnauthenticatedClientAction_AllowAnonymous, + "redirecttologinpage": GlobalValidation_UnauthenticatedClientAction_RedirectToLoginPage, + "return401": GlobalValidation_UnauthenticatedClientAction_Return401, + "return403": GlobalValidation_UnauthenticatedClientAction_Return403, +} + +type GlobalValidation_UnauthenticatedClientAction_STATUS string + +const ( + GlobalValidation_UnauthenticatedClientAction_STATUS_AllowAnonymous = GlobalValidation_UnauthenticatedClientAction_STATUS("AllowAnonymous") + GlobalValidation_UnauthenticatedClientAction_STATUS_RedirectToLoginPage = GlobalValidation_UnauthenticatedClientAction_STATUS("RedirectToLoginPage") + GlobalValidation_UnauthenticatedClientAction_STATUS_Return401 = GlobalValidation_UnauthenticatedClientAction_STATUS("Return401") + GlobalValidation_UnauthenticatedClientAction_STATUS_Return403 = GlobalValidation_UnauthenticatedClientAction_STATUS("Return403") +) + +// Mapping from string to GlobalValidation_UnauthenticatedClientAction_STATUS +var globalValidation_UnauthenticatedClientAction_STATUS_Values = map[string]GlobalValidation_UnauthenticatedClientAction_STATUS{ + "allowanonymous": GlobalValidation_UnauthenticatedClientAction_STATUS_AllowAnonymous, + "redirecttologinpage": GlobalValidation_UnauthenticatedClientAction_STATUS_RedirectToLoginPage, + "return401": GlobalValidation_UnauthenticatedClientAction_STATUS_Return401, + "return403": GlobalValidation_UnauthenticatedClientAction_STATUS_Return403, +} + +// The configuration settings of the Google provider. +type Google struct { + // Enabled: false if the Google provider should not be enabled despite the set registration; otherwise, + // true. + Enabled *bool `json:"enabled,omitempty"` + + // Login: The configuration settings of the login flow. + Login *LoginScopes `json:"login,omitempty"` + + // Registration: The configuration settings of the app registration for the Google provider. + Registration *ClientRegistration `json:"registration,omitempty"` + + // Validation: The configuration settings of the Azure Active Directory token validation flow. + Validation *AllowedAudiencesValidation `json:"validation,omitempty"` +} + +var _ genruntime.ARMTransformer = &Google{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (google *Google) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if google == nil { + return nil, nil + } + result := &arm.Google{} + + // Set property "Enabled": + if google.Enabled != nil { + enabled := *google.Enabled + result.Enabled = &enabled + } + + // Set property "Login": + if google.Login != nil { + login_ARM, err := (*google.Login).ConvertToARM(resolved) + if err != nil { + return nil, err + } + login := *login_ARM.(*arm.LoginScopes) + result.Login = &login + } + + // Set property "Registration": + if google.Registration != nil { + registration_ARM, err := (*google.Registration).ConvertToARM(resolved) + if err != nil { + return nil, err + } + registration := *registration_ARM.(*arm.ClientRegistration) + result.Registration = ®istration + } + + // Set property "Validation": + if google.Validation != nil { + validation_ARM, err := (*google.Validation).ConvertToARM(resolved) + if err != nil { + return nil, err + } + validation := *validation_ARM.(*arm.AllowedAudiencesValidation) + result.Validation = &validation + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (google *Google) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Google{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (google *Google) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Google) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Google, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + google.Enabled = &enabled + } + + // Set property "Login": + if typedInput.Login != nil { + var login1 LoginScopes + err := login1.PopulateFromARM(owner, *typedInput.Login) + if err != nil { + return err + } + login := login1 + google.Login = &login + } + + // Set property "Registration": + if typedInput.Registration != nil { + var registration1 ClientRegistration + err := registration1.PopulateFromARM(owner, *typedInput.Registration) + if err != nil { + return err + } + registration := registration1 + google.Registration = ®istration + } + + // Set property "Validation": + if typedInput.Validation != nil { + var validation1 AllowedAudiencesValidation + err := validation1.PopulateFromARM(owner, *typedInput.Validation) + if err != nil { + return err + } + validation := validation1 + google.Validation = &validation + } + + // No error + return nil +} + +// AssignProperties_From_Google populates our Google from the provided source Google +func (google *Google) AssignProperties_From_Google(source *storage.Google) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + google.Enabled = &enabled + } else { + google.Enabled = nil + } + + // Login + if source.Login != nil { + var login LoginScopes + err := login.AssignProperties_From_LoginScopes(source.Login) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_LoginScopes() to populate field Login") + } + google.Login = &login + } else { + google.Login = nil + } + + // Registration + if source.Registration != nil { + var registration ClientRegistration + err := registration.AssignProperties_From_ClientRegistration(source.Registration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ClientRegistration() to populate field Registration") + } + google.Registration = ®istration + } else { + google.Registration = nil + } + + // Validation + if source.Validation != nil { + var validation AllowedAudiencesValidation + err := validation.AssignProperties_From_AllowedAudiencesValidation(source.Validation) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_AllowedAudiencesValidation() to populate field Validation") + } + google.Validation = &validation + } else { + google.Validation = nil + } + + // No error + return nil +} + +// AssignProperties_To_Google populates the provided destination Google from our Google +func (google *Google) AssignProperties_To_Google(destination *storage.Google) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if google.Enabled != nil { + enabled := *google.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Login + if google.Login != nil { + var login storage.LoginScopes + err := google.Login.AssignProperties_To_LoginScopes(&login) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_LoginScopes() to populate field Login") + } + destination.Login = &login + } else { + destination.Login = nil + } + + // Registration + if google.Registration != nil { + var registration storage.ClientRegistration + err := google.Registration.AssignProperties_To_ClientRegistration(®istration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ClientRegistration() to populate field Registration") + } + destination.Registration = ®istration + } else { + destination.Registration = nil + } + + // Validation + if google.Validation != nil { + var validation storage.AllowedAudiencesValidation + err := google.Validation.AssignProperties_To_AllowedAudiencesValidation(&validation) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_AllowedAudiencesValidation() to populate field Validation") + } + destination.Validation = &validation + } else { + destination.Validation = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_Google_STATUS populates our Google from the provided source Google_STATUS +func (google *Google) Initialize_From_Google_STATUS(source *Google_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + google.Enabled = &enabled + } else { + google.Enabled = nil + } + + // Login + if source.Login != nil { + var login LoginScopes + err := login.Initialize_From_LoginScopes_STATUS(source.Login) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_LoginScopes_STATUS() to populate field Login") + } + google.Login = &login + } else { + google.Login = nil + } + + // Registration + if source.Registration != nil { + var registration ClientRegistration + err := registration.Initialize_From_ClientRegistration_STATUS(source.Registration) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_ClientRegistration_STATUS() to populate field Registration") + } + google.Registration = ®istration + } else { + google.Registration = nil + } + + // Validation + if source.Validation != nil { + var validation AllowedAudiencesValidation + err := validation.Initialize_From_AllowedAudiencesValidation_STATUS(source.Validation) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_AllowedAudiencesValidation_STATUS() to populate field Validation") + } + google.Validation = &validation + } else { + google.Validation = nil + } + + // No error + return nil +} + +// The configuration settings of the Google provider. +type Google_STATUS struct { + // Enabled: false if the Google provider should not be enabled despite the set registration; otherwise, + // true. + Enabled *bool `json:"enabled,omitempty"` + + // Login: The configuration settings of the login flow. + Login *LoginScopes_STATUS `json:"login,omitempty"` + + // Registration: The configuration settings of the app registration for the Google provider. + Registration *ClientRegistration_STATUS `json:"registration,omitempty"` + + // Validation: The configuration settings of the Azure Active Directory token validation flow. + Validation *AllowedAudiencesValidation_STATUS `json:"validation,omitempty"` +} + +var _ genruntime.FromARMConverter = &Google_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (google *Google_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Google_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (google *Google_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Google_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Google_STATUS, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + google.Enabled = &enabled + } + + // Set property "Login": + if typedInput.Login != nil { + var login1 LoginScopes_STATUS + err := login1.PopulateFromARM(owner, *typedInput.Login) + if err != nil { + return err + } + login := login1 + google.Login = &login + } + + // Set property "Registration": + if typedInput.Registration != nil { + var registration1 ClientRegistration_STATUS + err := registration1.PopulateFromARM(owner, *typedInput.Registration) + if err != nil { + return err + } + registration := registration1 + google.Registration = ®istration + } + + // Set property "Validation": + if typedInput.Validation != nil { + var validation1 AllowedAudiencesValidation_STATUS + err := validation1.PopulateFromARM(owner, *typedInput.Validation) + if err != nil { + return err + } + validation := validation1 + google.Validation = &validation + } + + // No error + return nil +} + +// AssignProperties_From_Google_STATUS populates our Google_STATUS from the provided source Google_STATUS +func (google *Google_STATUS) AssignProperties_From_Google_STATUS(source *storage.Google_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + google.Enabled = &enabled + } else { + google.Enabled = nil + } + + // Login + if source.Login != nil { + var login LoginScopes_STATUS + err := login.AssignProperties_From_LoginScopes_STATUS(source.Login) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_LoginScopes_STATUS() to populate field Login") + } + google.Login = &login + } else { + google.Login = nil + } + + // Registration + if source.Registration != nil { + var registration ClientRegistration_STATUS + err := registration.AssignProperties_From_ClientRegistration_STATUS(source.Registration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ClientRegistration_STATUS() to populate field Registration") + } + google.Registration = ®istration + } else { + google.Registration = nil + } + + // Validation + if source.Validation != nil { + var validation AllowedAudiencesValidation_STATUS + err := validation.AssignProperties_From_AllowedAudiencesValidation_STATUS(source.Validation) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_AllowedAudiencesValidation_STATUS() to populate field Validation") + } + google.Validation = &validation + } else { + google.Validation = nil + } + + // No error + return nil +} + +// AssignProperties_To_Google_STATUS populates the provided destination Google_STATUS from our Google_STATUS +func (google *Google_STATUS) AssignProperties_To_Google_STATUS(destination *storage.Google_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if google.Enabled != nil { + enabled := *google.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Login + if google.Login != nil { + var login storage.LoginScopes_STATUS + err := google.Login.AssignProperties_To_LoginScopes_STATUS(&login) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_LoginScopes_STATUS() to populate field Login") + } + destination.Login = &login + } else { + destination.Login = nil + } + + // Registration + if google.Registration != nil { + var registration storage.ClientRegistration_STATUS + err := google.Registration.AssignProperties_To_ClientRegistration_STATUS(®istration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ClientRegistration_STATUS() to populate field Registration") + } + destination.Registration = ®istration + } else { + destination.Registration = nil + } + + // Validation + if google.Validation != nil { + var validation storage.AllowedAudiencesValidation_STATUS + err := google.Validation.AssignProperties_To_AllowedAudiencesValidation_STATUS(&validation) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_AllowedAudiencesValidation_STATUS() to populate field Validation") + } + destination.Validation = &validation + } else { + destination.Validation = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings of the paths HTTP requests. +type HttpSettingsRoutes struct { + // ApiPrefix: The prefix that should precede all the authentication/authorization paths. + ApiPrefix *string `json:"apiPrefix,omitempty"` +} + +var _ genruntime.ARMTransformer = &HttpSettingsRoutes{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (routes *HttpSettingsRoutes) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if routes == nil { + return nil, nil + } + result := &arm.HttpSettingsRoutes{} + + // Set property "ApiPrefix": + if routes.ApiPrefix != nil { + apiPrefix := *routes.ApiPrefix + result.ApiPrefix = &apiPrefix + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (routes *HttpSettingsRoutes) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.HttpSettingsRoutes{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (routes *HttpSettingsRoutes) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.HttpSettingsRoutes) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.HttpSettingsRoutes, got %T", armInput) + } + + // Set property "ApiPrefix": + if typedInput.ApiPrefix != nil { + apiPrefix := *typedInput.ApiPrefix + routes.ApiPrefix = &apiPrefix + } + + // No error + return nil +} + +// AssignProperties_From_HttpSettingsRoutes populates our HttpSettingsRoutes from the provided source HttpSettingsRoutes +func (routes *HttpSettingsRoutes) AssignProperties_From_HttpSettingsRoutes(source *storage.HttpSettingsRoutes) error { + + // ApiPrefix + routes.ApiPrefix = genruntime.ClonePointerToString(source.ApiPrefix) + + // No error + return nil +} + +// AssignProperties_To_HttpSettingsRoutes populates the provided destination HttpSettingsRoutes from our HttpSettingsRoutes +func (routes *HttpSettingsRoutes) AssignProperties_To_HttpSettingsRoutes(destination *storage.HttpSettingsRoutes) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ApiPrefix + destination.ApiPrefix = genruntime.ClonePointerToString(routes.ApiPrefix) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_HttpSettingsRoutes_STATUS populates our HttpSettingsRoutes from the provided source HttpSettingsRoutes_STATUS +func (routes *HttpSettingsRoutes) Initialize_From_HttpSettingsRoutes_STATUS(source *HttpSettingsRoutes_STATUS) error { + + // ApiPrefix + routes.ApiPrefix = genruntime.ClonePointerToString(source.ApiPrefix) + + // No error + return nil +} + +// The configuration settings of the paths HTTP requests. +type HttpSettingsRoutes_STATUS struct { + // ApiPrefix: The prefix that should precede all the authentication/authorization paths. + ApiPrefix *string `json:"apiPrefix,omitempty"` +} + +var _ genruntime.FromARMConverter = &HttpSettingsRoutes_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (routes *HttpSettingsRoutes_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.HttpSettingsRoutes_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (routes *HttpSettingsRoutes_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.HttpSettingsRoutes_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.HttpSettingsRoutes_STATUS, got %T", armInput) + } + + // Set property "ApiPrefix": + if typedInput.ApiPrefix != nil { + apiPrefix := *typedInput.ApiPrefix + routes.ApiPrefix = &apiPrefix + } + + // No error + return nil +} + +// AssignProperties_From_HttpSettingsRoutes_STATUS populates our HttpSettingsRoutes_STATUS from the provided source HttpSettingsRoutes_STATUS +func (routes *HttpSettingsRoutes_STATUS) AssignProperties_From_HttpSettingsRoutes_STATUS(source *storage.HttpSettingsRoutes_STATUS) error { + + // ApiPrefix + routes.ApiPrefix = genruntime.ClonePointerToString(source.ApiPrefix) + + // No error + return nil +} + +// AssignProperties_To_HttpSettingsRoutes_STATUS populates the provided destination HttpSettingsRoutes_STATUS from our HttpSettingsRoutes_STATUS +func (routes *HttpSettingsRoutes_STATUS) AssignProperties_To_HttpSettingsRoutes_STATUS(destination *storage.HttpSettingsRoutes_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ApiPrefix + destination.ApiPrefix = genruntime.ClonePointerToString(routes.ApiPrefix) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The routes that specify the endpoints used for login and logout requests. +type LoginRoutes struct { + // LogoutEndpoint: The endpoint at which a logout request should be made. + LogoutEndpoint *string `json:"logoutEndpoint,omitempty"` +} + +var _ genruntime.ARMTransformer = &LoginRoutes{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (routes *LoginRoutes) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if routes == nil { + return nil, nil + } + result := &arm.LoginRoutes{} + + // Set property "LogoutEndpoint": + if routes.LogoutEndpoint != nil { + logoutEndpoint := *routes.LogoutEndpoint + result.LogoutEndpoint = &logoutEndpoint + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (routes *LoginRoutes) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.LoginRoutes{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (routes *LoginRoutes) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.LoginRoutes) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.LoginRoutes, got %T", armInput) + } + + // Set property "LogoutEndpoint": + if typedInput.LogoutEndpoint != nil { + logoutEndpoint := *typedInput.LogoutEndpoint + routes.LogoutEndpoint = &logoutEndpoint + } + + // No error + return nil +} + +// AssignProperties_From_LoginRoutes populates our LoginRoutes from the provided source LoginRoutes +func (routes *LoginRoutes) AssignProperties_From_LoginRoutes(source *storage.LoginRoutes) error { + + // LogoutEndpoint + routes.LogoutEndpoint = genruntime.ClonePointerToString(source.LogoutEndpoint) + + // No error + return nil +} + +// AssignProperties_To_LoginRoutes populates the provided destination LoginRoutes from our LoginRoutes +func (routes *LoginRoutes) AssignProperties_To_LoginRoutes(destination *storage.LoginRoutes) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // LogoutEndpoint + destination.LogoutEndpoint = genruntime.ClonePointerToString(routes.LogoutEndpoint) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_LoginRoutes_STATUS populates our LoginRoutes from the provided source LoginRoutes_STATUS +func (routes *LoginRoutes) Initialize_From_LoginRoutes_STATUS(source *LoginRoutes_STATUS) error { + + // LogoutEndpoint + routes.LogoutEndpoint = genruntime.ClonePointerToString(source.LogoutEndpoint) + + // No error + return nil +} + +// The routes that specify the endpoints used for login and logout requests. +type LoginRoutes_STATUS struct { + // LogoutEndpoint: The endpoint at which a logout request should be made. + LogoutEndpoint *string `json:"logoutEndpoint,omitempty"` +} + +var _ genruntime.FromARMConverter = &LoginRoutes_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (routes *LoginRoutes_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.LoginRoutes_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (routes *LoginRoutes_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.LoginRoutes_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.LoginRoutes_STATUS, got %T", armInput) + } + + // Set property "LogoutEndpoint": + if typedInput.LogoutEndpoint != nil { + logoutEndpoint := *typedInput.LogoutEndpoint + routes.LogoutEndpoint = &logoutEndpoint + } + + // No error + return nil +} + +// AssignProperties_From_LoginRoutes_STATUS populates our LoginRoutes_STATUS from the provided source LoginRoutes_STATUS +func (routes *LoginRoutes_STATUS) AssignProperties_From_LoginRoutes_STATUS(source *storage.LoginRoutes_STATUS) error { + + // LogoutEndpoint + routes.LogoutEndpoint = genruntime.ClonePointerToString(source.LogoutEndpoint) + + // No error + return nil +} + +// AssignProperties_To_LoginRoutes_STATUS populates the provided destination LoginRoutes_STATUS from our LoginRoutes_STATUS +func (routes *LoginRoutes_STATUS) AssignProperties_To_LoginRoutes_STATUS(destination *storage.LoginRoutes_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // LogoutEndpoint + destination.LogoutEndpoint = genruntime.ClonePointerToString(routes.LogoutEndpoint) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings of the nonce used in the login flow. +type Nonce struct { + // NonceExpirationInterval: The time after the request is made when the nonce should expire. + NonceExpirationInterval *string `json:"nonceExpirationInterval,omitempty"` + + // ValidateNonce: false if the nonce should not be validated while completing the login flow; otherwise, + // true. + ValidateNonce *bool `json:"validateNonce,omitempty"` +} + +var _ genruntime.ARMTransformer = &Nonce{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (nonce *Nonce) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if nonce == nil { + return nil, nil + } + result := &arm.Nonce{} + + // Set property "NonceExpirationInterval": + if nonce.NonceExpirationInterval != nil { + nonceExpirationInterval := *nonce.NonceExpirationInterval + result.NonceExpirationInterval = &nonceExpirationInterval + } + + // Set property "ValidateNonce": + if nonce.ValidateNonce != nil { + validateNonce := *nonce.ValidateNonce + result.ValidateNonce = &validateNonce + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (nonce *Nonce) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Nonce{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (nonce *Nonce) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Nonce) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Nonce, got %T", armInput) + } + + // Set property "NonceExpirationInterval": + if typedInput.NonceExpirationInterval != nil { + nonceExpirationInterval := *typedInput.NonceExpirationInterval + nonce.NonceExpirationInterval = &nonceExpirationInterval + } + + // Set property "ValidateNonce": + if typedInput.ValidateNonce != nil { + validateNonce := *typedInput.ValidateNonce + nonce.ValidateNonce = &validateNonce + } + + // No error + return nil +} + +// AssignProperties_From_Nonce populates our Nonce from the provided source Nonce +func (nonce *Nonce) AssignProperties_From_Nonce(source *storage.Nonce) error { + + // NonceExpirationInterval + nonce.NonceExpirationInterval = genruntime.ClonePointerToString(source.NonceExpirationInterval) + + // ValidateNonce + if source.ValidateNonce != nil { + validateNonce := *source.ValidateNonce + nonce.ValidateNonce = &validateNonce + } else { + nonce.ValidateNonce = nil + } + + // No error + return nil +} + +// AssignProperties_To_Nonce populates the provided destination Nonce from our Nonce +func (nonce *Nonce) AssignProperties_To_Nonce(destination *storage.Nonce) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // NonceExpirationInterval + destination.NonceExpirationInterval = genruntime.ClonePointerToString(nonce.NonceExpirationInterval) + + // ValidateNonce + if nonce.ValidateNonce != nil { + validateNonce := *nonce.ValidateNonce + destination.ValidateNonce = &validateNonce + } else { + destination.ValidateNonce = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_Nonce_STATUS populates our Nonce from the provided source Nonce_STATUS +func (nonce *Nonce) Initialize_From_Nonce_STATUS(source *Nonce_STATUS) error { + + // NonceExpirationInterval + nonce.NonceExpirationInterval = genruntime.ClonePointerToString(source.NonceExpirationInterval) + + // ValidateNonce + if source.ValidateNonce != nil { + validateNonce := *source.ValidateNonce + nonce.ValidateNonce = &validateNonce + } else { + nonce.ValidateNonce = nil + } + + // No error + return nil +} + +// The configuration settings of the nonce used in the login flow. +type Nonce_STATUS struct { + // NonceExpirationInterval: The time after the request is made when the nonce should expire. + NonceExpirationInterval *string `json:"nonceExpirationInterval,omitempty"` + + // ValidateNonce: false if the nonce should not be validated while completing the login flow; otherwise, + // true. + ValidateNonce *bool `json:"validateNonce,omitempty"` +} + +var _ genruntime.FromARMConverter = &Nonce_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (nonce *Nonce_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Nonce_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (nonce *Nonce_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Nonce_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Nonce_STATUS, got %T", armInput) + } + + // Set property "NonceExpirationInterval": + if typedInput.NonceExpirationInterval != nil { + nonceExpirationInterval := *typedInput.NonceExpirationInterval + nonce.NonceExpirationInterval = &nonceExpirationInterval + } + + // Set property "ValidateNonce": + if typedInput.ValidateNonce != nil { + validateNonce := *typedInput.ValidateNonce + nonce.ValidateNonce = &validateNonce + } + + // No error + return nil +} + +// AssignProperties_From_Nonce_STATUS populates our Nonce_STATUS from the provided source Nonce_STATUS +func (nonce *Nonce_STATUS) AssignProperties_From_Nonce_STATUS(source *storage.Nonce_STATUS) error { + + // NonceExpirationInterval + nonce.NonceExpirationInterval = genruntime.ClonePointerToString(source.NonceExpirationInterval) + + // ValidateNonce + if source.ValidateNonce != nil { + validateNonce := *source.ValidateNonce + nonce.ValidateNonce = &validateNonce + } else { + nonce.ValidateNonce = nil + } + + // No error + return nil +} + +// AssignProperties_To_Nonce_STATUS populates the provided destination Nonce_STATUS from our Nonce_STATUS +func (nonce *Nonce_STATUS) AssignProperties_To_Nonce_STATUS(destination *storage.Nonce_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // NonceExpirationInterval + destination.NonceExpirationInterval = genruntime.ClonePointerToString(nonce.NonceExpirationInterval) + + // ValidateNonce + if nonce.ValidateNonce != nil { + validateNonce := *nonce.ValidateNonce + destination.ValidateNonce = &validateNonce + } else { + destination.ValidateNonce = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +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, +} + +// The configuration settings of the token store. +type TokenStore struct { + // AzureBlobStorage: The configuration settings of the storage of the tokens if blob storage is used. + AzureBlobStorage *BlobStorageTokenStore `json:"azureBlobStorage,omitempty"` + + // Enabled: true to durably store platform-specific security tokens that are obtained during login flows; + // otherwise, false. + // The default is false. + Enabled *bool `json:"enabled,omitempty"` + + // TokenRefreshExtensionHours: The number of hours after session token expiration that a session token can be used to + // call the token refresh API. The default is 72 hours. + TokenRefreshExtensionHours *float64 `json:"tokenRefreshExtensionHours,omitempty"` +} + +var _ genruntime.ARMTransformer = &TokenStore{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (store *TokenStore) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if store == nil { + return nil, nil + } + result := &arm.TokenStore{} + + // Set property "AzureBlobStorage": + if store.AzureBlobStorage != nil { + azureBlobStorage_ARM, err := (*store.AzureBlobStorage).ConvertToARM(resolved) + if err != nil { + return nil, err + } + azureBlobStorage := *azureBlobStorage_ARM.(*arm.BlobStorageTokenStore) + result.AzureBlobStorage = &azureBlobStorage + } + + // Set property "Enabled": + if store.Enabled != nil { + enabled := *store.Enabled + result.Enabled = &enabled + } + + // Set property "TokenRefreshExtensionHours": + if store.TokenRefreshExtensionHours != nil { + tokenRefreshExtensionHours := *store.TokenRefreshExtensionHours + result.TokenRefreshExtensionHours = &tokenRefreshExtensionHours + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (store *TokenStore) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.TokenStore{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (store *TokenStore) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.TokenStore) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.TokenStore, got %T", armInput) + } + + // Set property "AzureBlobStorage": + if typedInput.AzureBlobStorage != nil { + var azureBlobStorage1 BlobStorageTokenStore + err := azureBlobStorage1.PopulateFromARM(owner, *typedInput.AzureBlobStorage) + if err != nil { + return err + } + azureBlobStorage := azureBlobStorage1 + store.AzureBlobStorage = &azureBlobStorage + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + store.Enabled = &enabled + } + + // Set property "TokenRefreshExtensionHours": + if typedInput.TokenRefreshExtensionHours != nil { + tokenRefreshExtensionHours := *typedInput.TokenRefreshExtensionHours + store.TokenRefreshExtensionHours = &tokenRefreshExtensionHours + } + + // No error + return nil +} + +// AssignProperties_From_TokenStore populates our TokenStore from the provided source TokenStore +func (store *TokenStore) AssignProperties_From_TokenStore(source *storage.TokenStore) error { + + // AzureBlobStorage + if source.AzureBlobStorage != nil { + var azureBlobStorage BlobStorageTokenStore + err := azureBlobStorage.AssignProperties_From_BlobStorageTokenStore(source.AzureBlobStorage) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_BlobStorageTokenStore() to populate field AzureBlobStorage") + } + store.AzureBlobStorage = &azureBlobStorage + } else { + store.AzureBlobStorage = nil + } + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + store.Enabled = &enabled + } else { + store.Enabled = nil + } + + // TokenRefreshExtensionHours + if source.TokenRefreshExtensionHours != nil { + tokenRefreshExtensionHour := *source.TokenRefreshExtensionHours + store.TokenRefreshExtensionHours = &tokenRefreshExtensionHour + } else { + store.TokenRefreshExtensionHours = nil + } + + // No error + return nil +} + +// AssignProperties_To_TokenStore populates the provided destination TokenStore from our TokenStore +func (store *TokenStore) AssignProperties_To_TokenStore(destination *storage.TokenStore) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AzureBlobStorage + if store.AzureBlobStorage != nil { + var azureBlobStorage storage.BlobStorageTokenStore + err := store.AzureBlobStorage.AssignProperties_To_BlobStorageTokenStore(&azureBlobStorage) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_BlobStorageTokenStore() to populate field AzureBlobStorage") + } + destination.AzureBlobStorage = &azureBlobStorage + } else { + destination.AzureBlobStorage = nil + } + + // Enabled + if store.Enabled != nil { + enabled := *store.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // TokenRefreshExtensionHours + if store.TokenRefreshExtensionHours != nil { + tokenRefreshExtensionHour := *store.TokenRefreshExtensionHours + destination.TokenRefreshExtensionHours = &tokenRefreshExtensionHour + } else { + destination.TokenRefreshExtensionHours = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_TokenStore_STATUS populates our TokenStore from the provided source TokenStore_STATUS +func (store *TokenStore) Initialize_From_TokenStore_STATUS(source *TokenStore_STATUS) error { + + // AzureBlobStorage + if source.AzureBlobStorage != nil { + var azureBlobStorage BlobStorageTokenStore + err := azureBlobStorage.Initialize_From_BlobStorageTokenStore_STATUS(source.AzureBlobStorage) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_BlobStorageTokenStore_STATUS() to populate field AzureBlobStorage") + } + store.AzureBlobStorage = &azureBlobStorage + } else { + store.AzureBlobStorage = nil + } + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + store.Enabled = &enabled + } else { + store.Enabled = nil + } + + // TokenRefreshExtensionHours + if source.TokenRefreshExtensionHours != nil { + tokenRefreshExtensionHour := *source.TokenRefreshExtensionHours + store.TokenRefreshExtensionHours = &tokenRefreshExtensionHour + } else { + store.TokenRefreshExtensionHours = nil + } + + // No error + return nil +} + +// The configuration settings of the token store. +type TokenStore_STATUS struct { + // AzureBlobStorage: The configuration settings of the storage of the tokens if blob storage is used. + AzureBlobStorage *BlobStorageTokenStore_STATUS `json:"azureBlobStorage,omitempty"` + + // Enabled: true to durably store platform-specific security tokens that are obtained during login flows; + // otherwise, false. + // The default is false. + Enabled *bool `json:"enabled,omitempty"` + + // TokenRefreshExtensionHours: The number of hours after session token expiration that a session token can be used to + // call the token refresh API. The default is 72 hours. + TokenRefreshExtensionHours *float64 `json:"tokenRefreshExtensionHours,omitempty"` +} + +var _ genruntime.FromARMConverter = &TokenStore_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (store *TokenStore_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.TokenStore_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (store *TokenStore_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.TokenStore_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.TokenStore_STATUS, got %T", armInput) + } + + // Set property "AzureBlobStorage": + if typedInput.AzureBlobStorage != nil { + var azureBlobStorage1 BlobStorageTokenStore_STATUS + err := azureBlobStorage1.PopulateFromARM(owner, *typedInput.AzureBlobStorage) + if err != nil { + return err + } + azureBlobStorage := azureBlobStorage1 + store.AzureBlobStorage = &azureBlobStorage + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + store.Enabled = &enabled + } + + // Set property "TokenRefreshExtensionHours": + if typedInput.TokenRefreshExtensionHours != nil { + tokenRefreshExtensionHours := *typedInput.TokenRefreshExtensionHours + store.TokenRefreshExtensionHours = &tokenRefreshExtensionHours + } + + // No error + return nil +} + +// AssignProperties_From_TokenStore_STATUS populates our TokenStore_STATUS from the provided source TokenStore_STATUS +func (store *TokenStore_STATUS) AssignProperties_From_TokenStore_STATUS(source *storage.TokenStore_STATUS) error { + + // AzureBlobStorage + if source.AzureBlobStorage != nil { + var azureBlobStorage BlobStorageTokenStore_STATUS + err := azureBlobStorage.AssignProperties_From_BlobStorageTokenStore_STATUS(source.AzureBlobStorage) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_BlobStorageTokenStore_STATUS() to populate field AzureBlobStorage") + } + store.AzureBlobStorage = &azureBlobStorage + } else { + store.AzureBlobStorage = nil + } + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + store.Enabled = &enabled + } else { + store.Enabled = nil + } + + // TokenRefreshExtensionHours + if source.TokenRefreshExtensionHours != nil { + tokenRefreshExtensionHour := *source.TokenRefreshExtensionHours + store.TokenRefreshExtensionHours = &tokenRefreshExtensionHour + } else { + store.TokenRefreshExtensionHours = nil + } + + // No error + return nil +} + +// AssignProperties_To_TokenStore_STATUS populates the provided destination TokenStore_STATUS from our TokenStore_STATUS +func (store *TokenStore_STATUS) AssignProperties_To_TokenStore_STATUS(destination *storage.TokenStore_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AzureBlobStorage + if store.AzureBlobStorage != nil { + var azureBlobStorage storage.BlobStorageTokenStore_STATUS + err := store.AzureBlobStorage.AssignProperties_To_BlobStorageTokenStore_STATUS(&azureBlobStorage) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_BlobStorageTokenStore_STATUS() to populate field AzureBlobStorage") + } + destination.AzureBlobStorage = &azureBlobStorage + } else { + destination.AzureBlobStorage = nil + } + + // Enabled + if store.Enabled != nil { + enabled := *store.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // TokenRefreshExtensionHours + if store.TokenRefreshExtensionHours != nil { + tokenRefreshExtensionHour := *store.TokenRefreshExtensionHours + destination.TokenRefreshExtensionHours = &tokenRefreshExtensionHour + } else { + destination.TokenRefreshExtensionHours = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings of the Twitter provider. +type Twitter struct { + // Enabled: false if the Twitter provider should not be enabled despite the set registration; otherwise, + // true. + Enabled *bool `json:"enabled,omitempty"` + + // Registration: The configuration settings of the app registration for the Twitter provider. + Registration *TwitterRegistration `json:"registration,omitempty"` +} + +var _ genruntime.ARMTransformer = &Twitter{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (twitter *Twitter) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if twitter == nil { + return nil, nil + } + result := &arm.Twitter{} + + // Set property "Enabled": + if twitter.Enabled != nil { + enabled := *twitter.Enabled + result.Enabled = &enabled + } + + // Set property "Registration": + if twitter.Registration != nil { + registration_ARM, err := (*twitter.Registration).ConvertToARM(resolved) + if err != nil { + return nil, err + } + registration := *registration_ARM.(*arm.TwitterRegistration) + result.Registration = ®istration + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (twitter *Twitter) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Twitter{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (twitter *Twitter) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Twitter) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Twitter, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + twitter.Enabled = &enabled + } + + // Set property "Registration": + if typedInput.Registration != nil { + var registration1 TwitterRegistration + err := registration1.PopulateFromARM(owner, *typedInput.Registration) + if err != nil { + return err + } + registration := registration1 + twitter.Registration = ®istration + } + + // No error + return nil +} + +// AssignProperties_From_Twitter populates our Twitter from the provided source Twitter +func (twitter *Twitter) AssignProperties_From_Twitter(source *storage.Twitter) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + twitter.Enabled = &enabled + } else { + twitter.Enabled = nil + } + + // Registration + if source.Registration != nil { + var registration TwitterRegistration + err := registration.AssignProperties_From_TwitterRegistration(source.Registration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_TwitterRegistration() to populate field Registration") + } + twitter.Registration = ®istration + } else { + twitter.Registration = nil + } + + // No error + return nil +} + +// AssignProperties_To_Twitter populates the provided destination Twitter from our Twitter +func (twitter *Twitter) AssignProperties_To_Twitter(destination *storage.Twitter) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if twitter.Enabled != nil { + enabled := *twitter.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Registration + if twitter.Registration != nil { + var registration storage.TwitterRegistration + err := twitter.Registration.AssignProperties_To_TwitterRegistration(®istration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_TwitterRegistration() to populate field Registration") + } + destination.Registration = ®istration + } else { + destination.Registration = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_Twitter_STATUS populates our Twitter from the provided source Twitter_STATUS +func (twitter *Twitter) Initialize_From_Twitter_STATUS(source *Twitter_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + twitter.Enabled = &enabled + } else { + twitter.Enabled = nil + } + + // Registration + if source.Registration != nil { + var registration TwitterRegistration + err := registration.Initialize_From_TwitterRegistration_STATUS(source.Registration) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_TwitterRegistration_STATUS() to populate field Registration") + } + twitter.Registration = ®istration + } else { + twitter.Registration = nil + } + + // No error + return nil +} + +// The configuration settings of the Twitter provider. +type Twitter_STATUS struct { + // Enabled: false if the Twitter provider should not be enabled despite the set registration; otherwise, + // true. + Enabled *bool `json:"enabled,omitempty"` + + // Registration: The configuration settings of the app registration for the Twitter provider. + Registration *TwitterRegistration_STATUS `json:"registration,omitempty"` +} + +var _ genruntime.FromARMConverter = &Twitter_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (twitter *Twitter_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Twitter_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (twitter *Twitter_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Twitter_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Twitter_STATUS, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + twitter.Enabled = &enabled + } + + // Set property "Registration": + if typedInput.Registration != nil { + var registration1 TwitterRegistration_STATUS + err := registration1.PopulateFromARM(owner, *typedInput.Registration) + if err != nil { + return err + } + registration := registration1 + twitter.Registration = ®istration + } + + // No error + return nil +} + +// AssignProperties_From_Twitter_STATUS populates our Twitter_STATUS from the provided source Twitter_STATUS +func (twitter *Twitter_STATUS) AssignProperties_From_Twitter_STATUS(source *storage.Twitter_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + twitter.Enabled = &enabled + } else { + twitter.Enabled = nil + } + + // Registration + if source.Registration != nil { + var registration TwitterRegistration_STATUS + err := registration.AssignProperties_From_TwitterRegistration_STATUS(source.Registration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_TwitterRegistration_STATUS() to populate field Registration") + } + twitter.Registration = ®istration + } else { + twitter.Registration = nil + } + + // No error + return nil +} + +// AssignProperties_To_Twitter_STATUS populates the provided destination Twitter_STATUS from our Twitter_STATUS +func (twitter *Twitter_STATUS) AssignProperties_To_Twitter_STATUS(destination *storage.Twitter_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if twitter.Enabled != nil { + enabled := *twitter.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Registration + if twitter.Registration != nil { + var registration storage.TwitterRegistration_STATUS + err := twitter.Registration.AssignProperties_To_TwitterRegistration_STATUS(®istration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_TwitterRegistration_STATUS() to populate field Registration") + } + destination.Registration = ®istration + } else { + destination.Registration = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings of the Allowed Audiences validation flow. +type AllowedAudiencesValidation struct { + // AllowedAudiences: The configuration settings of the allowed list of audiences from which to validate the JWT token. + AllowedAudiences []string `json:"allowedAudiences,omitempty"` +} + +var _ genruntime.ARMTransformer = &AllowedAudiencesValidation{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (validation *AllowedAudiencesValidation) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if validation == nil { + return nil, nil + } + result := &arm.AllowedAudiencesValidation{} + + // Set property "AllowedAudiences": + for _, item := range validation.AllowedAudiences { + result.AllowedAudiences = append(result.AllowedAudiences, item) + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (validation *AllowedAudiencesValidation) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AllowedAudiencesValidation{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (validation *AllowedAudiencesValidation) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AllowedAudiencesValidation) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AllowedAudiencesValidation, got %T", armInput) + } + + // Set property "AllowedAudiences": + for _, item := range typedInput.AllowedAudiences { + validation.AllowedAudiences = append(validation.AllowedAudiences, item) + } + + // No error + return nil +} + +// AssignProperties_From_AllowedAudiencesValidation populates our AllowedAudiencesValidation from the provided source AllowedAudiencesValidation +func (validation *AllowedAudiencesValidation) AssignProperties_From_AllowedAudiencesValidation(source *storage.AllowedAudiencesValidation) error { + + // AllowedAudiences + validation.AllowedAudiences = genruntime.CloneSliceOfString(source.AllowedAudiences) + + // No error + return nil +} + +// AssignProperties_To_AllowedAudiencesValidation populates the provided destination AllowedAudiencesValidation from our AllowedAudiencesValidation +func (validation *AllowedAudiencesValidation) AssignProperties_To_AllowedAudiencesValidation(destination *storage.AllowedAudiencesValidation) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AllowedAudiences + destination.AllowedAudiences = genruntime.CloneSliceOfString(validation.AllowedAudiences) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_AllowedAudiencesValidation_STATUS populates our AllowedAudiencesValidation from the provided source AllowedAudiencesValidation_STATUS +func (validation *AllowedAudiencesValidation) Initialize_From_AllowedAudiencesValidation_STATUS(source *AllowedAudiencesValidation_STATUS) error { + + // AllowedAudiences + validation.AllowedAudiences = genruntime.CloneSliceOfString(source.AllowedAudiences) + + // No error + return nil +} + +// The configuration settings of the Allowed Audiences validation flow. +type AllowedAudiencesValidation_STATUS struct { + // AllowedAudiences: The configuration settings of the allowed list of audiences from which to validate the JWT token. + AllowedAudiences []string `json:"allowedAudiences,omitempty"` +} + +var _ genruntime.FromARMConverter = &AllowedAudiencesValidation_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (validation *AllowedAudiencesValidation_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AllowedAudiencesValidation_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (validation *AllowedAudiencesValidation_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AllowedAudiencesValidation_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AllowedAudiencesValidation_STATUS, got %T", armInput) + } + + // Set property "AllowedAudiences": + for _, item := range typedInput.AllowedAudiences { + validation.AllowedAudiences = append(validation.AllowedAudiences, item) + } + + // No error + return nil +} + +// AssignProperties_From_AllowedAudiencesValidation_STATUS populates our AllowedAudiencesValidation_STATUS from the provided source AllowedAudiencesValidation_STATUS +func (validation *AllowedAudiencesValidation_STATUS) AssignProperties_From_AllowedAudiencesValidation_STATUS(source *storage.AllowedAudiencesValidation_STATUS) error { + + // AllowedAudiences + validation.AllowedAudiences = genruntime.CloneSliceOfString(source.AllowedAudiences) + + // No error + return nil +} + +// AssignProperties_To_AllowedAudiencesValidation_STATUS populates the provided destination AllowedAudiencesValidation_STATUS from our AllowedAudiencesValidation_STATUS +func (validation *AllowedAudiencesValidation_STATUS) AssignProperties_To_AllowedAudiencesValidation_STATUS(destination *storage.AllowedAudiencesValidation_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AllowedAudiences + destination.AllowedAudiences = genruntime.CloneSliceOfString(validation.AllowedAudiences) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings of the registration for the Apple provider +type AppleRegistration struct { + // ClientId: The Client ID of the app used for login. + ClientId *string `json:"clientId,omitempty"` + + // ClientSecretSettingName: The app setting name that contains the client secret. + ClientSecretSettingName *string `json:"clientSecretSettingName,omitempty"` +} + +var _ genruntime.ARMTransformer = &AppleRegistration{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (registration *AppleRegistration) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if registration == nil { + return nil, nil + } + result := &arm.AppleRegistration{} + + // Set property "ClientId": + if registration.ClientId != nil { + clientId := *registration.ClientId + result.ClientId = &clientId + } + + // Set property "ClientSecretSettingName": + if registration.ClientSecretSettingName != nil { + clientSecretSettingName := *registration.ClientSecretSettingName + result.ClientSecretSettingName = &clientSecretSettingName + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (registration *AppleRegistration) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AppleRegistration{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (registration *AppleRegistration) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AppleRegistration) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AppleRegistration, got %T", armInput) + } + + // Set property "ClientId": + if typedInput.ClientId != nil { + clientId := *typedInput.ClientId + registration.ClientId = &clientId + } + + // Set property "ClientSecretSettingName": + if typedInput.ClientSecretSettingName != nil { + clientSecretSettingName := *typedInput.ClientSecretSettingName + registration.ClientSecretSettingName = &clientSecretSettingName + } + + // No error + return nil +} + +// AssignProperties_From_AppleRegistration populates our AppleRegistration from the provided source AppleRegistration +func (registration *AppleRegistration) AssignProperties_From_AppleRegistration(source *storage.AppleRegistration) error { + + // ClientId + registration.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // ClientSecretSettingName + registration.ClientSecretSettingName = genruntime.ClonePointerToString(source.ClientSecretSettingName) + + // No error + return nil +} + +// AssignProperties_To_AppleRegistration populates the provided destination AppleRegistration from our AppleRegistration +func (registration *AppleRegistration) AssignProperties_To_AppleRegistration(destination *storage.AppleRegistration) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ClientId + destination.ClientId = genruntime.ClonePointerToString(registration.ClientId) + + // ClientSecretSettingName + destination.ClientSecretSettingName = genruntime.ClonePointerToString(registration.ClientSecretSettingName) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_AppleRegistration_STATUS populates our AppleRegistration from the provided source AppleRegistration_STATUS +func (registration *AppleRegistration) Initialize_From_AppleRegistration_STATUS(source *AppleRegistration_STATUS) error { + + // ClientId + registration.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // ClientSecretSettingName + registration.ClientSecretSettingName = genruntime.ClonePointerToString(source.ClientSecretSettingName) + + // No error + return nil +} + +// The configuration settings of the registration for the Apple provider +type AppleRegistration_STATUS struct { + // ClientId: The Client ID of the app used for login. + ClientId *string `json:"clientId,omitempty"` + + // ClientSecretSettingName: The app setting name that contains the client secret. + ClientSecretSettingName *string `json:"clientSecretSettingName,omitempty"` +} + +var _ genruntime.FromARMConverter = &AppleRegistration_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (registration *AppleRegistration_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AppleRegistration_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (registration *AppleRegistration_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AppleRegistration_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AppleRegistration_STATUS, got %T", armInput) + } + + // Set property "ClientId": + if typedInput.ClientId != nil { + clientId := *typedInput.ClientId + registration.ClientId = &clientId + } + + // Set property "ClientSecretSettingName": + if typedInput.ClientSecretSettingName != nil { + clientSecretSettingName := *typedInput.ClientSecretSettingName + registration.ClientSecretSettingName = &clientSecretSettingName + } + + // No error + return nil +} + +// AssignProperties_From_AppleRegistration_STATUS populates our AppleRegistration_STATUS from the provided source AppleRegistration_STATUS +func (registration *AppleRegistration_STATUS) AssignProperties_From_AppleRegistration_STATUS(source *storage.AppleRegistration_STATUS) error { + + // ClientId + registration.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // ClientSecretSettingName + registration.ClientSecretSettingName = genruntime.ClonePointerToString(source.ClientSecretSettingName) + + // No error + return nil +} + +// AssignProperties_To_AppleRegistration_STATUS populates the provided destination AppleRegistration_STATUS from our AppleRegistration_STATUS +func (registration *AppleRegistration_STATUS) AssignProperties_To_AppleRegistration_STATUS(destination *storage.AppleRegistration_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ClientId + destination.ClientId = genruntime.ClonePointerToString(registration.ClientId) + + // ClientSecretSettingName + destination.ClientSecretSettingName = genruntime.ClonePointerToString(registration.ClientSecretSettingName) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings of the app registration for providers that have app ids and app secrets +type AppRegistration struct { + // AppId: The App ID of the app used for login. + AppId *string `json:"appId,omitempty"` + + // AppSecretSettingName: The app setting name that contains the app secret. + AppSecretSettingName *string `json:"appSecretSettingName,omitempty"` +} + +var _ genruntime.ARMTransformer = &AppRegistration{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (registration *AppRegistration) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if registration == nil { + return nil, nil + } + result := &arm.AppRegistration{} + + // Set property "AppId": + if registration.AppId != nil { + appId := *registration.AppId + result.AppId = &appId + } + + // Set property "AppSecretSettingName": + if registration.AppSecretSettingName != nil { + appSecretSettingName := *registration.AppSecretSettingName + result.AppSecretSettingName = &appSecretSettingName + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (registration *AppRegistration) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AppRegistration{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (registration *AppRegistration) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AppRegistration) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AppRegistration, got %T", armInput) + } + + // Set property "AppId": + if typedInput.AppId != nil { + appId := *typedInput.AppId + registration.AppId = &appId + } + + // Set property "AppSecretSettingName": + if typedInput.AppSecretSettingName != nil { + appSecretSettingName := *typedInput.AppSecretSettingName + registration.AppSecretSettingName = &appSecretSettingName + } + + // No error + return nil +} + +// AssignProperties_From_AppRegistration populates our AppRegistration from the provided source AppRegistration +func (registration *AppRegistration) AssignProperties_From_AppRegistration(source *storage.AppRegistration) error { + + // AppId + registration.AppId = genruntime.ClonePointerToString(source.AppId) + + // AppSecretSettingName + registration.AppSecretSettingName = genruntime.ClonePointerToString(source.AppSecretSettingName) + + // No error + return nil +} + +// AssignProperties_To_AppRegistration populates the provided destination AppRegistration from our AppRegistration +func (registration *AppRegistration) AssignProperties_To_AppRegistration(destination *storage.AppRegistration) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AppId + destination.AppId = genruntime.ClonePointerToString(registration.AppId) + + // AppSecretSettingName + destination.AppSecretSettingName = genruntime.ClonePointerToString(registration.AppSecretSettingName) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_AppRegistration_STATUS populates our AppRegistration from the provided source AppRegistration_STATUS +func (registration *AppRegistration) Initialize_From_AppRegistration_STATUS(source *AppRegistration_STATUS) error { + + // AppId + registration.AppId = genruntime.ClonePointerToString(source.AppId) + + // AppSecretSettingName + registration.AppSecretSettingName = genruntime.ClonePointerToString(source.AppSecretSettingName) + + // No error + return nil +} + +// The configuration settings of the app registration for providers that have app ids and app secrets +type AppRegistration_STATUS struct { + // AppId: The App ID of the app used for login. + AppId *string `json:"appId,omitempty"` + + // AppSecretSettingName: The app setting name that contains the app secret. + AppSecretSettingName *string `json:"appSecretSettingName,omitempty"` +} + +var _ genruntime.FromARMConverter = &AppRegistration_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (registration *AppRegistration_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AppRegistration_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (registration *AppRegistration_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AppRegistration_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AppRegistration_STATUS, got %T", armInput) + } + + // Set property "AppId": + if typedInput.AppId != nil { + appId := *typedInput.AppId + registration.AppId = &appId + } + + // Set property "AppSecretSettingName": + if typedInput.AppSecretSettingName != nil { + appSecretSettingName := *typedInput.AppSecretSettingName + registration.AppSecretSettingName = &appSecretSettingName + } + + // No error + return nil +} + +// AssignProperties_From_AppRegistration_STATUS populates our AppRegistration_STATUS from the provided source AppRegistration_STATUS +func (registration *AppRegistration_STATUS) AssignProperties_From_AppRegistration_STATUS(source *storage.AppRegistration_STATUS) error { + + // AppId + registration.AppId = genruntime.ClonePointerToString(source.AppId) + + // AppSecretSettingName + registration.AppSecretSettingName = genruntime.ClonePointerToString(source.AppSecretSettingName) + + // No error + return nil +} + +// AssignProperties_To_AppRegistration_STATUS populates the provided destination AppRegistration_STATUS from our AppRegistration_STATUS +func (registration *AppRegistration_STATUS) AssignProperties_To_AppRegistration_STATUS(destination *storage.AppRegistration_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AppId + destination.AppId = genruntime.ClonePointerToString(registration.AppId) + + // AppSecretSettingName + destination.AppSecretSettingName = genruntime.ClonePointerToString(registration.AppSecretSettingName) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings of the Azure Active Directory login flow. +type AzureActiveDirectoryLogin struct { + // DisableWWWAuthenticate: true if the www-authenticate provider should be omitted from the request; + // otherwise, false. + DisableWWWAuthenticate *bool `json:"disableWWWAuthenticate,omitempty"` + + // LoginParameters: Login parameters to send to the OpenID Connect authorization endpoint when + // a user logs in. Each parameter must be in the form "key=value". + LoginParameters []string `json:"loginParameters,omitempty"` +} + +var _ genruntime.ARMTransformer = &AzureActiveDirectoryLogin{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (login *AzureActiveDirectoryLogin) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if login == nil { + return nil, nil + } + result := &arm.AzureActiveDirectoryLogin{} + + // Set property "DisableWWWAuthenticate": + if login.DisableWWWAuthenticate != nil { + disableWWWAuthenticate := *login.DisableWWWAuthenticate + result.DisableWWWAuthenticate = &disableWWWAuthenticate + } + + // Set property "LoginParameters": + for _, item := range login.LoginParameters { + result.LoginParameters = append(result.LoginParameters, item) + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (login *AzureActiveDirectoryLogin) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AzureActiveDirectoryLogin{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (login *AzureActiveDirectoryLogin) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AzureActiveDirectoryLogin) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AzureActiveDirectoryLogin, got %T", armInput) + } + + // Set property "DisableWWWAuthenticate": + if typedInput.DisableWWWAuthenticate != nil { + disableWWWAuthenticate := *typedInput.DisableWWWAuthenticate + login.DisableWWWAuthenticate = &disableWWWAuthenticate + } + + // Set property "LoginParameters": + for _, item := range typedInput.LoginParameters { + login.LoginParameters = append(login.LoginParameters, item) + } + + // No error + return nil +} + +// AssignProperties_From_AzureActiveDirectoryLogin populates our AzureActiveDirectoryLogin from the provided source AzureActiveDirectoryLogin +func (login *AzureActiveDirectoryLogin) AssignProperties_From_AzureActiveDirectoryLogin(source *storage.AzureActiveDirectoryLogin) error { + + // DisableWWWAuthenticate + if source.DisableWWWAuthenticate != nil { + disableWWWAuthenticate := *source.DisableWWWAuthenticate + login.DisableWWWAuthenticate = &disableWWWAuthenticate + } else { + login.DisableWWWAuthenticate = nil + } + + // LoginParameters + login.LoginParameters = genruntime.CloneSliceOfString(source.LoginParameters) + + // No error + return nil +} + +// AssignProperties_To_AzureActiveDirectoryLogin populates the provided destination AzureActiveDirectoryLogin from our AzureActiveDirectoryLogin +func (login *AzureActiveDirectoryLogin) AssignProperties_To_AzureActiveDirectoryLogin(destination *storage.AzureActiveDirectoryLogin) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // DisableWWWAuthenticate + if login.DisableWWWAuthenticate != nil { + disableWWWAuthenticate := *login.DisableWWWAuthenticate + destination.DisableWWWAuthenticate = &disableWWWAuthenticate + } else { + destination.DisableWWWAuthenticate = nil + } + + // LoginParameters + destination.LoginParameters = genruntime.CloneSliceOfString(login.LoginParameters) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_AzureActiveDirectoryLogin_STATUS populates our AzureActiveDirectoryLogin from the provided source AzureActiveDirectoryLogin_STATUS +func (login *AzureActiveDirectoryLogin) Initialize_From_AzureActiveDirectoryLogin_STATUS(source *AzureActiveDirectoryLogin_STATUS) error { + + // DisableWWWAuthenticate + if source.DisableWWWAuthenticate != nil { + disableWWWAuthenticate := *source.DisableWWWAuthenticate + login.DisableWWWAuthenticate = &disableWWWAuthenticate + } else { + login.DisableWWWAuthenticate = nil + } + + // LoginParameters + login.LoginParameters = genruntime.CloneSliceOfString(source.LoginParameters) + + // No error + return nil +} + +// The configuration settings of the Azure Active Directory login flow. +type AzureActiveDirectoryLogin_STATUS struct { + // DisableWWWAuthenticate: true if the www-authenticate provider should be omitted from the request; + // otherwise, false. + DisableWWWAuthenticate *bool `json:"disableWWWAuthenticate,omitempty"` + + // LoginParameters: Login parameters to send to the OpenID Connect authorization endpoint when + // a user logs in. Each parameter must be in the form "key=value". + LoginParameters []string `json:"loginParameters,omitempty"` +} + +var _ genruntime.FromARMConverter = &AzureActiveDirectoryLogin_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (login *AzureActiveDirectoryLogin_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AzureActiveDirectoryLogin_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (login *AzureActiveDirectoryLogin_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AzureActiveDirectoryLogin_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AzureActiveDirectoryLogin_STATUS, got %T", armInput) + } + + // Set property "DisableWWWAuthenticate": + if typedInput.DisableWWWAuthenticate != nil { + disableWWWAuthenticate := *typedInput.DisableWWWAuthenticate + login.DisableWWWAuthenticate = &disableWWWAuthenticate + } + + // Set property "LoginParameters": + for _, item := range typedInput.LoginParameters { + login.LoginParameters = append(login.LoginParameters, item) + } + + // No error + return nil +} + +// AssignProperties_From_AzureActiveDirectoryLogin_STATUS populates our AzureActiveDirectoryLogin_STATUS from the provided source AzureActiveDirectoryLogin_STATUS +func (login *AzureActiveDirectoryLogin_STATUS) AssignProperties_From_AzureActiveDirectoryLogin_STATUS(source *storage.AzureActiveDirectoryLogin_STATUS) error { + + // DisableWWWAuthenticate + if source.DisableWWWAuthenticate != nil { + disableWWWAuthenticate := *source.DisableWWWAuthenticate + login.DisableWWWAuthenticate = &disableWWWAuthenticate + } else { + login.DisableWWWAuthenticate = nil + } + + // LoginParameters + login.LoginParameters = genruntime.CloneSliceOfString(source.LoginParameters) + + // No error + return nil +} + +// AssignProperties_To_AzureActiveDirectoryLogin_STATUS populates the provided destination AzureActiveDirectoryLogin_STATUS from our AzureActiveDirectoryLogin_STATUS +func (login *AzureActiveDirectoryLogin_STATUS) AssignProperties_To_AzureActiveDirectoryLogin_STATUS(destination *storage.AzureActiveDirectoryLogin_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // DisableWWWAuthenticate + if login.DisableWWWAuthenticate != nil { + disableWWWAuthenticate := *login.DisableWWWAuthenticate + destination.DisableWWWAuthenticate = &disableWWWAuthenticate + } else { + destination.DisableWWWAuthenticate = nil + } + + // LoginParameters + destination.LoginParameters = genruntime.CloneSliceOfString(login.LoginParameters) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings of the Azure Active Directory app registration. +type AzureActiveDirectoryRegistration struct { + // ClientId: The Client ID of this relying party application, known as the client_id. + // This setting is required for enabling OpenID Connection authentication with Azure Active Directory or + // other 3rd party OpenID Connect providers. + // More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html + ClientId *string `json:"clientId,omitempty"` + + // ClientSecretCertificateIssuer: An alternative to the client secret thumbprint, that is the issuer of a certificate used + // for signing purposes. This property acts as + // a replacement for the Client Secret Certificate Thumbprint. It is also optional. + ClientSecretCertificateIssuer *string `json:"clientSecretCertificateIssuer,omitempty"` + + // ClientSecretCertificateSubjectAlternativeName: An alternative to the client secret thumbprint, that is the subject + // alternative name of a certificate used for signing purposes. This property acts as + // a replacement for the Client Secret Certificate Thumbprint. It is also optional. + ClientSecretCertificateSubjectAlternativeName *string `json:"clientSecretCertificateSubjectAlternativeName,omitempty"` + + // ClientSecretCertificateThumbprint: An alternative to the client secret, that is the thumbprint of a certificate used for + // signing purposes. This property acts as + // a replacement for the Client Secret. It is also optional. + ClientSecretCertificateThumbprint *string `json:"clientSecretCertificateThumbprint,omitempty"` + + // ClientSecretSettingName: The app setting name that contains the client secret of the relying party application. + ClientSecretSettingName *string `json:"clientSecretSettingName,omitempty"` + + // OpenIdIssuer: The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application. + // When using Azure Active Directory, this value is the URI of the directory tenant, e.g. + // https://login.microsoftonline.com/v2.0/{tenant-guid}/. + // This URI is a case-sensitive identifier for the token issuer. + // More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html + OpenIdIssuer *string `json:"openIdIssuer,omitempty"` +} + +var _ genruntime.ARMTransformer = &AzureActiveDirectoryRegistration{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (registration *AzureActiveDirectoryRegistration) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if registration == nil { + return nil, nil + } + result := &arm.AzureActiveDirectoryRegistration{} + + // Set property "ClientId": + if registration.ClientId != nil { + clientId := *registration.ClientId + result.ClientId = &clientId + } + + // Set property "ClientSecretCertificateIssuer": + if registration.ClientSecretCertificateIssuer != nil { + clientSecretCertificateIssuer := *registration.ClientSecretCertificateIssuer + result.ClientSecretCertificateIssuer = &clientSecretCertificateIssuer + } + + // Set property "ClientSecretCertificateSubjectAlternativeName": + if registration.ClientSecretCertificateSubjectAlternativeName != nil { + clientSecretCertificateSubjectAlternativeName := *registration.ClientSecretCertificateSubjectAlternativeName + result.ClientSecretCertificateSubjectAlternativeName = &clientSecretCertificateSubjectAlternativeName + } + + // Set property "ClientSecretCertificateThumbprint": + if registration.ClientSecretCertificateThumbprint != nil { + clientSecretCertificateThumbprint := *registration.ClientSecretCertificateThumbprint + result.ClientSecretCertificateThumbprint = &clientSecretCertificateThumbprint + } + + // Set property "ClientSecretSettingName": + if registration.ClientSecretSettingName != nil { + clientSecretSettingName := *registration.ClientSecretSettingName + result.ClientSecretSettingName = &clientSecretSettingName + } + + // Set property "OpenIdIssuer": + if registration.OpenIdIssuer != nil { + openIdIssuer := *registration.OpenIdIssuer + result.OpenIdIssuer = &openIdIssuer + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (registration *AzureActiveDirectoryRegistration) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AzureActiveDirectoryRegistration{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (registration *AzureActiveDirectoryRegistration) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AzureActiveDirectoryRegistration) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AzureActiveDirectoryRegistration, got %T", armInput) + } + + // Set property "ClientId": + if typedInput.ClientId != nil { + clientId := *typedInput.ClientId + registration.ClientId = &clientId + } + + // Set property "ClientSecretCertificateIssuer": + if typedInput.ClientSecretCertificateIssuer != nil { + clientSecretCertificateIssuer := *typedInput.ClientSecretCertificateIssuer + registration.ClientSecretCertificateIssuer = &clientSecretCertificateIssuer + } + + // Set property "ClientSecretCertificateSubjectAlternativeName": + if typedInput.ClientSecretCertificateSubjectAlternativeName != nil { + clientSecretCertificateSubjectAlternativeName := *typedInput.ClientSecretCertificateSubjectAlternativeName + registration.ClientSecretCertificateSubjectAlternativeName = &clientSecretCertificateSubjectAlternativeName + } + + // Set property "ClientSecretCertificateThumbprint": + if typedInput.ClientSecretCertificateThumbprint != nil { + clientSecretCertificateThumbprint := *typedInput.ClientSecretCertificateThumbprint + registration.ClientSecretCertificateThumbprint = &clientSecretCertificateThumbprint + } + + // Set property "ClientSecretSettingName": + if typedInput.ClientSecretSettingName != nil { + clientSecretSettingName := *typedInput.ClientSecretSettingName + registration.ClientSecretSettingName = &clientSecretSettingName + } + + // Set property "OpenIdIssuer": + if typedInput.OpenIdIssuer != nil { + openIdIssuer := *typedInput.OpenIdIssuer + registration.OpenIdIssuer = &openIdIssuer + } + + // No error + return nil +} + +// AssignProperties_From_AzureActiveDirectoryRegistration populates our AzureActiveDirectoryRegistration from the provided source AzureActiveDirectoryRegistration +func (registration *AzureActiveDirectoryRegistration) AssignProperties_From_AzureActiveDirectoryRegistration(source *storage.AzureActiveDirectoryRegistration) error { + + // ClientId + registration.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // ClientSecretCertificateIssuer + registration.ClientSecretCertificateIssuer = genruntime.ClonePointerToString(source.ClientSecretCertificateIssuer) + + // ClientSecretCertificateSubjectAlternativeName + registration.ClientSecretCertificateSubjectAlternativeName = genruntime.ClonePointerToString(source.ClientSecretCertificateSubjectAlternativeName) + + // ClientSecretCertificateThumbprint + registration.ClientSecretCertificateThumbprint = genruntime.ClonePointerToString(source.ClientSecretCertificateThumbprint) + + // ClientSecretSettingName + registration.ClientSecretSettingName = genruntime.ClonePointerToString(source.ClientSecretSettingName) + + // OpenIdIssuer + registration.OpenIdIssuer = genruntime.ClonePointerToString(source.OpenIdIssuer) + + // No error + return nil +} + +// AssignProperties_To_AzureActiveDirectoryRegistration populates the provided destination AzureActiveDirectoryRegistration from our AzureActiveDirectoryRegistration +func (registration *AzureActiveDirectoryRegistration) AssignProperties_To_AzureActiveDirectoryRegistration(destination *storage.AzureActiveDirectoryRegistration) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ClientId + destination.ClientId = genruntime.ClonePointerToString(registration.ClientId) + + // ClientSecretCertificateIssuer + destination.ClientSecretCertificateIssuer = genruntime.ClonePointerToString(registration.ClientSecretCertificateIssuer) + + // ClientSecretCertificateSubjectAlternativeName + destination.ClientSecretCertificateSubjectAlternativeName = genruntime.ClonePointerToString(registration.ClientSecretCertificateSubjectAlternativeName) + + // ClientSecretCertificateThumbprint + destination.ClientSecretCertificateThumbprint = genruntime.ClonePointerToString(registration.ClientSecretCertificateThumbprint) + + // ClientSecretSettingName + destination.ClientSecretSettingName = genruntime.ClonePointerToString(registration.ClientSecretSettingName) + + // OpenIdIssuer + destination.OpenIdIssuer = genruntime.ClonePointerToString(registration.OpenIdIssuer) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_AzureActiveDirectoryRegistration_STATUS populates our AzureActiveDirectoryRegistration from the provided source AzureActiveDirectoryRegistration_STATUS +func (registration *AzureActiveDirectoryRegistration) Initialize_From_AzureActiveDirectoryRegistration_STATUS(source *AzureActiveDirectoryRegistration_STATUS) error { + + // ClientId + registration.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // ClientSecretCertificateIssuer + registration.ClientSecretCertificateIssuer = genruntime.ClonePointerToString(source.ClientSecretCertificateIssuer) + + // ClientSecretCertificateSubjectAlternativeName + registration.ClientSecretCertificateSubjectAlternativeName = genruntime.ClonePointerToString(source.ClientSecretCertificateSubjectAlternativeName) + + // ClientSecretCertificateThumbprint + registration.ClientSecretCertificateThumbprint = genruntime.ClonePointerToString(source.ClientSecretCertificateThumbprint) + + // ClientSecretSettingName + registration.ClientSecretSettingName = genruntime.ClonePointerToString(source.ClientSecretSettingName) + + // OpenIdIssuer + registration.OpenIdIssuer = genruntime.ClonePointerToString(source.OpenIdIssuer) + + // No error + return nil +} + +// The configuration settings of the Azure Active Directory app registration. +type AzureActiveDirectoryRegistration_STATUS struct { + // ClientId: The Client ID of this relying party application, known as the client_id. + // This setting is required for enabling OpenID Connection authentication with Azure Active Directory or + // other 3rd party OpenID Connect providers. + // More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html + ClientId *string `json:"clientId,omitempty"` + + // ClientSecretCertificateIssuer: An alternative to the client secret thumbprint, that is the issuer of a certificate used + // for signing purposes. This property acts as + // a replacement for the Client Secret Certificate Thumbprint. It is also optional. + ClientSecretCertificateIssuer *string `json:"clientSecretCertificateIssuer,omitempty"` + + // ClientSecretCertificateSubjectAlternativeName: An alternative to the client secret thumbprint, that is the subject + // alternative name of a certificate used for signing purposes. This property acts as + // a replacement for the Client Secret Certificate Thumbprint. It is also optional. + ClientSecretCertificateSubjectAlternativeName *string `json:"clientSecretCertificateSubjectAlternativeName,omitempty"` + + // ClientSecretCertificateThumbprint: An alternative to the client secret, that is the thumbprint of a certificate used for + // signing purposes. This property acts as + // a replacement for the Client Secret. It is also optional. + ClientSecretCertificateThumbprint *string `json:"clientSecretCertificateThumbprint,omitempty"` + + // ClientSecretSettingName: The app setting name that contains the client secret of the relying party application. + ClientSecretSettingName *string `json:"clientSecretSettingName,omitempty"` + + // OpenIdIssuer: The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application. + // When using Azure Active Directory, this value is the URI of the directory tenant, e.g. + // https://login.microsoftonline.com/v2.0/{tenant-guid}/. + // This URI is a case-sensitive identifier for the token issuer. + // More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html + OpenIdIssuer *string `json:"openIdIssuer,omitempty"` +} + +var _ genruntime.FromARMConverter = &AzureActiveDirectoryRegistration_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (registration *AzureActiveDirectoryRegistration_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AzureActiveDirectoryRegistration_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (registration *AzureActiveDirectoryRegistration_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AzureActiveDirectoryRegistration_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AzureActiveDirectoryRegistration_STATUS, got %T", armInput) + } + + // Set property "ClientId": + if typedInput.ClientId != nil { + clientId := *typedInput.ClientId + registration.ClientId = &clientId + } + + // Set property "ClientSecretCertificateIssuer": + if typedInput.ClientSecretCertificateIssuer != nil { + clientSecretCertificateIssuer := *typedInput.ClientSecretCertificateIssuer + registration.ClientSecretCertificateIssuer = &clientSecretCertificateIssuer + } + + // Set property "ClientSecretCertificateSubjectAlternativeName": + if typedInput.ClientSecretCertificateSubjectAlternativeName != nil { + clientSecretCertificateSubjectAlternativeName := *typedInput.ClientSecretCertificateSubjectAlternativeName + registration.ClientSecretCertificateSubjectAlternativeName = &clientSecretCertificateSubjectAlternativeName + } + + // Set property "ClientSecretCertificateThumbprint": + if typedInput.ClientSecretCertificateThumbprint != nil { + clientSecretCertificateThumbprint := *typedInput.ClientSecretCertificateThumbprint + registration.ClientSecretCertificateThumbprint = &clientSecretCertificateThumbprint + } + + // Set property "ClientSecretSettingName": + if typedInput.ClientSecretSettingName != nil { + clientSecretSettingName := *typedInput.ClientSecretSettingName + registration.ClientSecretSettingName = &clientSecretSettingName + } + + // Set property "OpenIdIssuer": + if typedInput.OpenIdIssuer != nil { + openIdIssuer := *typedInput.OpenIdIssuer + registration.OpenIdIssuer = &openIdIssuer + } + + // No error + return nil +} + +// AssignProperties_From_AzureActiveDirectoryRegistration_STATUS populates our AzureActiveDirectoryRegistration_STATUS from the provided source AzureActiveDirectoryRegistration_STATUS +func (registration *AzureActiveDirectoryRegistration_STATUS) AssignProperties_From_AzureActiveDirectoryRegistration_STATUS(source *storage.AzureActiveDirectoryRegistration_STATUS) error { + + // ClientId + registration.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // ClientSecretCertificateIssuer + registration.ClientSecretCertificateIssuer = genruntime.ClonePointerToString(source.ClientSecretCertificateIssuer) + + // ClientSecretCertificateSubjectAlternativeName + registration.ClientSecretCertificateSubjectAlternativeName = genruntime.ClonePointerToString(source.ClientSecretCertificateSubjectAlternativeName) + + // ClientSecretCertificateThumbprint + registration.ClientSecretCertificateThumbprint = genruntime.ClonePointerToString(source.ClientSecretCertificateThumbprint) + + // ClientSecretSettingName + registration.ClientSecretSettingName = genruntime.ClonePointerToString(source.ClientSecretSettingName) + + // OpenIdIssuer + registration.OpenIdIssuer = genruntime.ClonePointerToString(source.OpenIdIssuer) + + // No error + return nil +} + +// AssignProperties_To_AzureActiveDirectoryRegistration_STATUS populates the provided destination AzureActiveDirectoryRegistration_STATUS from our AzureActiveDirectoryRegistration_STATUS +func (registration *AzureActiveDirectoryRegistration_STATUS) AssignProperties_To_AzureActiveDirectoryRegistration_STATUS(destination *storage.AzureActiveDirectoryRegistration_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ClientId + destination.ClientId = genruntime.ClonePointerToString(registration.ClientId) + + // ClientSecretCertificateIssuer + destination.ClientSecretCertificateIssuer = genruntime.ClonePointerToString(registration.ClientSecretCertificateIssuer) + + // ClientSecretCertificateSubjectAlternativeName + destination.ClientSecretCertificateSubjectAlternativeName = genruntime.ClonePointerToString(registration.ClientSecretCertificateSubjectAlternativeName) + + // ClientSecretCertificateThumbprint + destination.ClientSecretCertificateThumbprint = genruntime.ClonePointerToString(registration.ClientSecretCertificateThumbprint) + + // ClientSecretSettingName + destination.ClientSecretSettingName = genruntime.ClonePointerToString(registration.ClientSecretSettingName) + + // OpenIdIssuer + destination.OpenIdIssuer = genruntime.ClonePointerToString(registration.OpenIdIssuer) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings of the Azure Active Directory token validation flow. +type AzureActiveDirectoryValidation struct { + // AllowedAudiences: The list of audiences that can make successful authentication/authorization requests. + AllowedAudiences []string `json:"allowedAudiences,omitempty"` + + // DefaultAuthorizationPolicy: The configuration settings of the default authorization policy. + DefaultAuthorizationPolicy *DefaultAuthorizationPolicy `json:"defaultAuthorizationPolicy,omitempty"` + + // JwtClaimChecks: The configuration settings of the checks that should be made while validating the JWT Claims. + JwtClaimChecks *JwtClaimChecks `json:"jwtClaimChecks,omitempty"` +} + +var _ genruntime.ARMTransformer = &AzureActiveDirectoryValidation{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (validation *AzureActiveDirectoryValidation) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if validation == nil { + return nil, nil + } + result := &arm.AzureActiveDirectoryValidation{} + + // Set property "AllowedAudiences": + for _, item := range validation.AllowedAudiences { + result.AllowedAudiences = append(result.AllowedAudiences, item) + } + + // Set property "DefaultAuthorizationPolicy": + if validation.DefaultAuthorizationPolicy != nil { + defaultAuthorizationPolicy_ARM, err := (*validation.DefaultAuthorizationPolicy).ConvertToARM(resolved) + if err != nil { + return nil, err + } + defaultAuthorizationPolicy := *defaultAuthorizationPolicy_ARM.(*arm.DefaultAuthorizationPolicy) + result.DefaultAuthorizationPolicy = &defaultAuthorizationPolicy + } + + // Set property "JwtClaimChecks": + if validation.JwtClaimChecks != nil { + jwtClaimChecks_ARM, err := (*validation.JwtClaimChecks).ConvertToARM(resolved) + if err != nil { + return nil, err + } + jwtClaimChecks := *jwtClaimChecks_ARM.(*arm.JwtClaimChecks) + result.JwtClaimChecks = &jwtClaimChecks + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (validation *AzureActiveDirectoryValidation) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AzureActiveDirectoryValidation{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (validation *AzureActiveDirectoryValidation) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AzureActiveDirectoryValidation) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AzureActiveDirectoryValidation, got %T", armInput) + } + + // Set property "AllowedAudiences": + for _, item := range typedInput.AllowedAudiences { + validation.AllowedAudiences = append(validation.AllowedAudiences, item) + } + + // Set property "DefaultAuthorizationPolicy": + if typedInput.DefaultAuthorizationPolicy != nil { + var defaultAuthorizationPolicy1 DefaultAuthorizationPolicy + err := defaultAuthorizationPolicy1.PopulateFromARM(owner, *typedInput.DefaultAuthorizationPolicy) + if err != nil { + return err + } + defaultAuthorizationPolicy := defaultAuthorizationPolicy1 + validation.DefaultAuthorizationPolicy = &defaultAuthorizationPolicy + } + + // Set property "JwtClaimChecks": + if typedInput.JwtClaimChecks != nil { + var jwtClaimChecks1 JwtClaimChecks + err := jwtClaimChecks1.PopulateFromARM(owner, *typedInput.JwtClaimChecks) + if err != nil { + return err + } + jwtClaimChecks := jwtClaimChecks1 + validation.JwtClaimChecks = &jwtClaimChecks + } + + // No error + return nil +} + +// AssignProperties_From_AzureActiveDirectoryValidation populates our AzureActiveDirectoryValidation from the provided source AzureActiveDirectoryValidation +func (validation *AzureActiveDirectoryValidation) AssignProperties_From_AzureActiveDirectoryValidation(source *storage.AzureActiveDirectoryValidation) error { + + // AllowedAudiences + validation.AllowedAudiences = genruntime.CloneSliceOfString(source.AllowedAudiences) + + // DefaultAuthorizationPolicy + if source.DefaultAuthorizationPolicy != nil { + var defaultAuthorizationPolicy DefaultAuthorizationPolicy + err := defaultAuthorizationPolicy.AssignProperties_From_DefaultAuthorizationPolicy(source.DefaultAuthorizationPolicy) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_DefaultAuthorizationPolicy() to populate field DefaultAuthorizationPolicy") + } + validation.DefaultAuthorizationPolicy = &defaultAuthorizationPolicy + } else { + validation.DefaultAuthorizationPolicy = nil + } + + // JwtClaimChecks + if source.JwtClaimChecks != nil { + var jwtClaimCheck JwtClaimChecks + err := jwtClaimCheck.AssignProperties_From_JwtClaimChecks(source.JwtClaimChecks) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_JwtClaimChecks() to populate field JwtClaimChecks") + } + validation.JwtClaimChecks = &jwtClaimCheck + } else { + validation.JwtClaimChecks = nil + } + + // No error + return nil +} + +// AssignProperties_To_AzureActiveDirectoryValidation populates the provided destination AzureActiveDirectoryValidation from our AzureActiveDirectoryValidation +func (validation *AzureActiveDirectoryValidation) AssignProperties_To_AzureActiveDirectoryValidation(destination *storage.AzureActiveDirectoryValidation) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AllowedAudiences + destination.AllowedAudiences = genruntime.CloneSliceOfString(validation.AllowedAudiences) + + // DefaultAuthorizationPolicy + if validation.DefaultAuthorizationPolicy != nil { + var defaultAuthorizationPolicy storage.DefaultAuthorizationPolicy + err := validation.DefaultAuthorizationPolicy.AssignProperties_To_DefaultAuthorizationPolicy(&defaultAuthorizationPolicy) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_DefaultAuthorizationPolicy() to populate field DefaultAuthorizationPolicy") + } + destination.DefaultAuthorizationPolicy = &defaultAuthorizationPolicy + } else { + destination.DefaultAuthorizationPolicy = nil + } + + // JwtClaimChecks + if validation.JwtClaimChecks != nil { + var jwtClaimCheck storage.JwtClaimChecks + err := validation.JwtClaimChecks.AssignProperties_To_JwtClaimChecks(&jwtClaimCheck) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_JwtClaimChecks() to populate field JwtClaimChecks") + } + destination.JwtClaimChecks = &jwtClaimCheck + } else { + destination.JwtClaimChecks = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_AzureActiveDirectoryValidation_STATUS populates our AzureActiveDirectoryValidation from the provided source AzureActiveDirectoryValidation_STATUS +func (validation *AzureActiveDirectoryValidation) Initialize_From_AzureActiveDirectoryValidation_STATUS(source *AzureActiveDirectoryValidation_STATUS) error { + + // AllowedAudiences + validation.AllowedAudiences = genruntime.CloneSliceOfString(source.AllowedAudiences) + + // DefaultAuthorizationPolicy + if source.DefaultAuthorizationPolicy != nil { + var defaultAuthorizationPolicy DefaultAuthorizationPolicy + err := defaultAuthorizationPolicy.Initialize_From_DefaultAuthorizationPolicy_STATUS(source.DefaultAuthorizationPolicy) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_DefaultAuthorizationPolicy_STATUS() to populate field DefaultAuthorizationPolicy") + } + validation.DefaultAuthorizationPolicy = &defaultAuthorizationPolicy + } else { + validation.DefaultAuthorizationPolicy = nil + } + + // JwtClaimChecks + if source.JwtClaimChecks != nil { + var jwtClaimCheck JwtClaimChecks + err := jwtClaimCheck.Initialize_From_JwtClaimChecks_STATUS(source.JwtClaimChecks) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_JwtClaimChecks_STATUS() to populate field JwtClaimChecks") + } + validation.JwtClaimChecks = &jwtClaimCheck + } else { + validation.JwtClaimChecks = nil + } + + // No error + return nil +} + +// The configuration settings of the Azure Active Directory token validation flow. +type AzureActiveDirectoryValidation_STATUS struct { + // AllowedAudiences: The list of audiences that can make successful authentication/authorization requests. + AllowedAudiences []string `json:"allowedAudiences,omitempty"` + + // DefaultAuthorizationPolicy: The configuration settings of the default authorization policy. + DefaultAuthorizationPolicy *DefaultAuthorizationPolicy_STATUS `json:"defaultAuthorizationPolicy,omitempty"` + + // JwtClaimChecks: The configuration settings of the checks that should be made while validating the JWT Claims. + JwtClaimChecks *JwtClaimChecks_STATUS `json:"jwtClaimChecks,omitempty"` +} + +var _ genruntime.FromARMConverter = &AzureActiveDirectoryValidation_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (validation *AzureActiveDirectoryValidation_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AzureActiveDirectoryValidation_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (validation *AzureActiveDirectoryValidation_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AzureActiveDirectoryValidation_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AzureActiveDirectoryValidation_STATUS, got %T", armInput) + } + + // Set property "AllowedAudiences": + for _, item := range typedInput.AllowedAudiences { + validation.AllowedAudiences = append(validation.AllowedAudiences, item) + } + + // Set property "DefaultAuthorizationPolicy": + if typedInput.DefaultAuthorizationPolicy != nil { + var defaultAuthorizationPolicy1 DefaultAuthorizationPolicy_STATUS + err := defaultAuthorizationPolicy1.PopulateFromARM(owner, *typedInput.DefaultAuthorizationPolicy) + if err != nil { + return err + } + defaultAuthorizationPolicy := defaultAuthorizationPolicy1 + validation.DefaultAuthorizationPolicy = &defaultAuthorizationPolicy + } + + // Set property "JwtClaimChecks": + if typedInput.JwtClaimChecks != nil { + var jwtClaimChecks1 JwtClaimChecks_STATUS + err := jwtClaimChecks1.PopulateFromARM(owner, *typedInput.JwtClaimChecks) + if err != nil { + return err + } + jwtClaimChecks := jwtClaimChecks1 + validation.JwtClaimChecks = &jwtClaimChecks + } + + // No error + return nil +} + +// AssignProperties_From_AzureActiveDirectoryValidation_STATUS populates our AzureActiveDirectoryValidation_STATUS from the provided source AzureActiveDirectoryValidation_STATUS +func (validation *AzureActiveDirectoryValidation_STATUS) AssignProperties_From_AzureActiveDirectoryValidation_STATUS(source *storage.AzureActiveDirectoryValidation_STATUS) error { + + // AllowedAudiences + validation.AllowedAudiences = genruntime.CloneSliceOfString(source.AllowedAudiences) + + // DefaultAuthorizationPolicy + if source.DefaultAuthorizationPolicy != nil { + var defaultAuthorizationPolicy DefaultAuthorizationPolicy_STATUS + err := defaultAuthorizationPolicy.AssignProperties_From_DefaultAuthorizationPolicy_STATUS(source.DefaultAuthorizationPolicy) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_DefaultAuthorizationPolicy_STATUS() to populate field DefaultAuthorizationPolicy") + } + validation.DefaultAuthorizationPolicy = &defaultAuthorizationPolicy + } else { + validation.DefaultAuthorizationPolicy = nil + } + + // JwtClaimChecks + if source.JwtClaimChecks != nil { + var jwtClaimCheck JwtClaimChecks_STATUS + err := jwtClaimCheck.AssignProperties_From_JwtClaimChecks_STATUS(source.JwtClaimChecks) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_JwtClaimChecks_STATUS() to populate field JwtClaimChecks") + } + validation.JwtClaimChecks = &jwtClaimCheck + } else { + validation.JwtClaimChecks = nil + } + + // No error + return nil +} + +// AssignProperties_To_AzureActiveDirectoryValidation_STATUS populates the provided destination AzureActiveDirectoryValidation_STATUS from our AzureActiveDirectoryValidation_STATUS +func (validation *AzureActiveDirectoryValidation_STATUS) AssignProperties_To_AzureActiveDirectoryValidation_STATUS(destination *storage.AzureActiveDirectoryValidation_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AllowedAudiences + destination.AllowedAudiences = genruntime.CloneSliceOfString(validation.AllowedAudiences) + + // DefaultAuthorizationPolicy + if validation.DefaultAuthorizationPolicy != nil { + var defaultAuthorizationPolicy storage.DefaultAuthorizationPolicy_STATUS + err := validation.DefaultAuthorizationPolicy.AssignProperties_To_DefaultAuthorizationPolicy_STATUS(&defaultAuthorizationPolicy) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_DefaultAuthorizationPolicy_STATUS() to populate field DefaultAuthorizationPolicy") + } + destination.DefaultAuthorizationPolicy = &defaultAuthorizationPolicy + } else { + destination.DefaultAuthorizationPolicy = nil + } + + // JwtClaimChecks + if validation.JwtClaimChecks != nil { + var jwtClaimCheck storage.JwtClaimChecks_STATUS + err := validation.JwtClaimChecks.AssignProperties_To_JwtClaimChecks_STATUS(&jwtClaimCheck) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_JwtClaimChecks_STATUS() to populate field JwtClaimChecks") + } + destination.JwtClaimChecks = &jwtClaimCheck + } else { + destination.JwtClaimChecks = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings of the registration for the Azure Static Web Apps provider +type AzureStaticWebAppsRegistration struct { + // ClientId: The Client ID of the app used for login. + ClientId *string `json:"clientId,omitempty"` +} + +var _ genruntime.ARMTransformer = &AzureStaticWebAppsRegistration{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (registration *AzureStaticWebAppsRegistration) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if registration == nil { + return nil, nil + } + result := &arm.AzureStaticWebAppsRegistration{} + + // Set property "ClientId": + if registration.ClientId != nil { + clientId := *registration.ClientId + result.ClientId = &clientId + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (registration *AzureStaticWebAppsRegistration) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AzureStaticWebAppsRegistration{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (registration *AzureStaticWebAppsRegistration) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AzureStaticWebAppsRegistration) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AzureStaticWebAppsRegistration, got %T", armInput) + } + + // Set property "ClientId": + if typedInput.ClientId != nil { + clientId := *typedInput.ClientId + registration.ClientId = &clientId + } + + // No error + return nil +} + +// AssignProperties_From_AzureStaticWebAppsRegistration populates our AzureStaticWebAppsRegistration from the provided source AzureStaticWebAppsRegistration +func (registration *AzureStaticWebAppsRegistration) AssignProperties_From_AzureStaticWebAppsRegistration(source *storage.AzureStaticWebAppsRegistration) error { + + // ClientId + registration.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // No error + return nil +} + +// AssignProperties_To_AzureStaticWebAppsRegistration populates the provided destination AzureStaticWebAppsRegistration from our AzureStaticWebAppsRegistration +func (registration *AzureStaticWebAppsRegistration) AssignProperties_To_AzureStaticWebAppsRegistration(destination *storage.AzureStaticWebAppsRegistration) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ClientId + destination.ClientId = genruntime.ClonePointerToString(registration.ClientId) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_AzureStaticWebAppsRegistration_STATUS populates our AzureStaticWebAppsRegistration from the provided source AzureStaticWebAppsRegistration_STATUS +func (registration *AzureStaticWebAppsRegistration) Initialize_From_AzureStaticWebAppsRegistration_STATUS(source *AzureStaticWebAppsRegistration_STATUS) error { + + // ClientId + registration.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // No error + return nil +} + +// The configuration settings of the registration for the Azure Static Web Apps provider +type AzureStaticWebAppsRegistration_STATUS struct { + // ClientId: The Client ID of the app used for login. + ClientId *string `json:"clientId,omitempty"` +} + +var _ genruntime.FromARMConverter = &AzureStaticWebAppsRegistration_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (registration *AzureStaticWebAppsRegistration_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AzureStaticWebAppsRegistration_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (registration *AzureStaticWebAppsRegistration_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AzureStaticWebAppsRegistration_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AzureStaticWebAppsRegistration_STATUS, got %T", armInput) + } + + // Set property "ClientId": + if typedInput.ClientId != nil { + clientId := *typedInput.ClientId + registration.ClientId = &clientId + } + + // No error + return nil +} + +// AssignProperties_From_AzureStaticWebAppsRegistration_STATUS populates our AzureStaticWebAppsRegistration_STATUS from the provided source AzureStaticWebAppsRegistration_STATUS +func (registration *AzureStaticWebAppsRegistration_STATUS) AssignProperties_From_AzureStaticWebAppsRegistration_STATUS(source *storage.AzureStaticWebAppsRegistration_STATUS) error { + + // ClientId + registration.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // No error + return nil +} + +// AssignProperties_To_AzureStaticWebAppsRegistration_STATUS populates the provided destination AzureStaticWebAppsRegistration_STATUS from our AzureStaticWebAppsRegistration_STATUS +func (registration *AzureStaticWebAppsRegistration_STATUS) AssignProperties_To_AzureStaticWebAppsRegistration_STATUS(destination *storage.AzureStaticWebAppsRegistration_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ClientId + destination.ClientId = genruntime.ClonePointerToString(registration.ClientId) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings of the storage of the tokens if blob storage is used. +type BlobStorageTokenStore struct { + // +kubebuilder:validation:Required + // SasUrlSettingName: The name of the app secrets containing the SAS URL of the blob storage containing the tokens. + SasUrlSettingName *string `json:"sasUrlSettingName,omitempty"` +} + +var _ genruntime.ARMTransformer = &BlobStorageTokenStore{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (store *BlobStorageTokenStore) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if store == nil { + return nil, nil + } + result := &arm.BlobStorageTokenStore{} + + // Set property "SasUrlSettingName": + if store.SasUrlSettingName != nil { + sasUrlSettingName := *store.SasUrlSettingName + result.SasUrlSettingName = &sasUrlSettingName + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (store *BlobStorageTokenStore) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.BlobStorageTokenStore{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (store *BlobStorageTokenStore) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.BlobStorageTokenStore) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.BlobStorageTokenStore, got %T", armInput) + } + + // Set property "SasUrlSettingName": + if typedInput.SasUrlSettingName != nil { + sasUrlSettingName := *typedInput.SasUrlSettingName + store.SasUrlSettingName = &sasUrlSettingName + } + + // No error + return nil +} + +// AssignProperties_From_BlobStorageTokenStore populates our BlobStorageTokenStore from the provided source BlobStorageTokenStore +func (store *BlobStorageTokenStore) AssignProperties_From_BlobStorageTokenStore(source *storage.BlobStorageTokenStore) error { + + // SasUrlSettingName + store.SasUrlSettingName = genruntime.ClonePointerToString(source.SasUrlSettingName) + + // No error + return nil +} + +// AssignProperties_To_BlobStorageTokenStore populates the provided destination BlobStorageTokenStore from our BlobStorageTokenStore +func (store *BlobStorageTokenStore) AssignProperties_To_BlobStorageTokenStore(destination *storage.BlobStorageTokenStore) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // SasUrlSettingName + destination.SasUrlSettingName = genruntime.ClonePointerToString(store.SasUrlSettingName) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_BlobStorageTokenStore_STATUS populates our BlobStorageTokenStore from the provided source BlobStorageTokenStore_STATUS +func (store *BlobStorageTokenStore) Initialize_From_BlobStorageTokenStore_STATUS(source *BlobStorageTokenStore_STATUS) error { + + // SasUrlSettingName + store.SasUrlSettingName = genruntime.ClonePointerToString(source.SasUrlSettingName) + + // No error + return nil +} + +// The configuration settings of the storage of the tokens if blob storage is used. +type BlobStorageTokenStore_STATUS struct { + // SasUrlSettingName: The name of the app secrets containing the SAS URL of the blob storage containing the tokens. + SasUrlSettingName *string `json:"sasUrlSettingName,omitempty"` +} + +var _ genruntime.FromARMConverter = &BlobStorageTokenStore_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (store *BlobStorageTokenStore_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.BlobStorageTokenStore_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (store *BlobStorageTokenStore_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.BlobStorageTokenStore_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.BlobStorageTokenStore_STATUS, got %T", armInput) + } + + // Set property "SasUrlSettingName": + if typedInput.SasUrlSettingName != nil { + sasUrlSettingName := *typedInput.SasUrlSettingName + store.SasUrlSettingName = &sasUrlSettingName + } + + // No error + return nil +} + +// AssignProperties_From_BlobStorageTokenStore_STATUS populates our BlobStorageTokenStore_STATUS from the provided source BlobStorageTokenStore_STATUS +func (store *BlobStorageTokenStore_STATUS) AssignProperties_From_BlobStorageTokenStore_STATUS(source *storage.BlobStorageTokenStore_STATUS) error { + + // SasUrlSettingName + store.SasUrlSettingName = genruntime.ClonePointerToString(source.SasUrlSettingName) + + // No error + return nil +} + +// AssignProperties_To_BlobStorageTokenStore_STATUS populates the provided destination BlobStorageTokenStore_STATUS from our BlobStorageTokenStore_STATUS +func (store *BlobStorageTokenStore_STATUS) AssignProperties_To_BlobStorageTokenStore_STATUS(destination *storage.BlobStorageTokenStore_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // SasUrlSettingName + destination.SasUrlSettingName = genruntime.ClonePointerToString(store.SasUrlSettingName) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings of the app registration for providers that have client ids and client secrets +type ClientRegistration struct { + // ClientId: The Client ID of the app used for login. + ClientId *string `json:"clientId,omitempty"` + + // ClientSecretSettingName: The app setting name that contains the client secret. + ClientSecretSettingName *string `json:"clientSecretSettingName,omitempty"` +} + +var _ genruntime.ARMTransformer = &ClientRegistration{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (registration *ClientRegistration) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if registration == nil { + return nil, nil + } + result := &arm.ClientRegistration{} + + // Set property "ClientId": + if registration.ClientId != nil { + clientId := *registration.ClientId + result.ClientId = &clientId + } + + // Set property "ClientSecretSettingName": + if registration.ClientSecretSettingName != nil { + clientSecretSettingName := *registration.ClientSecretSettingName + result.ClientSecretSettingName = &clientSecretSettingName + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (registration *ClientRegistration) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ClientRegistration{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (registration *ClientRegistration) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ClientRegistration) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ClientRegistration, got %T", armInput) + } + + // Set property "ClientId": + if typedInput.ClientId != nil { + clientId := *typedInput.ClientId + registration.ClientId = &clientId + } + + // Set property "ClientSecretSettingName": + if typedInput.ClientSecretSettingName != nil { + clientSecretSettingName := *typedInput.ClientSecretSettingName + registration.ClientSecretSettingName = &clientSecretSettingName + } + + // No error + return nil +} + +// AssignProperties_From_ClientRegistration populates our ClientRegistration from the provided source ClientRegistration +func (registration *ClientRegistration) AssignProperties_From_ClientRegistration(source *storage.ClientRegistration) error { + + // ClientId + registration.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // ClientSecretSettingName + registration.ClientSecretSettingName = genruntime.ClonePointerToString(source.ClientSecretSettingName) + + // No error + return nil +} + +// AssignProperties_To_ClientRegistration populates the provided destination ClientRegistration from our ClientRegistration +func (registration *ClientRegistration) AssignProperties_To_ClientRegistration(destination *storage.ClientRegistration) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ClientId + destination.ClientId = genruntime.ClonePointerToString(registration.ClientId) + + // ClientSecretSettingName + destination.ClientSecretSettingName = genruntime.ClonePointerToString(registration.ClientSecretSettingName) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ClientRegistration_STATUS populates our ClientRegistration from the provided source ClientRegistration_STATUS +func (registration *ClientRegistration) Initialize_From_ClientRegistration_STATUS(source *ClientRegistration_STATUS) error { + + // ClientId + registration.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // ClientSecretSettingName + registration.ClientSecretSettingName = genruntime.ClonePointerToString(source.ClientSecretSettingName) + + // No error + return nil +} + +// The configuration settings of the app registration for providers that have client ids and client secrets +type ClientRegistration_STATUS struct { + // ClientId: The Client ID of the app used for login. + ClientId *string `json:"clientId,omitempty"` + + // ClientSecretSettingName: The app setting name that contains the client secret. + ClientSecretSettingName *string `json:"clientSecretSettingName,omitempty"` +} + +var _ genruntime.FromARMConverter = &ClientRegistration_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (registration *ClientRegistration_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ClientRegistration_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (registration *ClientRegistration_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ClientRegistration_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ClientRegistration_STATUS, got %T", armInput) + } + + // Set property "ClientId": + if typedInput.ClientId != nil { + clientId := *typedInput.ClientId + registration.ClientId = &clientId + } + + // Set property "ClientSecretSettingName": + if typedInput.ClientSecretSettingName != nil { + clientSecretSettingName := *typedInput.ClientSecretSettingName + registration.ClientSecretSettingName = &clientSecretSettingName + } + + // No error + return nil +} + +// AssignProperties_From_ClientRegistration_STATUS populates our ClientRegistration_STATUS from the provided source ClientRegistration_STATUS +func (registration *ClientRegistration_STATUS) AssignProperties_From_ClientRegistration_STATUS(source *storage.ClientRegistration_STATUS) error { + + // ClientId + registration.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // ClientSecretSettingName + registration.ClientSecretSettingName = genruntime.ClonePointerToString(source.ClientSecretSettingName) + + // No error + return nil +} + +// AssignProperties_To_ClientRegistration_STATUS populates the provided destination ClientRegistration_STATUS from our ClientRegistration_STATUS +func (registration *ClientRegistration_STATUS) AssignProperties_To_ClientRegistration_STATUS(destination *storage.ClientRegistration_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ClientId + destination.ClientId = genruntime.ClonePointerToString(registration.ClientId) + + // ClientSecretSettingName + destination.ClientSecretSettingName = genruntime.ClonePointerToString(registration.ClientSecretSettingName) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"FixedTime","IdentityProviderDerived"} +type CookieExpiration_Convention string + +const ( + CookieExpiration_Convention_FixedTime = CookieExpiration_Convention("FixedTime") + CookieExpiration_Convention_IdentityProviderDerived = CookieExpiration_Convention("IdentityProviderDerived") +) + +// Mapping from string to CookieExpiration_Convention +var cookieExpiration_Convention_Values = map[string]CookieExpiration_Convention{ + "fixedtime": CookieExpiration_Convention_FixedTime, + "identityproviderderived": CookieExpiration_Convention_IdentityProviderDerived, +} + +type CookieExpiration_Convention_STATUS string + +const ( + CookieExpiration_Convention_STATUS_FixedTime = CookieExpiration_Convention_STATUS("FixedTime") + CookieExpiration_Convention_STATUS_IdentityProviderDerived = CookieExpiration_Convention_STATUS("IdentityProviderDerived") +) + +// Mapping from string to CookieExpiration_Convention_STATUS +var cookieExpiration_Convention_STATUS_Values = map[string]CookieExpiration_Convention_STATUS{ + "fixedtime": CookieExpiration_Convention_STATUS_FixedTime, + "identityproviderderived": CookieExpiration_Convention_STATUS_IdentityProviderDerived, +} + +// +kubebuilder:validation:Enum={"Custom","NoProxy","Standard"} +type ForwardProxy_Convention string + +const ( + ForwardProxy_Convention_Custom = ForwardProxy_Convention("Custom") + ForwardProxy_Convention_NoProxy = ForwardProxy_Convention("NoProxy") + ForwardProxy_Convention_Standard = ForwardProxy_Convention("Standard") +) + +// Mapping from string to ForwardProxy_Convention +var forwardProxy_Convention_Values = map[string]ForwardProxy_Convention{ + "custom": ForwardProxy_Convention_Custom, + "noproxy": ForwardProxy_Convention_NoProxy, + "standard": ForwardProxy_Convention_Standard, +} + +type ForwardProxy_Convention_STATUS string + +const ( + ForwardProxy_Convention_STATUS_Custom = ForwardProxy_Convention_STATUS("Custom") + ForwardProxy_Convention_STATUS_NoProxy = ForwardProxy_Convention_STATUS("NoProxy") + ForwardProxy_Convention_STATUS_Standard = ForwardProxy_Convention_STATUS("Standard") +) + +// Mapping from string to ForwardProxy_Convention_STATUS +var forwardProxy_Convention_STATUS_Values = map[string]ForwardProxy_Convention_STATUS{ + "custom": ForwardProxy_Convention_STATUS_Custom, + "noproxy": ForwardProxy_Convention_STATUS_NoProxy, + "standard": ForwardProxy_Convention_STATUS_Standard, +} + +// The configuration settings of the login flow, including the scopes that should be requested. +type LoginScopes struct { + // Scopes: A list of the scopes that should be requested while authenticating. + Scopes []string `json:"scopes,omitempty"` +} + +var _ genruntime.ARMTransformer = &LoginScopes{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (scopes *LoginScopes) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if scopes == nil { + return nil, nil + } + result := &arm.LoginScopes{} + + // Set property "Scopes": + for _, item := range scopes.Scopes { + result.Scopes = append(result.Scopes, item) + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (scopes *LoginScopes) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.LoginScopes{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (scopes *LoginScopes) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.LoginScopes) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.LoginScopes, got %T", armInput) + } + + // Set property "Scopes": + for _, item := range typedInput.Scopes { + scopes.Scopes = append(scopes.Scopes, item) + } + + // No error + return nil +} + +// AssignProperties_From_LoginScopes populates our LoginScopes from the provided source LoginScopes +func (scopes *LoginScopes) AssignProperties_From_LoginScopes(source *storage.LoginScopes) error { + + // Scopes + scopes.Scopes = genruntime.CloneSliceOfString(source.Scopes) + + // No error + return nil +} + +// AssignProperties_To_LoginScopes populates the provided destination LoginScopes from our LoginScopes +func (scopes *LoginScopes) AssignProperties_To_LoginScopes(destination *storage.LoginScopes) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Scopes + destination.Scopes = genruntime.CloneSliceOfString(scopes.Scopes) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_LoginScopes_STATUS populates our LoginScopes from the provided source LoginScopes_STATUS +func (scopes *LoginScopes) Initialize_From_LoginScopes_STATUS(source *LoginScopes_STATUS) error { + + // Scopes + scopes.Scopes = genruntime.CloneSliceOfString(source.Scopes) + + // No error + return nil +} + +// The configuration settings of the login flow, including the scopes that should be requested. +type LoginScopes_STATUS struct { + // Scopes: A list of the scopes that should be requested while authenticating. + Scopes []string `json:"scopes,omitempty"` +} + +var _ genruntime.FromARMConverter = &LoginScopes_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (scopes *LoginScopes_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.LoginScopes_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (scopes *LoginScopes_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.LoginScopes_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.LoginScopes_STATUS, got %T", armInput) + } + + // Set property "Scopes": + for _, item := range typedInput.Scopes { + scopes.Scopes = append(scopes.Scopes, item) + } + + // No error + return nil +} + +// AssignProperties_From_LoginScopes_STATUS populates our LoginScopes_STATUS from the provided source LoginScopes_STATUS +func (scopes *LoginScopes_STATUS) AssignProperties_From_LoginScopes_STATUS(source *storage.LoginScopes_STATUS) error { + + // Scopes + scopes.Scopes = genruntime.CloneSliceOfString(source.Scopes) + + // No error + return nil +} + +// AssignProperties_To_LoginScopes_STATUS populates the provided destination LoginScopes_STATUS from our LoginScopes_STATUS +func (scopes *LoginScopes_STATUS) AssignProperties_To_LoginScopes_STATUS(destination *storage.LoginScopes_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Scopes + destination.Scopes = genruntime.CloneSliceOfString(scopes.Scopes) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings of the login flow of the custom Open ID Connect provider. +type OpenIdConnectLogin struct { + // NameClaimType: The name of the claim that contains the users name. + NameClaimType *string `json:"nameClaimType,omitempty"` + + // Scopes: A list of the scopes that should be requested while authenticating. + Scopes []string `json:"scopes,omitempty"` +} + +var _ genruntime.ARMTransformer = &OpenIdConnectLogin{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (login *OpenIdConnectLogin) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if login == nil { + return nil, nil + } + result := &arm.OpenIdConnectLogin{} + + // Set property "NameClaimType": + if login.NameClaimType != nil { + nameClaimType := *login.NameClaimType + result.NameClaimType = &nameClaimType + } + + // Set property "Scopes": + for _, item := range login.Scopes { + result.Scopes = append(result.Scopes, item) + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (login *OpenIdConnectLogin) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.OpenIdConnectLogin{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (login *OpenIdConnectLogin) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.OpenIdConnectLogin) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.OpenIdConnectLogin, got %T", armInput) + } + + // Set property "NameClaimType": + if typedInput.NameClaimType != nil { + nameClaimType := *typedInput.NameClaimType + login.NameClaimType = &nameClaimType + } + + // Set property "Scopes": + for _, item := range typedInput.Scopes { + login.Scopes = append(login.Scopes, item) + } + + // No error + return nil +} + +// AssignProperties_From_OpenIdConnectLogin populates our OpenIdConnectLogin from the provided source OpenIdConnectLogin +func (login *OpenIdConnectLogin) AssignProperties_From_OpenIdConnectLogin(source *storage.OpenIdConnectLogin) error { + + // NameClaimType + login.NameClaimType = genruntime.ClonePointerToString(source.NameClaimType) + + // Scopes + login.Scopes = genruntime.CloneSliceOfString(source.Scopes) + + // No error + return nil +} + +// AssignProperties_To_OpenIdConnectLogin populates the provided destination OpenIdConnectLogin from our OpenIdConnectLogin +func (login *OpenIdConnectLogin) AssignProperties_To_OpenIdConnectLogin(destination *storage.OpenIdConnectLogin) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // NameClaimType + destination.NameClaimType = genruntime.ClonePointerToString(login.NameClaimType) + + // Scopes + destination.Scopes = genruntime.CloneSliceOfString(login.Scopes) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_OpenIdConnectLogin_STATUS populates our OpenIdConnectLogin from the provided source OpenIdConnectLogin_STATUS +func (login *OpenIdConnectLogin) Initialize_From_OpenIdConnectLogin_STATUS(source *OpenIdConnectLogin_STATUS) error { + + // NameClaimType + login.NameClaimType = genruntime.ClonePointerToString(source.NameClaimType) + + // Scopes + login.Scopes = genruntime.CloneSliceOfString(source.Scopes) + + // No error + return nil +} + +// The configuration settings of the login flow of the custom Open ID Connect provider. +type OpenIdConnectLogin_STATUS struct { + // NameClaimType: The name of the claim that contains the users name. + NameClaimType *string `json:"nameClaimType,omitempty"` + + // Scopes: A list of the scopes that should be requested while authenticating. + Scopes []string `json:"scopes,omitempty"` +} + +var _ genruntime.FromARMConverter = &OpenIdConnectLogin_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (login *OpenIdConnectLogin_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.OpenIdConnectLogin_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (login *OpenIdConnectLogin_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.OpenIdConnectLogin_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.OpenIdConnectLogin_STATUS, got %T", armInput) + } + + // Set property "NameClaimType": + if typedInput.NameClaimType != nil { + nameClaimType := *typedInput.NameClaimType + login.NameClaimType = &nameClaimType + } + + // Set property "Scopes": + for _, item := range typedInput.Scopes { + login.Scopes = append(login.Scopes, item) + } + + // No error + return nil +} + +// AssignProperties_From_OpenIdConnectLogin_STATUS populates our OpenIdConnectLogin_STATUS from the provided source OpenIdConnectLogin_STATUS +func (login *OpenIdConnectLogin_STATUS) AssignProperties_From_OpenIdConnectLogin_STATUS(source *storage.OpenIdConnectLogin_STATUS) error { + + // NameClaimType + login.NameClaimType = genruntime.ClonePointerToString(source.NameClaimType) + + // Scopes + login.Scopes = genruntime.CloneSliceOfString(source.Scopes) + + // No error + return nil +} + +// AssignProperties_To_OpenIdConnectLogin_STATUS populates the provided destination OpenIdConnectLogin_STATUS from our OpenIdConnectLogin_STATUS +func (login *OpenIdConnectLogin_STATUS) AssignProperties_To_OpenIdConnectLogin_STATUS(destination *storage.OpenIdConnectLogin_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // NameClaimType + destination.NameClaimType = genruntime.ClonePointerToString(login.NameClaimType) + + // Scopes + destination.Scopes = genruntime.CloneSliceOfString(login.Scopes) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings of the app registration for the custom Open ID Connect provider. +type OpenIdConnectRegistration struct { + // ClientCredential: The authentication credentials of the custom Open ID Connect provider. + ClientCredential *OpenIdConnectClientCredential `json:"clientCredential,omitempty"` + + // ClientId: The client id of the custom Open ID Connect provider. + ClientId *string `json:"clientId,omitempty"` + + // OpenIdConnectConfiguration: The configuration settings of the endpoints used for the custom Open ID Connect provider. + OpenIdConnectConfiguration *OpenIdConnectConfig `json:"openIdConnectConfiguration,omitempty"` +} + +var _ genruntime.ARMTransformer = &OpenIdConnectRegistration{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (registration *OpenIdConnectRegistration) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if registration == nil { + return nil, nil + } + result := &arm.OpenIdConnectRegistration{} + + // Set property "ClientCredential": + if registration.ClientCredential != nil { + clientCredential_ARM, err := (*registration.ClientCredential).ConvertToARM(resolved) + if err != nil { + return nil, err + } + clientCredential := *clientCredential_ARM.(*arm.OpenIdConnectClientCredential) + result.ClientCredential = &clientCredential + } + + // Set property "ClientId": + if registration.ClientId != nil { + clientId := *registration.ClientId + result.ClientId = &clientId + } + + // Set property "OpenIdConnectConfiguration": + if registration.OpenIdConnectConfiguration != nil { + openIdConnectConfiguration_ARM, err := (*registration.OpenIdConnectConfiguration).ConvertToARM(resolved) + if err != nil { + return nil, err + } + openIdConnectConfiguration := *openIdConnectConfiguration_ARM.(*arm.OpenIdConnectConfig) + result.OpenIdConnectConfiguration = &openIdConnectConfiguration + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (registration *OpenIdConnectRegistration) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.OpenIdConnectRegistration{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (registration *OpenIdConnectRegistration) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.OpenIdConnectRegistration) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.OpenIdConnectRegistration, got %T", armInput) + } + + // Set property "ClientCredential": + if typedInput.ClientCredential != nil { + var clientCredential1 OpenIdConnectClientCredential + err := clientCredential1.PopulateFromARM(owner, *typedInput.ClientCredential) + if err != nil { + return err + } + clientCredential := clientCredential1 + registration.ClientCredential = &clientCredential + } + + // Set property "ClientId": + if typedInput.ClientId != nil { + clientId := *typedInput.ClientId + registration.ClientId = &clientId + } + + // Set property "OpenIdConnectConfiguration": + if typedInput.OpenIdConnectConfiguration != nil { + var openIdConnectConfiguration1 OpenIdConnectConfig + err := openIdConnectConfiguration1.PopulateFromARM(owner, *typedInput.OpenIdConnectConfiguration) + if err != nil { + return err + } + openIdConnectConfiguration := openIdConnectConfiguration1 + registration.OpenIdConnectConfiguration = &openIdConnectConfiguration + } + + // No error + return nil +} + +// AssignProperties_From_OpenIdConnectRegistration populates our OpenIdConnectRegistration from the provided source OpenIdConnectRegistration +func (registration *OpenIdConnectRegistration) AssignProperties_From_OpenIdConnectRegistration(source *storage.OpenIdConnectRegistration) error { + + // ClientCredential + if source.ClientCredential != nil { + var clientCredential OpenIdConnectClientCredential + err := clientCredential.AssignProperties_From_OpenIdConnectClientCredential(source.ClientCredential) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_OpenIdConnectClientCredential() to populate field ClientCredential") + } + registration.ClientCredential = &clientCredential + } else { + registration.ClientCredential = nil + } + + // ClientId + registration.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // OpenIdConnectConfiguration + if source.OpenIdConnectConfiguration != nil { + var openIdConnectConfiguration OpenIdConnectConfig + err := openIdConnectConfiguration.AssignProperties_From_OpenIdConnectConfig(source.OpenIdConnectConfiguration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_OpenIdConnectConfig() to populate field OpenIdConnectConfiguration") + } + registration.OpenIdConnectConfiguration = &openIdConnectConfiguration + } else { + registration.OpenIdConnectConfiguration = nil + } + + // No error + return nil +} + +// AssignProperties_To_OpenIdConnectRegistration populates the provided destination OpenIdConnectRegistration from our OpenIdConnectRegistration +func (registration *OpenIdConnectRegistration) AssignProperties_To_OpenIdConnectRegistration(destination *storage.OpenIdConnectRegistration) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ClientCredential + if registration.ClientCredential != nil { + var clientCredential storage.OpenIdConnectClientCredential + err := registration.ClientCredential.AssignProperties_To_OpenIdConnectClientCredential(&clientCredential) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_OpenIdConnectClientCredential() to populate field ClientCredential") + } + destination.ClientCredential = &clientCredential + } else { + destination.ClientCredential = nil + } + + // ClientId + destination.ClientId = genruntime.ClonePointerToString(registration.ClientId) + + // OpenIdConnectConfiguration + if registration.OpenIdConnectConfiguration != nil { + var openIdConnectConfiguration storage.OpenIdConnectConfig + err := registration.OpenIdConnectConfiguration.AssignProperties_To_OpenIdConnectConfig(&openIdConnectConfiguration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_OpenIdConnectConfig() to populate field OpenIdConnectConfiguration") + } + destination.OpenIdConnectConfiguration = &openIdConnectConfiguration + } else { + destination.OpenIdConnectConfiguration = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_OpenIdConnectRegistration_STATUS populates our OpenIdConnectRegistration from the provided source OpenIdConnectRegistration_STATUS +func (registration *OpenIdConnectRegistration) Initialize_From_OpenIdConnectRegistration_STATUS(source *OpenIdConnectRegistration_STATUS) error { + + // ClientCredential + if source.ClientCredential != nil { + var clientCredential OpenIdConnectClientCredential + err := clientCredential.Initialize_From_OpenIdConnectClientCredential_STATUS(source.ClientCredential) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_OpenIdConnectClientCredential_STATUS() to populate field ClientCredential") + } + registration.ClientCredential = &clientCredential + } else { + registration.ClientCredential = nil + } + + // ClientId + registration.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // OpenIdConnectConfiguration + if source.OpenIdConnectConfiguration != nil { + var openIdConnectConfiguration OpenIdConnectConfig + err := openIdConnectConfiguration.Initialize_From_OpenIdConnectConfig_STATUS(source.OpenIdConnectConfiguration) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_OpenIdConnectConfig_STATUS() to populate field OpenIdConnectConfiguration") + } + registration.OpenIdConnectConfiguration = &openIdConnectConfiguration + } else { + registration.OpenIdConnectConfiguration = nil + } + + // No error + return nil +} + +// The configuration settings of the app registration for the custom Open ID Connect provider. +type OpenIdConnectRegistration_STATUS struct { + // ClientCredential: The authentication credentials of the custom Open ID Connect provider. + ClientCredential *OpenIdConnectClientCredential_STATUS `json:"clientCredential,omitempty"` + + // ClientId: The client id of the custom Open ID Connect provider. + ClientId *string `json:"clientId,omitempty"` + + // OpenIdConnectConfiguration: The configuration settings of the endpoints used for the custom Open ID Connect provider. + OpenIdConnectConfiguration *OpenIdConnectConfig_STATUS `json:"openIdConnectConfiguration,omitempty"` +} + +var _ genruntime.FromARMConverter = &OpenIdConnectRegistration_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (registration *OpenIdConnectRegistration_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.OpenIdConnectRegistration_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (registration *OpenIdConnectRegistration_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.OpenIdConnectRegistration_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.OpenIdConnectRegistration_STATUS, got %T", armInput) + } + + // Set property "ClientCredential": + if typedInput.ClientCredential != nil { + var clientCredential1 OpenIdConnectClientCredential_STATUS + err := clientCredential1.PopulateFromARM(owner, *typedInput.ClientCredential) + if err != nil { + return err + } + clientCredential := clientCredential1 + registration.ClientCredential = &clientCredential + } + + // Set property "ClientId": + if typedInput.ClientId != nil { + clientId := *typedInput.ClientId + registration.ClientId = &clientId + } + + // Set property "OpenIdConnectConfiguration": + if typedInput.OpenIdConnectConfiguration != nil { + var openIdConnectConfiguration1 OpenIdConnectConfig_STATUS + err := openIdConnectConfiguration1.PopulateFromARM(owner, *typedInput.OpenIdConnectConfiguration) + if err != nil { + return err + } + openIdConnectConfiguration := openIdConnectConfiguration1 + registration.OpenIdConnectConfiguration = &openIdConnectConfiguration + } + + // No error + return nil +} + +// AssignProperties_From_OpenIdConnectRegistration_STATUS populates our OpenIdConnectRegistration_STATUS from the provided source OpenIdConnectRegistration_STATUS +func (registration *OpenIdConnectRegistration_STATUS) AssignProperties_From_OpenIdConnectRegistration_STATUS(source *storage.OpenIdConnectRegistration_STATUS) error { + + // ClientCredential + if source.ClientCredential != nil { + var clientCredential OpenIdConnectClientCredential_STATUS + err := clientCredential.AssignProperties_From_OpenIdConnectClientCredential_STATUS(source.ClientCredential) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_OpenIdConnectClientCredential_STATUS() to populate field ClientCredential") + } + registration.ClientCredential = &clientCredential + } else { + registration.ClientCredential = nil + } + + // ClientId + registration.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // OpenIdConnectConfiguration + if source.OpenIdConnectConfiguration != nil { + var openIdConnectConfiguration OpenIdConnectConfig_STATUS + err := openIdConnectConfiguration.AssignProperties_From_OpenIdConnectConfig_STATUS(source.OpenIdConnectConfiguration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_OpenIdConnectConfig_STATUS() to populate field OpenIdConnectConfiguration") + } + registration.OpenIdConnectConfiguration = &openIdConnectConfiguration + } else { + registration.OpenIdConnectConfiguration = nil + } + + // No error + return nil +} + +// AssignProperties_To_OpenIdConnectRegistration_STATUS populates the provided destination OpenIdConnectRegistration_STATUS from our OpenIdConnectRegistration_STATUS +func (registration *OpenIdConnectRegistration_STATUS) AssignProperties_To_OpenIdConnectRegistration_STATUS(destination *storage.OpenIdConnectRegistration_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ClientCredential + if registration.ClientCredential != nil { + var clientCredential storage.OpenIdConnectClientCredential_STATUS + err := registration.ClientCredential.AssignProperties_To_OpenIdConnectClientCredential_STATUS(&clientCredential) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_OpenIdConnectClientCredential_STATUS() to populate field ClientCredential") + } + destination.ClientCredential = &clientCredential + } else { + destination.ClientCredential = nil + } + + // ClientId + destination.ClientId = genruntime.ClonePointerToString(registration.ClientId) + + // OpenIdConnectConfiguration + if registration.OpenIdConnectConfiguration != nil { + var openIdConnectConfiguration storage.OpenIdConnectConfig_STATUS + err := registration.OpenIdConnectConfiguration.AssignProperties_To_OpenIdConnectConfig_STATUS(&openIdConnectConfiguration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_OpenIdConnectConfig_STATUS() to populate field OpenIdConnectConfiguration") + } + destination.OpenIdConnectConfiguration = &openIdConnectConfiguration + } else { + destination.OpenIdConnectConfiguration = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings of the app registration for the Twitter provider. +type TwitterRegistration struct { + // ConsumerKey: The OAuth 1.0a consumer key of the Twitter application used for sign-in. + // This setting is required for enabling Twitter Sign-In. + // Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in + ConsumerKey *string `json:"consumerKey,omitempty"` + + // ConsumerSecretSettingName: The app setting name that contains the OAuth 1.0a consumer secret of the Twitter + // application used for sign-in. + ConsumerSecretSettingName *string `json:"consumerSecretSettingName,omitempty"` +} + +var _ genruntime.ARMTransformer = &TwitterRegistration{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (registration *TwitterRegistration) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if registration == nil { + return nil, nil + } + result := &arm.TwitterRegistration{} + + // Set property "ConsumerKey": + if registration.ConsumerKey != nil { + consumerKey := *registration.ConsumerKey + result.ConsumerKey = &consumerKey + } + + // Set property "ConsumerSecretSettingName": + if registration.ConsumerSecretSettingName != nil { + consumerSecretSettingName := *registration.ConsumerSecretSettingName + result.ConsumerSecretSettingName = &consumerSecretSettingName + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (registration *TwitterRegistration) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.TwitterRegistration{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (registration *TwitterRegistration) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.TwitterRegistration) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.TwitterRegistration, got %T", armInput) + } + + // Set property "ConsumerKey": + if typedInput.ConsumerKey != nil { + consumerKey := *typedInput.ConsumerKey + registration.ConsumerKey = &consumerKey + } + + // Set property "ConsumerSecretSettingName": + if typedInput.ConsumerSecretSettingName != nil { + consumerSecretSettingName := *typedInput.ConsumerSecretSettingName + registration.ConsumerSecretSettingName = &consumerSecretSettingName + } + + // No error + return nil +} + +// AssignProperties_From_TwitterRegistration populates our TwitterRegistration from the provided source TwitterRegistration +func (registration *TwitterRegistration) AssignProperties_From_TwitterRegistration(source *storage.TwitterRegistration) error { + + // ConsumerKey + registration.ConsumerKey = genruntime.ClonePointerToString(source.ConsumerKey) + + // ConsumerSecretSettingName + registration.ConsumerSecretSettingName = genruntime.ClonePointerToString(source.ConsumerSecretSettingName) + + // No error + return nil +} + +// AssignProperties_To_TwitterRegistration populates the provided destination TwitterRegistration from our TwitterRegistration +func (registration *TwitterRegistration) AssignProperties_To_TwitterRegistration(destination *storage.TwitterRegistration) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ConsumerKey + destination.ConsumerKey = genruntime.ClonePointerToString(registration.ConsumerKey) + + // ConsumerSecretSettingName + destination.ConsumerSecretSettingName = genruntime.ClonePointerToString(registration.ConsumerSecretSettingName) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_TwitterRegistration_STATUS populates our TwitterRegistration from the provided source TwitterRegistration_STATUS +func (registration *TwitterRegistration) Initialize_From_TwitterRegistration_STATUS(source *TwitterRegistration_STATUS) error { + + // ConsumerKey + registration.ConsumerKey = genruntime.ClonePointerToString(source.ConsumerKey) + + // ConsumerSecretSettingName + registration.ConsumerSecretSettingName = genruntime.ClonePointerToString(source.ConsumerSecretSettingName) + + // No error + return nil +} + +// The configuration settings of the app registration for the Twitter provider. +type TwitterRegistration_STATUS struct { + // ConsumerKey: The OAuth 1.0a consumer key of the Twitter application used for sign-in. + // This setting is required for enabling Twitter Sign-In. + // Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in + ConsumerKey *string `json:"consumerKey,omitempty"` + + // ConsumerSecretSettingName: The app setting name that contains the OAuth 1.0a consumer secret of the Twitter + // application used for sign-in. + ConsumerSecretSettingName *string `json:"consumerSecretSettingName,omitempty"` +} + +var _ genruntime.FromARMConverter = &TwitterRegistration_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (registration *TwitterRegistration_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.TwitterRegistration_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (registration *TwitterRegistration_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.TwitterRegistration_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.TwitterRegistration_STATUS, got %T", armInput) + } + + // Set property "ConsumerKey": + if typedInput.ConsumerKey != nil { + consumerKey := *typedInput.ConsumerKey + registration.ConsumerKey = &consumerKey + } + + // Set property "ConsumerSecretSettingName": + if typedInput.ConsumerSecretSettingName != nil { + consumerSecretSettingName := *typedInput.ConsumerSecretSettingName + registration.ConsumerSecretSettingName = &consumerSecretSettingName + } + + // No error + return nil +} + +// AssignProperties_From_TwitterRegistration_STATUS populates our TwitterRegistration_STATUS from the provided source TwitterRegistration_STATUS +func (registration *TwitterRegistration_STATUS) AssignProperties_From_TwitterRegistration_STATUS(source *storage.TwitterRegistration_STATUS) error { + + // ConsumerKey + registration.ConsumerKey = genruntime.ClonePointerToString(source.ConsumerKey) + + // ConsumerSecretSettingName + registration.ConsumerSecretSettingName = genruntime.ClonePointerToString(source.ConsumerSecretSettingName) + + // No error + return nil +} + +// AssignProperties_To_TwitterRegistration_STATUS populates the provided destination TwitterRegistration_STATUS from our TwitterRegistration_STATUS +func (registration *TwitterRegistration_STATUS) AssignProperties_To_TwitterRegistration_STATUS(destination *storage.TwitterRegistration_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ConsumerKey + destination.ConsumerKey = genruntime.ClonePointerToString(registration.ConsumerKey) + + // ConsumerSecretSettingName + destination.ConsumerSecretSettingName = genruntime.ClonePointerToString(registration.ConsumerSecretSettingName) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings of the Azure Active Directory default authorization policy. +type DefaultAuthorizationPolicy struct { + // AllowedApplications: The configuration settings of the Azure Active Directory allowed applications. + AllowedApplications []string `json:"allowedApplications,omitempty"` + + // AllowedPrincipals: The configuration settings of the Azure Active Directory allowed principals. + AllowedPrincipals *AllowedPrincipals `json:"allowedPrincipals,omitempty"` +} + +var _ genruntime.ARMTransformer = &DefaultAuthorizationPolicy{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (policy *DefaultAuthorizationPolicy) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if policy == nil { + return nil, nil + } + result := &arm.DefaultAuthorizationPolicy{} + + // Set property "AllowedApplications": + for _, item := range policy.AllowedApplications { + result.AllowedApplications = append(result.AllowedApplications, item) + } + + // Set property "AllowedPrincipals": + if policy.AllowedPrincipals != nil { + allowedPrincipals_ARM, err := (*policy.AllowedPrincipals).ConvertToARM(resolved) + if err != nil { + return nil, err + } + allowedPrincipals := *allowedPrincipals_ARM.(*arm.AllowedPrincipals) + result.AllowedPrincipals = &allowedPrincipals + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (policy *DefaultAuthorizationPolicy) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.DefaultAuthorizationPolicy{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (policy *DefaultAuthorizationPolicy) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.DefaultAuthorizationPolicy) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.DefaultAuthorizationPolicy, got %T", armInput) + } + + // Set property "AllowedApplications": + for _, item := range typedInput.AllowedApplications { + policy.AllowedApplications = append(policy.AllowedApplications, item) + } + + // Set property "AllowedPrincipals": + if typedInput.AllowedPrincipals != nil { + var allowedPrincipals1 AllowedPrincipals + err := allowedPrincipals1.PopulateFromARM(owner, *typedInput.AllowedPrincipals) + if err != nil { + return err + } + allowedPrincipals := allowedPrincipals1 + policy.AllowedPrincipals = &allowedPrincipals + } + + // No error + return nil +} + +// AssignProperties_From_DefaultAuthorizationPolicy populates our DefaultAuthorizationPolicy from the provided source DefaultAuthorizationPolicy +func (policy *DefaultAuthorizationPolicy) AssignProperties_From_DefaultAuthorizationPolicy(source *storage.DefaultAuthorizationPolicy) error { + + // AllowedApplications + policy.AllowedApplications = genruntime.CloneSliceOfString(source.AllowedApplications) + + // AllowedPrincipals + if source.AllowedPrincipals != nil { + var allowedPrincipal AllowedPrincipals + err := allowedPrincipal.AssignProperties_From_AllowedPrincipals(source.AllowedPrincipals) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_AllowedPrincipals() to populate field AllowedPrincipals") + } + policy.AllowedPrincipals = &allowedPrincipal + } else { + policy.AllowedPrincipals = nil + } + + // No error + return nil +} + +// AssignProperties_To_DefaultAuthorizationPolicy populates the provided destination DefaultAuthorizationPolicy from our DefaultAuthorizationPolicy +func (policy *DefaultAuthorizationPolicy) AssignProperties_To_DefaultAuthorizationPolicy(destination *storage.DefaultAuthorizationPolicy) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AllowedApplications + destination.AllowedApplications = genruntime.CloneSliceOfString(policy.AllowedApplications) + + // AllowedPrincipals + if policy.AllowedPrincipals != nil { + var allowedPrincipal storage.AllowedPrincipals + err := policy.AllowedPrincipals.AssignProperties_To_AllowedPrincipals(&allowedPrincipal) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_AllowedPrincipals() to populate field AllowedPrincipals") + } + destination.AllowedPrincipals = &allowedPrincipal + } else { + destination.AllowedPrincipals = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_DefaultAuthorizationPolicy_STATUS populates our DefaultAuthorizationPolicy from the provided source DefaultAuthorizationPolicy_STATUS +func (policy *DefaultAuthorizationPolicy) Initialize_From_DefaultAuthorizationPolicy_STATUS(source *DefaultAuthorizationPolicy_STATUS) error { + + // AllowedApplications + policy.AllowedApplications = genruntime.CloneSliceOfString(source.AllowedApplications) + + // AllowedPrincipals + if source.AllowedPrincipals != nil { + var allowedPrincipal AllowedPrincipals + err := allowedPrincipal.Initialize_From_AllowedPrincipals_STATUS(source.AllowedPrincipals) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_AllowedPrincipals_STATUS() to populate field AllowedPrincipals") + } + policy.AllowedPrincipals = &allowedPrincipal + } else { + policy.AllowedPrincipals = nil + } + + // No error + return nil +} + +// The configuration settings of the Azure Active Directory default authorization policy. +type DefaultAuthorizationPolicy_STATUS struct { + // AllowedApplications: The configuration settings of the Azure Active Directory allowed applications. + AllowedApplications []string `json:"allowedApplications,omitempty"` + + // AllowedPrincipals: The configuration settings of the Azure Active Directory allowed principals. + AllowedPrincipals *AllowedPrincipals_STATUS `json:"allowedPrincipals,omitempty"` +} + +var _ genruntime.FromARMConverter = &DefaultAuthorizationPolicy_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (policy *DefaultAuthorizationPolicy_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.DefaultAuthorizationPolicy_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (policy *DefaultAuthorizationPolicy_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.DefaultAuthorizationPolicy_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.DefaultAuthorizationPolicy_STATUS, got %T", armInput) + } + + // Set property "AllowedApplications": + for _, item := range typedInput.AllowedApplications { + policy.AllowedApplications = append(policy.AllowedApplications, item) + } + + // Set property "AllowedPrincipals": + if typedInput.AllowedPrincipals != nil { + var allowedPrincipals1 AllowedPrincipals_STATUS + err := allowedPrincipals1.PopulateFromARM(owner, *typedInput.AllowedPrincipals) + if err != nil { + return err + } + allowedPrincipals := allowedPrincipals1 + policy.AllowedPrincipals = &allowedPrincipals + } + + // No error + return nil +} + +// AssignProperties_From_DefaultAuthorizationPolicy_STATUS populates our DefaultAuthorizationPolicy_STATUS from the provided source DefaultAuthorizationPolicy_STATUS +func (policy *DefaultAuthorizationPolicy_STATUS) AssignProperties_From_DefaultAuthorizationPolicy_STATUS(source *storage.DefaultAuthorizationPolicy_STATUS) error { + + // AllowedApplications + policy.AllowedApplications = genruntime.CloneSliceOfString(source.AllowedApplications) + + // AllowedPrincipals + if source.AllowedPrincipals != nil { + var allowedPrincipal AllowedPrincipals_STATUS + err := allowedPrincipal.AssignProperties_From_AllowedPrincipals_STATUS(source.AllowedPrincipals) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_AllowedPrincipals_STATUS() to populate field AllowedPrincipals") + } + policy.AllowedPrincipals = &allowedPrincipal + } else { + policy.AllowedPrincipals = nil + } + + // No error + return nil +} + +// AssignProperties_To_DefaultAuthorizationPolicy_STATUS populates the provided destination DefaultAuthorizationPolicy_STATUS from our DefaultAuthorizationPolicy_STATUS +func (policy *DefaultAuthorizationPolicy_STATUS) AssignProperties_To_DefaultAuthorizationPolicy_STATUS(destination *storage.DefaultAuthorizationPolicy_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AllowedApplications + destination.AllowedApplications = genruntime.CloneSliceOfString(policy.AllowedApplications) + + // AllowedPrincipals + if policy.AllowedPrincipals != nil { + var allowedPrincipal storage.AllowedPrincipals_STATUS + err := policy.AllowedPrincipals.AssignProperties_To_AllowedPrincipals_STATUS(&allowedPrincipal) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_AllowedPrincipals_STATUS() to populate field AllowedPrincipals") + } + destination.AllowedPrincipals = &allowedPrincipal + } else { + destination.AllowedPrincipals = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings of the checks that should be made while validating the JWT Claims. +type JwtClaimChecks struct { + // AllowedClientApplications: The list of the allowed client applications. + AllowedClientApplications []string `json:"allowedClientApplications,omitempty"` + + // AllowedGroups: The list of the allowed groups. + AllowedGroups []string `json:"allowedGroups,omitempty"` +} + +var _ genruntime.ARMTransformer = &JwtClaimChecks{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (checks *JwtClaimChecks) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if checks == nil { + return nil, nil + } + result := &arm.JwtClaimChecks{} + + // Set property "AllowedClientApplications": + for _, item := range checks.AllowedClientApplications { + result.AllowedClientApplications = append(result.AllowedClientApplications, item) + } + + // Set property "AllowedGroups": + for _, item := range checks.AllowedGroups { + result.AllowedGroups = append(result.AllowedGroups, item) + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (checks *JwtClaimChecks) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.JwtClaimChecks{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (checks *JwtClaimChecks) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.JwtClaimChecks) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.JwtClaimChecks, got %T", armInput) + } + + // Set property "AllowedClientApplications": + for _, item := range typedInput.AllowedClientApplications { + checks.AllowedClientApplications = append(checks.AllowedClientApplications, item) + } + + // Set property "AllowedGroups": + for _, item := range typedInput.AllowedGroups { + checks.AllowedGroups = append(checks.AllowedGroups, item) + } + + // No error + return nil +} + +// AssignProperties_From_JwtClaimChecks populates our JwtClaimChecks from the provided source JwtClaimChecks +func (checks *JwtClaimChecks) AssignProperties_From_JwtClaimChecks(source *storage.JwtClaimChecks) error { + + // AllowedClientApplications + checks.AllowedClientApplications = genruntime.CloneSliceOfString(source.AllowedClientApplications) + + // AllowedGroups + checks.AllowedGroups = genruntime.CloneSliceOfString(source.AllowedGroups) + + // No error + return nil +} + +// AssignProperties_To_JwtClaimChecks populates the provided destination JwtClaimChecks from our JwtClaimChecks +func (checks *JwtClaimChecks) AssignProperties_To_JwtClaimChecks(destination *storage.JwtClaimChecks) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AllowedClientApplications + destination.AllowedClientApplications = genruntime.CloneSliceOfString(checks.AllowedClientApplications) + + // AllowedGroups + destination.AllowedGroups = genruntime.CloneSliceOfString(checks.AllowedGroups) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_JwtClaimChecks_STATUS populates our JwtClaimChecks from the provided source JwtClaimChecks_STATUS +func (checks *JwtClaimChecks) Initialize_From_JwtClaimChecks_STATUS(source *JwtClaimChecks_STATUS) error { + + // AllowedClientApplications + checks.AllowedClientApplications = genruntime.CloneSliceOfString(source.AllowedClientApplications) + + // AllowedGroups + checks.AllowedGroups = genruntime.CloneSliceOfString(source.AllowedGroups) + + // No error + return nil +} + +// The configuration settings of the checks that should be made while validating the JWT Claims. +type JwtClaimChecks_STATUS struct { + // AllowedClientApplications: The list of the allowed client applications. + AllowedClientApplications []string `json:"allowedClientApplications,omitempty"` + + // AllowedGroups: The list of the allowed groups. + AllowedGroups []string `json:"allowedGroups,omitempty"` +} + +var _ genruntime.FromARMConverter = &JwtClaimChecks_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (checks *JwtClaimChecks_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.JwtClaimChecks_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (checks *JwtClaimChecks_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.JwtClaimChecks_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.JwtClaimChecks_STATUS, got %T", armInput) + } + + // Set property "AllowedClientApplications": + for _, item := range typedInput.AllowedClientApplications { + checks.AllowedClientApplications = append(checks.AllowedClientApplications, item) + } + + // Set property "AllowedGroups": + for _, item := range typedInput.AllowedGroups { + checks.AllowedGroups = append(checks.AllowedGroups, item) + } + + // No error + return nil +} + +// AssignProperties_From_JwtClaimChecks_STATUS populates our JwtClaimChecks_STATUS from the provided source JwtClaimChecks_STATUS +func (checks *JwtClaimChecks_STATUS) AssignProperties_From_JwtClaimChecks_STATUS(source *storage.JwtClaimChecks_STATUS) error { + + // AllowedClientApplications + checks.AllowedClientApplications = genruntime.CloneSliceOfString(source.AllowedClientApplications) + + // AllowedGroups + checks.AllowedGroups = genruntime.CloneSliceOfString(source.AllowedGroups) + + // No error + return nil +} + +// AssignProperties_To_JwtClaimChecks_STATUS populates the provided destination JwtClaimChecks_STATUS from our JwtClaimChecks_STATUS +func (checks *JwtClaimChecks_STATUS) AssignProperties_To_JwtClaimChecks_STATUS(destination *storage.JwtClaimChecks_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AllowedClientApplications + destination.AllowedClientApplications = genruntime.CloneSliceOfString(checks.AllowedClientApplications) + + // AllowedGroups + destination.AllowedGroups = genruntime.CloneSliceOfString(checks.AllowedGroups) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The authentication client credentials of the custom Open ID Connect provider. +type OpenIdConnectClientCredential struct { + // ClientSecretSettingName: The app setting that contains the client secret for the custom Open ID Connect provider. + ClientSecretSettingName *string `json:"clientSecretSettingName,omitempty"` + + // Method: The method that should be used to authenticate the user. + Method *OpenIdConnectClientCredential_Method `json:"method,omitempty"` +} + +var _ genruntime.ARMTransformer = &OpenIdConnectClientCredential{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (credential *OpenIdConnectClientCredential) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if credential == nil { + return nil, nil + } + result := &arm.OpenIdConnectClientCredential{} + + // Set property "ClientSecretSettingName": + if credential.ClientSecretSettingName != nil { + clientSecretSettingName := *credential.ClientSecretSettingName + result.ClientSecretSettingName = &clientSecretSettingName + } + + // Set property "Method": + if credential.Method != nil { + var temp string + temp = string(*credential.Method) + method := arm.OpenIdConnectClientCredential_Method(temp) + result.Method = &method + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (credential *OpenIdConnectClientCredential) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.OpenIdConnectClientCredential{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (credential *OpenIdConnectClientCredential) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.OpenIdConnectClientCredential) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.OpenIdConnectClientCredential, got %T", armInput) + } + + // Set property "ClientSecretSettingName": + if typedInput.ClientSecretSettingName != nil { + clientSecretSettingName := *typedInput.ClientSecretSettingName + credential.ClientSecretSettingName = &clientSecretSettingName + } + + // Set property "Method": + if typedInput.Method != nil { + var temp string + temp = string(*typedInput.Method) + method := OpenIdConnectClientCredential_Method(temp) + credential.Method = &method + } + + // No error + return nil +} + +// AssignProperties_From_OpenIdConnectClientCredential populates our OpenIdConnectClientCredential from the provided source OpenIdConnectClientCredential +func (credential *OpenIdConnectClientCredential) AssignProperties_From_OpenIdConnectClientCredential(source *storage.OpenIdConnectClientCredential) error { + + // ClientSecretSettingName + credential.ClientSecretSettingName = genruntime.ClonePointerToString(source.ClientSecretSettingName) + + // Method + if source.Method != nil { + method := *source.Method + methodTemp := genruntime.ToEnum(method, openIdConnectClientCredential_Method_Values) + credential.Method = &methodTemp + } else { + credential.Method = nil + } + + // No error + return nil +} + +// AssignProperties_To_OpenIdConnectClientCredential populates the provided destination OpenIdConnectClientCredential from our OpenIdConnectClientCredential +func (credential *OpenIdConnectClientCredential) AssignProperties_To_OpenIdConnectClientCredential(destination *storage.OpenIdConnectClientCredential) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ClientSecretSettingName + destination.ClientSecretSettingName = genruntime.ClonePointerToString(credential.ClientSecretSettingName) + + // Method + if credential.Method != nil { + method := string(*credential.Method) + destination.Method = &method + } else { + destination.Method = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_OpenIdConnectClientCredential_STATUS populates our OpenIdConnectClientCredential from the provided source OpenIdConnectClientCredential_STATUS +func (credential *OpenIdConnectClientCredential) Initialize_From_OpenIdConnectClientCredential_STATUS(source *OpenIdConnectClientCredential_STATUS) error { + + // ClientSecretSettingName + credential.ClientSecretSettingName = genruntime.ClonePointerToString(source.ClientSecretSettingName) + + // Method + if source.Method != nil { + method := genruntime.ToEnum(string(*source.Method), openIdConnectClientCredential_Method_Values) + credential.Method = &method + } else { + credential.Method = nil + } + + // No error + return nil +} + +// The authentication client credentials of the custom Open ID Connect provider. +type OpenIdConnectClientCredential_STATUS struct { + // ClientSecretSettingName: The app setting that contains the client secret for the custom Open ID Connect provider. + ClientSecretSettingName *string `json:"clientSecretSettingName,omitempty"` + + // Method: The method that should be used to authenticate the user. + Method *OpenIdConnectClientCredential_Method_STATUS `json:"method,omitempty"` +} + +var _ genruntime.FromARMConverter = &OpenIdConnectClientCredential_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (credential *OpenIdConnectClientCredential_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.OpenIdConnectClientCredential_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (credential *OpenIdConnectClientCredential_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.OpenIdConnectClientCredential_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.OpenIdConnectClientCredential_STATUS, got %T", armInput) + } + + // Set property "ClientSecretSettingName": + if typedInput.ClientSecretSettingName != nil { + clientSecretSettingName := *typedInput.ClientSecretSettingName + credential.ClientSecretSettingName = &clientSecretSettingName + } + + // Set property "Method": + if typedInput.Method != nil { + var temp string + temp = string(*typedInput.Method) + method := OpenIdConnectClientCredential_Method_STATUS(temp) + credential.Method = &method + } + + // No error + return nil +} + +// AssignProperties_From_OpenIdConnectClientCredential_STATUS populates our OpenIdConnectClientCredential_STATUS from the provided source OpenIdConnectClientCredential_STATUS +func (credential *OpenIdConnectClientCredential_STATUS) AssignProperties_From_OpenIdConnectClientCredential_STATUS(source *storage.OpenIdConnectClientCredential_STATUS) error { + + // ClientSecretSettingName + credential.ClientSecretSettingName = genruntime.ClonePointerToString(source.ClientSecretSettingName) + + // Method + if source.Method != nil { + method := *source.Method + methodTemp := genruntime.ToEnum(method, openIdConnectClientCredential_Method_STATUS_Values) + credential.Method = &methodTemp + } else { + credential.Method = nil + } + + // No error + return nil +} + +// AssignProperties_To_OpenIdConnectClientCredential_STATUS populates the provided destination OpenIdConnectClientCredential_STATUS from our OpenIdConnectClientCredential_STATUS +func (credential *OpenIdConnectClientCredential_STATUS) AssignProperties_To_OpenIdConnectClientCredential_STATUS(destination *storage.OpenIdConnectClientCredential_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ClientSecretSettingName + destination.ClientSecretSettingName = genruntime.ClonePointerToString(credential.ClientSecretSettingName) + + // Method + if credential.Method != nil { + method := string(*credential.Method) + destination.Method = &method + } else { + destination.Method = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings of the endpoints used for the custom Open ID Connect provider. +type OpenIdConnectConfig struct { + // AuthorizationEndpoint: The endpoint to be used to make an authorization request. + AuthorizationEndpoint *string `json:"authorizationEndpoint,omitempty"` + + // CertificationUri: The endpoint that provides the keys necessary to validate the token. + CertificationUri *string `json:"certificationUri,omitempty"` + + // Issuer: The endpoint that issues the token. + Issuer *string `json:"issuer,omitempty"` + + // TokenEndpoint: The endpoint to be used to request a token. + TokenEndpoint *string `json:"tokenEndpoint,omitempty"` + + // WellKnownOpenIdConfiguration: The endpoint that contains all the configuration endpoints for the provider. + WellKnownOpenIdConfiguration *string `json:"wellKnownOpenIdConfiguration,omitempty"` +} + +var _ genruntime.ARMTransformer = &OpenIdConnectConfig{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (config *OpenIdConnectConfig) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if config == nil { + return nil, nil + } + result := &arm.OpenIdConnectConfig{} + + // Set property "AuthorizationEndpoint": + if config.AuthorizationEndpoint != nil { + authorizationEndpoint := *config.AuthorizationEndpoint + result.AuthorizationEndpoint = &authorizationEndpoint + } + + // Set property "CertificationUri": + if config.CertificationUri != nil { + certificationUri := *config.CertificationUri + result.CertificationUri = &certificationUri + } + + // Set property "Issuer": + if config.Issuer != nil { + issuer := *config.Issuer + result.Issuer = &issuer + } + + // Set property "TokenEndpoint": + if config.TokenEndpoint != nil { + tokenEndpoint := *config.TokenEndpoint + result.TokenEndpoint = &tokenEndpoint + } + + // Set property "WellKnownOpenIdConfiguration": + if config.WellKnownOpenIdConfiguration != nil { + wellKnownOpenIdConfiguration := *config.WellKnownOpenIdConfiguration + result.WellKnownOpenIdConfiguration = &wellKnownOpenIdConfiguration + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (config *OpenIdConnectConfig) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.OpenIdConnectConfig{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (config *OpenIdConnectConfig) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.OpenIdConnectConfig) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.OpenIdConnectConfig, got %T", armInput) + } + + // Set property "AuthorizationEndpoint": + if typedInput.AuthorizationEndpoint != nil { + authorizationEndpoint := *typedInput.AuthorizationEndpoint + config.AuthorizationEndpoint = &authorizationEndpoint + } + + // Set property "CertificationUri": + if typedInput.CertificationUri != nil { + certificationUri := *typedInput.CertificationUri + config.CertificationUri = &certificationUri + } + + // Set property "Issuer": + if typedInput.Issuer != nil { + issuer := *typedInput.Issuer + config.Issuer = &issuer + } + + // Set property "TokenEndpoint": + if typedInput.TokenEndpoint != nil { + tokenEndpoint := *typedInput.TokenEndpoint + config.TokenEndpoint = &tokenEndpoint + } + + // Set property "WellKnownOpenIdConfiguration": + if typedInput.WellKnownOpenIdConfiguration != nil { + wellKnownOpenIdConfiguration := *typedInput.WellKnownOpenIdConfiguration + config.WellKnownOpenIdConfiguration = &wellKnownOpenIdConfiguration + } + + // No error + return nil +} + +// AssignProperties_From_OpenIdConnectConfig populates our OpenIdConnectConfig from the provided source OpenIdConnectConfig +func (config *OpenIdConnectConfig) AssignProperties_From_OpenIdConnectConfig(source *storage.OpenIdConnectConfig) error { + + // AuthorizationEndpoint + config.AuthorizationEndpoint = genruntime.ClonePointerToString(source.AuthorizationEndpoint) + + // CertificationUri + config.CertificationUri = genruntime.ClonePointerToString(source.CertificationUri) + + // Issuer + config.Issuer = genruntime.ClonePointerToString(source.Issuer) + + // TokenEndpoint + config.TokenEndpoint = genruntime.ClonePointerToString(source.TokenEndpoint) + + // WellKnownOpenIdConfiguration + config.WellKnownOpenIdConfiguration = genruntime.ClonePointerToString(source.WellKnownOpenIdConfiguration) + + // No error + return nil +} + +// AssignProperties_To_OpenIdConnectConfig populates the provided destination OpenIdConnectConfig from our OpenIdConnectConfig +func (config *OpenIdConnectConfig) AssignProperties_To_OpenIdConnectConfig(destination *storage.OpenIdConnectConfig) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AuthorizationEndpoint + destination.AuthorizationEndpoint = genruntime.ClonePointerToString(config.AuthorizationEndpoint) + + // CertificationUri + destination.CertificationUri = genruntime.ClonePointerToString(config.CertificationUri) + + // Issuer + destination.Issuer = genruntime.ClonePointerToString(config.Issuer) + + // TokenEndpoint + destination.TokenEndpoint = genruntime.ClonePointerToString(config.TokenEndpoint) + + // WellKnownOpenIdConfiguration + destination.WellKnownOpenIdConfiguration = genruntime.ClonePointerToString(config.WellKnownOpenIdConfiguration) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_OpenIdConnectConfig_STATUS populates our OpenIdConnectConfig from the provided source OpenIdConnectConfig_STATUS +func (config *OpenIdConnectConfig) Initialize_From_OpenIdConnectConfig_STATUS(source *OpenIdConnectConfig_STATUS) error { + + // AuthorizationEndpoint + config.AuthorizationEndpoint = genruntime.ClonePointerToString(source.AuthorizationEndpoint) + + // CertificationUri + config.CertificationUri = genruntime.ClonePointerToString(source.CertificationUri) + + // Issuer + config.Issuer = genruntime.ClonePointerToString(source.Issuer) + + // TokenEndpoint + config.TokenEndpoint = genruntime.ClonePointerToString(source.TokenEndpoint) + + // WellKnownOpenIdConfiguration + config.WellKnownOpenIdConfiguration = genruntime.ClonePointerToString(source.WellKnownOpenIdConfiguration) + + // No error + return nil +} + +// The configuration settings of the endpoints used for the custom Open ID Connect provider. +type OpenIdConnectConfig_STATUS struct { + // AuthorizationEndpoint: The endpoint to be used to make an authorization request. + AuthorizationEndpoint *string `json:"authorizationEndpoint,omitempty"` + + // CertificationUri: The endpoint that provides the keys necessary to validate the token. + CertificationUri *string `json:"certificationUri,omitempty"` + + // Issuer: The endpoint that issues the token. + Issuer *string `json:"issuer,omitempty"` + + // TokenEndpoint: The endpoint to be used to request a token. + TokenEndpoint *string `json:"tokenEndpoint,omitempty"` + + // WellKnownOpenIdConfiguration: The endpoint that contains all the configuration endpoints for the provider. + WellKnownOpenIdConfiguration *string `json:"wellKnownOpenIdConfiguration,omitempty"` +} + +var _ genruntime.FromARMConverter = &OpenIdConnectConfig_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (config *OpenIdConnectConfig_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.OpenIdConnectConfig_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (config *OpenIdConnectConfig_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.OpenIdConnectConfig_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.OpenIdConnectConfig_STATUS, got %T", armInput) + } + + // Set property "AuthorizationEndpoint": + if typedInput.AuthorizationEndpoint != nil { + authorizationEndpoint := *typedInput.AuthorizationEndpoint + config.AuthorizationEndpoint = &authorizationEndpoint + } + + // Set property "CertificationUri": + if typedInput.CertificationUri != nil { + certificationUri := *typedInput.CertificationUri + config.CertificationUri = &certificationUri + } + + // Set property "Issuer": + if typedInput.Issuer != nil { + issuer := *typedInput.Issuer + config.Issuer = &issuer + } + + // Set property "TokenEndpoint": + if typedInput.TokenEndpoint != nil { + tokenEndpoint := *typedInput.TokenEndpoint + config.TokenEndpoint = &tokenEndpoint + } + + // Set property "WellKnownOpenIdConfiguration": + if typedInput.WellKnownOpenIdConfiguration != nil { + wellKnownOpenIdConfiguration := *typedInput.WellKnownOpenIdConfiguration + config.WellKnownOpenIdConfiguration = &wellKnownOpenIdConfiguration + } + + // No error + return nil +} + +// AssignProperties_From_OpenIdConnectConfig_STATUS populates our OpenIdConnectConfig_STATUS from the provided source OpenIdConnectConfig_STATUS +func (config *OpenIdConnectConfig_STATUS) AssignProperties_From_OpenIdConnectConfig_STATUS(source *storage.OpenIdConnectConfig_STATUS) error { + + // AuthorizationEndpoint + config.AuthorizationEndpoint = genruntime.ClonePointerToString(source.AuthorizationEndpoint) + + // CertificationUri + config.CertificationUri = genruntime.ClonePointerToString(source.CertificationUri) + + // Issuer + config.Issuer = genruntime.ClonePointerToString(source.Issuer) + + // TokenEndpoint + config.TokenEndpoint = genruntime.ClonePointerToString(source.TokenEndpoint) + + // WellKnownOpenIdConfiguration + config.WellKnownOpenIdConfiguration = genruntime.ClonePointerToString(source.WellKnownOpenIdConfiguration) + + // No error + return nil +} + +// AssignProperties_To_OpenIdConnectConfig_STATUS populates the provided destination OpenIdConnectConfig_STATUS from our OpenIdConnectConfig_STATUS +func (config *OpenIdConnectConfig_STATUS) AssignProperties_To_OpenIdConnectConfig_STATUS(destination *storage.OpenIdConnectConfig_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AuthorizationEndpoint + destination.AuthorizationEndpoint = genruntime.ClonePointerToString(config.AuthorizationEndpoint) + + // CertificationUri + destination.CertificationUri = genruntime.ClonePointerToString(config.CertificationUri) + + // Issuer + destination.Issuer = genruntime.ClonePointerToString(config.Issuer) + + // TokenEndpoint + destination.TokenEndpoint = genruntime.ClonePointerToString(config.TokenEndpoint) + + // WellKnownOpenIdConfiguration + destination.WellKnownOpenIdConfiguration = genruntime.ClonePointerToString(config.WellKnownOpenIdConfiguration) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The configuration settings of the Azure Active Directory allowed principals. +type AllowedPrincipals struct { + // Groups: The list of the allowed groups. + Groups []string `json:"groups,omitempty"` + + // Identities: The list of the allowed identities. + Identities []string `json:"identities,omitempty"` +} + +var _ genruntime.ARMTransformer = &AllowedPrincipals{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (principals *AllowedPrincipals) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if principals == nil { + return nil, nil + } + result := &arm.AllowedPrincipals{} + + // Set property "Groups": + for _, item := range principals.Groups { + result.Groups = append(result.Groups, item) + } + + // Set property "Identities": + for _, item := range principals.Identities { + result.Identities = append(result.Identities, item) + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (principals *AllowedPrincipals) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AllowedPrincipals{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (principals *AllowedPrincipals) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AllowedPrincipals) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AllowedPrincipals, got %T", armInput) + } + + // Set property "Groups": + for _, item := range typedInput.Groups { + principals.Groups = append(principals.Groups, item) + } + + // Set property "Identities": + for _, item := range typedInput.Identities { + principals.Identities = append(principals.Identities, item) + } + + // No error + return nil +} + +// AssignProperties_From_AllowedPrincipals populates our AllowedPrincipals from the provided source AllowedPrincipals +func (principals *AllowedPrincipals) AssignProperties_From_AllowedPrincipals(source *storage.AllowedPrincipals) error { + + // Groups + principals.Groups = genruntime.CloneSliceOfString(source.Groups) + + // Identities + principals.Identities = genruntime.CloneSliceOfString(source.Identities) + + // No error + return nil +} + +// AssignProperties_To_AllowedPrincipals populates the provided destination AllowedPrincipals from our AllowedPrincipals +func (principals *AllowedPrincipals) AssignProperties_To_AllowedPrincipals(destination *storage.AllowedPrincipals) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Groups + destination.Groups = genruntime.CloneSliceOfString(principals.Groups) + + // Identities + destination.Identities = genruntime.CloneSliceOfString(principals.Identities) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_AllowedPrincipals_STATUS populates our AllowedPrincipals from the provided source AllowedPrincipals_STATUS +func (principals *AllowedPrincipals) Initialize_From_AllowedPrincipals_STATUS(source *AllowedPrincipals_STATUS) error { + + // Groups + principals.Groups = genruntime.CloneSliceOfString(source.Groups) + + // Identities + principals.Identities = genruntime.CloneSliceOfString(source.Identities) + + // No error + return nil +} + +// The configuration settings of the Azure Active Directory allowed principals. +type AllowedPrincipals_STATUS struct { + // Groups: The list of the allowed groups. + Groups []string `json:"groups,omitempty"` + + // Identities: The list of the allowed identities. + Identities []string `json:"identities,omitempty"` +} + +var _ genruntime.FromARMConverter = &AllowedPrincipals_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (principals *AllowedPrincipals_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AllowedPrincipals_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (principals *AllowedPrincipals_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AllowedPrincipals_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AllowedPrincipals_STATUS, got %T", armInput) + } + + // Set property "Groups": + for _, item := range typedInput.Groups { + principals.Groups = append(principals.Groups, item) + } + + // Set property "Identities": + for _, item := range typedInput.Identities { + principals.Identities = append(principals.Identities, item) + } + + // No error + return nil +} + +// AssignProperties_From_AllowedPrincipals_STATUS populates our AllowedPrincipals_STATUS from the provided source AllowedPrincipals_STATUS +func (principals *AllowedPrincipals_STATUS) AssignProperties_From_AllowedPrincipals_STATUS(source *storage.AllowedPrincipals_STATUS) error { + + // Groups + principals.Groups = genruntime.CloneSliceOfString(source.Groups) + + // Identities + principals.Identities = genruntime.CloneSliceOfString(source.Identities) + + // No error + return nil +} + +// AssignProperties_To_AllowedPrincipals_STATUS populates the provided destination AllowedPrincipals_STATUS from our AllowedPrincipals_STATUS +func (principals *AllowedPrincipals_STATUS) AssignProperties_To_AllowedPrincipals_STATUS(destination *storage.AllowedPrincipals_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Groups + destination.Groups = genruntime.CloneSliceOfString(principals.Groups) + + // Identities + destination.Identities = genruntime.CloneSliceOfString(principals.Identities) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"ClientSecretPost"} +type OpenIdConnectClientCredential_Method string + +const OpenIdConnectClientCredential_Method_ClientSecretPost = OpenIdConnectClientCredential_Method("ClientSecretPost") + +// Mapping from string to OpenIdConnectClientCredential_Method +var openIdConnectClientCredential_Method_Values = map[string]OpenIdConnectClientCredential_Method{ + "clientsecretpost": OpenIdConnectClientCredential_Method_ClientSecretPost, +} + +type OpenIdConnectClientCredential_Method_STATUS string + +const OpenIdConnectClientCredential_Method_STATUS_ClientSecretPost = OpenIdConnectClientCredential_Method_STATUS("ClientSecretPost") + +// Mapping from string to OpenIdConnectClientCredential_Method_STATUS +var openIdConnectClientCredential_Method_STATUS_Values = map[string]OpenIdConnectClientCredential_Method_STATUS{ + "clientsecretpost": OpenIdConnectClientCredential_Method_STATUS_ClientSecretPost, +} + +func init() { + SchemeBuilder.Register(&AuthConfig{}, &AuthConfigList{}) +} diff --git a/v2/api/app/v1api20240301/auth_config_types_gen_test.go b/v2/api/app/v1api20240301/auth_config_types_gen_test.go new file mode 100644 index 00000000000..8ade51539a8 --- /dev/null +++ b/v2/api/app/v1api20240301/auth_config_types_gen_test.go @@ -0,0 +1,8922 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20240301 + +import ( + "encoding/json" + storage "github.com/Azure/azure-service-operator/v2/api/app/v1api20240301/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_AllowedAudiencesValidation_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AllowedAudiencesValidation to AllowedAudiencesValidation via AssignProperties_To_AllowedAudiencesValidation & AssignProperties_From_AllowedAudiencesValidation returns original", + prop.ForAll(RunPropertyAssignmentTestForAllowedAudiencesValidation, AllowedAudiencesValidationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAllowedAudiencesValidation tests if a specific instance of AllowedAudiencesValidation can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAllowedAudiencesValidation(subject AllowedAudiencesValidation) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AllowedAudiencesValidation + err := copied.AssignProperties_To_AllowedAudiencesValidation(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AllowedAudiencesValidation + err = actual.AssignProperties_From_AllowedAudiencesValidation(&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_AllowedAudiencesValidation_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 AllowedAudiencesValidation via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAllowedAudiencesValidation, AllowedAudiencesValidationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAllowedAudiencesValidation runs a test to see if a specific instance of AllowedAudiencesValidation round trips to JSON and back losslessly +func RunJSONSerializationTestForAllowedAudiencesValidation(subject AllowedAudiencesValidation) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AllowedAudiencesValidation + 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 AllowedAudiencesValidation instances for property testing - lazily instantiated by +// AllowedAudiencesValidationGenerator() +var allowedAudiencesValidationGenerator gopter.Gen + +// AllowedAudiencesValidationGenerator returns a generator of AllowedAudiencesValidation instances for property testing. +func AllowedAudiencesValidationGenerator() gopter.Gen { + if allowedAudiencesValidationGenerator != nil { + return allowedAudiencesValidationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAllowedAudiencesValidation(generators) + allowedAudiencesValidationGenerator = gen.Struct(reflect.TypeOf(AllowedAudiencesValidation{}), generators) + + return allowedAudiencesValidationGenerator +} + +// AddIndependentPropertyGeneratorsForAllowedAudiencesValidation is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAllowedAudiencesValidation(gens map[string]gopter.Gen) { + gens["AllowedAudiences"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_AllowedAudiencesValidation_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AllowedAudiencesValidation_STATUS to AllowedAudiencesValidation_STATUS via AssignProperties_To_AllowedAudiencesValidation_STATUS & AssignProperties_From_AllowedAudiencesValidation_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAllowedAudiencesValidation_STATUS, AllowedAudiencesValidation_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAllowedAudiencesValidation_STATUS tests if a specific instance of AllowedAudiencesValidation_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAllowedAudiencesValidation_STATUS(subject AllowedAudiencesValidation_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 storage.AllowedAudiencesValidation_STATUS + err := copied.AssignProperties_To_AllowedAudiencesValidation_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AllowedAudiencesValidation_STATUS + err = actual.AssignProperties_From_AllowedAudiencesValidation_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_AllowedAudiencesValidation_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 AllowedAudiencesValidation_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAllowedAudiencesValidation_STATUS, AllowedAudiencesValidation_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAllowedAudiencesValidation_STATUS runs a test to see if a specific instance of AllowedAudiencesValidation_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAllowedAudiencesValidation_STATUS(subject AllowedAudiencesValidation_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AllowedAudiencesValidation_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 AllowedAudiencesValidation_STATUS instances for property testing - lazily instantiated by +// AllowedAudiencesValidation_STATUSGenerator() +var allowedAudiencesValidation_STATUSGenerator gopter.Gen + +// AllowedAudiencesValidation_STATUSGenerator returns a generator of AllowedAudiencesValidation_STATUS instances for property testing. +func AllowedAudiencesValidation_STATUSGenerator() gopter.Gen { + if allowedAudiencesValidation_STATUSGenerator != nil { + return allowedAudiencesValidation_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAllowedAudiencesValidation_STATUS(generators) + allowedAudiencesValidation_STATUSGenerator = gen.Struct(reflect.TypeOf(AllowedAudiencesValidation_STATUS{}), generators) + + return allowedAudiencesValidation_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAllowedAudiencesValidation_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAllowedAudiencesValidation_STATUS(gens map[string]gopter.Gen) { + gens["AllowedAudiences"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_AllowedPrincipals_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AllowedPrincipals to AllowedPrincipals via AssignProperties_To_AllowedPrincipals & AssignProperties_From_AllowedPrincipals returns original", + prop.ForAll(RunPropertyAssignmentTestForAllowedPrincipals, AllowedPrincipalsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAllowedPrincipals tests if a specific instance of AllowedPrincipals can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAllowedPrincipals(subject AllowedPrincipals) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AllowedPrincipals + err := copied.AssignProperties_To_AllowedPrincipals(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AllowedPrincipals + err = actual.AssignProperties_From_AllowedPrincipals(&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_AllowedPrincipals_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 AllowedPrincipals via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAllowedPrincipals, AllowedPrincipalsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAllowedPrincipals runs a test to see if a specific instance of AllowedPrincipals round trips to JSON and back losslessly +func RunJSONSerializationTestForAllowedPrincipals(subject AllowedPrincipals) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AllowedPrincipals + 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 AllowedPrincipals instances for property testing - lazily instantiated by AllowedPrincipalsGenerator() +var allowedPrincipalsGenerator gopter.Gen + +// AllowedPrincipalsGenerator returns a generator of AllowedPrincipals instances for property testing. +func AllowedPrincipalsGenerator() gopter.Gen { + if allowedPrincipalsGenerator != nil { + return allowedPrincipalsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAllowedPrincipals(generators) + allowedPrincipalsGenerator = gen.Struct(reflect.TypeOf(AllowedPrincipals{}), generators) + + return allowedPrincipalsGenerator +} + +// AddIndependentPropertyGeneratorsForAllowedPrincipals is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAllowedPrincipals(gens map[string]gopter.Gen) { + gens["Groups"] = gen.SliceOf(gen.AlphaString()) + gens["Identities"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_AllowedPrincipals_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AllowedPrincipals_STATUS to AllowedPrincipals_STATUS via AssignProperties_To_AllowedPrincipals_STATUS & AssignProperties_From_AllowedPrincipals_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAllowedPrincipals_STATUS, AllowedPrincipals_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAllowedPrincipals_STATUS tests if a specific instance of AllowedPrincipals_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAllowedPrincipals_STATUS(subject AllowedPrincipals_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 storage.AllowedPrincipals_STATUS + err := copied.AssignProperties_To_AllowedPrincipals_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AllowedPrincipals_STATUS + err = actual.AssignProperties_From_AllowedPrincipals_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_AllowedPrincipals_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 AllowedPrincipals_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAllowedPrincipals_STATUS, AllowedPrincipals_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAllowedPrincipals_STATUS runs a test to see if a specific instance of AllowedPrincipals_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAllowedPrincipals_STATUS(subject AllowedPrincipals_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AllowedPrincipals_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 AllowedPrincipals_STATUS instances for property testing - lazily instantiated by +// AllowedPrincipals_STATUSGenerator() +var allowedPrincipals_STATUSGenerator gopter.Gen + +// AllowedPrincipals_STATUSGenerator returns a generator of AllowedPrincipals_STATUS instances for property testing. +func AllowedPrincipals_STATUSGenerator() gopter.Gen { + if allowedPrincipals_STATUSGenerator != nil { + return allowedPrincipals_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAllowedPrincipals_STATUS(generators) + allowedPrincipals_STATUSGenerator = gen.Struct(reflect.TypeOf(AllowedPrincipals_STATUS{}), generators) + + return allowedPrincipals_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAllowedPrincipals_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAllowedPrincipals_STATUS(gens map[string]gopter.Gen) { + gens["Groups"] = gen.SliceOf(gen.AlphaString()) + gens["Identities"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_AppRegistration_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AppRegistration to AppRegistration via AssignProperties_To_AppRegistration & AssignProperties_From_AppRegistration returns original", + prop.ForAll(RunPropertyAssignmentTestForAppRegistration, AppRegistrationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAppRegistration tests if a specific instance of AppRegistration can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAppRegistration(subject AppRegistration) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AppRegistration + err := copied.AssignProperties_To_AppRegistration(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AppRegistration + err = actual.AssignProperties_From_AppRegistration(&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_AppRegistration_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 AppRegistration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAppRegistration, AppRegistrationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAppRegistration runs a test to see if a specific instance of AppRegistration round trips to JSON and back losslessly +func RunJSONSerializationTestForAppRegistration(subject AppRegistration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AppRegistration + 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 AppRegistration instances for property testing - lazily instantiated by AppRegistrationGenerator() +var appRegistrationGenerator gopter.Gen + +// AppRegistrationGenerator returns a generator of AppRegistration instances for property testing. +func AppRegistrationGenerator() gopter.Gen { + if appRegistrationGenerator != nil { + return appRegistrationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAppRegistration(generators) + appRegistrationGenerator = gen.Struct(reflect.TypeOf(AppRegistration{}), generators) + + return appRegistrationGenerator +} + +// AddIndependentPropertyGeneratorsForAppRegistration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAppRegistration(gens map[string]gopter.Gen) { + gens["AppId"] = gen.PtrOf(gen.AlphaString()) + gens["AppSecretSettingName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_AppRegistration_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AppRegistration_STATUS to AppRegistration_STATUS via AssignProperties_To_AppRegistration_STATUS & AssignProperties_From_AppRegistration_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAppRegistration_STATUS, AppRegistration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAppRegistration_STATUS tests if a specific instance of AppRegistration_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAppRegistration_STATUS(subject AppRegistration_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 storage.AppRegistration_STATUS + err := copied.AssignProperties_To_AppRegistration_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AppRegistration_STATUS + err = actual.AssignProperties_From_AppRegistration_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_AppRegistration_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 AppRegistration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAppRegistration_STATUS, AppRegistration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAppRegistration_STATUS runs a test to see if a specific instance of AppRegistration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAppRegistration_STATUS(subject AppRegistration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AppRegistration_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 AppRegistration_STATUS instances for property testing - lazily instantiated by +// AppRegistration_STATUSGenerator() +var appRegistration_STATUSGenerator gopter.Gen + +// AppRegistration_STATUSGenerator returns a generator of AppRegistration_STATUS instances for property testing. +func AppRegistration_STATUSGenerator() gopter.Gen { + if appRegistration_STATUSGenerator != nil { + return appRegistration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAppRegistration_STATUS(generators) + appRegistration_STATUSGenerator = gen.Struct(reflect.TypeOf(AppRegistration_STATUS{}), generators) + + return appRegistration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAppRegistration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAppRegistration_STATUS(gens map[string]gopter.Gen) { + gens["AppId"] = gen.PtrOf(gen.AlphaString()) + gens["AppSecretSettingName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Apple_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Apple to Apple via AssignProperties_To_Apple & AssignProperties_From_Apple returns original", + prop.ForAll(RunPropertyAssignmentTestForApple, AppleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForApple tests if a specific instance of Apple can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForApple(subject Apple) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.Apple + err := copied.AssignProperties_To_Apple(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Apple + err = actual.AssignProperties_From_Apple(&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_Apple_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 Apple via JSON returns original", + prop.ForAll(RunJSONSerializationTestForApple, AppleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForApple runs a test to see if a specific instance of Apple round trips to JSON and back losslessly +func RunJSONSerializationTestForApple(subject Apple) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Apple + 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 Apple instances for property testing - lazily instantiated by AppleGenerator() +var appleGenerator gopter.Gen + +// AppleGenerator returns a generator of Apple instances for property testing. +// We first initialize appleGenerator 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 AppleGenerator() gopter.Gen { + if appleGenerator != nil { + return appleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForApple(generators) + appleGenerator = gen.Struct(reflect.TypeOf(Apple{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForApple(generators) + AddRelatedPropertyGeneratorsForApple(generators) + appleGenerator = gen.Struct(reflect.TypeOf(Apple{}), generators) + + return appleGenerator +} + +// AddIndependentPropertyGeneratorsForApple is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForApple(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForApple is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForApple(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(LoginScopesGenerator()) + gens["Registration"] = gen.PtrOf(AppleRegistrationGenerator()) +} + +func Test_AppleRegistration_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AppleRegistration to AppleRegistration via AssignProperties_To_AppleRegistration & AssignProperties_From_AppleRegistration returns original", + prop.ForAll(RunPropertyAssignmentTestForAppleRegistration, AppleRegistrationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAppleRegistration tests if a specific instance of AppleRegistration can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAppleRegistration(subject AppleRegistration) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AppleRegistration + err := copied.AssignProperties_To_AppleRegistration(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AppleRegistration + err = actual.AssignProperties_From_AppleRegistration(&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_AppleRegistration_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 AppleRegistration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAppleRegistration, AppleRegistrationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAppleRegistration runs a test to see if a specific instance of AppleRegistration round trips to JSON and back losslessly +func RunJSONSerializationTestForAppleRegistration(subject AppleRegistration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AppleRegistration + 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 AppleRegistration instances for property testing - lazily instantiated by AppleRegistrationGenerator() +var appleRegistrationGenerator gopter.Gen + +// AppleRegistrationGenerator returns a generator of AppleRegistration instances for property testing. +func AppleRegistrationGenerator() gopter.Gen { + if appleRegistrationGenerator != nil { + return appleRegistrationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAppleRegistration(generators) + appleRegistrationGenerator = gen.Struct(reflect.TypeOf(AppleRegistration{}), generators) + + return appleRegistrationGenerator +} + +// AddIndependentPropertyGeneratorsForAppleRegistration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAppleRegistration(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretSettingName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_AppleRegistration_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AppleRegistration_STATUS to AppleRegistration_STATUS via AssignProperties_To_AppleRegistration_STATUS & AssignProperties_From_AppleRegistration_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAppleRegistration_STATUS, AppleRegistration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAppleRegistration_STATUS tests if a specific instance of AppleRegistration_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAppleRegistration_STATUS(subject AppleRegistration_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 storage.AppleRegistration_STATUS + err := copied.AssignProperties_To_AppleRegistration_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AppleRegistration_STATUS + err = actual.AssignProperties_From_AppleRegistration_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_AppleRegistration_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 AppleRegistration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAppleRegistration_STATUS, AppleRegistration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAppleRegistration_STATUS runs a test to see if a specific instance of AppleRegistration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAppleRegistration_STATUS(subject AppleRegistration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AppleRegistration_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 AppleRegistration_STATUS instances for property testing - lazily instantiated by +// AppleRegistration_STATUSGenerator() +var appleRegistration_STATUSGenerator gopter.Gen + +// AppleRegistration_STATUSGenerator returns a generator of AppleRegistration_STATUS instances for property testing. +func AppleRegistration_STATUSGenerator() gopter.Gen { + if appleRegistration_STATUSGenerator != nil { + return appleRegistration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAppleRegistration_STATUS(generators) + appleRegistration_STATUSGenerator = gen.Struct(reflect.TypeOf(AppleRegistration_STATUS{}), generators) + + return appleRegistration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAppleRegistration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAppleRegistration_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretSettingName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Apple_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Apple_STATUS to Apple_STATUS via AssignProperties_To_Apple_STATUS & AssignProperties_From_Apple_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForApple_STATUS, Apple_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForApple_STATUS tests if a specific instance of Apple_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForApple_STATUS(subject Apple_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 storage.Apple_STATUS + err := copied.AssignProperties_To_Apple_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Apple_STATUS + err = actual.AssignProperties_From_Apple_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_Apple_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 Apple_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForApple_STATUS, Apple_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForApple_STATUS runs a test to see if a specific instance of Apple_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForApple_STATUS(subject Apple_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Apple_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 Apple_STATUS instances for property testing - lazily instantiated by Apple_STATUSGenerator() +var apple_STATUSGenerator gopter.Gen + +// Apple_STATUSGenerator returns a generator of Apple_STATUS instances for property testing. +// We first initialize apple_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 Apple_STATUSGenerator() gopter.Gen { + if apple_STATUSGenerator != nil { + return apple_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForApple_STATUS(generators) + apple_STATUSGenerator = gen.Struct(reflect.TypeOf(Apple_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForApple_STATUS(generators) + AddRelatedPropertyGeneratorsForApple_STATUS(generators) + apple_STATUSGenerator = gen.Struct(reflect.TypeOf(Apple_STATUS{}), generators) + + return apple_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForApple_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForApple_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForApple_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForApple_STATUS(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(LoginScopes_STATUSGenerator()) + gens["Registration"] = gen.PtrOf(AppleRegistration_STATUSGenerator()) +} + +func Test_AuthConfig_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 AuthConfig to hub returns original", + prop.ForAll(RunResourceConversionTestForAuthConfig, AuthConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunResourceConversionTestForAuthConfig tests if a specific instance of AuthConfig round trips to the hub storage version and back losslessly +func RunResourceConversionTestForAuthConfig(subject AuthConfig) string { + // Copy subject to make sure conversion doesn't modify it + copied := subject.DeepCopy() + + // Convert to our hub version + var hub storage.AuthConfig + err := copied.ConvertTo(&hub) + if err != nil { + return err.Error() + } + + // Convert from our hub version + var actual AuthConfig + 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_AuthConfig_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AuthConfig to AuthConfig via AssignProperties_To_AuthConfig & AssignProperties_From_AuthConfig returns original", + prop.ForAll(RunPropertyAssignmentTestForAuthConfig, AuthConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAuthConfig tests if a specific instance of AuthConfig can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAuthConfig(subject AuthConfig) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AuthConfig + err := copied.AssignProperties_To_AuthConfig(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AuthConfig + err = actual.AssignProperties_From_AuthConfig(&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_AuthConfig_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 AuthConfig via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAuthConfig, AuthConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAuthConfig runs a test to see if a specific instance of AuthConfig round trips to JSON and back losslessly +func RunJSONSerializationTestForAuthConfig(subject AuthConfig) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AuthConfig + 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 AuthConfig instances for property testing - lazily instantiated by AuthConfigGenerator() +var authConfigGenerator gopter.Gen + +// AuthConfigGenerator returns a generator of AuthConfig instances for property testing. +func AuthConfigGenerator() gopter.Gen { + if authConfigGenerator != nil { + return authConfigGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForAuthConfig(generators) + authConfigGenerator = gen.Struct(reflect.TypeOf(AuthConfig{}), generators) + + return authConfigGenerator +} + +// AddRelatedPropertyGeneratorsForAuthConfig is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAuthConfig(gens map[string]gopter.Gen) { + gens["Spec"] = AuthConfig_SpecGenerator() + gens["Status"] = AuthConfig_STATUSGenerator() +} + +func Test_AuthConfigOperatorSpec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AuthConfigOperatorSpec to AuthConfigOperatorSpec via AssignProperties_To_AuthConfigOperatorSpec & AssignProperties_From_AuthConfigOperatorSpec returns original", + prop.ForAll(RunPropertyAssignmentTestForAuthConfigOperatorSpec, AuthConfigOperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAuthConfigOperatorSpec tests if a specific instance of AuthConfigOperatorSpec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAuthConfigOperatorSpec(subject AuthConfigOperatorSpec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AuthConfigOperatorSpec + err := copied.AssignProperties_To_AuthConfigOperatorSpec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AuthConfigOperatorSpec + err = actual.AssignProperties_From_AuthConfigOperatorSpec(&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_AuthConfigOperatorSpec_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 AuthConfigOperatorSpec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAuthConfigOperatorSpec, AuthConfigOperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAuthConfigOperatorSpec runs a test to see if a specific instance of AuthConfigOperatorSpec round trips to JSON and back losslessly +func RunJSONSerializationTestForAuthConfigOperatorSpec(subject AuthConfigOperatorSpec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AuthConfigOperatorSpec + 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 AuthConfigOperatorSpec instances for property testing - lazily instantiated by +// AuthConfigOperatorSpecGenerator() +var authConfigOperatorSpecGenerator gopter.Gen + +// AuthConfigOperatorSpecGenerator returns a generator of AuthConfigOperatorSpec instances for property testing. +func AuthConfigOperatorSpecGenerator() gopter.Gen { + if authConfigOperatorSpecGenerator != nil { + return authConfigOperatorSpecGenerator + } + + generators := make(map[string]gopter.Gen) + authConfigOperatorSpecGenerator = gen.Struct(reflect.TypeOf(AuthConfigOperatorSpec{}), generators) + + return authConfigOperatorSpecGenerator +} + +func Test_AuthConfig_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AuthConfig_STATUS to AuthConfig_STATUS via AssignProperties_To_AuthConfig_STATUS & AssignProperties_From_AuthConfig_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAuthConfig_STATUS, AuthConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAuthConfig_STATUS tests if a specific instance of AuthConfig_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAuthConfig_STATUS(subject AuthConfig_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 storage.AuthConfig_STATUS + err := copied.AssignProperties_To_AuthConfig_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AuthConfig_STATUS + err = actual.AssignProperties_From_AuthConfig_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_AuthConfig_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 AuthConfig_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAuthConfig_STATUS, AuthConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAuthConfig_STATUS runs a test to see if a specific instance of AuthConfig_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAuthConfig_STATUS(subject AuthConfig_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AuthConfig_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 AuthConfig_STATUS instances for property testing - lazily instantiated by AuthConfig_STATUSGenerator() +var authConfig_STATUSGenerator gopter.Gen + +// AuthConfig_STATUSGenerator returns a generator of AuthConfig_STATUS instances for property testing. +// We first initialize authConfig_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 AuthConfig_STATUSGenerator() gopter.Gen { + if authConfig_STATUSGenerator != nil { + return authConfig_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAuthConfig_STATUS(generators) + authConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(AuthConfig_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAuthConfig_STATUS(generators) + AddRelatedPropertyGeneratorsForAuthConfig_STATUS(generators) + authConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(AuthConfig_STATUS{}), generators) + + return authConfig_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAuthConfig_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAuthConfig_STATUS(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForAuthConfig_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAuthConfig_STATUS(gens map[string]gopter.Gen) { + gens["EncryptionSettings"] = gen.PtrOf(EncryptionSettings_STATUSGenerator()) + gens["GlobalValidation"] = gen.PtrOf(GlobalValidation_STATUSGenerator()) + gens["HttpSettings"] = gen.PtrOf(HttpSettings_STATUSGenerator()) + gens["IdentityProviders"] = gen.PtrOf(IdentityProviders_STATUSGenerator()) + gens["Login"] = gen.PtrOf(Login_STATUSGenerator()) + gens["Platform"] = gen.PtrOf(AuthPlatform_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} + +func Test_AuthConfig_Spec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AuthConfig_Spec to AuthConfig_Spec via AssignProperties_To_AuthConfig_Spec & AssignProperties_From_AuthConfig_Spec returns original", + prop.ForAll(RunPropertyAssignmentTestForAuthConfig_Spec, AuthConfig_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAuthConfig_Spec tests if a specific instance of AuthConfig_Spec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAuthConfig_Spec(subject AuthConfig_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 storage.AuthConfig_Spec + err := copied.AssignProperties_To_AuthConfig_Spec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AuthConfig_Spec + err = actual.AssignProperties_From_AuthConfig_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_AuthConfig_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 AuthConfig_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAuthConfig_Spec, AuthConfig_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAuthConfig_Spec runs a test to see if a specific instance of AuthConfig_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForAuthConfig_Spec(subject AuthConfig_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AuthConfig_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 AuthConfig_Spec instances for property testing - lazily instantiated by AuthConfig_SpecGenerator() +var authConfig_SpecGenerator gopter.Gen + +// AuthConfig_SpecGenerator returns a generator of AuthConfig_Spec instances for property testing. +// We first initialize authConfig_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 AuthConfig_SpecGenerator() gopter.Gen { + if authConfig_SpecGenerator != nil { + return authConfig_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAuthConfig_Spec(generators) + authConfig_SpecGenerator = gen.Struct(reflect.TypeOf(AuthConfig_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAuthConfig_Spec(generators) + AddRelatedPropertyGeneratorsForAuthConfig_Spec(generators) + authConfig_SpecGenerator = gen.Struct(reflect.TypeOf(AuthConfig_Spec{}), generators) + + return authConfig_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForAuthConfig_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAuthConfig_Spec(gens map[string]gopter.Gen) { + gens["AzureName"] = gen.AlphaString() +} + +// AddRelatedPropertyGeneratorsForAuthConfig_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAuthConfig_Spec(gens map[string]gopter.Gen) { + gens["EncryptionSettings"] = gen.PtrOf(EncryptionSettingsGenerator()) + gens["GlobalValidation"] = gen.PtrOf(GlobalValidationGenerator()) + gens["HttpSettings"] = gen.PtrOf(HttpSettingsGenerator()) + gens["IdentityProviders"] = gen.PtrOf(IdentityProvidersGenerator()) + gens["Login"] = gen.PtrOf(LoginGenerator()) + gens["OperatorSpec"] = gen.PtrOf(AuthConfigOperatorSpecGenerator()) + gens["Platform"] = gen.PtrOf(AuthPlatformGenerator()) +} + +func Test_AuthPlatform_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AuthPlatform to AuthPlatform via AssignProperties_To_AuthPlatform & AssignProperties_From_AuthPlatform returns original", + prop.ForAll(RunPropertyAssignmentTestForAuthPlatform, AuthPlatformGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAuthPlatform tests if a specific instance of AuthPlatform can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAuthPlatform(subject AuthPlatform) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AuthPlatform + err := copied.AssignProperties_To_AuthPlatform(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AuthPlatform + err = actual.AssignProperties_From_AuthPlatform(&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_AuthPlatform_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 AuthPlatform via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAuthPlatform, AuthPlatformGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAuthPlatform runs a test to see if a specific instance of AuthPlatform round trips to JSON and back losslessly +func RunJSONSerializationTestForAuthPlatform(subject AuthPlatform) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AuthPlatform + 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 AuthPlatform instances for property testing - lazily instantiated by AuthPlatformGenerator() +var authPlatformGenerator gopter.Gen + +// AuthPlatformGenerator returns a generator of AuthPlatform instances for property testing. +func AuthPlatformGenerator() gopter.Gen { + if authPlatformGenerator != nil { + return authPlatformGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAuthPlatform(generators) + authPlatformGenerator = gen.Struct(reflect.TypeOf(AuthPlatform{}), generators) + + return authPlatformGenerator +} + +// AddIndependentPropertyGeneratorsForAuthPlatform is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAuthPlatform(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["RuntimeVersion"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_AuthPlatform_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AuthPlatform_STATUS to AuthPlatform_STATUS via AssignProperties_To_AuthPlatform_STATUS & AssignProperties_From_AuthPlatform_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAuthPlatform_STATUS, AuthPlatform_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAuthPlatform_STATUS tests if a specific instance of AuthPlatform_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAuthPlatform_STATUS(subject AuthPlatform_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 storage.AuthPlatform_STATUS + err := copied.AssignProperties_To_AuthPlatform_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AuthPlatform_STATUS + err = actual.AssignProperties_From_AuthPlatform_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_AuthPlatform_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 AuthPlatform_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAuthPlatform_STATUS, AuthPlatform_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAuthPlatform_STATUS runs a test to see if a specific instance of AuthPlatform_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAuthPlatform_STATUS(subject AuthPlatform_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AuthPlatform_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 AuthPlatform_STATUS instances for property testing - lazily instantiated by +// AuthPlatform_STATUSGenerator() +var authPlatform_STATUSGenerator gopter.Gen + +// AuthPlatform_STATUSGenerator returns a generator of AuthPlatform_STATUS instances for property testing. +func AuthPlatform_STATUSGenerator() gopter.Gen { + if authPlatform_STATUSGenerator != nil { + return authPlatform_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAuthPlatform_STATUS(generators) + authPlatform_STATUSGenerator = gen.Struct(reflect.TypeOf(AuthPlatform_STATUS{}), generators) + + return authPlatform_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAuthPlatform_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAuthPlatform_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["RuntimeVersion"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_AzureActiveDirectory_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AzureActiveDirectory to AzureActiveDirectory via AssignProperties_To_AzureActiveDirectory & AssignProperties_From_AzureActiveDirectory returns original", + prop.ForAll(RunPropertyAssignmentTestForAzureActiveDirectory, AzureActiveDirectoryGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAzureActiveDirectory tests if a specific instance of AzureActiveDirectory can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAzureActiveDirectory(subject AzureActiveDirectory) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AzureActiveDirectory + err := copied.AssignProperties_To_AzureActiveDirectory(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AzureActiveDirectory + err = actual.AssignProperties_From_AzureActiveDirectory(&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_AzureActiveDirectory_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 AzureActiveDirectory via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureActiveDirectory, AzureActiveDirectoryGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureActiveDirectory runs a test to see if a specific instance of AzureActiveDirectory round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureActiveDirectory(subject AzureActiveDirectory) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureActiveDirectory + 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 AzureActiveDirectory instances for property testing - lazily instantiated by +// AzureActiveDirectoryGenerator() +var azureActiveDirectoryGenerator gopter.Gen + +// AzureActiveDirectoryGenerator returns a generator of AzureActiveDirectory instances for property testing. +// We first initialize azureActiveDirectoryGenerator 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 AzureActiveDirectoryGenerator() gopter.Gen { + if azureActiveDirectoryGenerator != nil { + return azureActiveDirectoryGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectory(generators) + azureActiveDirectoryGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectory{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectory(generators) + AddRelatedPropertyGeneratorsForAzureActiveDirectory(generators) + azureActiveDirectoryGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectory{}), generators) + + return azureActiveDirectoryGenerator +} + +// AddIndependentPropertyGeneratorsForAzureActiveDirectory is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureActiveDirectory(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["IsAutoProvisioned"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForAzureActiveDirectory is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAzureActiveDirectory(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(AzureActiveDirectoryLoginGenerator()) + gens["Registration"] = gen.PtrOf(AzureActiveDirectoryRegistrationGenerator()) + gens["Validation"] = gen.PtrOf(AzureActiveDirectoryValidationGenerator()) +} + +func Test_AzureActiveDirectoryLogin_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AzureActiveDirectoryLogin to AzureActiveDirectoryLogin via AssignProperties_To_AzureActiveDirectoryLogin & AssignProperties_From_AzureActiveDirectoryLogin returns original", + prop.ForAll(RunPropertyAssignmentTestForAzureActiveDirectoryLogin, AzureActiveDirectoryLoginGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAzureActiveDirectoryLogin tests if a specific instance of AzureActiveDirectoryLogin can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAzureActiveDirectoryLogin(subject AzureActiveDirectoryLogin) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AzureActiveDirectoryLogin + err := copied.AssignProperties_To_AzureActiveDirectoryLogin(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AzureActiveDirectoryLogin + err = actual.AssignProperties_From_AzureActiveDirectoryLogin(&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_AzureActiveDirectoryLogin_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 AzureActiveDirectoryLogin via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureActiveDirectoryLogin, AzureActiveDirectoryLoginGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureActiveDirectoryLogin runs a test to see if a specific instance of AzureActiveDirectoryLogin round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureActiveDirectoryLogin(subject AzureActiveDirectoryLogin) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureActiveDirectoryLogin + 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 AzureActiveDirectoryLogin instances for property testing - lazily instantiated by +// AzureActiveDirectoryLoginGenerator() +var azureActiveDirectoryLoginGenerator gopter.Gen + +// AzureActiveDirectoryLoginGenerator returns a generator of AzureActiveDirectoryLogin instances for property testing. +func AzureActiveDirectoryLoginGenerator() gopter.Gen { + if azureActiveDirectoryLoginGenerator != nil { + return azureActiveDirectoryLoginGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectoryLogin(generators) + azureActiveDirectoryLoginGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectoryLogin{}), generators) + + return azureActiveDirectoryLoginGenerator +} + +// AddIndependentPropertyGeneratorsForAzureActiveDirectoryLogin is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureActiveDirectoryLogin(gens map[string]gopter.Gen) { + gens["DisableWWWAuthenticate"] = gen.PtrOf(gen.Bool()) + gens["LoginParameters"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_AzureActiveDirectoryLogin_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AzureActiveDirectoryLogin_STATUS to AzureActiveDirectoryLogin_STATUS via AssignProperties_To_AzureActiveDirectoryLogin_STATUS & AssignProperties_From_AzureActiveDirectoryLogin_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAzureActiveDirectoryLogin_STATUS, AzureActiveDirectoryLogin_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAzureActiveDirectoryLogin_STATUS tests if a specific instance of AzureActiveDirectoryLogin_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAzureActiveDirectoryLogin_STATUS(subject AzureActiveDirectoryLogin_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 storage.AzureActiveDirectoryLogin_STATUS + err := copied.AssignProperties_To_AzureActiveDirectoryLogin_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AzureActiveDirectoryLogin_STATUS + err = actual.AssignProperties_From_AzureActiveDirectoryLogin_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_AzureActiveDirectoryLogin_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 AzureActiveDirectoryLogin_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureActiveDirectoryLogin_STATUS, AzureActiveDirectoryLogin_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureActiveDirectoryLogin_STATUS runs a test to see if a specific instance of AzureActiveDirectoryLogin_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureActiveDirectoryLogin_STATUS(subject AzureActiveDirectoryLogin_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureActiveDirectoryLogin_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 AzureActiveDirectoryLogin_STATUS instances for property testing - lazily instantiated by +// AzureActiveDirectoryLogin_STATUSGenerator() +var azureActiveDirectoryLogin_STATUSGenerator gopter.Gen + +// AzureActiveDirectoryLogin_STATUSGenerator returns a generator of AzureActiveDirectoryLogin_STATUS instances for property testing. +func AzureActiveDirectoryLogin_STATUSGenerator() gopter.Gen { + if azureActiveDirectoryLogin_STATUSGenerator != nil { + return azureActiveDirectoryLogin_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectoryLogin_STATUS(generators) + azureActiveDirectoryLogin_STATUSGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectoryLogin_STATUS{}), generators) + + return azureActiveDirectoryLogin_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAzureActiveDirectoryLogin_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureActiveDirectoryLogin_STATUS(gens map[string]gopter.Gen) { + gens["DisableWWWAuthenticate"] = gen.PtrOf(gen.Bool()) + gens["LoginParameters"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_AzureActiveDirectoryRegistration_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AzureActiveDirectoryRegistration to AzureActiveDirectoryRegistration via AssignProperties_To_AzureActiveDirectoryRegistration & AssignProperties_From_AzureActiveDirectoryRegistration returns original", + prop.ForAll(RunPropertyAssignmentTestForAzureActiveDirectoryRegistration, AzureActiveDirectoryRegistrationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAzureActiveDirectoryRegistration tests if a specific instance of AzureActiveDirectoryRegistration can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAzureActiveDirectoryRegistration(subject AzureActiveDirectoryRegistration) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AzureActiveDirectoryRegistration + err := copied.AssignProperties_To_AzureActiveDirectoryRegistration(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AzureActiveDirectoryRegistration + err = actual.AssignProperties_From_AzureActiveDirectoryRegistration(&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_AzureActiveDirectoryRegistration_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 AzureActiveDirectoryRegistration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureActiveDirectoryRegistration, AzureActiveDirectoryRegistrationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureActiveDirectoryRegistration runs a test to see if a specific instance of AzureActiveDirectoryRegistration round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureActiveDirectoryRegistration(subject AzureActiveDirectoryRegistration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureActiveDirectoryRegistration + 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 AzureActiveDirectoryRegistration instances for property testing - lazily instantiated by +// AzureActiveDirectoryRegistrationGenerator() +var azureActiveDirectoryRegistrationGenerator gopter.Gen + +// AzureActiveDirectoryRegistrationGenerator returns a generator of AzureActiveDirectoryRegistration instances for property testing. +func AzureActiveDirectoryRegistrationGenerator() gopter.Gen { + if azureActiveDirectoryRegistrationGenerator != nil { + return azureActiveDirectoryRegistrationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectoryRegistration(generators) + azureActiveDirectoryRegistrationGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectoryRegistration{}), generators) + + return azureActiveDirectoryRegistrationGenerator +} + +// AddIndependentPropertyGeneratorsForAzureActiveDirectoryRegistration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureActiveDirectoryRegistration(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretCertificateIssuer"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretCertificateSubjectAlternativeName"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretCertificateThumbprint"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretSettingName"] = gen.PtrOf(gen.AlphaString()) + gens["OpenIdIssuer"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_AzureActiveDirectoryRegistration_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AzureActiveDirectoryRegistration_STATUS to AzureActiveDirectoryRegistration_STATUS via AssignProperties_To_AzureActiveDirectoryRegistration_STATUS & AssignProperties_From_AzureActiveDirectoryRegistration_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAzureActiveDirectoryRegistration_STATUS, AzureActiveDirectoryRegistration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAzureActiveDirectoryRegistration_STATUS tests if a specific instance of AzureActiveDirectoryRegistration_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAzureActiveDirectoryRegistration_STATUS(subject AzureActiveDirectoryRegistration_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 storage.AzureActiveDirectoryRegistration_STATUS + err := copied.AssignProperties_To_AzureActiveDirectoryRegistration_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AzureActiveDirectoryRegistration_STATUS + err = actual.AssignProperties_From_AzureActiveDirectoryRegistration_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_AzureActiveDirectoryRegistration_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 AzureActiveDirectoryRegistration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureActiveDirectoryRegistration_STATUS, AzureActiveDirectoryRegistration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureActiveDirectoryRegistration_STATUS runs a test to see if a specific instance of AzureActiveDirectoryRegistration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureActiveDirectoryRegistration_STATUS(subject AzureActiveDirectoryRegistration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureActiveDirectoryRegistration_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 AzureActiveDirectoryRegistration_STATUS instances for property testing - lazily instantiated by +// AzureActiveDirectoryRegistration_STATUSGenerator() +var azureActiveDirectoryRegistration_STATUSGenerator gopter.Gen + +// AzureActiveDirectoryRegistration_STATUSGenerator returns a generator of AzureActiveDirectoryRegistration_STATUS instances for property testing. +func AzureActiveDirectoryRegistration_STATUSGenerator() gopter.Gen { + if azureActiveDirectoryRegistration_STATUSGenerator != nil { + return azureActiveDirectoryRegistration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectoryRegistration_STATUS(generators) + azureActiveDirectoryRegistration_STATUSGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectoryRegistration_STATUS{}), generators) + + return azureActiveDirectoryRegistration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAzureActiveDirectoryRegistration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureActiveDirectoryRegistration_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretCertificateIssuer"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretCertificateSubjectAlternativeName"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretCertificateThumbprint"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretSettingName"] = gen.PtrOf(gen.AlphaString()) + gens["OpenIdIssuer"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_AzureActiveDirectoryValidation_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AzureActiveDirectoryValidation to AzureActiveDirectoryValidation via AssignProperties_To_AzureActiveDirectoryValidation & AssignProperties_From_AzureActiveDirectoryValidation returns original", + prop.ForAll(RunPropertyAssignmentTestForAzureActiveDirectoryValidation, AzureActiveDirectoryValidationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAzureActiveDirectoryValidation tests if a specific instance of AzureActiveDirectoryValidation can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAzureActiveDirectoryValidation(subject AzureActiveDirectoryValidation) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AzureActiveDirectoryValidation + err := copied.AssignProperties_To_AzureActiveDirectoryValidation(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AzureActiveDirectoryValidation + err = actual.AssignProperties_From_AzureActiveDirectoryValidation(&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_AzureActiveDirectoryValidation_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 AzureActiveDirectoryValidation via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureActiveDirectoryValidation, AzureActiveDirectoryValidationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureActiveDirectoryValidation runs a test to see if a specific instance of AzureActiveDirectoryValidation round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureActiveDirectoryValidation(subject AzureActiveDirectoryValidation) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureActiveDirectoryValidation + 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 AzureActiveDirectoryValidation instances for property testing - lazily instantiated by +// AzureActiveDirectoryValidationGenerator() +var azureActiveDirectoryValidationGenerator gopter.Gen + +// AzureActiveDirectoryValidationGenerator returns a generator of AzureActiveDirectoryValidation instances for property testing. +// We first initialize azureActiveDirectoryValidationGenerator 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 AzureActiveDirectoryValidationGenerator() gopter.Gen { + if azureActiveDirectoryValidationGenerator != nil { + return azureActiveDirectoryValidationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectoryValidation(generators) + azureActiveDirectoryValidationGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectoryValidation{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectoryValidation(generators) + AddRelatedPropertyGeneratorsForAzureActiveDirectoryValidation(generators) + azureActiveDirectoryValidationGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectoryValidation{}), generators) + + return azureActiveDirectoryValidationGenerator +} + +// AddIndependentPropertyGeneratorsForAzureActiveDirectoryValidation is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureActiveDirectoryValidation(gens map[string]gopter.Gen) { + gens["AllowedAudiences"] = gen.SliceOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForAzureActiveDirectoryValidation is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAzureActiveDirectoryValidation(gens map[string]gopter.Gen) { + gens["DefaultAuthorizationPolicy"] = gen.PtrOf(DefaultAuthorizationPolicyGenerator()) + gens["JwtClaimChecks"] = gen.PtrOf(JwtClaimChecksGenerator()) +} + +func Test_AzureActiveDirectoryValidation_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AzureActiveDirectoryValidation_STATUS to AzureActiveDirectoryValidation_STATUS via AssignProperties_To_AzureActiveDirectoryValidation_STATUS & AssignProperties_From_AzureActiveDirectoryValidation_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAzureActiveDirectoryValidation_STATUS, AzureActiveDirectoryValidation_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAzureActiveDirectoryValidation_STATUS tests if a specific instance of AzureActiveDirectoryValidation_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAzureActiveDirectoryValidation_STATUS(subject AzureActiveDirectoryValidation_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 storage.AzureActiveDirectoryValidation_STATUS + err := copied.AssignProperties_To_AzureActiveDirectoryValidation_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AzureActiveDirectoryValidation_STATUS + err = actual.AssignProperties_From_AzureActiveDirectoryValidation_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_AzureActiveDirectoryValidation_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 AzureActiveDirectoryValidation_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureActiveDirectoryValidation_STATUS, AzureActiveDirectoryValidation_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureActiveDirectoryValidation_STATUS runs a test to see if a specific instance of AzureActiveDirectoryValidation_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureActiveDirectoryValidation_STATUS(subject AzureActiveDirectoryValidation_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureActiveDirectoryValidation_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 AzureActiveDirectoryValidation_STATUS instances for property testing - lazily instantiated by +// AzureActiveDirectoryValidation_STATUSGenerator() +var azureActiveDirectoryValidation_STATUSGenerator gopter.Gen + +// AzureActiveDirectoryValidation_STATUSGenerator returns a generator of AzureActiveDirectoryValidation_STATUS instances for property testing. +// We first initialize azureActiveDirectoryValidation_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 AzureActiveDirectoryValidation_STATUSGenerator() gopter.Gen { + if azureActiveDirectoryValidation_STATUSGenerator != nil { + return azureActiveDirectoryValidation_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectoryValidation_STATUS(generators) + azureActiveDirectoryValidation_STATUSGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectoryValidation_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectoryValidation_STATUS(generators) + AddRelatedPropertyGeneratorsForAzureActiveDirectoryValidation_STATUS(generators) + azureActiveDirectoryValidation_STATUSGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectoryValidation_STATUS{}), generators) + + return azureActiveDirectoryValidation_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAzureActiveDirectoryValidation_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureActiveDirectoryValidation_STATUS(gens map[string]gopter.Gen) { + gens["AllowedAudiences"] = gen.SliceOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForAzureActiveDirectoryValidation_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAzureActiveDirectoryValidation_STATUS(gens map[string]gopter.Gen) { + gens["DefaultAuthorizationPolicy"] = gen.PtrOf(DefaultAuthorizationPolicy_STATUSGenerator()) + gens["JwtClaimChecks"] = gen.PtrOf(JwtClaimChecks_STATUSGenerator()) +} + +func Test_AzureActiveDirectory_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AzureActiveDirectory_STATUS to AzureActiveDirectory_STATUS via AssignProperties_To_AzureActiveDirectory_STATUS & AssignProperties_From_AzureActiveDirectory_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAzureActiveDirectory_STATUS, AzureActiveDirectory_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAzureActiveDirectory_STATUS tests if a specific instance of AzureActiveDirectory_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAzureActiveDirectory_STATUS(subject AzureActiveDirectory_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 storage.AzureActiveDirectory_STATUS + err := copied.AssignProperties_To_AzureActiveDirectory_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AzureActiveDirectory_STATUS + err = actual.AssignProperties_From_AzureActiveDirectory_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_AzureActiveDirectory_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 AzureActiveDirectory_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureActiveDirectory_STATUS, AzureActiveDirectory_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureActiveDirectory_STATUS runs a test to see if a specific instance of AzureActiveDirectory_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureActiveDirectory_STATUS(subject AzureActiveDirectory_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureActiveDirectory_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 AzureActiveDirectory_STATUS instances for property testing - lazily instantiated by +// AzureActiveDirectory_STATUSGenerator() +var azureActiveDirectory_STATUSGenerator gopter.Gen + +// AzureActiveDirectory_STATUSGenerator returns a generator of AzureActiveDirectory_STATUS instances for property testing. +// We first initialize azureActiveDirectory_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 AzureActiveDirectory_STATUSGenerator() gopter.Gen { + if azureActiveDirectory_STATUSGenerator != nil { + return azureActiveDirectory_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectory_STATUS(generators) + azureActiveDirectory_STATUSGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectory_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectory_STATUS(generators) + AddRelatedPropertyGeneratorsForAzureActiveDirectory_STATUS(generators) + azureActiveDirectory_STATUSGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectory_STATUS{}), generators) + + return azureActiveDirectory_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAzureActiveDirectory_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureActiveDirectory_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["IsAutoProvisioned"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForAzureActiveDirectory_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAzureActiveDirectory_STATUS(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(AzureActiveDirectoryLogin_STATUSGenerator()) + gens["Registration"] = gen.PtrOf(AzureActiveDirectoryRegistration_STATUSGenerator()) + gens["Validation"] = gen.PtrOf(AzureActiveDirectoryValidation_STATUSGenerator()) +} + +func Test_AzureStaticWebApps_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AzureStaticWebApps to AzureStaticWebApps via AssignProperties_To_AzureStaticWebApps & AssignProperties_From_AzureStaticWebApps returns original", + prop.ForAll(RunPropertyAssignmentTestForAzureStaticWebApps, AzureStaticWebAppsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAzureStaticWebApps tests if a specific instance of AzureStaticWebApps can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAzureStaticWebApps(subject AzureStaticWebApps) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AzureStaticWebApps + err := copied.AssignProperties_To_AzureStaticWebApps(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AzureStaticWebApps + err = actual.AssignProperties_From_AzureStaticWebApps(&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_AzureStaticWebApps_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 AzureStaticWebApps via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureStaticWebApps, AzureStaticWebAppsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureStaticWebApps runs a test to see if a specific instance of AzureStaticWebApps round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureStaticWebApps(subject AzureStaticWebApps) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureStaticWebApps + 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 AzureStaticWebApps instances for property testing - lazily instantiated by AzureStaticWebAppsGenerator() +var azureStaticWebAppsGenerator gopter.Gen + +// AzureStaticWebAppsGenerator returns a generator of AzureStaticWebApps instances for property testing. +// We first initialize azureStaticWebAppsGenerator 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 AzureStaticWebAppsGenerator() gopter.Gen { + if azureStaticWebAppsGenerator != nil { + return azureStaticWebAppsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureStaticWebApps(generators) + azureStaticWebAppsGenerator = gen.Struct(reflect.TypeOf(AzureStaticWebApps{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureStaticWebApps(generators) + AddRelatedPropertyGeneratorsForAzureStaticWebApps(generators) + azureStaticWebAppsGenerator = gen.Struct(reflect.TypeOf(AzureStaticWebApps{}), generators) + + return azureStaticWebAppsGenerator +} + +// AddIndependentPropertyGeneratorsForAzureStaticWebApps is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureStaticWebApps(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForAzureStaticWebApps is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAzureStaticWebApps(gens map[string]gopter.Gen) { + gens["Registration"] = gen.PtrOf(AzureStaticWebAppsRegistrationGenerator()) +} + +func Test_AzureStaticWebAppsRegistration_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AzureStaticWebAppsRegistration to AzureStaticWebAppsRegistration via AssignProperties_To_AzureStaticWebAppsRegistration & AssignProperties_From_AzureStaticWebAppsRegistration returns original", + prop.ForAll(RunPropertyAssignmentTestForAzureStaticWebAppsRegistration, AzureStaticWebAppsRegistrationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAzureStaticWebAppsRegistration tests if a specific instance of AzureStaticWebAppsRegistration can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAzureStaticWebAppsRegistration(subject AzureStaticWebAppsRegistration) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AzureStaticWebAppsRegistration + err := copied.AssignProperties_To_AzureStaticWebAppsRegistration(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AzureStaticWebAppsRegistration + err = actual.AssignProperties_From_AzureStaticWebAppsRegistration(&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_AzureStaticWebAppsRegistration_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 AzureStaticWebAppsRegistration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureStaticWebAppsRegistration, AzureStaticWebAppsRegistrationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureStaticWebAppsRegistration runs a test to see if a specific instance of AzureStaticWebAppsRegistration round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureStaticWebAppsRegistration(subject AzureStaticWebAppsRegistration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureStaticWebAppsRegistration + 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 AzureStaticWebAppsRegistration instances for property testing - lazily instantiated by +// AzureStaticWebAppsRegistrationGenerator() +var azureStaticWebAppsRegistrationGenerator gopter.Gen + +// AzureStaticWebAppsRegistrationGenerator returns a generator of AzureStaticWebAppsRegistration instances for property testing. +func AzureStaticWebAppsRegistrationGenerator() gopter.Gen { + if azureStaticWebAppsRegistrationGenerator != nil { + return azureStaticWebAppsRegistrationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureStaticWebAppsRegistration(generators) + azureStaticWebAppsRegistrationGenerator = gen.Struct(reflect.TypeOf(AzureStaticWebAppsRegistration{}), generators) + + return azureStaticWebAppsRegistrationGenerator +} + +// AddIndependentPropertyGeneratorsForAzureStaticWebAppsRegistration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureStaticWebAppsRegistration(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_AzureStaticWebAppsRegistration_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AzureStaticWebAppsRegistration_STATUS to AzureStaticWebAppsRegistration_STATUS via AssignProperties_To_AzureStaticWebAppsRegistration_STATUS & AssignProperties_From_AzureStaticWebAppsRegistration_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAzureStaticWebAppsRegistration_STATUS, AzureStaticWebAppsRegistration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAzureStaticWebAppsRegistration_STATUS tests if a specific instance of AzureStaticWebAppsRegistration_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAzureStaticWebAppsRegistration_STATUS(subject AzureStaticWebAppsRegistration_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 storage.AzureStaticWebAppsRegistration_STATUS + err := copied.AssignProperties_To_AzureStaticWebAppsRegistration_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AzureStaticWebAppsRegistration_STATUS + err = actual.AssignProperties_From_AzureStaticWebAppsRegistration_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_AzureStaticWebAppsRegistration_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 AzureStaticWebAppsRegistration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureStaticWebAppsRegistration_STATUS, AzureStaticWebAppsRegistration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureStaticWebAppsRegistration_STATUS runs a test to see if a specific instance of AzureStaticWebAppsRegistration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureStaticWebAppsRegistration_STATUS(subject AzureStaticWebAppsRegistration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureStaticWebAppsRegistration_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 AzureStaticWebAppsRegistration_STATUS instances for property testing - lazily instantiated by +// AzureStaticWebAppsRegistration_STATUSGenerator() +var azureStaticWebAppsRegistration_STATUSGenerator gopter.Gen + +// AzureStaticWebAppsRegistration_STATUSGenerator returns a generator of AzureStaticWebAppsRegistration_STATUS instances for property testing. +func AzureStaticWebAppsRegistration_STATUSGenerator() gopter.Gen { + if azureStaticWebAppsRegistration_STATUSGenerator != nil { + return azureStaticWebAppsRegistration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureStaticWebAppsRegistration_STATUS(generators) + azureStaticWebAppsRegistration_STATUSGenerator = gen.Struct(reflect.TypeOf(AzureStaticWebAppsRegistration_STATUS{}), generators) + + return azureStaticWebAppsRegistration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAzureStaticWebAppsRegistration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureStaticWebAppsRegistration_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_AzureStaticWebApps_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AzureStaticWebApps_STATUS to AzureStaticWebApps_STATUS via AssignProperties_To_AzureStaticWebApps_STATUS & AssignProperties_From_AzureStaticWebApps_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAzureStaticWebApps_STATUS, AzureStaticWebApps_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAzureStaticWebApps_STATUS tests if a specific instance of AzureStaticWebApps_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAzureStaticWebApps_STATUS(subject AzureStaticWebApps_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 storage.AzureStaticWebApps_STATUS + err := copied.AssignProperties_To_AzureStaticWebApps_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AzureStaticWebApps_STATUS + err = actual.AssignProperties_From_AzureStaticWebApps_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_AzureStaticWebApps_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 AzureStaticWebApps_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureStaticWebApps_STATUS, AzureStaticWebApps_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureStaticWebApps_STATUS runs a test to see if a specific instance of AzureStaticWebApps_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureStaticWebApps_STATUS(subject AzureStaticWebApps_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureStaticWebApps_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 AzureStaticWebApps_STATUS instances for property testing - lazily instantiated by +// AzureStaticWebApps_STATUSGenerator() +var azureStaticWebApps_STATUSGenerator gopter.Gen + +// AzureStaticWebApps_STATUSGenerator returns a generator of AzureStaticWebApps_STATUS instances for property testing. +// We first initialize azureStaticWebApps_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 AzureStaticWebApps_STATUSGenerator() gopter.Gen { + if azureStaticWebApps_STATUSGenerator != nil { + return azureStaticWebApps_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureStaticWebApps_STATUS(generators) + azureStaticWebApps_STATUSGenerator = gen.Struct(reflect.TypeOf(AzureStaticWebApps_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureStaticWebApps_STATUS(generators) + AddRelatedPropertyGeneratorsForAzureStaticWebApps_STATUS(generators) + azureStaticWebApps_STATUSGenerator = gen.Struct(reflect.TypeOf(AzureStaticWebApps_STATUS{}), generators) + + return azureStaticWebApps_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAzureStaticWebApps_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureStaticWebApps_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForAzureStaticWebApps_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAzureStaticWebApps_STATUS(gens map[string]gopter.Gen) { + gens["Registration"] = gen.PtrOf(AzureStaticWebAppsRegistration_STATUSGenerator()) +} + +func Test_BlobStorageTokenStore_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from BlobStorageTokenStore to BlobStorageTokenStore via AssignProperties_To_BlobStorageTokenStore & AssignProperties_From_BlobStorageTokenStore returns original", + prop.ForAll(RunPropertyAssignmentTestForBlobStorageTokenStore, BlobStorageTokenStoreGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForBlobStorageTokenStore tests if a specific instance of BlobStorageTokenStore can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForBlobStorageTokenStore(subject BlobStorageTokenStore) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.BlobStorageTokenStore + err := copied.AssignProperties_To_BlobStorageTokenStore(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual BlobStorageTokenStore + err = actual.AssignProperties_From_BlobStorageTokenStore(&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_BlobStorageTokenStore_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 BlobStorageTokenStore via JSON returns original", + prop.ForAll(RunJSONSerializationTestForBlobStorageTokenStore, BlobStorageTokenStoreGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForBlobStorageTokenStore runs a test to see if a specific instance of BlobStorageTokenStore round trips to JSON and back losslessly +func RunJSONSerializationTestForBlobStorageTokenStore(subject BlobStorageTokenStore) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual BlobStorageTokenStore + 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 BlobStorageTokenStore instances for property testing - lazily instantiated by +// BlobStorageTokenStoreGenerator() +var blobStorageTokenStoreGenerator gopter.Gen + +// BlobStorageTokenStoreGenerator returns a generator of BlobStorageTokenStore instances for property testing. +func BlobStorageTokenStoreGenerator() gopter.Gen { + if blobStorageTokenStoreGenerator != nil { + return blobStorageTokenStoreGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForBlobStorageTokenStore(generators) + blobStorageTokenStoreGenerator = gen.Struct(reflect.TypeOf(BlobStorageTokenStore{}), generators) + + return blobStorageTokenStoreGenerator +} + +// AddIndependentPropertyGeneratorsForBlobStorageTokenStore is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForBlobStorageTokenStore(gens map[string]gopter.Gen) { + gens["SasUrlSettingName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_BlobStorageTokenStore_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from BlobStorageTokenStore_STATUS to BlobStorageTokenStore_STATUS via AssignProperties_To_BlobStorageTokenStore_STATUS & AssignProperties_From_BlobStorageTokenStore_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForBlobStorageTokenStore_STATUS, BlobStorageTokenStore_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForBlobStorageTokenStore_STATUS tests if a specific instance of BlobStorageTokenStore_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForBlobStorageTokenStore_STATUS(subject BlobStorageTokenStore_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 storage.BlobStorageTokenStore_STATUS + err := copied.AssignProperties_To_BlobStorageTokenStore_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual BlobStorageTokenStore_STATUS + err = actual.AssignProperties_From_BlobStorageTokenStore_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_BlobStorageTokenStore_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 BlobStorageTokenStore_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForBlobStorageTokenStore_STATUS, BlobStorageTokenStore_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForBlobStorageTokenStore_STATUS runs a test to see if a specific instance of BlobStorageTokenStore_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForBlobStorageTokenStore_STATUS(subject BlobStorageTokenStore_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual BlobStorageTokenStore_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 BlobStorageTokenStore_STATUS instances for property testing - lazily instantiated by +// BlobStorageTokenStore_STATUSGenerator() +var blobStorageTokenStore_STATUSGenerator gopter.Gen + +// BlobStorageTokenStore_STATUSGenerator returns a generator of BlobStorageTokenStore_STATUS instances for property testing. +func BlobStorageTokenStore_STATUSGenerator() gopter.Gen { + if blobStorageTokenStore_STATUSGenerator != nil { + return blobStorageTokenStore_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForBlobStorageTokenStore_STATUS(generators) + blobStorageTokenStore_STATUSGenerator = gen.Struct(reflect.TypeOf(BlobStorageTokenStore_STATUS{}), generators) + + return blobStorageTokenStore_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForBlobStorageTokenStore_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForBlobStorageTokenStore_STATUS(gens map[string]gopter.Gen) { + gens["SasUrlSettingName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ClientRegistration_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ClientRegistration to ClientRegistration via AssignProperties_To_ClientRegistration & AssignProperties_From_ClientRegistration returns original", + prop.ForAll(RunPropertyAssignmentTestForClientRegistration, ClientRegistrationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForClientRegistration tests if a specific instance of ClientRegistration can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForClientRegistration(subject ClientRegistration) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ClientRegistration + err := copied.AssignProperties_To_ClientRegistration(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ClientRegistration + err = actual.AssignProperties_From_ClientRegistration(&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_ClientRegistration_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 ClientRegistration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForClientRegistration, ClientRegistrationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForClientRegistration runs a test to see if a specific instance of ClientRegistration round trips to JSON and back losslessly +func RunJSONSerializationTestForClientRegistration(subject ClientRegistration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ClientRegistration + 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 ClientRegistration instances for property testing - lazily instantiated by ClientRegistrationGenerator() +var clientRegistrationGenerator gopter.Gen + +// ClientRegistrationGenerator returns a generator of ClientRegistration instances for property testing. +func ClientRegistrationGenerator() gopter.Gen { + if clientRegistrationGenerator != nil { + return clientRegistrationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForClientRegistration(generators) + clientRegistrationGenerator = gen.Struct(reflect.TypeOf(ClientRegistration{}), generators) + + return clientRegistrationGenerator +} + +// AddIndependentPropertyGeneratorsForClientRegistration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForClientRegistration(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretSettingName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ClientRegistration_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ClientRegistration_STATUS to ClientRegistration_STATUS via AssignProperties_To_ClientRegistration_STATUS & AssignProperties_From_ClientRegistration_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForClientRegistration_STATUS, ClientRegistration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForClientRegistration_STATUS tests if a specific instance of ClientRegistration_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForClientRegistration_STATUS(subject ClientRegistration_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 storage.ClientRegistration_STATUS + err := copied.AssignProperties_To_ClientRegistration_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ClientRegistration_STATUS + err = actual.AssignProperties_From_ClientRegistration_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_ClientRegistration_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 ClientRegistration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForClientRegistration_STATUS, ClientRegistration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForClientRegistration_STATUS runs a test to see if a specific instance of ClientRegistration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForClientRegistration_STATUS(subject ClientRegistration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ClientRegistration_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 ClientRegistration_STATUS instances for property testing - lazily instantiated by +// ClientRegistration_STATUSGenerator() +var clientRegistration_STATUSGenerator gopter.Gen + +// ClientRegistration_STATUSGenerator returns a generator of ClientRegistration_STATUS instances for property testing. +func ClientRegistration_STATUSGenerator() gopter.Gen { + if clientRegistration_STATUSGenerator != nil { + return clientRegistration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForClientRegistration_STATUS(generators) + clientRegistration_STATUSGenerator = gen.Struct(reflect.TypeOf(ClientRegistration_STATUS{}), generators) + + return clientRegistration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForClientRegistration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForClientRegistration_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretSettingName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_CookieExpiration_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from CookieExpiration to CookieExpiration via AssignProperties_To_CookieExpiration & AssignProperties_From_CookieExpiration returns original", + prop.ForAll(RunPropertyAssignmentTestForCookieExpiration, CookieExpirationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForCookieExpiration tests if a specific instance of CookieExpiration can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForCookieExpiration(subject CookieExpiration) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.CookieExpiration + err := copied.AssignProperties_To_CookieExpiration(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual CookieExpiration + err = actual.AssignProperties_From_CookieExpiration(&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_CookieExpiration_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 CookieExpiration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCookieExpiration, CookieExpirationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCookieExpiration runs a test to see if a specific instance of CookieExpiration round trips to JSON and back losslessly +func RunJSONSerializationTestForCookieExpiration(subject CookieExpiration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CookieExpiration + 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 CookieExpiration instances for property testing - lazily instantiated by CookieExpirationGenerator() +var cookieExpirationGenerator gopter.Gen + +// CookieExpirationGenerator returns a generator of CookieExpiration instances for property testing. +func CookieExpirationGenerator() gopter.Gen { + if cookieExpirationGenerator != nil { + return cookieExpirationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCookieExpiration(generators) + cookieExpirationGenerator = gen.Struct(reflect.TypeOf(CookieExpiration{}), generators) + + return cookieExpirationGenerator +} + +// AddIndependentPropertyGeneratorsForCookieExpiration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCookieExpiration(gens map[string]gopter.Gen) { + gens["Convention"] = gen.PtrOf(gen.OneConstOf(CookieExpiration_Convention_FixedTime, CookieExpiration_Convention_IdentityProviderDerived)) + gens["TimeToExpiration"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_CookieExpiration_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from CookieExpiration_STATUS to CookieExpiration_STATUS via AssignProperties_To_CookieExpiration_STATUS & AssignProperties_From_CookieExpiration_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForCookieExpiration_STATUS, CookieExpiration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForCookieExpiration_STATUS tests if a specific instance of CookieExpiration_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForCookieExpiration_STATUS(subject CookieExpiration_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 storage.CookieExpiration_STATUS + err := copied.AssignProperties_To_CookieExpiration_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual CookieExpiration_STATUS + err = actual.AssignProperties_From_CookieExpiration_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_CookieExpiration_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 CookieExpiration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCookieExpiration_STATUS, CookieExpiration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCookieExpiration_STATUS runs a test to see if a specific instance of CookieExpiration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForCookieExpiration_STATUS(subject CookieExpiration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CookieExpiration_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 CookieExpiration_STATUS instances for property testing - lazily instantiated by +// CookieExpiration_STATUSGenerator() +var cookieExpiration_STATUSGenerator gopter.Gen + +// CookieExpiration_STATUSGenerator returns a generator of CookieExpiration_STATUS instances for property testing. +func CookieExpiration_STATUSGenerator() gopter.Gen { + if cookieExpiration_STATUSGenerator != nil { + return cookieExpiration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCookieExpiration_STATUS(generators) + cookieExpiration_STATUSGenerator = gen.Struct(reflect.TypeOf(CookieExpiration_STATUS{}), generators) + + return cookieExpiration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForCookieExpiration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCookieExpiration_STATUS(gens map[string]gopter.Gen) { + gens["Convention"] = gen.PtrOf(gen.OneConstOf(CookieExpiration_Convention_STATUS_FixedTime, CookieExpiration_Convention_STATUS_IdentityProviderDerived)) + gens["TimeToExpiration"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_CustomOpenIdConnectProvider_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from CustomOpenIdConnectProvider to CustomOpenIdConnectProvider via AssignProperties_To_CustomOpenIdConnectProvider & AssignProperties_From_CustomOpenIdConnectProvider returns original", + prop.ForAll(RunPropertyAssignmentTestForCustomOpenIdConnectProvider, CustomOpenIdConnectProviderGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForCustomOpenIdConnectProvider tests if a specific instance of CustomOpenIdConnectProvider can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForCustomOpenIdConnectProvider(subject CustomOpenIdConnectProvider) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.CustomOpenIdConnectProvider + err := copied.AssignProperties_To_CustomOpenIdConnectProvider(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual CustomOpenIdConnectProvider + err = actual.AssignProperties_From_CustomOpenIdConnectProvider(&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_CustomOpenIdConnectProvider_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 CustomOpenIdConnectProvider via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCustomOpenIdConnectProvider, CustomOpenIdConnectProviderGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCustomOpenIdConnectProvider runs a test to see if a specific instance of CustomOpenIdConnectProvider round trips to JSON and back losslessly +func RunJSONSerializationTestForCustomOpenIdConnectProvider(subject CustomOpenIdConnectProvider) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CustomOpenIdConnectProvider + 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 CustomOpenIdConnectProvider instances for property testing - lazily instantiated by +// CustomOpenIdConnectProviderGenerator() +var customOpenIdConnectProviderGenerator gopter.Gen + +// CustomOpenIdConnectProviderGenerator returns a generator of CustomOpenIdConnectProvider instances for property testing. +// We first initialize customOpenIdConnectProviderGenerator 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 CustomOpenIdConnectProviderGenerator() gopter.Gen { + if customOpenIdConnectProviderGenerator != nil { + return customOpenIdConnectProviderGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomOpenIdConnectProvider(generators) + customOpenIdConnectProviderGenerator = gen.Struct(reflect.TypeOf(CustomOpenIdConnectProvider{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomOpenIdConnectProvider(generators) + AddRelatedPropertyGeneratorsForCustomOpenIdConnectProvider(generators) + customOpenIdConnectProviderGenerator = gen.Struct(reflect.TypeOf(CustomOpenIdConnectProvider{}), generators) + + return customOpenIdConnectProviderGenerator +} + +// AddIndependentPropertyGeneratorsForCustomOpenIdConnectProvider is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCustomOpenIdConnectProvider(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForCustomOpenIdConnectProvider is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForCustomOpenIdConnectProvider(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(OpenIdConnectLoginGenerator()) + gens["Registration"] = gen.PtrOf(OpenIdConnectRegistrationGenerator()) +} + +func Test_CustomOpenIdConnectProvider_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from CustomOpenIdConnectProvider_STATUS to CustomOpenIdConnectProvider_STATUS via AssignProperties_To_CustomOpenIdConnectProvider_STATUS & AssignProperties_From_CustomOpenIdConnectProvider_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForCustomOpenIdConnectProvider_STATUS, CustomOpenIdConnectProvider_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForCustomOpenIdConnectProvider_STATUS tests if a specific instance of CustomOpenIdConnectProvider_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForCustomOpenIdConnectProvider_STATUS(subject CustomOpenIdConnectProvider_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 storage.CustomOpenIdConnectProvider_STATUS + err := copied.AssignProperties_To_CustomOpenIdConnectProvider_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual CustomOpenIdConnectProvider_STATUS + err = actual.AssignProperties_From_CustomOpenIdConnectProvider_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_CustomOpenIdConnectProvider_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 CustomOpenIdConnectProvider_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCustomOpenIdConnectProvider_STATUS, CustomOpenIdConnectProvider_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCustomOpenIdConnectProvider_STATUS runs a test to see if a specific instance of CustomOpenIdConnectProvider_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForCustomOpenIdConnectProvider_STATUS(subject CustomOpenIdConnectProvider_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CustomOpenIdConnectProvider_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 CustomOpenIdConnectProvider_STATUS instances for property testing - lazily instantiated by +// CustomOpenIdConnectProvider_STATUSGenerator() +var customOpenIdConnectProvider_STATUSGenerator gopter.Gen + +// CustomOpenIdConnectProvider_STATUSGenerator returns a generator of CustomOpenIdConnectProvider_STATUS instances for property testing. +// We first initialize customOpenIdConnectProvider_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 CustomOpenIdConnectProvider_STATUSGenerator() gopter.Gen { + if customOpenIdConnectProvider_STATUSGenerator != nil { + return customOpenIdConnectProvider_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomOpenIdConnectProvider_STATUS(generators) + customOpenIdConnectProvider_STATUSGenerator = gen.Struct(reflect.TypeOf(CustomOpenIdConnectProvider_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomOpenIdConnectProvider_STATUS(generators) + AddRelatedPropertyGeneratorsForCustomOpenIdConnectProvider_STATUS(generators) + customOpenIdConnectProvider_STATUSGenerator = gen.Struct(reflect.TypeOf(CustomOpenIdConnectProvider_STATUS{}), generators) + + return customOpenIdConnectProvider_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForCustomOpenIdConnectProvider_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCustomOpenIdConnectProvider_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForCustomOpenIdConnectProvider_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForCustomOpenIdConnectProvider_STATUS(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(OpenIdConnectLogin_STATUSGenerator()) + gens["Registration"] = gen.PtrOf(OpenIdConnectRegistration_STATUSGenerator()) +} + +func Test_DefaultAuthorizationPolicy_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from DefaultAuthorizationPolicy to DefaultAuthorizationPolicy via AssignProperties_To_DefaultAuthorizationPolicy & AssignProperties_From_DefaultAuthorizationPolicy returns original", + prop.ForAll(RunPropertyAssignmentTestForDefaultAuthorizationPolicy, DefaultAuthorizationPolicyGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForDefaultAuthorizationPolicy tests if a specific instance of DefaultAuthorizationPolicy can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForDefaultAuthorizationPolicy(subject DefaultAuthorizationPolicy) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.DefaultAuthorizationPolicy + err := copied.AssignProperties_To_DefaultAuthorizationPolicy(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual DefaultAuthorizationPolicy + err = actual.AssignProperties_From_DefaultAuthorizationPolicy(&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_DefaultAuthorizationPolicy_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 DefaultAuthorizationPolicy via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDefaultAuthorizationPolicy, DefaultAuthorizationPolicyGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDefaultAuthorizationPolicy runs a test to see if a specific instance of DefaultAuthorizationPolicy round trips to JSON and back losslessly +func RunJSONSerializationTestForDefaultAuthorizationPolicy(subject DefaultAuthorizationPolicy) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DefaultAuthorizationPolicy + 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 DefaultAuthorizationPolicy instances for property testing - lazily instantiated by +// DefaultAuthorizationPolicyGenerator() +var defaultAuthorizationPolicyGenerator gopter.Gen + +// DefaultAuthorizationPolicyGenerator returns a generator of DefaultAuthorizationPolicy instances for property testing. +// We first initialize defaultAuthorizationPolicyGenerator 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 DefaultAuthorizationPolicyGenerator() gopter.Gen { + if defaultAuthorizationPolicyGenerator != nil { + return defaultAuthorizationPolicyGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDefaultAuthorizationPolicy(generators) + defaultAuthorizationPolicyGenerator = gen.Struct(reflect.TypeOf(DefaultAuthorizationPolicy{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDefaultAuthorizationPolicy(generators) + AddRelatedPropertyGeneratorsForDefaultAuthorizationPolicy(generators) + defaultAuthorizationPolicyGenerator = gen.Struct(reflect.TypeOf(DefaultAuthorizationPolicy{}), generators) + + return defaultAuthorizationPolicyGenerator +} + +// AddIndependentPropertyGeneratorsForDefaultAuthorizationPolicy is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDefaultAuthorizationPolicy(gens map[string]gopter.Gen) { + gens["AllowedApplications"] = gen.SliceOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForDefaultAuthorizationPolicy is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForDefaultAuthorizationPolicy(gens map[string]gopter.Gen) { + gens["AllowedPrincipals"] = gen.PtrOf(AllowedPrincipalsGenerator()) +} + +func Test_DefaultAuthorizationPolicy_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from DefaultAuthorizationPolicy_STATUS to DefaultAuthorizationPolicy_STATUS via AssignProperties_To_DefaultAuthorizationPolicy_STATUS & AssignProperties_From_DefaultAuthorizationPolicy_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForDefaultAuthorizationPolicy_STATUS, DefaultAuthorizationPolicy_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForDefaultAuthorizationPolicy_STATUS tests if a specific instance of DefaultAuthorizationPolicy_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForDefaultAuthorizationPolicy_STATUS(subject DefaultAuthorizationPolicy_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 storage.DefaultAuthorizationPolicy_STATUS + err := copied.AssignProperties_To_DefaultAuthorizationPolicy_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual DefaultAuthorizationPolicy_STATUS + err = actual.AssignProperties_From_DefaultAuthorizationPolicy_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_DefaultAuthorizationPolicy_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 DefaultAuthorizationPolicy_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDefaultAuthorizationPolicy_STATUS, DefaultAuthorizationPolicy_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDefaultAuthorizationPolicy_STATUS runs a test to see if a specific instance of DefaultAuthorizationPolicy_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForDefaultAuthorizationPolicy_STATUS(subject DefaultAuthorizationPolicy_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DefaultAuthorizationPolicy_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 DefaultAuthorizationPolicy_STATUS instances for property testing - lazily instantiated by +// DefaultAuthorizationPolicy_STATUSGenerator() +var defaultAuthorizationPolicy_STATUSGenerator gopter.Gen + +// DefaultAuthorizationPolicy_STATUSGenerator returns a generator of DefaultAuthorizationPolicy_STATUS instances for property testing. +// We first initialize defaultAuthorizationPolicy_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 DefaultAuthorizationPolicy_STATUSGenerator() gopter.Gen { + if defaultAuthorizationPolicy_STATUSGenerator != nil { + return defaultAuthorizationPolicy_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDefaultAuthorizationPolicy_STATUS(generators) + defaultAuthorizationPolicy_STATUSGenerator = gen.Struct(reflect.TypeOf(DefaultAuthorizationPolicy_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDefaultAuthorizationPolicy_STATUS(generators) + AddRelatedPropertyGeneratorsForDefaultAuthorizationPolicy_STATUS(generators) + defaultAuthorizationPolicy_STATUSGenerator = gen.Struct(reflect.TypeOf(DefaultAuthorizationPolicy_STATUS{}), generators) + + return defaultAuthorizationPolicy_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForDefaultAuthorizationPolicy_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDefaultAuthorizationPolicy_STATUS(gens map[string]gopter.Gen) { + gens["AllowedApplications"] = gen.SliceOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForDefaultAuthorizationPolicy_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForDefaultAuthorizationPolicy_STATUS(gens map[string]gopter.Gen) { + gens["AllowedPrincipals"] = gen.PtrOf(AllowedPrincipals_STATUSGenerator()) +} + +func Test_EncryptionSettings_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from EncryptionSettings to EncryptionSettings via AssignProperties_To_EncryptionSettings & AssignProperties_From_EncryptionSettings returns original", + prop.ForAll(RunPropertyAssignmentTestForEncryptionSettings, EncryptionSettingsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForEncryptionSettings tests if a specific instance of EncryptionSettings can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForEncryptionSettings(subject EncryptionSettings) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.EncryptionSettings + err := copied.AssignProperties_To_EncryptionSettings(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual EncryptionSettings + err = actual.AssignProperties_From_EncryptionSettings(&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_EncryptionSettings_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 EncryptionSettings via JSON returns original", + prop.ForAll(RunJSONSerializationTestForEncryptionSettings, EncryptionSettingsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForEncryptionSettings runs a test to see if a specific instance of EncryptionSettings round trips to JSON and back losslessly +func RunJSONSerializationTestForEncryptionSettings(subject EncryptionSettings) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual EncryptionSettings + 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 EncryptionSettings instances for property testing - lazily instantiated by EncryptionSettingsGenerator() +var encryptionSettingsGenerator gopter.Gen + +// EncryptionSettingsGenerator returns a generator of EncryptionSettings instances for property testing. +func EncryptionSettingsGenerator() gopter.Gen { + if encryptionSettingsGenerator != nil { + return encryptionSettingsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForEncryptionSettings(generators) + encryptionSettingsGenerator = gen.Struct(reflect.TypeOf(EncryptionSettings{}), generators) + + return encryptionSettingsGenerator +} + +// AddIndependentPropertyGeneratorsForEncryptionSettings is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForEncryptionSettings(gens map[string]gopter.Gen) { + gens["ContainerAppAuthEncryptionSecretName"] = gen.PtrOf(gen.AlphaString()) + gens["ContainerAppAuthSigningSecretName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_EncryptionSettings_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from EncryptionSettings_STATUS to EncryptionSettings_STATUS via AssignProperties_To_EncryptionSettings_STATUS & AssignProperties_From_EncryptionSettings_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForEncryptionSettings_STATUS, EncryptionSettings_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForEncryptionSettings_STATUS tests if a specific instance of EncryptionSettings_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForEncryptionSettings_STATUS(subject EncryptionSettings_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 storage.EncryptionSettings_STATUS + err := copied.AssignProperties_To_EncryptionSettings_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual EncryptionSettings_STATUS + err = actual.AssignProperties_From_EncryptionSettings_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_EncryptionSettings_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 EncryptionSettings_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForEncryptionSettings_STATUS, EncryptionSettings_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForEncryptionSettings_STATUS runs a test to see if a specific instance of EncryptionSettings_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForEncryptionSettings_STATUS(subject EncryptionSettings_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual EncryptionSettings_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 EncryptionSettings_STATUS instances for property testing - lazily instantiated by +// EncryptionSettings_STATUSGenerator() +var encryptionSettings_STATUSGenerator gopter.Gen + +// EncryptionSettings_STATUSGenerator returns a generator of EncryptionSettings_STATUS instances for property testing. +func EncryptionSettings_STATUSGenerator() gopter.Gen { + if encryptionSettings_STATUSGenerator != nil { + return encryptionSettings_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForEncryptionSettings_STATUS(generators) + encryptionSettings_STATUSGenerator = gen.Struct(reflect.TypeOf(EncryptionSettings_STATUS{}), generators) + + return encryptionSettings_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForEncryptionSettings_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForEncryptionSettings_STATUS(gens map[string]gopter.Gen) { + gens["ContainerAppAuthEncryptionSecretName"] = gen.PtrOf(gen.AlphaString()) + gens["ContainerAppAuthSigningSecretName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Facebook_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Facebook to Facebook via AssignProperties_To_Facebook & AssignProperties_From_Facebook returns original", + prop.ForAll(RunPropertyAssignmentTestForFacebook, FacebookGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFacebook tests if a specific instance of Facebook can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFacebook(subject Facebook) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.Facebook + err := copied.AssignProperties_To_Facebook(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Facebook + err = actual.AssignProperties_From_Facebook(&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_Facebook_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 Facebook via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFacebook, FacebookGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFacebook runs a test to see if a specific instance of Facebook round trips to JSON and back losslessly +func RunJSONSerializationTestForFacebook(subject Facebook) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Facebook + 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 Facebook instances for property testing - lazily instantiated by FacebookGenerator() +var facebookGenerator gopter.Gen + +// FacebookGenerator returns a generator of Facebook instances for property testing. +// We first initialize facebookGenerator 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 FacebookGenerator() gopter.Gen { + if facebookGenerator != nil { + return facebookGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFacebook(generators) + facebookGenerator = gen.Struct(reflect.TypeOf(Facebook{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFacebook(generators) + AddRelatedPropertyGeneratorsForFacebook(generators) + facebookGenerator = gen.Struct(reflect.TypeOf(Facebook{}), generators) + + return facebookGenerator +} + +// AddIndependentPropertyGeneratorsForFacebook is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFacebook(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["GraphApiVersion"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForFacebook is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFacebook(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(LoginScopesGenerator()) + gens["Registration"] = gen.PtrOf(AppRegistrationGenerator()) +} + +func Test_Facebook_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Facebook_STATUS to Facebook_STATUS via AssignProperties_To_Facebook_STATUS & AssignProperties_From_Facebook_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForFacebook_STATUS, Facebook_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFacebook_STATUS tests if a specific instance of Facebook_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFacebook_STATUS(subject Facebook_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 storage.Facebook_STATUS + err := copied.AssignProperties_To_Facebook_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Facebook_STATUS + err = actual.AssignProperties_From_Facebook_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_Facebook_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 Facebook_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFacebook_STATUS, Facebook_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFacebook_STATUS runs a test to see if a specific instance of Facebook_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForFacebook_STATUS(subject Facebook_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Facebook_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 Facebook_STATUS instances for property testing - lazily instantiated by Facebook_STATUSGenerator() +var facebook_STATUSGenerator gopter.Gen + +// Facebook_STATUSGenerator returns a generator of Facebook_STATUS instances for property testing. +// We first initialize facebook_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 Facebook_STATUSGenerator() gopter.Gen { + if facebook_STATUSGenerator != nil { + return facebook_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFacebook_STATUS(generators) + facebook_STATUSGenerator = gen.Struct(reflect.TypeOf(Facebook_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFacebook_STATUS(generators) + AddRelatedPropertyGeneratorsForFacebook_STATUS(generators) + facebook_STATUSGenerator = gen.Struct(reflect.TypeOf(Facebook_STATUS{}), generators) + + return facebook_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForFacebook_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFacebook_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["GraphApiVersion"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForFacebook_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFacebook_STATUS(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(LoginScopes_STATUSGenerator()) + gens["Registration"] = gen.PtrOf(AppRegistration_STATUSGenerator()) +} + +func Test_ForwardProxy_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ForwardProxy to ForwardProxy via AssignProperties_To_ForwardProxy & AssignProperties_From_ForwardProxy returns original", + prop.ForAll(RunPropertyAssignmentTestForForwardProxy, ForwardProxyGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForForwardProxy tests if a specific instance of ForwardProxy can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForForwardProxy(subject ForwardProxy) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ForwardProxy + err := copied.AssignProperties_To_ForwardProxy(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ForwardProxy + err = actual.AssignProperties_From_ForwardProxy(&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_ForwardProxy_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 ForwardProxy via JSON returns original", + prop.ForAll(RunJSONSerializationTestForForwardProxy, ForwardProxyGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForForwardProxy runs a test to see if a specific instance of ForwardProxy round trips to JSON and back losslessly +func RunJSONSerializationTestForForwardProxy(subject ForwardProxy) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ForwardProxy + 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 ForwardProxy instances for property testing - lazily instantiated by ForwardProxyGenerator() +var forwardProxyGenerator gopter.Gen + +// ForwardProxyGenerator returns a generator of ForwardProxy instances for property testing. +func ForwardProxyGenerator() gopter.Gen { + if forwardProxyGenerator != nil { + return forwardProxyGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForForwardProxy(generators) + forwardProxyGenerator = gen.Struct(reflect.TypeOf(ForwardProxy{}), generators) + + return forwardProxyGenerator +} + +// AddIndependentPropertyGeneratorsForForwardProxy is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForForwardProxy(gens map[string]gopter.Gen) { + gens["Convention"] = gen.PtrOf(gen.OneConstOf(ForwardProxy_Convention_Custom, ForwardProxy_Convention_NoProxy, ForwardProxy_Convention_Standard)) + gens["CustomHostHeaderName"] = gen.PtrOf(gen.AlphaString()) + gens["CustomProtoHeaderName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ForwardProxy_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ForwardProxy_STATUS to ForwardProxy_STATUS via AssignProperties_To_ForwardProxy_STATUS & AssignProperties_From_ForwardProxy_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForForwardProxy_STATUS, ForwardProxy_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForForwardProxy_STATUS tests if a specific instance of ForwardProxy_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForForwardProxy_STATUS(subject ForwardProxy_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 storage.ForwardProxy_STATUS + err := copied.AssignProperties_To_ForwardProxy_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ForwardProxy_STATUS + err = actual.AssignProperties_From_ForwardProxy_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_ForwardProxy_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 ForwardProxy_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForForwardProxy_STATUS, ForwardProxy_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForForwardProxy_STATUS runs a test to see if a specific instance of ForwardProxy_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForForwardProxy_STATUS(subject ForwardProxy_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ForwardProxy_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 ForwardProxy_STATUS instances for property testing - lazily instantiated by +// ForwardProxy_STATUSGenerator() +var forwardProxy_STATUSGenerator gopter.Gen + +// ForwardProxy_STATUSGenerator returns a generator of ForwardProxy_STATUS instances for property testing. +func ForwardProxy_STATUSGenerator() gopter.Gen { + if forwardProxy_STATUSGenerator != nil { + return forwardProxy_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForForwardProxy_STATUS(generators) + forwardProxy_STATUSGenerator = gen.Struct(reflect.TypeOf(ForwardProxy_STATUS{}), generators) + + return forwardProxy_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForForwardProxy_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForForwardProxy_STATUS(gens map[string]gopter.Gen) { + gens["Convention"] = gen.PtrOf(gen.OneConstOf(ForwardProxy_Convention_STATUS_Custom, ForwardProxy_Convention_STATUS_NoProxy, ForwardProxy_Convention_STATUS_Standard)) + gens["CustomHostHeaderName"] = gen.PtrOf(gen.AlphaString()) + gens["CustomProtoHeaderName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_GitHub_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from GitHub to GitHub via AssignProperties_To_GitHub & AssignProperties_From_GitHub returns original", + prop.ForAll(RunPropertyAssignmentTestForGitHub, GitHubGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForGitHub tests if a specific instance of GitHub can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForGitHub(subject GitHub) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.GitHub + err := copied.AssignProperties_To_GitHub(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual GitHub + err = actual.AssignProperties_From_GitHub(&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_GitHub_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 GitHub via JSON returns original", + prop.ForAll(RunJSONSerializationTestForGitHub, GitHubGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForGitHub runs a test to see if a specific instance of GitHub round trips to JSON and back losslessly +func RunJSONSerializationTestForGitHub(subject GitHub) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual GitHub + 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 GitHub instances for property testing - lazily instantiated by GitHubGenerator() +var gitHubGenerator gopter.Gen + +// GitHubGenerator returns a generator of GitHub instances for property testing. +// We first initialize gitHubGenerator 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 GitHubGenerator() gopter.Gen { + if gitHubGenerator != nil { + return gitHubGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGitHub(generators) + gitHubGenerator = gen.Struct(reflect.TypeOf(GitHub{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGitHub(generators) + AddRelatedPropertyGeneratorsForGitHub(generators) + gitHubGenerator = gen.Struct(reflect.TypeOf(GitHub{}), generators) + + return gitHubGenerator +} + +// AddIndependentPropertyGeneratorsForGitHub is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForGitHub(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForGitHub is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForGitHub(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(LoginScopesGenerator()) + gens["Registration"] = gen.PtrOf(ClientRegistrationGenerator()) +} + +func Test_GitHub_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from GitHub_STATUS to GitHub_STATUS via AssignProperties_To_GitHub_STATUS & AssignProperties_From_GitHub_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForGitHub_STATUS, GitHub_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForGitHub_STATUS tests if a specific instance of GitHub_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForGitHub_STATUS(subject GitHub_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 storage.GitHub_STATUS + err := copied.AssignProperties_To_GitHub_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual GitHub_STATUS + err = actual.AssignProperties_From_GitHub_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_GitHub_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 GitHub_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForGitHub_STATUS, GitHub_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForGitHub_STATUS runs a test to see if a specific instance of GitHub_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForGitHub_STATUS(subject GitHub_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual GitHub_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 GitHub_STATUS instances for property testing - lazily instantiated by GitHub_STATUSGenerator() +var gitHub_STATUSGenerator gopter.Gen + +// GitHub_STATUSGenerator returns a generator of GitHub_STATUS instances for property testing. +// We first initialize gitHub_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 GitHub_STATUSGenerator() gopter.Gen { + if gitHub_STATUSGenerator != nil { + return gitHub_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGitHub_STATUS(generators) + gitHub_STATUSGenerator = gen.Struct(reflect.TypeOf(GitHub_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGitHub_STATUS(generators) + AddRelatedPropertyGeneratorsForGitHub_STATUS(generators) + gitHub_STATUSGenerator = gen.Struct(reflect.TypeOf(GitHub_STATUS{}), generators) + + return gitHub_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForGitHub_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForGitHub_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForGitHub_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForGitHub_STATUS(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(LoginScopes_STATUSGenerator()) + gens["Registration"] = gen.PtrOf(ClientRegistration_STATUSGenerator()) +} + +func Test_GlobalValidation_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from GlobalValidation to GlobalValidation via AssignProperties_To_GlobalValidation & AssignProperties_From_GlobalValidation returns original", + prop.ForAll(RunPropertyAssignmentTestForGlobalValidation, GlobalValidationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForGlobalValidation tests if a specific instance of GlobalValidation can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForGlobalValidation(subject GlobalValidation) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.GlobalValidation + err := copied.AssignProperties_To_GlobalValidation(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual GlobalValidation + err = actual.AssignProperties_From_GlobalValidation(&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_GlobalValidation_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 GlobalValidation via JSON returns original", + prop.ForAll(RunJSONSerializationTestForGlobalValidation, GlobalValidationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForGlobalValidation runs a test to see if a specific instance of GlobalValidation round trips to JSON and back losslessly +func RunJSONSerializationTestForGlobalValidation(subject GlobalValidation) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual GlobalValidation + 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 GlobalValidation instances for property testing - lazily instantiated by GlobalValidationGenerator() +var globalValidationGenerator gopter.Gen + +// GlobalValidationGenerator returns a generator of GlobalValidation instances for property testing. +func GlobalValidationGenerator() gopter.Gen { + if globalValidationGenerator != nil { + return globalValidationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGlobalValidation(generators) + globalValidationGenerator = gen.Struct(reflect.TypeOf(GlobalValidation{}), generators) + + return globalValidationGenerator +} + +// AddIndependentPropertyGeneratorsForGlobalValidation is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForGlobalValidation(gens map[string]gopter.Gen) { + gens["ExcludedPaths"] = gen.SliceOf(gen.AlphaString()) + gens["RedirectToProvider"] = gen.PtrOf(gen.AlphaString()) + gens["UnauthenticatedClientAction"] = gen.PtrOf(gen.OneConstOf( + GlobalValidation_UnauthenticatedClientAction_AllowAnonymous, + GlobalValidation_UnauthenticatedClientAction_RedirectToLoginPage, + GlobalValidation_UnauthenticatedClientAction_Return401, + GlobalValidation_UnauthenticatedClientAction_Return403)) +} + +func Test_GlobalValidation_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from GlobalValidation_STATUS to GlobalValidation_STATUS via AssignProperties_To_GlobalValidation_STATUS & AssignProperties_From_GlobalValidation_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForGlobalValidation_STATUS, GlobalValidation_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForGlobalValidation_STATUS tests if a specific instance of GlobalValidation_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForGlobalValidation_STATUS(subject GlobalValidation_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 storage.GlobalValidation_STATUS + err := copied.AssignProperties_To_GlobalValidation_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual GlobalValidation_STATUS + err = actual.AssignProperties_From_GlobalValidation_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_GlobalValidation_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 GlobalValidation_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForGlobalValidation_STATUS, GlobalValidation_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForGlobalValidation_STATUS runs a test to see if a specific instance of GlobalValidation_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForGlobalValidation_STATUS(subject GlobalValidation_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual GlobalValidation_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 GlobalValidation_STATUS instances for property testing - lazily instantiated by +// GlobalValidation_STATUSGenerator() +var globalValidation_STATUSGenerator gopter.Gen + +// GlobalValidation_STATUSGenerator returns a generator of GlobalValidation_STATUS instances for property testing. +func GlobalValidation_STATUSGenerator() gopter.Gen { + if globalValidation_STATUSGenerator != nil { + return globalValidation_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGlobalValidation_STATUS(generators) + globalValidation_STATUSGenerator = gen.Struct(reflect.TypeOf(GlobalValidation_STATUS{}), generators) + + return globalValidation_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForGlobalValidation_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForGlobalValidation_STATUS(gens map[string]gopter.Gen) { + gens["ExcludedPaths"] = gen.SliceOf(gen.AlphaString()) + gens["RedirectToProvider"] = gen.PtrOf(gen.AlphaString()) + gens["UnauthenticatedClientAction"] = gen.PtrOf(gen.OneConstOf( + GlobalValidation_UnauthenticatedClientAction_STATUS_AllowAnonymous, + GlobalValidation_UnauthenticatedClientAction_STATUS_RedirectToLoginPage, + GlobalValidation_UnauthenticatedClientAction_STATUS_Return401, + GlobalValidation_UnauthenticatedClientAction_STATUS_Return403)) +} + +func Test_Google_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Google to Google via AssignProperties_To_Google & AssignProperties_From_Google returns original", + prop.ForAll(RunPropertyAssignmentTestForGoogle, GoogleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForGoogle tests if a specific instance of Google can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForGoogle(subject Google) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.Google + err := copied.AssignProperties_To_Google(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Google + err = actual.AssignProperties_From_Google(&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_Google_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 Google via JSON returns original", + prop.ForAll(RunJSONSerializationTestForGoogle, GoogleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForGoogle runs a test to see if a specific instance of Google round trips to JSON and back losslessly +func RunJSONSerializationTestForGoogle(subject Google) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Google + 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 Google instances for property testing - lazily instantiated by GoogleGenerator() +var googleGenerator gopter.Gen + +// GoogleGenerator returns a generator of Google instances for property testing. +// We first initialize googleGenerator 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 GoogleGenerator() gopter.Gen { + if googleGenerator != nil { + return googleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGoogle(generators) + googleGenerator = gen.Struct(reflect.TypeOf(Google{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGoogle(generators) + AddRelatedPropertyGeneratorsForGoogle(generators) + googleGenerator = gen.Struct(reflect.TypeOf(Google{}), generators) + + return googleGenerator +} + +// AddIndependentPropertyGeneratorsForGoogle is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForGoogle(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForGoogle is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForGoogle(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(LoginScopesGenerator()) + gens["Registration"] = gen.PtrOf(ClientRegistrationGenerator()) + gens["Validation"] = gen.PtrOf(AllowedAudiencesValidationGenerator()) +} + +func Test_Google_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Google_STATUS to Google_STATUS via AssignProperties_To_Google_STATUS & AssignProperties_From_Google_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForGoogle_STATUS, Google_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForGoogle_STATUS tests if a specific instance of Google_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForGoogle_STATUS(subject Google_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 storage.Google_STATUS + err := copied.AssignProperties_To_Google_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Google_STATUS + err = actual.AssignProperties_From_Google_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_Google_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 Google_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForGoogle_STATUS, Google_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForGoogle_STATUS runs a test to see if a specific instance of Google_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForGoogle_STATUS(subject Google_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Google_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 Google_STATUS instances for property testing - lazily instantiated by Google_STATUSGenerator() +var google_STATUSGenerator gopter.Gen + +// Google_STATUSGenerator returns a generator of Google_STATUS instances for property testing. +// We first initialize google_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 Google_STATUSGenerator() gopter.Gen { + if google_STATUSGenerator != nil { + return google_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGoogle_STATUS(generators) + google_STATUSGenerator = gen.Struct(reflect.TypeOf(Google_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGoogle_STATUS(generators) + AddRelatedPropertyGeneratorsForGoogle_STATUS(generators) + google_STATUSGenerator = gen.Struct(reflect.TypeOf(Google_STATUS{}), generators) + + return google_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForGoogle_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForGoogle_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForGoogle_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForGoogle_STATUS(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(LoginScopes_STATUSGenerator()) + gens["Registration"] = gen.PtrOf(ClientRegistration_STATUSGenerator()) + gens["Validation"] = gen.PtrOf(AllowedAudiencesValidation_STATUSGenerator()) +} + +func Test_HttpSettings_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from HttpSettings to HttpSettings via AssignProperties_To_HttpSettings & AssignProperties_From_HttpSettings returns original", + prop.ForAll(RunPropertyAssignmentTestForHttpSettings, HttpSettingsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForHttpSettings tests if a specific instance of HttpSettings can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForHttpSettings(subject HttpSettings) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.HttpSettings + err := copied.AssignProperties_To_HttpSettings(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual HttpSettings + err = actual.AssignProperties_From_HttpSettings(&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_HttpSettings_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 HttpSettings via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHttpSettings, HttpSettingsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHttpSettings runs a test to see if a specific instance of HttpSettings round trips to JSON and back losslessly +func RunJSONSerializationTestForHttpSettings(subject HttpSettings) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HttpSettings + 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 HttpSettings instances for property testing - lazily instantiated by HttpSettingsGenerator() +var httpSettingsGenerator gopter.Gen + +// HttpSettingsGenerator returns a generator of HttpSettings instances for property testing. +// We first initialize httpSettingsGenerator 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 HttpSettingsGenerator() gopter.Gen { + if httpSettingsGenerator != nil { + return httpSettingsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHttpSettings(generators) + httpSettingsGenerator = gen.Struct(reflect.TypeOf(HttpSettings{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHttpSettings(generators) + AddRelatedPropertyGeneratorsForHttpSettings(generators) + httpSettingsGenerator = gen.Struct(reflect.TypeOf(HttpSettings{}), generators) + + return httpSettingsGenerator +} + +// AddIndependentPropertyGeneratorsForHttpSettings is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHttpSettings(gens map[string]gopter.Gen) { + gens["RequireHttps"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForHttpSettings is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHttpSettings(gens map[string]gopter.Gen) { + gens["ForwardProxy"] = gen.PtrOf(ForwardProxyGenerator()) + gens["Routes"] = gen.PtrOf(HttpSettingsRoutesGenerator()) +} + +func Test_HttpSettingsRoutes_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from HttpSettingsRoutes to HttpSettingsRoutes via AssignProperties_To_HttpSettingsRoutes & AssignProperties_From_HttpSettingsRoutes returns original", + prop.ForAll(RunPropertyAssignmentTestForHttpSettingsRoutes, HttpSettingsRoutesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForHttpSettingsRoutes tests if a specific instance of HttpSettingsRoutes can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForHttpSettingsRoutes(subject HttpSettingsRoutes) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.HttpSettingsRoutes + err := copied.AssignProperties_To_HttpSettingsRoutes(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual HttpSettingsRoutes + err = actual.AssignProperties_From_HttpSettingsRoutes(&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_HttpSettingsRoutes_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 HttpSettingsRoutes via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHttpSettingsRoutes, HttpSettingsRoutesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHttpSettingsRoutes runs a test to see if a specific instance of HttpSettingsRoutes round trips to JSON and back losslessly +func RunJSONSerializationTestForHttpSettingsRoutes(subject HttpSettingsRoutes) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HttpSettingsRoutes + 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 HttpSettingsRoutes instances for property testing - lazily instantiated by HttpSettingsRoutesGenerator() +var httpSettingsRoutesGenerator gopter.Gen + +// HttpSettingsRoutesGenerator returns a generator of HttpSettingsRoutes instances for property testing. +func HttpSettingsRoutesGenerator() gopter.Gen { + if httpSettingsRoutesGenerator != nil { + return httpSettingsRoutesGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHttpSettingsRoutes(generators) + httpSettingsRoutesGenerator = gen.Struct(reflect.TypeOf(HttpSettingsRoutes{}), generators) + + return httpSettingsRoutesGenerator +} + +// AddIndependentPropertyGeneratorsForHttpSettingsRoutes is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHttpSettingsRoutes(gens map[string]gopter.Gen) { + gens["ApiPrefix"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_HttpSettingsRoutes_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from HttpSettingsRoutes_STATUS to HttpSettingsRoutes_STATUS via AssignProperties_To_HttpSettingsRoutes_STATUS & AssignProperties_From_HttpSettingsRoutes_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForHttpSettingsRoutes_STATUS, HttpSettingsRoutes_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForHttpSettingsRoutes_STATUS tests if a specific instance of HttpSettingsRoutes_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForHttpSettingsRoutes_STATUS(subject HttpSettingsRoutes_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 storage.HttpSettingsRoutes_STATUS + err := copied.AssignProperties_To_HttpSettingsRoutes_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual HttpSettingsRoutes_STATUS + err = actual.AssignProperties_From_HttpSettingsRoutes_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_HttpSettingsRoutes_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 HttpSettingsRoutes_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHttpSettingsRoutes_STATUS, HttpSettingsRoutes_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHttpSettingsRoutes_STATUS runs a test to see if a specific instance of HttpSettingsRoutes_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForHttpSettingsRoutes_STATUS(subject HttpSettingsRoutes_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HttpSettingsRoutes_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 HttpSettingsRoutes_STATUS instances for property testing - lazily instantiated by +// HttpSettingsRoutes_STATUSGenerator() +var httpSettingsRoutes_STATUSGenerator gopter.Gen + +// HttpSettingsRoutes_STATUSGenerator returns a generator of HttpSettingsRoutes_STATUS instances for property testing. +func HttpSettingsRoutes_STATUSGenerator() gopter.Gen { + if httpSettingsRoutes_STATUSGenerator != nil { + return httpSettingsRoutes_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHttpSettingsRoutes_STATUS(generators) + httpSettingsRoutes_STATUSGenerator = gen.Struct(reflect.TypeOf(HttpSettingsRoutes_STATUS{}), generators) + + return httpSettingsRoutes_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForHttpSettingsRoutes_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHttpSettingsRoutes_STATUS(gens map[string]gopter.Gen) { + gens["ApiPrefix"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_HttpSettings_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from HttpSettings_STATUS to HttpSettings_STATUS via AssignProperties_To_HttpSettings_STATUS & AssignProperties_From_HttpSettings_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForHttpSettings_STATUS, HttpSettings_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForHttpSettings_STATUS tests if a specific instance of HttpSettings_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForHttpSettings_STATUS(subject HttpSettings_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 storage.HttpSettings_STATUS + err := copied.AssignProperties_To_HttpSettings_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual HttpSettings_STATUS + err = actual.AssignProperties_From_HttpSettings_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_HttpSettings_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 HttpSettings_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHttpSettings_STATUS, HttpSettings_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHttpSettings_STATUS runs a test to see if a specific instance of HttpSettings_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForHttpSettings_STATUS(subject HttpSettings_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HttpSettings_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 HttpSettings_STATUS instances for property testing - lazily instantiated by +// HttpSettings_STATUSGenerator() +var httpSettings_STATUSGenerator gopter.Gen + +// HttpSettings_STATUSGenerator returns a generator of HttpSettings_STATUS instances for property testing. +// We first initialize httpSettings_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 HttpSettings_STATUSGenerator() gopter.Gen { + if httpSettings_STATUSGenerator != nil { + return httpSettings_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHttpSettings_STATUS(generators) + httpSettings_STATUSGenerator = gen.Struct(reflect.TypeOf(HttpSettings_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHttpSettings_STATUS(generators) + AddRelatedPropertyGeneratorsForHttpSettings_STATUS(generators) + httpSettings_STATUSGenerator = gen.Struct(reflect.TypeOf(HttpSettings_STATUS{}), generators) + + return httpSettings_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForHttpSettings_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHttpSettings_STATUS(gens map[string]gopter.Gen) { + gens["RequireHttps"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForHttpSettings_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHttpSettings_STATUS(gens map[string]gopter.Gen) { + gens["ForwardProxy"] = gen.PtrOf(ForwardProxy_STATUSGenerator()) + gens["Routes"] = gen.PtrOf(HttpSettingsRoutes_STATUSGenerator()) +} + +func Test_IdentityProviders_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IdentityProviders to IdentityProviders via AssignProperties_To_IdentityProviders & AssignProperties_From_IdentityProviders returns original", + prop.ForAll(RunPropertyAssignmentTestForIdentityProviders, IdentityProvidersGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIdentityProviders tests if a specific instance of IdentityProviders can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIdentityProviders(subject IdentityProviders) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.IdentityProviders + err := copied.AssignProperties_To_IdentityProviders(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IdentityProviders + err = actual.AssignProperties_From_IdentityProviders(&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_IdentityProviders_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 IdentityProviders via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIdentityProviders, IdentityProvidersGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIdentityProviders runs a test to see if a specific instance of IdentityProviders round trips to JSON and back losslessly +func RunJSONSerializationTestForIdentityProviders(subject IdentityProviders) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IdentityProviders + 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 IdentityProviders instances for property testing - lazily instantiated by IdentityProvidersGenerator() +var identityProvidersGenerator gopter.Gen + +// IdentityProvidersGenerator returns a generator of IdentityProviders instances for property testing. +func IdentityProvidersGenerator() gopter.Gen { + if identityProvidersGenerator != nil { + return identityProvidersGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForIdentityProviders(generators) + identityProvidersGenerator = gen.Struct(reflect.TypeOf(IdentityProviders{}), generators) + + return identityProvidersGenerator +} + +// AddRelatedPropertyGeneratorsForIdentityProviders is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIdentityProviders(gens map[string]gopter.Gen) { + gens["Apple"] = gen.PtrOf(AppleGenerator()) + gens["AzureActiveDirectory"] = gen.PtrOf(AzureActiveDirectoryGenerator()) + gens["AzureStaticWebApps"] = gen.PtrOf(AzureStaticWebAppsGenerator()) + gens["CustomOpenIdConnectProviders"] = gen.MapOf( + gen.AlphaString(), + CustomOpenIdConnectProviderGenerator()) + gens["Facebook"] = gen.PtrOf(FacebookGenerator()) + gens["GitHub"] = gen.PtrOf(GitHubGenerator()) + gens["Google"] = gen.PtrOf(GoogleGenerator()) + gens["Twitter"] = gen.PtrOf(TwitterGenerator()) +} + +func Test_IdentityProviders_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IdentityProviders_STATUS to IdentityProviders_STATUS via AssignProperties_To_IdentityProviders_STATUS & AssignProperties_From_IdentityProviders_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForIdentityProviders_STATUS, IdentityProviders_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIdentityProviders_STATUS tests if a specific instance of IdentityProviders_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIdentityProviders_STATUS(subject IdentityProviders_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 storage.IdentityProviders_STATUS + err := copied.AssignProperties_To_IdentityProviders_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IdentityProviders_STATUS + err = actual.AssignProperties_From_IdentityProviders_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_IdentityProviders_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 IdentityProviders_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIdentityProviders_STATUS, IdentityProviders_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIdentityProviders_STATUS runs a test to see if a specific instance of IdentityProviders_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIdentityProviders_STATUS(subject IdentityProviders_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IdentityProviders_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 IdentityProviders_STATUS instances for property testing - lazily instantiated by +// IdentityProviders_STATUSGenerator() +var identityProviders_STATUSGenerator gopter.Gen + +// IdentityProviders_STATUSGenerator returns a generator of IdentityProviders_STATUS instances for property testing. +func IdentityProviders_STATUSGenerator() gopter.Gen { + if identityProviders_STATUSGenerator != nil { + return identityProviders_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForIdentityProviders_STATUS(generators) + identityProviders_STATUSGenerator = gen.Struct(reflect.TypeOf(IdentityProviders_STATUS{}), generators) + + return identityProviders_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForIdentityProviders_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIdentityProviders_STATUS(gens map[string]gopter.Gen) { + gens["Apple"] = gen.PtrOf(Apple_STATUSGenerator()) + gens["AzureActiveDirectory"] = gen.PtrOf(AzureActiveDirectory_STATUSGenerator()) + gens["AzureStaticWebApps"] = gen.PtrOf(AzureStaticWebApps_STATUSGenerator()) + gens["CustomOpenIdConnectProviders"] = gen.MapOf( + gen.AlphaString(), + CustomOpenIdConnectProvider_STATUSGenerator()) + gens["Facebook"] = gen.PtrOf(Facebook_STATUSGenerator()) + gens["GitHub"] = gen.PtrOf(GitHub_STATUSGenerator()) + gens["Google"] = gen.PtrOf(Google_STATUSGenerator()) + gens["Twitter"] = gen.PtrOf(Twitter_STATUSGenerator()) +} + +func Test_JwtClaimChecks_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from JwtClaimChecks to JwtClaimChecks via AssignProperties_To_JwtClaimChecks & AssignProperties_From_JwtClaimChecks returns original", + prop.ForAll(RunPropertyAssignmentTestForJwtClaimChecks, JwtClaimChecksGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForJwtClaimChecks tests if a specific instance of JwtClaimChecks can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForJwtClaimChecks(subject JwtClaimChecks) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.JwtClaimChecks + err := copied.AssignProperties_To_JwtClaimChecks(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual JwtClaimChecks + err = actual.AssignProperties_From_JwtClaimChecks(&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_JwtClaimChecks_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 JwtClaimChecks via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJwtClaimChecks, JwtClaimChecksGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJwtClaimChecks runs a test to see if a specific instance of JwtClaimChecks round trips to JSON and back losslessly +func RunJSONSerializationTestForJwtClaimChecks(subject JwtClaimChecks) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JwtClaimChecks + 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 JwtClaimChecks instances for property testing - lazily instantiated by JwtClaimChecksGenerator() +var jwtClaimChecksGenerator gopter.Gen + +// JwtClaimChecksGenerator returns a generator of JwtClaimChecks instances for property testing. +func JwtClaimChecksGenerator() gopter.Gen { + if jwtClaimChecksGenerator != nil { + return jwtClaimChecksGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJwtClaimChecks(generators) + jwtClaimChecksGenerator = gen.Struct(reflect.TypeOf(JwtClaimChecks{}), generators) + + return jwtClaimChecksGenerator +} + +// AddIndependentPropertyGeneratorsForJwtClaimChecks is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJwtClaimChecks(gens map[string]gopter.Gen) { + gens["AllowedClientApplications"] = gen.SliceOf(gen.AlphaString()) + gens["AllowedGroups"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_JwtClaimChecks_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from JwtClaimChecks_STATUS to JwtClaimChecks_STATUS via AssignProperties_To_JwtClaimChecks_STATUS & AssignProperties_From_JwtClaimChecks_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForJwtClaimChecks_STATUS, JwtClaimChecks_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForJwtClaimChecks_STATUS tests if a specific instance of JwtClaimChecks_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForJwtClaimChecks_STATUS(subject JwtClaimChecks_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 storage.JwtClaimChecks_STATUS + err := copied.AssignProperties_To_JwtClaimChecks_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual JwtClaimChecks_STATUS + err = actual.AssignProperties_From_JwtClaimChecks_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_JwtClaimChecks_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 JwtClaimChecks_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJwtClaimChecks_STATUS, JwtClaimChecks_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJwtClaimChecks_STATUS runs a test to see if a specific instance of JwtClaimChecks_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForJwtClaimChecks_STATUS(subject JwtClaimChecks_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JwtClaimChecks_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 JwtClaimChecks_STATUS instances for property testing - lazily instantiated by +// JwtClaimChecks_STATUSGenerator() +var jwtClaimChecks_STATUSGenerator gopter.Gen + +// JwtClaimChecks_STATUSGenerator returns a generator of JwtClaimChecks_STATUS instances for property testing. +func JwtClaimChecks_STATUSGenerator() gopter.Gen { + if jwtClaimChecks_STATUSGenerator != nil { + return jwtClaimChecks_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJwtClaimChecks_STATUS(generators) + jwtClaimChecks_STATUSGenerator = gen.Struct(reflect.TypeOf(JwtClaimChecks_STATUS{}), generators) + + return jwtClaimChecks_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForJwtClaimChecks_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJwtClaimChecks_STATUS(gens map[string]gopter.Gen) { + gens["AllowedClientApplications"] = gen.SliceOf(gen.AlphaString()) + gens["AllowedGroups"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_Login_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Login to Login via AssignProperties_To_Login & AssignProperties_From_Login returns original", + prop.ForAll(RunPropertyAssignmentTestForLogin, LoginGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForLogin tests if a specific instance of Login can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForLogin(subject Login) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.Login + err := copied.AssignProperties_To_Login(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Login + err = actual.AssignProperties_From_Login(&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_Login_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 Login via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLogin, LoginGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLogin runs a test to see if a specific instance of Login round trips to JSON and back losslessly +func RunJSONSerializationTestForLogin(subject Login) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Login + 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 Login instances for property testing - lazily instantiated by LoginGenerator() +var loginGenerator gopter.Gen + +// LoginGenerator returns a generator of Login instances for property testing. +// We first initialize loginGenerator 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 LoginGenerator() gopter.Gen { + if loginGenerator != nil { + return loginGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLogin(generators) + loginGenerator = gen.Struct(reflect.TypeOf(Login{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLogin(generators) + AddRelatedPropertyGeneratorsForLogin(generators) + loginGenerator = gen.Struct(reflect.TypeOf(Login{}), generators) + + return loginGenerator +} + +// AddIndependentPropertyGeneratorsForLogin is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLogin(gens map[string]gopter.Gen) { + gens["AllowedExternalRedirectUrls"] = gen.SliceOf(gen.AlphaString()) + gens["PreserveUrlFragmentsForLogins"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForLogin is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForLogin(gens map[string]gopter.Gen) { + gens["CookieExpiration"] = gen.PtrOf(CookieExpirationGenerator()) + gens["Nonce"] = gen.PtrOf(NonceGenerator()) + gens["Routes"] = gen.PtrOf(LoginRoutesGenerator()) + gens["TokenStore"] = gen.PtrOf(TokenStoreGenerator()) +} + +func Test_LoginRoutes_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from LoginRoutes to LoginRoutes via AssignProperties_To_LoginRoutes & AssignProperties_From_LoginRoutes returns original", + prop.ForAll(RunPropertyAssignmentTestForLoginRoutes, LoginRoutesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForLoginRoutes tests if a specific instance of LoginRoutes can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForLoginRoutes(subject LoginRoutes) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.LoginRoutes + err := copied.AssignProperties_To_LoginRoutes(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual LoginRoutes + err = actual.AssignProperties_From_LoginRoutes(&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_LoginRoutes_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 LoginRoutes via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLoginRoutes, LoginRoutesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLoginRoutes runs a test to see if a specific instance of LoginRoutes round trips to JSON and back losslessly +func RunJSONSerializationTestForLoginRoutes(subject LoginRoutes) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual LoginRoutes + 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 LoginRoutes instances for property testing - lazily instantiated by LoginRoutesGenerator() +var loginRoutesGenerator gopter.Gen + +// LoginRoutesGenerator returns a generator of LoginRoutes instances for property testing. +func LoginRoutesGenerator() gopter.Gen { + if loginRoutesGenerator != nil { + return loginRoutesGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLoginRoutes(generators) + loginRoutesGenerator = gen.Struct(reflect.TypeOf(LoginRoutes{}), generators) + + return loginRoutesGenerator +} + +// AddIndependentPropertyGeneratorsForLoginRoutes is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLoginRoutes(gens map[string]gopter.Gen) { + gens["LogoutEndpoint"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_LoginRoutes_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from LoginRoutes_STATUS to LoginRoutes_STATUS via AssignProperties_To_LoginRoutes_STATUS & AssignProperties_From_LoginRoutes_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForLoginRoutes_STATUS, LoginRoutes_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForLoginRoutes_STATUS tests if a specific instance of LoginRoutes_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForLoginRoutes_STATUS(subject LoginRoutes_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 storage.LoginRoutes_STATUS + err := copied.AssignProperties_To_LoginRoutes_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual LoginRoutes_STATUS + err = actual.AssignProperties_From_LoginRoutes_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_LoginRoutes_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 LoginRoutes_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLoginRoutes_STATUS, LoginRoutes_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLoginRoutes_STATUS runs a test to see if a specific instance of LoginRoutes_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForLoginRoutes_STATUS(subject LoginRoutes_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual LoginRoutes_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 LoginRoutes_STATUS instances for property testing - lazily instantiated by LoginRoutes_STATUSGenerator() +var loginRoutes_STATUSGenerator gopter.Gen + +// LoginRoutes_STATUSGenerator returns a generator of LoginRoutes_STATUS instances for property testing. +func LoginRoutes_STATUSGenerator() gopter.Gen { + if loginRoutes_STATUSGenerator != nil { + return loginRoutes_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLoginRoutes_STATUS(generators) + loginRoutes_STATUSGenerator = gen.Struct(reflect.TypeOf(LoginRoutes_STATUS{}), generators) + + return loginRoutes_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForLoginRoutes_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLoginRoutes_STATUS(gens map[string]gopter.Gen) { + gens["LogoutEndpoint"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_LoginScopes_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from LoginScopes to LoginScopes via AssignProperties_To_LoginScopes & AssignProperties_From_LoginScopes returns original", + prop.ForAll(RunPropertyAssignmentTestForLoginScopes, LoginScopesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForLoginScopes tests if a specific instance of LoginScopes can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForLoginScopes(subject LoginScopes) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.LoginScopes + err := copied.AssignProperties_To_LoginScopes(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual LoginScopes + err = actual.AssignProperties_From_LoginScopes(&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_LoginScopes_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 LoginScopes via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLoginScopes, LoginScopesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLoginScopes runs a test to see if a specific instance of LoginScopes round trips to JSON and back losslessly +func RunJSONSerializationTestForLoginScopes(subject LoginScopes) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual LoginScopes + 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 LoginScopes instances for property testing - lazily instantiated by LoginScopesGenerator() +var loginScopesGenerator gopter.Gen + +// LoginScopesGenerator returns a generator of LoginScopes instances for property testing. +func LoginScopesGenerator() gopter.Gen { + if loginScopesGenerator != nil { + return loginScopesGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLoginScopes(generators) + loginScopesGenerator = gen.Struct(reflect.TypeOf(LoginScopes{}), generators) + + return loginScopesGenerator +} + +// AddIndependentPropertyGeneratorsForLoginScopes is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLoginScopes(gens map[string]gopter.Gen) { + gens["Scopes"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_LoginScopes_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from LoginScopes_STATUS to LoginScopes_STATUS via AssignProperties_To_LoginScopes_STATUS & AssignProperties_From_LoginScopes_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForLoginScopes_STATUS, LoginScopes_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForLoginScopes_STATUS tests if a specific instance of LoginScopes_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForLoginScopes_STATUS(subject LoginScopes_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 storage.LoginScopes_STATUS + err := copied.AssignProperties_To_LoginScopes_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual LoginScopes_STATUS + err = actual.AssignProperties_From_LoginScopes_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_LoginScopes_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 LoginScopes_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLoginScopes_STATUS, LoginScopes_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLoginScopes_STATUS runs a test to see if a specific instance of LoginScopes_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForLoginScopes_STATUS(subject LoginScopes_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual LoginScopes_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 LoginScopes_STATUS instances for property testing - lazily instantiated by LoginScopes_STATUSGenerator() +var loginScopes_STATUSGenerator gopter.Gen + +// LoginScopes_STATUSGenerator returns a generator of LoginScopes_STATUS instances for property testing. +func LoginScopes_STATUSGenerator() gopter.Gen { + if loginScopes_STATUSGenerator != nil { + return loginScopes_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLoginScopes_STATUS(generators) + loginScopes_STATUSGenerator = gen.Struct(reflect.TypeOf(LoginScopes_STATUS{}), generators) + + return loginScopes_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForLoginScopes_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLoginScopes_STATUS(gens map[string]gopter.Gen) { + gens["Scopes"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_Login_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Login_STATUS to Login_STATUS via AssignProperties_To_Login_STATUS & AssignProperties_From_Login_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForLogin_STATUS, Login_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForLogin_STATUS tests if a specific instance of Login_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForLogin_STATUS(subject Login_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 storage.Login_STATUS + err := copied.AssignProperties_To_Login_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Login_STATUS + err = actual.AssignProperties_From_Login_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_Login_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 Login_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLogin_STATUS, Login_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLogin_STATUS runs a test to see if a specific instance of Login_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForLogin_STATUS(subject Login_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Login_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 Login_STATUS instances for property testing - lazily instantiated by Login_STATUSGenerator() +var login_STATUSGenerator gopter.Gen + +// Login_STATUSGenerator returns a generator of Login_STATUS instances for property testing. +// We first initialize login_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 Login_STATUSGenerator() gopter.Gen { + if login_STATUSGenerator != nil { + return login_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLogin_STATUS(generators) + login_STATUSGenerator = gen.Struct(reflect.TypeOf(Login_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLogin_STATUS(generators) + AddRelatedPropertyGeneratorsForLogin_STATUS(generators) + login_STATUSGenerator = gen.Struct(reflect.TypeOf(Login_STATUS{}), generators) + + return login_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForLogin_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLogin_STATUS(gens map[string]gopter.Gen) { + gens["AllowedExternalRedirectUrls"] = gen.SliceOf(gen.AlphaString()) + gens["PreserveUrlFragmentsForLogins"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForLogin_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForLogin_STATUS(gens map[string]gopter.Gen) { + gens["CookieExpiration"] = gen.PtrOf(CookieExpiration_STATUSGenerator()) + gens["Nonce"] = gen.PtrOf(Nonce_STATUSGenerator()) + gens["Routes"] = gen.PtrOf(LoginRoutes_STATUSGenerator()) + gens["TokenStore"] = gen.PtrOf(TokenStore_STATUSGenerator()) +} + +func Test_Nonce_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Nonce to Nonce via AssignProperties_To_Nonce & AssignProperties_From_Nonce returns original", + prop.ForAll(RunPropertyAssignmentTestForNonce, NonceGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForNonce tests if a specific instance of Nonce can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForNonce(subject Nonce) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.Nonce + err := copied.AssignProperties_To_Nonce(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Nonce + err = actual.AssignProperties_From_Nonce(&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_Nonce_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 Nonce via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNonce, NonceGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNonce runs a test to see if a specific instance of Nonce round trips to JSON and back losslessly +func RunJSONSerializationTestForNonce(subject Nonce) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Nonce + 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 Nonce instances for property testing - lazily instantiated by NonceGenerator() +var nonceGenerator gopter.Gen + +// NonceGenerator returns a generator of Nonce instances for property testing. +func NonceGenerator() gopter.Gen { + if nonceGenerator != nil { + return nonceGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNonce(generators) + nonceGenerator = gen.Struct(reflect.TypeOf(Nonce{}), generators) + + return nonceGenerator +} + +// AddIndependentPropertyGeneratorsForNonce is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNonce(gens map[string]gopter.Gen) { + gens["NonceExpirationInterval"] = gen.PtrOf(gen.AlphaString()) + gens["ValidateNonce"] = gen.PtrOf(gen.Bool()) +} + +func Test_Nonce_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Nonce_STATUS to Nonce_STATUS via AssignProperties_To_Nonce_STATUS & AssignProperties_From_Nonce_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForNonce_STATUS, Nonce_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForNonce_STATUS tests if a specific instance of Nonce_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForNonce_STATUS(subject Nonce_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 storage.Nonce_STATUS + err := copied.AssignProperties_To_Nonce_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Nonce_STATUS + err = actual.AssignProperties_From_Nonce_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_Nonce_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 Nonce_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNonce_STATUS, Nonce_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNonce_STATUS runs a test to see if a specific instance of Nonce_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForNonce_STATUS(subject Nonce_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Nonce_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 Nonce_STATUS instances for property testing - lazily instantiated by Nonce_STATUSGenerator() +var nonce_STATUSGenerator gopter.Gen + +// Nonce_STATUSGenerator returns a generator of Nonce_STATUS instances for property testing. +func Nonce_STATUSGenerator() gopter.Gen { + if nonce_STATUSGenerator != nil { + return nonce_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNonce_STATUS(generators) + nonce_STATUSGenerator = gen.Struct(reflect.TypeOf(Nonce_STATUS{}), generators) + + return nonce_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForNonce_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNonce_STATUS(gens map[string]gopter.Gen) { + gens["NonceExpirationInterval"] = gen.PtrOf(gen.AlphaString()) + gens["ValidateNonce"] = gen.PtrOf(gen.Bool()) +} + +func Test_OpenIdConnectClientCredential_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from OpenIdConnectClientCredential to OpenIdConnectClientCredential via AssignProperties_To_OpenIdConnectClientCredential & AssignProperties_From_OpenIdConnectClientCredential returns original", + prop.ForAll(RunPropertyAssignmentTestForOpenIdConnectClientCredential, OpenIdConnectClientCredentialGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForOpenIdConnectClientCredential tests if a specific instance of OpenIdConnectClientCredential can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForOpenIdConnectClientCredential(subject OpenIdConnectClientCredential) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.OpenIdConnectClientCredential + err := copied.AssignProperties_To_OpenIdConnectClientCredential(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual OpenIdConnectClientCredential + err = actual.AssignProperties_From_OpenIdConnectClientCredential(&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_OpenIdConnectClientCredential_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 OpenIdConnectClientCredential via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOpenIdConnectClientCredential, OpenIdConnectClientCredentialGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOpenIdConnectClientCredential runs a test to see if a specific instance of OpenIdConnectClientCredential round trips to JSON and back losslessly +func RunJSONSerializationTestForOpenIdConnectClientCredential(subject OpenIdConnectClientCredential) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OpenIdConnectClientCredential + 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 OpenIdConnectClientCredential instances for property testing - lazily instantiated by +// OpenIdConnectClientCredentialGenerator() +var openIdConnectClientCredentialGenerator gopter.Gen + +// OpenIdConnectClientCredentialGenerator returns a generator of OpenIdConnectClientCredential instances for property testing. +func OpenIdConnectClientCredentialGenerator() gopter.Gen { + if openIdConnectClientCredentialGenerator != nil { + return openIdConnectClientCredentialGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOpenIdConnectClientCredential(generators) + openIdConnectClientCredentialGenerator = gen.Struct(reflect.TypeOf(OpenIdConnectClientCredential{}), generators) + + return openIdConnectClientCredentialGenerator +} + +// AddIndependentPropertyGeneratorsForOpenIdConnectClientCredential is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForOpenIdConnectClientCredential(gens map[string]gopter.Gen) { + gens["ClientSecretSettingName"] = gen.PtrOf(gen.AlphaString()) + gens["Method"] = gen.PtrOf(gen.OneConstOf(OpenIdConnectClientCredential_Method_ClientSecretPost)) +} + +func Test_OpenIdConnectClientCredential_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from OpenIdConnectClientCredential_STATUS to OpenIdConnectClientCredential_STATUS via AssignProperties_To_OpenIdConnectClientCredential_STATUS & AssignProperties_From_OpenIdConnectClientCredential_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForOpenIdConnectClientCredential_STATUS, OpenIdConnectClientCredential_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForOpenIdConnectClientCredential_STATUS tests if a specific instance of OpenIdConnectClientCredential_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForOpenIdConnectClientCredential_STATUS(subject OpenIdConnectClientCredential_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 storage.OpenIdConnectClientCredential_STATUS + err := copied.AssignProperties_To_OpenIdConnectClientCredential_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual OpenIdConnectClientCredential_STATUS + err = actual.AssignProperties_From_OpenIdConnectClientCredential_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_OpenIdConnectClientCredential_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 OpenIdConnectClientCredential_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOpenIdConnectClientCredential_STATUS, OpenIdConnectClientCredential_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOpenIdConnectClientCredential_STATUS runs a test to see if a specific instance of OpenIdConnectClientCredential_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForOpenIdConnectClientCredential_STATUS(subject OpenIdConnectClientCredential_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OpenIdConnectClientCredential_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 OpenIdConnectClientCredential_STATUS instances for property testing - lazily instantiated by +// OpenIdConnectClientCredential_STATUSGenerator() +var openIdConnectClientCredential_STATUSGenerator gopter.Gen + +// OpenIdConnectClientCredential_STATUSGenerator returns a generator of OpenIdConnectClientCredential_STATUS instances for property testing. +func OpenIdConnectClientCredential_STATUSGenerator() gopter.Gen { + if openIdConnectClientCredential_STATUSGenerator != nil { + return openIdConnectClientCredential_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOpenIdConnectClientCredential_STATUS(generators) + openIdConnectClientCredential_STATUSGenerator = gen.Struct(reflect.TypeOf(OpenIdConnectClientCredential_STATUS{}), generators) + + return openIdConnectClientCredential_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForOpenIdConnectClientCredential_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForOpenIdConnectClientCredential_STATUS(gens map[string]gopter.Gen) { + gens["ClientSecretSettingName"] = gen.PtrOf(gen.AlphaString()) + gens["Method"] = gen.PtrOf(gen.OneConstOf(OpenIdConnectClientCredential_Method_STATUS_ClientSecretPost)) +} + +func Test_OpenIdConnectConfig_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from OpenIdConnectConfig to OpenIdConnectConfig via AssignProperties_To_OpenIdConnectConfig & AssignProperties_From_OpenIdConnectConfig returns original", + prop.ForAll(RunPropertyAssignmentTestForOpenIdConnectConfig, OpenIdConnectConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForOpenIdConnectConfig tests if a specific instance of OpenIdConnectConfig can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForOpenIdConnectConfig(subject OpenIdConnectConfig) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.OpenIdConnectConfig + err := copied.AssignProperties_To_OpenIdConnectConfig(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual OpenIdConnectConfig + err = actual.AssignProperties_From_OpenIdConnectConfig(&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_OpenIdConnectConfig_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 OpenIdConnectConfig via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOpenIdConnectConfig, OpenIdConnectConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOpenIdConnectConfig runs a test to see if a specific instance of OpenIdConnectConfig round trips to JSON and back losslessly +func RunJSONSerializationTestForOpenIdConnectConfig(subject OpenIdConnectConfig) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OpenIdConnectConfig + 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 OpenIdConnectConfig instances for property testing - lazily instantiated by +// OpenIdConnectConfigGenerator() +var openIdConnectConfigGenerator gopter.Gen + +// OpenIdConnectConfigGenerator returns a generator of OpenIdConnectConfig instances for property testing. +func OpenIdConnectConfigGenerator() gopter.Gen { + if openIdConnectConfigGenerator != nil { + return openIdConnectConfigGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOpenIdConnectConfig(generators) + openIdConnectConfigGenerator = gen.Struct(reflect.TypeOf(OpenIdConnectConfig{}), generators) + + return openIdConnectConfigGenerator +} + +// AddIndependentPropertyGeneratorsForOpenIdConnectConfig is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForOpenIdConnectConfig(gens map[string]gopter.Gen) { + gens["AuthorizationEndpoint"] = gen.PtrOf(gen.AlphaString()) + gens["CertificationUri"] = gen.PtrOf(gen.AlphaString()) + gens["Issuer"] = gen.PtrOf(gen.AlphaString()) + gens["TokenEndpoint"] = gen.PtrOf(gen.AlphaString()) + gens["WellKnownOpenIdConfiguration"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_OpenIdConnectConfig_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from OpenIdConnectConfig_STATUS to OpenIdConnectConfig_STATUS via AssignProperties_To_OpenIdConnectConfig_STATUS & AssignProperties_From_OpenIdConnectConfig_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForOpenIdConnectConfig_STATUS, OpenIdConnectConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForOpenIdConnectConfig_STATUS tests if a specific instance of OpenIdConnectConfig_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForOpenIdConnectConfig_STATUS(subject OpenIdConnectConfig_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 storage.OpenIdConnectConfig_STATUS + err := copied.AssignProperties_To_OpenIdConnectConfig_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual OpenIdConnectConfig_STATUS + err = actual.AssignProperties_From_OpenIdConnectConfig_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_OpenIdConnectConfig_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 OpenIdConnectConfig_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOpenIdConnectConfig_STATUS, OpenIdConnectConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOpenIdConnectConfig_STATUS runs a test to see if a specific instance of OpenIdConnectConfig_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForOpenIdConnectConfig_STATUS(subject OpenIdConnectConfig_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OpenIdConnectConfig_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 OpenIdConnectConfig_STATUS instances for property testing - lazily instantiated by +// OpenIdConnectConfig_STATUSGenerator() +var openIdConnectConfig_STATUSGenerator gopter.Gen + +// OpenIdConnectConfig_STATUSGenerator returns a generator of OpenIdConnectConfig_STATUS instances for property testing. +func OpenIdConnectConfig_STATUSGenerator() gopter.Gen { + if openIdConnectConfig_STATUSGenerator != nil { + return openIdConnectConfig_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOpenIdConnectConfig_STATUS(generators) + openIdConnectConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(OpenIdConnectConfig_STATUS{}), generators) + + return openIdConnectConfig_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForOpenIdConnectConfig_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForOpenIdConnectConfig_STATUS(gens map[string]gopter.Gen) { + gens["AuthorizationEndpoint"] = gen.PtrOf(gen.AlphaString()) + gens["CertificationUri"] = gen.PtrOf(gen.AlphaString()) + gens["Issuer"] = gen.PtrOf(gen.AlphaString()) + gens["TokenEndpoint"] = gen.PtrOf(gen.AlphaString()) + gens["WellKnownOpenIdConfiguration"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_OpenIdConnectLogin_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from OpenIdConnectLogin to OpenIdConnectLogin via AssignProperties_To_OpenIdConnectLogin & AssignProperties_From_OpenIdConnectLogin returns original", + prop.ForAll(RunPropertyAssignmentTestForOpenIdConnectLogin, OpenIdConnectLoginGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForOpenIdConnectLogin tests if a specific instance of OpenIdConnectLogin can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForOpenIdConnectLogin(subject OpenIdConnectLogin) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.OpenIdConnectLogin + err := copied.AssignProperties_To_OpenIdConnectLogin(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual OpenIdConnectLogin + err = actual.AssignProperties_From_OpenIdConnectLogin(&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_OpenIdConnectLogin_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 OpenIdConnectLogin via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOpenIdConnectLogin, OpenIdConnectLoginGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOpenIdConnectLogin runs a test to see if a specific instance of OpenIdConnectLogin round trips to JSON and back losslessly +func RunJSONSerializationTestForOpenIdConnectLogin(subject OpenIdConnectLogin) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OpenIdConnectLogin + 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 OpenIdConnectLogin instances for property testing - lazily instantiated by OpenIdConnectLoginGenerator() +var openIdConnectLoginGenerator gopter.Gen + +// OpenIdConnectLoginGenerator returns a generator of OpenIdConnectLogin instances for property testing. +func OpenIdConnectLoginGenerator() gopter.Gen { + if openIdConnectLoginGenerator != nil { + return openIdConnectLoginGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOpenIdConnectLogin(generators) + openIdConnectLoginGenerator = gen.Struct(reflect.TypeOf(OpenIdConnectLogin{}), generators) + + return openIdConnectLoginGenerator +} + +// AddIndependentPropertyGeneratorsForOpenIdConnectLogin is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForOpenIdConnectLogin(gens map[string]gopter.Gen) { + gens["NameClaimType"] = gen.PtrOf(gen.AlphaString()) + gens["Scopes"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_OpenIdConnectLogin_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from OpenIdConnectLogin_STATUS to OpenIdConnectLogin_STATUS via AssignProperties_To_OpenIdConnectLogin_STATUS & AssignProperties_From_OpenIdConnectLogin_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForOpenIdConnectLogin_STATUS, OpenIdConnectLogin_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForOpenIdConnectLogin_STATUS tests if a specific instance of OpenIdConnectLogin_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForOpenIdConnectLogin_STATUS(subject OpenIdConnectLogin_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 storage.OpenIdConnectLogin_STATUS + err := copied.AssignProperties_To_OpenIdConnectLogin_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual OpenIdConnectLogin_STATUS + err = actual.AssignProperties_From_OpenIdConnectLogin_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_OpenIdConnectLogin_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 OpenIdConnectLogin_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOpenIdConnectLogin_STATUS, OpenIdConnectLogin_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOpenIdConnectLogin_STATUS runs a test to see if a specific instance of OpenIdConnectLogin_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForOpenIdConnectLogin_STATUS(subject OpenIdConnectLogin_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OpenIdConnectLogin_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 OpenIdConnectLogin_STATUS instances for property testing - lazily instantiated by +// OpenIdConnectLogin_STATUSGenerator() +var openIdConnectLogin_STATUSGenerator gopter.Gen + +// OpenIdConnectLogin_STATUSGenerator returns a generator of OpenIdConnectLogin_STATUS instances for property testing. +func OpenIdConnectLogin_STATUSGenerator() gopter.Gen { + if openIdConnectLogin_STATUSGenerator != nil { + return openIdConnectLogin_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOpenIdConnectLogin_STATUS(generators) + openIdConnectLogin_STATUSGenerator = gen.Struct(reflect.TypeOf(OpenIdConnectLogin_STATUS{}), generators) + + return openIdConnectLogin_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForOpenIdConnectLogin_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForOpenIdConnectLogin_STATUS(gens map[string]gopter.Gen) { + gens["NameClaimType"] = gen.PtrOf(gen.AlphaString()) + gens["Scopes"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_OpenIdConnectRegistration_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from OpenIdConnectRegistration to OpenIdConnectRegistration via AssignProperties_To_OpenIdConnectRegistration & AssignProperties_From_OpenIdConnectRegistration returns original", + prop.ForAll(RunPropertyAssignmentTestForOpenIdConnectRegistration, OpenIdConnectRegistrationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForOpenIdConnectRegistration tests if a specific instance of OpenIdConnectRegistration can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForOpenIdConnectRegistration(subject OpenIdConnectRegistration) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.OpenIdConnectRegistration + err := copied.AssignProperties_To_OpenIdConnectRegistration(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual OpenIdConnectRegistration + err = actual.AssignProperties_From_OpenIdConnectRegistration(&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_OpenIdConnectRegistration_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 OpenIdConnectRegistration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOpenIdConnectRegistration, OpenIdConnectRegistrationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOpenIdConnectRegistration runs a test to see if a specific instance of OpenIdConnectRegistration round trips to JSON and back losslessly +func RunJSONSerializationTestForOpenIdConnectRegistration(subject OpenIdConnectRegistration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OpenIdConnectRegistration + 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 OpenIdConnectRegistration instances for property testing - lazily instantiated by +// OpenIdConnectRegistrationGenerator() +var openIdConnectRegistrationGenerator gopter.Gen + +// OpenIdConnectRegistrationGenerator returns a generator of OpenIdConnectRegistration instances for property testing. +// We first initialize openIdConnectRegistrationGenerator 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 OpenIdConnectRegistrationGenerator() gopter.Gen { + if openIdConnectRegistrationGenerator != nil { + return openIdConnectRegistrationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOpenIdConnectRegistration(generators) + openIdConnectRegistrationGenerator = gen.Struct(reflect.TypeOf(OpenIdConnectRegistration{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOpenIdConnectRegistration(generators) + AddRelatedPropertyGeneratorsForOpenIdConnectRegistration(generators) + openIdConnectRegistrationGenerator = gen.Struct(reflect.TypeOf(OpenIdConnectRegistration{}), generators) + + return openIdConnectRegistrationGenerator +} + +// AddIndependentPropertyGeneratorsForOpenIdConnectRegistration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForOpenIdConnectRegistration(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForOpenIdConnectRegistration is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForOpenIdConnectRegistration(gens map[string]gopter.Gen) { + gens["ClientCredential"] = gen.PtrOf(OpenIdConnectClientCredentialGenerator()) + gens["OpenIdConnectConfiguration"] = gen.PtrOf(OpenIdConnectConfigGenerator()) +} + +func Test_OpenIdConnectRegistration_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from OpenIdConnectRegistration_STATUS to OpenIdConnectRegistration_STATUS via AssignProperties_To_OpenIdConnectRegistration_STATUS & AssignProperties_From_OpenIdConnectRegistration_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForOpenIdConnectRegistration_STATUS, OpenIdConnectRegistration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForOpenIdConnectRegistration_STATUS tests if a specific instance of OpenIdConnectRegistration_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForOpenIdConnectRegistration_STATUS(subject OpenIdConnectRegistration_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 storage.OpenIdConnectRegistration_STATUS + err := copied.AssignProperties_To_OpenIdConnectRegistration_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual OpenIdConnectRegistration_STATUS + err = actual.AssignProperties_From_OpenIdConnectRegistration_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_OpenIdConnectRegistration_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 OpenIdConnectRegistration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOpenIdConnectRegistration_STATUS, OpenIdConnectRegistration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOpenIdConnectRegistration_STATUS runs a test to see if a specific instance of OpenIdConnectRegistration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForOpenIdConnectRegistration_STATUS(subject OpenIdConnectRegistration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OpenIdConnectRegistration_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 OpenIdConnectRegistration_STATUS instances for property testing - lazily instantiated by +// OpenIdConnectRegistration_STATUSGenerator() +var openIdConnectRegistration_STATUSGenerator gopter.Gen + +// OpenIdConnectRegistration_STATUSGenerator returns a generator of OpenIdConnectRegistration_STATUS instances for property testing. +// We first initialize openIdConnectRegistration_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 OpenIdConnectRegistration_STATUSGenerator() gopter.Gen { + if openIdConnectRegistration_STATUSGenerator != nil { + return openIdConnectRegistration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOpenIdConnectRegistration_STATUS(generators) + openIdConnectRegistration_STATUSGenerator = gen.Struct(reflect.TypeOf(OpenIdConnectRegistration_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOpenIdConnectRegistration_STATUS(generators) + AddRelatedPropertyGeneratorsForOpenIdConnectRegistration_STATUS(generators) + openIdConnectRegistration_STATUSGenerator = gen.Struct(reflect.TypeOf(OpenIdConnectRegistration_STATUS{}), generators) + + return openIdConnectRegistration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForOpenIdConnectRegistration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForOpenIdConnectRegistration_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForOpenIdConnectRegistration_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForOpenIdConnectRegistration_STATUS(gens map[string]gopter.Gen) { + gens["ClientCredential"] = gen.PtrOf(OpenIdConnectClientCredential_STATUSGenerator()) + gens["OpenIdConnectConfiguration"] = gen.PtrOf(OpenIdConnectConfig_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 storage.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_TokenStore_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from TokenStore to TokenStore via AssignProperties_To_TokenStore & AssignProperties_From_TokenStore returns original", + prop.ForAll(RunPropertyAssignmentTestForTokenStore, TokenStoreGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTokenStore tests if a specific instance of TokenStore can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTokenStore(subject TokenStore) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.TokenStore + err := copied.AssignProperties_To_TokenStore(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual TokenStore + err = actual.AssignProperties_From_TokenStore(&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_TokenStore_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 TokenStore via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTokenStore, TokenStoreGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTokenStore runs a test to see if a specific instance of TokenStore round trips to JSON and back losslessly +func RunJSONSerializationTestForTokenStore(subject TokenStore) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TokenStore + 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 TokenStore instances for property testing - lazily instantiated by TokenStoreGenerator() +var tokenStoreGenerator gopter.Gen + +// TokenStoreGenerator returns a generator of TokenStore instances for property testing. +// We first initialize tokenStoreGenerator 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 TokenStoreGenerator() gopter.Gen { + if tokenStoreGenerator != nil { + return tokenStoreGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenStore(generators) + tokenStoreGenerator = gen.Struct(reflect.TypeOf(TokenStore{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenStore(generators) + AddRelatedPropertyGeneratorsForTokenStore(generators) + tokenStoreGenerator = gen.Struct(reflect.TypeOf(TokenStore{}), generators) + + return tokenStoreGenerator +} + +// AddIndependentPropertyGeneratorsForTokenStore is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTokenStore(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["TokenRefreshExtensionHours"] = gen.PtrOf(gen.Float64()) +} + +// AddRelatedPropertyGeneratorsForTokenStore is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTokenStore(gens map[string]gopter.Gen) { + gens["AzureBlobStorage"] = gen.PtrOf(BlobStorageTokenStoreGenerator()) +} + +func Test_TokenStore_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from TokenStore_STATUS to TokenStore_STATUS via AssignProperties_To_TokenStore_STATUS & AssignProperties_From_TokenStore_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForTokenStore_STATUS, TokenStore_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTokenStore_STATUS tests if a specific instance of TokenStore_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTokenStore_STATUS(subject TokenStore_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 storage.TokenStore_STATUS + err := copied.AssignProperties_To_TokenStore_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual TokenStore_STATUS + err = actual.AssignProperties_From_TokenStore_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_TokenStore_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 TokenStore_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTokenStore_STATUS, TokenStore_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTokenStore_STATUS runs a test to see if a specific instance of TokenStore_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTokenStore_STATUS(subject TokenStore_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TokenStore_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 TokenStore_STATUS instances for property testing - lazily instantiated by TokenStore_STATUSGenerator() +var tokenStore_STATUSGenerator gopter.Gen + +// TokenStore_STATUSGenerator returns a generator of TokenStore_STATUS instances for property testing. +// We first initialize tokenStore_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 TokenStore_STATUSGenerator() gopter.Gen { + if tokenStore_STATUSGenerator != nil { + return tokenStore_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenStore_STATUS(generators) + tokenStore_STATUSGenerator = gen.Struct(reflect.TypeOf(TokenStore_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenStore_STATUS(generators) + AddRelatedPropertyGeneratorsForTokenStore_STATUS(generators) + tokenStore_STATUSGenerator = gen.Struct(reflect.TypeOf(TokenStore_STATUS{}), generators) + + return tokenStore_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTokenStore_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTokenStore_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["TokenRefreshExtensionHours"] = gen.PtrOf(gen.Float64()) +} + +// AddRelatedPropertyGeneratorsForTokenStore_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTokenStore_STATUS(gens map[string]gopter.Gen) { + gens["AzureBlobStorage"] = gen.PtrOf(BlobStorageTokenStore_STATUSGenerator()) +} + +func Test_Twitter_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Twitter to Twitter via AssignProperties_To_Twitter & AssignProperties_From_Twitter returns original", + prop.ForAll(RunPropertyAssignmentTestForTwitter, TwitterGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTwitter tests if a specific instance of Twitter can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTwitter(subject Twitter) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.Twitter + err := copied.AssignProperties_To_Twitter(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Twitter + err = actual.AssignProperties_From_Twitter(&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_Twitter_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 Twitter via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTwitter, TwitterGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTwitter runs a test to see if a specific instance of Twitter round trips to JSON and back losslessly +func RunJSONSerializationTestForTwitter(subject Twitter) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Twitter + 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 Twitter instances for property testing - lazily instantiated by TwitterGenerator() +var twitterGenerator gopter.Gen + +// TwitterGenerator returns a generator of Twitter instances for property testing. +// We first initialize twitterGenerator 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 TwitterGenerator() gopter.Gen { + if twitterGenerator != nil { + return twitterGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTwitter(generators) + twitterGenerator = gen.Struct(reflect.TypeOf(Twitter{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTwitter(generators) + AddRelatedPropertyGeneratorsForTwitter(generators) + twitterGenerator = gen.Struct(reflect.TypeOf(Twitter{}), generators) + + return twitterGenerator +} + +// AddIndependentPropertyGeneratorsForTwitter is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTwitter(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForTwitter is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTwitter(gens map[string]gopter.Gen) { + gens["Registration"] = gen.PtrOf(TwitterRegistrationGenerator()) +} + +func Test_TwitterRegistration_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from TwitterRegistration to TwitterRegistration via AssignProperties_To_TwitterRegistration & AssignProperties_From_TwitterRegistration returns original", + prop.ForAll(RunPropertyAssignmentTestForTwitterRegistration, TwitterRegistrationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTwitterRegistration tests if a specific instance of TwitterRegistration can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTwitterRegistration(subject TwitterRegistration) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.TwitterRegistration + err := copied.AssignProperties_To_TwitterRegistration(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual TwitterRegistration + err = actual.AssignProperties_From_TwitterRegistration(&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_TwitterRegistration_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 TwitterRegistration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTwitterRegistration, TwitterRegistrationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTwitterRegistration runs a test to see if a specific instance of TwitterRegistration round trips to JSON and back losslessly +func RunJSONSerializationTestForTwitterRegistration(subject TwitterRegistration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TwitterRegistration + 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 TwitterRegistration instances for property testing - lazily instantiated by +// TwitterRegistrationGenerator() +var twitterRegistrationGenerator gopter.Gen + +// TwitterRegistrationGenerator returns a generator of TwitterRegistration instances for property testing. +func TwitterRegistrationGenerator() gopter.Gen { + if twitterRegistrationGenerator != nil { + return twitterRegistrationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTwitterRegistration(generators) + twitterRegistrationGenerator = gen.Struct(reflect.TypeOf(TwitterRegistration{}), generators) + + return twitterRegistrationGenerator +} + +// AddIndependentPropertyGeneratorsForTwitterRegistration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTwitterRegistration(gens map[string]gopter.Gen) { + gens["ConsumerKey"] = gen.PtrOf(gen.AlphaString()) + gens["ConsumerSecretSettingName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_TwitterRegistration_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from TwitterRegistration_STATUS to TwitterRegistration_STATUS via AssignProperties_To_TwitterRegistration_STATUS & AssignProperties_From_TwitterRegistration_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForTwitterRegistration_STATUS, TwitterRegistration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTwitterRegistration_STATUS tests if a specific instance of TwitterRegistration_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTwitterRegistration_STATUS(subject TwitterRegistration_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 storage.TwitterRegistration_STATUS + err := copied.AssignProperties_To_TwitterRegistration_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual TwitterRegistration_STATUS + err = actual.AssignProperties_From_TwitterRegistration_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_TwitterRegistration_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 TwitterRegistration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTwitterRegistration_STATUS, TwitterRegistration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTwitterRegistration_STATUS runs a test to see if a specific instance of TwitterRegistration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTwitterRegistration_STATUS(subject TwitterRegistration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TwitterRegistration_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 TwitterRegistration_STATUS instances for property testing - lazily instantiated by +// TwitterRegistration_STATUSGenerator() +var twitterRegistration_STATUSGenerator gopter.Gen + +// TwitterRegistration_STATUSGenerator returns a generator of TwitterRegistration_STATUS instances for property testing. +func TwitterRegistration_STATUSGenerator() gopter.Gen { + if twitterRegistration_STATUSGenerator != nil { + return twitterRegistration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTwitterRegistration_STATUS(generators) + twitterRegistration_STATUSGenerator = gen.Struct(reflect.TypeOf(TwitterRegistration_STATUS{}), generators) + + return twitterRegistration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTwitterRegistration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTwitterRegistration_STATUS(gens map[string]gopter.Gen) { + gens["ConsumerKey"] = gen.PtrOf(gen.AlphaString()) + gens["ConsumerSecretSettingName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Twitter_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Twitter_STATUS to Twitter_STATUS via AssignProperties_To_Twitter_STATUS & AssignProperties_From_Twitter_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForTwitter_STATUS, Twitter_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTwitter_STATUS tests if a specific instance of Twitter_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTwitter_STATUS(subject Twitter_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 storage.Twitter_STATUS + err := copied.AssignProperties_To_Twitter_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Twitter_STATUS + err = actual.AssignProperties_From_Twitter_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_Twitter_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 Twitter_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTwitter_STATUS, Twitter_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTwitter_STATUS runs a test to see if a specific instance of Twitter_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTwitter_STATUS(subject Twitter_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Twitter_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 Twitter_STATUS instances for property testing - lazily instantiated by Twitter_STATUSGenerator() +var twitter_STATUSGenerator gopter.Gen + +// Twitter_STATUSGenerator returns a generator of Twitter_STATUS instances for property testing. +// We first initialize twitter_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 Twitter_STATUSGenerator() gopter.Gen { + if twitter_STATUSGenerator != nil { + return twitter_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTwitter_STATUS(generators) + twitter_STATUSGenerator = gen.Struct(reflect.TypeOf(Twitter_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTwitter_STATUS(generators) + AddRelatedPropertyGeneratorsForTwitter_STATUS(generators) + twitter_STATUSGenerator = gen.Struct(reflect.TypeOf(Twitter_STATUS{}), generators) + + return twitter_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTwitter_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTwitter_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForTwitter_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTwitter_STATUS(gens map[string]gopter.Gen) { + gens["Registration"] = gen.PtrOf(TwitterRegistration_STATUSGenerator()) +} diff --git a/v2/api/app/v1api20240301/container_app_types_gen.go b/v2/api/app/v1api20240301/container_app_types_gen.go new file mode 100644 index 00000000000..4960a1f7931 --- /dev/null +++ b/v2/api/app/v1api20240301/container_app_types_gen.go @@ -0,0 +1,14836 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20240301 + +import ( + "context" + "fmt" + arm "github.com/Azure/azure-service-operator/v2/api/app/v1api20240301/arm" + storage "github.com/Azure/azure-service-operator/v2/api/app/v1api20240301/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/Azure/azure-service-operator/v2/pkg/genruntime/core" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/secrets" + "github.com/go-logr/logr" + "github.com/rotisserie/eris" + 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: /app/resource-manager/Microsoft.App/stable/2024-03-01/ContainerApps.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName} +type ContainerApp struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ContainerApp_Spec `json:"spec,omitempty"` + Status ContainerApp_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &ContainerApp{} + +// GetConditions returns the conditions of the resource +func (containerApp *ContainerApp) GetConditions() conditions.Conditions { + return containerApp.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (containerApp *ContainerApp) SetConditions(conditions conditions.Conditions) { + containerApp.Status.Conditions = conditions +} + +var _ conversion.Convertible = &ContainerApp{} + +// ConvertFrom populates our ContainerApp from the provided hub ContainerApp +func (containerApp *ContainerApp) ConvertFrom(hub conversion.Hub) error { + source, ok := hub.(*storage.ContainerApp) + if !ok { + return fmt.Errorf("expected app/v1api20240301/storage/ContainerApp but received %T instead", hub) + } + + return containerApp.AssignProperties_From_ContainerApp(source) +} + +// ConvertTo populates the provided hub ContainerApp from our ContainerApp +func (containerApp *ContainerApp) ConvertTo(hub conversion.Hub) error { + destination, ok := hub.(*storage.ContainerApp) + if !ok { + return fmt.Errorf("expected app/v1api20240301/storage/ContainerApp but received %T instead", hub) + } + + return containerApp.AssignProperties_To_ContainerApp(destination) +} + +// +kubebuilder:webhook:path=/mutate-app-azure-com-v1api20240301-containerapp,mutating=true,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=app.azure.com,resources=containerapps,verbs=create;update,versions=v1api20240301,name=default.v1api20240301.containerapps.app.azure.com,admissionReviewVersions=v1 + +var _ admission.Defaulter = &ContainerApp{} + +// Default applies defaults to the ContainerApp resource +func (containerApp *ContainerApp) Default() { + containerApp.defaultImpl() + var temp any = containerApp + if runtimeDefaulter, ok := temp.(genruntime.Defaulter); ok { + runtimeDefaulter.CustomDefault() + } +} + +// defaultAzureName defaults the Azure name of the resource to the Kubernetes name +func (containerApp *ContainerApp) defaultAzureName() { + if containerApp.Spec.AzureName == "" { + containerApp.Spec.AzureName = containerApp.Name + } +} + +// defaultImpl applies the code generated defaults to the ContainerApp resource +func (containerApp *ContainerApp) defaultImpl() { containerApp.defaultAzureName() } + +var _ configmaps.Exporter = &ContainerApp{} + +// ConfigMapDestinationExpressions returns the Spec.OperatorSpec.ConfigMapExpressions property +func (containerApp *ContainerApp) ConfigMapDestinationExpressions() []*core.DestinationExpression { + if containerApp.Spec.OperatorSpec == nil { + return nil + } + return containerApp.Spec.OperatorSpec.ConfigMapExpressions +} + +var _ secrets.Exporter = &ContainerApp{} + +// SecretDestinationExpressions returns the Spec.OperatorSpec.SecretExpressions property +func (containerApp *ContainerApp) SecretDestinationExpressions() []*core.DestinationExpression { + if containerApp.Spec.OperatorSpec == nil { + return nil + } + return containerApp.Spec.OperatorSpec.SecretExpressions +} + +var _ genruntime.ImportableResource = &ContainerApp{} + +// InitializeSpec initializes the spec for this resource from the given status +func (containerApp *ContainerApp) InitializeSpec(status genruntime.ConvertibleStatus) error { + if s, ok := status.(*ContainerApp_STATUS); ok { + return containerApp.Spec.Initialize_From_ContainerApp_STATUS(s) + } + + return fmt.Errorf("expected Status of type ContainerApp_STATUS but received %T instead", status) +} + +var _ genruntime.KubernetesConfigExporter = &ContainerApp{} + +// ExportKubernetesConfigMaps defines a resource which can create ConfigMaps in Kubernetes. +func (containerApp *ContainerApp) ExportKubernetesConfigMaps(_ context.Context, _ genruntime.MetaObject, _ *genericarmclient.GenericClient, _ logr.Logger) ([]client.Object, error) { + collector := configmaps.NewCollector(containerApp.Namespace) + if containerApp.Spec.OperatorSpec != nil && containerApp.Spec.OperatorSpec.ConfigMaps != nil { + if containerApp.Status.EventStreamEndpoint != nil { + collector.AddValue(containerApp.Spec.OperatorSpec.ConfigMaps.EventStreamEndpoint, *containerApp.Status.EventStreamEndpoint) + } + } + if containerApp.Spec.OperatorSpec != nil && containerApp.Spec.OperatorSpec.ConfigMaps != nil { + if containerApp.Status.LatestRevisionFqdn != nil { + collector.AddValue(containerApp.Spec.OperatorSpec.ConfigMaps.Fqdn, *containerApp.Status.LatestRevisionFqdn) + } + } + result, err := collector.Values() + if err != nil { + return nil, err + } + return configmaps.SliceToClientObjectSlice(result), nil +} + +var _ genruntime.KubernetesResource = &ContainerApp{} + +// AzureName returns the Azure name of the resource +func (containerApp *ContainerApp) AzureName() string { + return containerApp.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-03-01" +func (containerApp ContainerApp) GetAPIVersion() string { + return "2024-03-01" +} + +// GetResourceScope returns the scope of the resource +func (containerApp *ContainerApp) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (containerApp *ContainerApp) GetSpec() genruntime.ConvertibleSpec { + return &containerApp.Spec +} + +// GetStatus returns the status of this resource +func (containerApp *ContainerApp) GetStatus() genruntime.ConvertibleStatus { + return &containerApp.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (containerApp *ContainerApp) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.App/containerApps" +func (containerApp *ContainerApp) GetType() string { + return "Microsoft.App/containerApps" +} + +// NewEmptyStatus returns a new empty (blank) status +func (containerApp *ContainerApp) NewEmptyStatus() genruntime.ConvertibleStatus { + return &ContainerApp_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (containerApp *ContainerApp) Owner() *genruntime.ResourceReference { + if containerApp.Spec.Owner == nil { + return nil + } + + group, kind := genruntime.LookupOwnerGroupKind(containerApp.Spec) + return containerApp.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (containerApp *ContainerApp) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*ContainerApp_STATUS); ok { + containerApp.Status = *st + return nil + } + + // Convert status to required version + var st ContainerApp_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return eris.Wrap(err, "failed to convert status") + } + + containerApp.Status = st + return nil +} + +// +kubebuilder:webhook:path=/validate-app-azure-com-v1api20240301-containerapp,mutating=false,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=app.azure.com,resources=containerapps,verbs=create;update,versions=v1api20240301,name=validate.v1api20240301.containerapps.app.azure.com,admissionReviewVersions=v1 + +var _ admission.Validator = &ContainerApp{} + +// ValidateCreate validates the creation of the resource +func (containerApp *ContainerApp) ValidateCreate() (admission.Warnings, error) { + validations := containerApp.createValidations() + var temp any = containerApp + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.CreateValidations()...) + } + return genruntime.ValidateCreate(validations) +} + +// ValidateDelete validates the deletion of the resource +func (containerApp *ContainerApp) ValidateDelete() (admission.Warnings, error) { + validations := containerApp.deleteValidations() + var temp any = containerApp + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.DeleteValidations()...) + } + return genruntime.ValidateDelete(validations) +} + +// ValidateUpdate validates an update of the resource +func (containerApp *ContainerApp) ValidateUpdate(old runtime.Object) (admission.Warnings, error) { + validations := containerApp.updateValidations() + var temp any = containerApp + 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 (containerApp *ContainerApp) createValidations() []func() (admission.Warnings, error) { + return []func() (admission.Warnings, error){containerApp.validateResourceReferences, containerApp.validateOwnerReference, containerApp.validateSecretDestinations, containerApp.validateConfigMapDestinations} +} + +// deleteValidations validates the deletion of the resource +func (containerApp *ContainerApp) deleteValidations() []func() (admission.Warnings, error) { + return nil +} + +// updateValidations validates the update of the resource +func (containerApp *ContainerApp) updateValidations() []func(old runtime.Object) (admission.Warnings, error) { + return []func(old runtime.Object) (admission.Warnings, error){ + func(old runtime.Object) (admission.Warnings, error) { + return containerApp.validateResourceReferences() + }, + containerApp.validateWriteOnceProperties, + func(old runtime.Object) (admission.Warnings, error) { + return containerApp.validateOwnerReference() + }, + func(old runtime.Object) (admission.Warnings, error) { + return containerApp.validateSecretDestinations() + }, + func(old runtime.Object) (admission.Warnings, error) { + return containerApp.validateConfigMapDestinations() + }, + } +} + +// validateConfigMapDestinations validates there are no colliding genruntime.ConfigMapDestinations +func (containerApp *ContainerApp) validateConfigMapDestinations() (admission.Warnings, error) { + if containerApp.Spec.OperatorSpec == nil { + return nil, nil + } + var toValidate []*genruntime.ConfigMapDestination + if containerApp.Spec.OperatorSpec.ConfigMaps != nil { + toValidate = []*genruntime.ConfigMapDestination{ + containerApp.Spec.OperatorSpec.ConfigMaps.EventStreamEndpoint, + containerApp.Spec.OperatorSpec.ConfigMaps.Fqdn, + } + } + return configmaps.ValidateDestinations(containerApp, toValidate, containerApp.Spec.OperatorSpec.ConfigMapExpressions) +} + +// validateOwnerReference validates the owner field +func (containerApp *ContainerApp) validateOwnerReference() (admission.Warnings, error) { + return genruntime.ValidateOwner(containerApp) +} + +// validateResourceReferences validates all resource references +func (containerApp *ContainerApp) validateResourceReferences() (admission.Warnings, error) { + refs, err := reflecthelpers.FindResourceReferences(&containerApp.Spec) + if err != nil { + return nil, err + } + return genruntime.ValidateResourceReferences(refs) +} + +// validateSecretDestinations validates there are no colliding genruntime.SecretDestination's +func (containerApp *ContainerApp) validateSecretDestinations() (admission.Warnings, error) { + if containerApp.Spec.OperatorSpec == nil { + return nil, nil + } + return secrets.ValidateDestinations(containerApp, nil, containerApp.Spec.OperatorSpec.SecretExpressions) +} + +// validateWriteOnceProperties validates all WriteOnce properties +func (containerApp *ContainerApp) validateWriteOnceProperties(old runtime.Object) (admission.Warnings, error) { + oldObj, ok := old.(*ContainerApp) + if !ok { + return nil, nil + } + + return genruntime.ValidateWriteOnceProperties(oldObj, containerApp) +} + +// AssignProperties_From_ContainerApp populates our ContainerApp from the provided source ContainerApp +func (containerApp *ContainerApp) AssignProperties_From_ContainerApp(source *storage.ContainerApp) error { + + // ObjectMeta + containerApp.ObjectMeta = *source.ObjectMeta.DeepCopy() + + // Spec + var spec ContainerApp_Spec + err := spec.AssignProperties_From_ContainerApp_Spec(&source.Spec) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ContainerApp_Spec() to populate field Spec") + } + containerApp.Spec = spec + + // Status + var status ContainerApp_STATUS + err = status.AssignProperties_From_ContainerApp_STATUS(&source.Status) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ContainerApp_STATUS() to populate field Status") + } + containerApp.Status = status + + // No error + return nil +} + +// AssignProperties_To_ContainerApp populates the provided destination ContainerApp from our ContainerApp +func (containerApp *ContainerApp) AssignProperties_To_ContainerApp(destination *storage.ContainerApp) error { + + // ObjectMeta + destination.ObjectMeta = *containerApp.ObjectMeta.DeepCopy() + + // Spec + var spec storage.ContainerApp_Spec + err := containerApp.Spec.AssignProperties_To_ContainerApp_Spec(&spec) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ContainerApp_Spec() to populate field Spec") + } + destination.Spec = spec + + // Status + var status storage.ContainerApp_STATUS + err = containerApp.Status.AssignProperties_To_ContainerApp_STATUS(&status) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ContainerApp_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 (containerApp *ContainerApp) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: containerApp.Spec.OriginalVersion(), + Kind: "ContainerApp", + } +} + +// +kubebuilder:object:root=true +// Generator information: +// - Generated from: /app/resource-manager/Microsoft.App/stable/2024-03-01/ContainerApps.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName} +type ContainerAppList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ContainerApp `json:"items"` +} + +type ContainerApp_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"` + + // Configuration: Non versioned Container App configuration properties. + Configuration *Configuration `json:"configuration,omitempty"` + + // EnvironmentReference: Resource ID of environment. + EnvironmentReference *genruntime.ResourceReference `armReference:"EnvironmentId" json:"environmentReference,omitempty"` + + // ExtendedLocation: The complex type of the extended location. + ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` + + // Identity: managed identities for the Container App to interact with other Azure services without maintaining any secrets + // or credentials in code. + Identity *ManagedServiceIdentity `json:"identity,omitempty"` + + // +kubebuilder:validation:Required + // Location: The geo-location where the resource lives + Location *string `json:"location,omitempty"` + + // ManagedByReference: The fully qualified resource ID of the resource that manages this resource. Indicates if this + // resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource + // if it is removed from the template since it is managed by another resource. + ManagedByReference *genruntime.ResourceReference `armReference:"ManagedBy" json:"managedByReference,omitempty"` + + // ManagedEnvironmentReference: Deprecated. Resource ID of the Container App's environment. + ManagedEnvironmentReference *genruntime.ResourceReference `armReference:"ManagedEnvironmentId" json:"managedEnvironmentReference,omitempty"` + + // OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + // passed directly to Azure + OperatorSpec *ContainerAppOperatorSpec `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"` + + // Tags: Resource tags. + Tags map[string]string `json:"tags,omitempty"` + + // Template: Container App versioned application definition. + Template *Template `json:"template,omitempty"` + + // WorkloadProfileName: Workload profile name to pin for container app execution. + WorkloadProfileName *string `json:"workloadProfileName,omitempty"` +} + +var _ genruntime.ARMTransformer = &ContainerApp_Spec{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (containerApp *ContainerApp_Spec) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if containerApp == nil { + return nil, nil + } + result := &arm.ContainerApp_Spec{} + + // Set property "ExtendedLocation": + if containerApp.ExtendedLocation != nil { + extendedLocation_ARM, err := (*containerApp.ExtendedLocation).ConvertToARM(resolved) + if err != nil { + return nil, err + } + extendedLocation := *extendedLocation_ARM.(*arm.ExtendedLocation) + result.ExtendedLocation = &extendedLocation + } + + // Set property "Identity": + if containerApp.Identity != nil { + identity_ARM, err := (*containerApp.Identity).ConvertToARM(resolved) + if err != nil { + return nil, err + } + identity := *identity_ARM.(*arm.ManagedServiceIdentity) + result.Identity = &identity + } + + // Set property "Location": + if containerApp.Location != nil { + location := *containerApp.Location + result.Location = &location + } + + // Set property "ManagedBy": + if containerApp.ManagedByReference != nil { + managedByReferenceARMID, err := resolved.ResolvedReferences.Lookup(*containerApp.ManagedByReference) + if err != nil { + return nil, err + } + managedByReference := managedByReferenceARMID + result.ManagedBy = &managedByReference + } + + // Set property "Name": + result.Name = resolved.Name + + // Set property "Properties": + if containerApp.Configuration != nil || + containerApp.EnvironmentReference != nil || + containerApp.ManagedEnvironmentReference != nil || + containerApp.Template != nil || + containerApp.WorkloadProfileName != nil { + result.Properties = &arm.ContainerApp_Properties_Spec{} + } + if containerApp.Configuration != nil { + configuration_ARM, err := (*containerApp.Configuration).ConvertToARM(resolved) + if err != nil { + return nil, err + } + configuration := *configuration_ARM.(*arm.Configuration) + result.Properties.Configuration = &configuration + } + if containerApp.EnvironmentReference != nil { + environmentIdARMID, err := resolved.ResolvedReferences.Lookup(*containerApp.EnvironmentReference) + if err != nil { + return nil, err + } + environmentId := environmentIdARMID + result.Properties.EnvironmentId = &environmentId + } + if containerApp.ManagedEnvironmentReference != nil { + managedEnvironmentIdARMID, err := resolved.ResolvedReferences.Lookup(*containerApp.ManagedEnvironmentReference) + if err != nil { + return nil, err + } + managedEnvironmentId := managedEnvironmentIdARMID + result.Properties.ManagedEnvironmentId = &managedEnvironmentId + } + if containerApp.Template != nil { + template_ARM, err := (*containerApp.Template).ConvertToARM(resolved) + if err != nil { + return nil, err + } + template := *template_ARM.(*arm.Template) + result.Properties.Template = &template + } + if containerApp.WorkloadProfileName != nil { + workloadProfileName := *containerApp.WorkloadProfileName + result.Properties.WorkloadProfileName = &workloadProfileName + } + + // Set property "Tags": + if containerApp.Tags != nil { + result.Tags = make(map[string]string, len(containerApp.Tags)) + for key, value := range containerApp.Tags { + result.Tags[key] = value + } + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (containerApp *ContainerApp_Spec) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ContainerApp_Spec{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (containerApp *ContainerApp_Spec) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ContainerApp_Spec) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ContainerApp_Spec, got %T", armInput) + } + + // Set property "AzureName": + containerApp.SetAzureName(genruntime.ExtractKubernetesResourceNameFromARMName(typedInput.Name)) + + // Set property "Configuration": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Configuration != nil { + var configuration1 Configuration + err := configuration1.PopulateFromARM(owner, *typedInput.Properties.Configuration) + if err != nil { + return err + } + configuration := configuration1 + containerApp.Configuration = &configuration + } + } + + // no assignment for property "EnvironmentReference" + + // Set property "ExtendedLocation": + if typedInput.ExtendedLocation != nil { + var extendedLocation1 ExtendedLocation + err := extendedLocation1.PopulateFromARM(owner, *typedInput.ExtendedLocation) + if err != nil { + return err + } + extendedLocation := extendedLocation1 + containerApp.ExtendedLocation = &extendedLocation + } + + // Set property "Identity": + if typedInput.Identity != nil { + var identity1 ManagedServiceIdentity + err := identity1.PopulateFromARM(owner, *typedInput.Identity) + if err != nil { + return err + } + identity := identity1 + containerApp.Identity = &identity + } + + // Set property "Location": + if typedInput.Location != nil { + location := *typedInput.Location + containerApp.Location = &location + } + + // no assignment for property "ManagedByReference" + + // no assignment for property "ManagedEnvironmentReference" + + // no assignment for property "OperatorSpec" + + // Set property "Owner": + containerApp.Owner = &genruntime.KnownResourceReference{ + Name: owner.Name, + ARMID: owner.ARMID, + } + + // Set property "Tags": + if typedInput.Tags != nil { + containerApp.Tags = make(map[string]string, len(typedInput.Tags)) + for key, value := range typedInput.Tags { + containerApp.Tags[key] = value + } + } + + // Set property "Template": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Template != nil { + var template1 Template + err := template1.PopulateFromARM(owner, *typedInput.Properties.Template) + if err != nil { + return err + } + template := template1 + containerApp.Template = &template + } + } + + // Set property "WorkloadProfileName": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.WorkloadProfileName != nil { + workloadProfileName := *typedInput.Properties.WorkloadProfileName + containerApp.WorkloadProfileName = &workloadProfileName + } + } + + // No error + return nil +} + +var _ genruntime.ConvertibleSpec = &ContainerApp_Spec{} + +// ConvertSpecFrom populates our ContainerApp_Spec from the provided source +func (containerApp *ContainerApp_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + src, ok := source.(*storage.ContainerApp_Spec) + if ok { + // Populate our instance from source + return containerApp.AssignProperties_From_ContainerApp_Spec(src) + } + + // Convert to an intermediate form + src = &storage.ContainerApp_Spec{} + err := src.ConvertSpecFrom(source) + if err != nil { + return eris.Wrap(err, "initial step of conversion in ConvertSpecFrom()") + } + + // Update our instance from src + err = containerApp.AssignProperties_From_ContainerApp_Spec(src) + if err != nil { + return eris.Wrap(err, "final step of conversion in ConvertSpecFrom()") + } + + return nil +} + +// ConvertSpecTo populates the provided destination from our ContainerApp_Spec +func (containerApp *ContainerApp_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + dst, ok := destination.(*storage.ContainerApp_Spec) + if ok { + // Populate destination from our instance + return containerApp.AssignProperties_To_ContainerApp_Spec(dst) + } + + // Convert to an intermediate form + dst = &storage.ContainerApp_Spec{} + err := containerApp.AssignProperties_To_ContainerApp_Spec(dst) + if err != nil { + return eris.Wrap(err, "initial step of conversion in ConvertSpecTo()") + } + + // Update dst from our instance + err = dst.ConvertSpecTo(destination) + if err != nil { + return eris.Wrap(err, "final step of conversion in ConvertSpecTo()") + } + + return nil +} + +// AssignProperties_From_ContainerApp_Spec populates our ContainerApp_Spec from the provided source ContainerApp_Spec +func (containerApp *ContainerApp_Spec) AssignProperties_From_ContainerApp_Spec(source *storage.ContainerApp_Spec) error { + + // AzureName + containerApp.AzureName = source.AzureName + + // Configuration + if source.Configuration != nil { + var configuration Configuration + err := configuration.AssignProperties_From_Configuration(source.Configuration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Configuration() to populate field Configuration") + } + containerApp.Configuration = &configuration + } else { + containerApp.Configuration = nil + } + + // EnvironmentReference + if source.EnvironmentReference != nil { + environmentReference := source.EnvironmentReference.Copy() + containerApp.EnvironmentReference = &environmentReference + } else { + containerApp.EnvironmentReference = nil + } + + // ExtendedLocation + if source.ExtendedLocation != nil { + var extendedLocation ExtendedLocation + err := extendedLocation.AssignProperties_From_ExtendedLocation(source.ExtendedLocation) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ExtendedLocation() to populate field ExtendedLocation") + } + containerApp.ExtendedLocation = &extendedLocation + } else { + containerApp.ExtendedLocation = nil + } + + // Identity + if source.Identity != nil { + var identity ManagedServiceIdentity + err := identity.AssignProperties_From_ManagedServiceIdentity(source.Identity) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ManagedServiceIdentity() to populate field Identity") + } + containerApp.Identity = &identity + } else { + containerApp.Identity = nil + } + + // Location + containerApp.Location = genruntime.ClonePointerToString(source.Location) + + // ManagedByReference + if source.ManagedByReference != nil { + managedByReference := source.ManagedByReference.Copy() + containerApp.ManagedByReference = &managedByReference + } else { + containerApp.ManagedByReference = nil + } + + // ManagedEnvironmentReference + if source.ManagedEnvironmentReference != nil { + managedEnvironmentReference := source.ManagedEnvironmentReference.Copy() + containerApp.ManagedEnvironmentReference = &managedEnvironmentReference + } else { + containerApp.ManagedEnvironmentReference = nil + } + + // OperatorSpec + if source.OperatorSpec != nil { + var operatorSpec ContainerAppOperatorSpec + err := operatorSpec.AssignProperties_From_ContainerAppOperatorSpec(source.OperatorSpec) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ContainerAppOperatorSpec() to populate field OperatorSpec") + } + containerApp.OperatorSpec = &operatorSpec + } else { + containerApp.OperatorSpec = nil + } + + // Owner + if source.Owner != nil { + owner := source.Owner.Copy() + containerApp.Owner = &owner + } else { + containerApp.Owner = nil + } + + // Tags + containerApp.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // Template + if source.Template != nil { + var template Template + err := template.AssignProperties_From_Template(source.Template) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Template() to populate field Template") + } + containerApp.Template = &template + } else { + containerApp.Template = nil + } + + // WorkloadProfileName + containerApp.WorkloadProfileName = genruntime.ClonePointerToString(source.WorkloadProfileName) + + // No error + return nil +} + +// AssignProperties_To_ContainerApp_Spec populates the provided destination ContainerApp_Spec from our ContainerApp_Spec +func (containerApp *ContainerApp_Spec) AssignProperties_To_ContainerApp_Spec(destination *storage.ContainerApp_Spec) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AzureName + destination.AzureName = containerApp.AzureName + + // Configuration + if containerApp.Configuration != nil { + var configuration storage.Configuration + err := containerApp.Configuration.AssignProperties_To_Configuration(&configuration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Configuration() to populate field Configuration") + } + destination.Configuration = &configuration + } else { + destination.Configuration = nil + } + + // EnvironmentReference + if containerApp.EnvironmentReference != nil { + environmentReference := containerApp.EnvironmentReference.Copy() + destination.EnvironmentReference = &environmentReference + } else { + destination.EnvironmentReference = nil + } + + // ExtendedLocation + if containerApp.ExtendedLocation != nil { + var extendedLocation storage.ExtendedLocation + err := containerApp.ExtendedLocation.AssignProperties_To_ExtendedLocation(&extendedLocation) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ExtendedLocation() to populate field ExtendedLocation") + } + destination.ExtendedLocation = &extendedLocation + } else { + destination.ExtendedLocation = nil + } + + // Identity + if containerApp.Identity != nil { + var identity storage.ManagedServiceIdentity + err := containerApp.Identity.AssignProperties_To_ManagedServiceIdentity(&identity) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ManagedServiceIdentity() to populate field Identity") + } + destination.Identity = &identity + } else { + destination.Identity = nil + } + + // Location + destination.Location = genruntime.ClonePointerToString(containerApp.Location) + + // ManagedByReference + if containerApp.ManagedByReference != nil { + managedByReference := containerApp.ManagedByReference.Copy() + destination.ManagedByReference = &managedByReference + } else { + destination.ManagedByReference = nil + } + + // ManagedEnvironmentReference + if containerApp.ManagedEnvironmentReference != nil { + managedEnvironmentReference := containerApp.ManagedEnvironmentReference.Copy() + destination.ManagedEnvironmentReference = &managedEnvironmentReference + } else { + destination.ManagedEnvironmentReference = nil + } + + // OperatorSpec + if containerApp.OperatorSpec != nil { + var operatorSpec storage.ContainerAppOperatorSpec + err := containerApp.OperatorSpec.AssignProperties_To_ContainerAppOperatorSpec(&operatorSpec) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ContainerAppOperatorSpec() to populate field OperatorSpec") + } + destination.OperatorSpec = &operatorSpec + } else { + destination.OperatorSpec = nil + } + + // OriginalVersion + destination.OriginalVersion = containerApp.OriginalVersion() + + // Owner + if containerApp.Owner != nil { + owner := containerApp.Owner.Copy() + destination.Owner = &owner + } else { + destination.Owner = nil + } + + // Tags + destination.Tags = genruntime.CloneMapOfStringToString(containerApp.Tags) + + // Template + if containerApp.Template != nil { + var template storage.Template + err := containerApp.Template.AssignProperties_To_Template(&template) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Template() to populate field Template") + } + destination.Template = &template + } else { + destination.Template = nil + } + + // WorkloadProfileName + destination.WorkloadProfileName = genruntime.ClonePointerToString(containerApp.WorkloadProfileName) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ContainerApp_STATUS populates our ContainerApp_Spec from the provided source ContainerApp_STATUS +func (containerApp *ContainerApp_Spec) Initialize_From_ContainerApp_STATUS(source *ContainerApp_STATUS) error { + + // Configuration + if source.Configuration != nil { + var configuration Configuration + err := configuration.Initialize_From_Configuration_STATUS(source.Configuration) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_Configuration_STATUS() to populate field Configuration") + } + containerApp.Configuration = &configuration + } else { + containerApp.Configuration = nil + } + + // EnvironmentReference + if source.EnvironmentId != nil { + environmentReference := genruntime.CreateResourceReferenceFromARMID(*source.EnvironmentId) + containerApp.EnvironmentReference = &environmentReference + } else { + containerApp.EnvironmentReference = nil + } + + // ExtendedLocation + if source.ExtendedLocation != nil { + var extendedLocation ExtendedLocation + err := extendedLocation.Initialize_From_ExtendedLocation_STATUS(source.ExtendedLocation) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_ExtendedLocation_STATUS() to populate field ExtendedLocation") + } + containerApp.ExtendedLocation = &extendedLocation + } else { + containerApp.ExtendedLocation = nil + } + + // Identity + if source.Identity != nil { + var identity ManagedServiceIdentity + err := identity.Initialize_From_ManagedServiceIdentity_STATUS(source.Identity) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_ManagedServiceIdentity_STATUS() to populate field Identity") + } + containerApp.Identity = &identity + } else { + containerApp.Identity = nil + } + + // Location + containerApp.Location = genruntime.ClonePointerToString(source.Location) + + // ManagedEnvironmentReference + if source.ManagedEnvironmentId != nil { + managedEnvironmentReference := genruntime.CreateResourceReferenceFromARMID(*source.ManagedEnvironmentId) + containerApp.ManagedEnvironmentReference = &managedEnvironmentReference + } else { + containerApp.ManagedEnvironmentReference = nil + } + + // Tags + containerApp.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // Template + if source.Template != nil { + var template Template + err := template.Initialize_From_Template_STATUS(source.Template) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_Template_STATUS() to populate field Template") + } + containerApp.Template = &template + } else { + containerApp.Template = nil + } + + // WorkloadProfileName + containerApp.WorkloadProfileName = genruntime.ClonePointerToString(source.WorkloadProfileName) + + // No error + return nil +} + +// OriginalVersion returns the original API version used to create the resource. +func (containerApp *ContainerApp_Spec) OriginalVersion() string { + return GroupVersion.Version +} + +// SetAzureName sets the Azure name of the resource +func (containerApp *ContainerApp_Spec) SetAzureName(azureName string) { + containerApp.AzureName = azureName +} + +// Container App. +type ContainerApp_STATUS struct { + // Conditions: The observed state of the resource + Conditions []conditions.Condition `json:"conditions,omitempty"` + + // Configuration: Non versioned Container App configuration properties. + Configuration *Configuration_STATUS `json:"configuration,omitempty"` + + // CustomDomainVerificationId: Id used to verify domain name ownership + CustomDomainVerificationId *string `json:"customDomainVerificationId,omitempty"` + + // EnvironmentId: Resource ID of environment. + EnvironmentId *string `json:"environmentId,omitempty"` + + // EventStreamEndpoint: The endpoint of the eventstream of the container app. + EventStreamEndpoint *string `json:"eventStreamEndpoint,omitempty"` + + // ExtendedLocation: The complex type of the extended location. + ExtendedLocation *ExtendedLocation_STATUS `json:"extendedLocation,omitempty"` + + // Id: Fully qualified resource ID for the resource. Ex - + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + Id *string `json:"id,omitempty"` + + // Identity: managed identities for the Container App to interact with other Azure services without maintaining any secrets + // or credentials in code. + Identity *ManagedServiceIdentity_STATUS `json:"identity,omitempty"` + + // LatestReadyRevisionName: Name of the latest ready revision of the Container App. + LatestReadyRevisionName *string `json:"latestReadyRevisionName,omitempty"` + + // LatestRevisionFqdn: Fully Qualified Domain Name of the latest revision of the Container App. + LatestRevisionFqdn *string `json:"latestRevisionFqdn,omitempty"` + + // LatestRevisionName: Name of the latest revision of the Container App. + LatestRevisionName *string `json:"latestRevisionName,omitempty"` + + // Location: The geo-location where the resource lives + Location *string `json:"location,omitempty"` + + // ManagedBy: The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is + // managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is + // removed from the template since it is managed by another resource. + ManagedBy *string `json:"managedBy,omitempty"` + + // ManagedEnvironmentId: Deprecated. Resource ID of the Container App's environment. + ManagedEnvironmentId *string `json:"managedEnvironmentId,omitempty"` + + // Name: The name of the resource + Name *string `json:"name,omitempty"` + + // OutboundIpAddresses: Outbound IP Addresses for container app. + OutboundIpAddresses []string `json:"outboundIpAddresses,omitempty"` + + // ProvisioningState: Provisioning state of the Container App. + ProvisioningState *ContainerApp_Properties_ProvisioningState_STATUS `json:"provisioningState,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"` + + // Template: Container App versioned application definition. + Template *Template_STATUS `json:"template,omitempty"` + + // Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + Type *string `json:"type,omitempty"` + + // WorkloadProfileName: Workload profile name to pin for container app execution. + WorkloadProfileName *string `json:"workloadProfileName,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &ContainerApp_STATUS{} + +// ConvertStatusFrom populates our ContainerApp_STATUS from the provided source +func (containerApp *ContainerApp_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + src, ok := source.(*storage.ContainerApp_STATUS) + if ok { + // Populate our instance from source + return containerApp.AssignProperties_From_ContainerApp_STATUS(src) + } + + // Convert to an intermediate form + src = &storage.ContainerApp_STATUS{} + err := src.ConvertStatusFrom(source) + if err != nil { + return eris.Wrap(err, "initial step of conversion in ConvertStatusFrom()") + } + + // Update our instance from src + err = containerApp.AssignProperties_From_ContainerApp_STATUS(src) + if err != nil { + return eris.Wrap(err, "final step of conversion in ConvertStatusFrom()") + } + + return nil +} + +// ConvertStatusTo populates the provided destination from our ContainerApp_STATUS +func (containerApp *ContainerApp_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + dst, ok := destination.(*storage.ContainerApp_STATUS) + if ok { + // Populate destination from our instance + return containerApp.AssignProperties_To_ContainerApp_STATUS(dst) + } + + // Convert to an intermediate form + dst = &storage.ContainerApp_STATUS{} + err := containerApp.AssignProperties_To_ContainerApp_STATUS(dst) + if err != nil { + return eris.Wrap(err, "initial step of conversion in ConvertStatusTo()") + } + + // Update dst from our instance + err = dst.ConvertStatusTo(destination) + if err != nil { + return eris.Wrap(err, "final step of conversion in ConvertStatusTo()") + } + + return nil +} + +var _ genruntime.FromARMConverter = &ContainerApp_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (containerApp *ContainerApp_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ContainerApp_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (containerApp *ContainerApp_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ContainerApp_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ContainerApp_STATUS, got %T", armInput) + } + + // no assignment for property "Conditions" + + // Set property "Configuration": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Configuration != nil { + var configuration1 Configuration_STATUS + err := configuration1.PopulateFromARM(owner, *typedInput.Properties.Configuration) + if err != nil { + return err + } + configuration := configuration1 + containerApp.Configuration = &configuration + } + } + + // Set property "CustomDomainVerificationId": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.CustomDomainVerificationId != nil { + customDomainVerificationId := *typedInput.Properties.CustomDomainVerificationId + containerApp.CustomDomainVerificationId = &customDomainVerificationId + } + } + + // Set property "EnvironmentId": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.EnvironmentId != nil { + environmentId := *typedInput.Properties.EnvironmentId + containerApp.EnvironmentId = &environmentId + } + } + + // Set property "EventStreamEndpoint": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.EventStreamEndpoint != nil { + eventStreamEndpoint := *typedInput.Properties.EventStreamEndpoint + containerApp.EventStreamEndpoint = &eventStreamEndpoint + } + } + + // Set property "ExtendedLocation": + if typedInput.ExtendedLocation != nil { + var extendedLocation1 ExtendedLocation_STATUS + err := extendedLocation1.PopulateFromARM(owner, *typedInput.ExtendedLocation) + if err != nil { + return err + } + extendedLocation := extendedLocation1 + containerApp.ExtendedLocation = &extendedLocation + } + + // Set property "Id": + if typedInput.Id != nil { + id := *typedInput.Id + containerApp.Id = &id + } + + // Set property "Identity": + if typedInput.Identity != nil { + var identity1 ManagedServiceIdentity_STATUS + err := identity1.PopulateFromARM(owner, *typedInput.Identity) + if err != nil { + return err + } + identity := identity1 + containerApp.Identity = &identity + } + + // Set property "LatestReadyRevisionName": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.LatestReadyRevisionName != nil { + latestReadyRevisionName := *typedInput.Properties.LatestReadyRevisionName + containerApp.LatestReadyRevisionName = &latestReadyRevisionName + } + } + + // Set property "LatestRevisionFqdn": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.LatestRevisionFqdn != nil { + latestRevisionFqdn := *typedInput.Properties.LatestRevisionFqdn + containerApp.LatestRevisionFqdn = &latestRevisionFqdn + } + } + + // Set property "LatestRevisionName": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.LatestRevisionName != nil { + latestRevisionName := *typedInput.Properties.LatestRevisionName + containerApp.LatestRevisionName = &latestRevisionName + } + } + + // Set property "Location": + if typedInput.Location != nil { + location := *typedInput.Location + containerApp.Location = &location + } + + // Set property "ManagedBy": + if typedInput.ManagedBy != nil { + managedBy := *typedInput.ManagedBy + containerApp.ManagedBy = &managedBy + } + + // Set property "ManagedEnvironmentId": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ManagedEnvironmentId != nil { + managedEnvironmentId := *typedInput.Properties.ManagedEnvironmentId + containerApp.ManagedEnvironmentId = &managedEnvironmentId + } + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + containerApp.Name = &name + } + + // Set property "OutboundIpAddresses": + // copying flattened property: + if typedInput.Properties != nil { + for _, item := range typedInput.Properties.OutboundIpAddresses { + containerApp.OutboundIpAddresses = append(containerApp.OutboundIpAddresses, item) + } + } + + // Set property "ProvisioningState": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ProvisioningState != nil { + var temp string + temp = string(*typedInput.Properties.ProvisioningState) + provisioningState := ContainerApp_Properties_ProvisioningState_STATUS(temp) + containerApp.ProvisioningState = &provisioningState + } + } + + // Set property "SystemData": + if typedInput.SystemData != nil { + var systemData1 SystemData_STATUS + err := systemData1.PopulateFromARM(owner, *typedInput.SystemData) + if err != nil { + return err + } + systemData := systemData1 + containerApp.SystemData = &systemData + } + + // Set property "Tags": + if typedInput.Tags != nil { + containerApp.Tags = make(map[string]string, len(typedInput.Tags)) + for key, value := range typedInput.Tags { + containerApp.Tags[key] = value + } + } + + // Set property "Template": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Template != nil { + var template1 Template_STATUS + err := template1.PopulateFromARM(owner, *typedInput.Properties.Template) + if err != nil { + return err + } + template := template1 + containerApp.Template = &template + } + } + + // Set property "Type": + if typedInput.Type != nil { + typeVar := *typedInput.Type + containerApp.Type = &typeVar + } + + // Set property "WorkloadProfileName": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.WorkloadProfileName != nil { + workloadProfileName := *typedInput.Properties.WorkloadProfileName + containerApp.WorkloadProfileName = &workloadProfileName + } + } + + // No error + return nil +} + +// AssignProperties_From_ContainerApp_STATUS populates our ContainerApp_STATUS from the provided source ContainerApp_STATUS +func (containerApp *ContainerApp_STATUS) AssignProperties_From_ContainerApp_STATUS(source *storage.ContainerApp_STATUS) error { + + // Conditions + containerApp.Conditions = genruntime.CloneSliceOfCondition(source.Conditions) + + // Configuration + if source.Configuration != nil { + var configuration Configuration_STATUS + err := configuration.AssignProperties_From_Configuration_STATUS(source.Configuration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Configuration_STATUS() to populate field Configuration") + } + containerApp.Configuration = &configuration + } else { + containerApp.Configuration = nil + } + + // CustomDomainVerificationId + containerApp.CustomDomainVerificationId = genruntime.ClonePointerToString(source.CustomDomainVerificationId) + + // EnvironmentId + containerApp.EnvironmentId = genruntime.ClonePointerToString(source.EnvironmentId) + + // EventStreamEndpoint + containerApp.EventStreamEndpoint = genruntime.ClonePointerToString(source.EventStreamEndpoint) + + // ExtendedLocation + if source.ExtendedLocation != nil { + var extendedLocation ExtendedLocation_STATUS + err := extendedLocation.AssignProperties_From_ExtendedLocation_STATUS(source.ExtendedLocation) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ExtendedLocation_STATUS() to populate field ExtendedLocation") + } + containerApp.ExtendedLocation = &extendedLocation + } else { + containerApp.ExtendedLocation = nil + } + + // Id + containerApp.Id = genruntime.ClonePointerToString(source.Id) + + // Identity + if source.Identity != nil { + var identity ManagedServiceIdentity_STATUS + err := identity.AssignProperties_From_ManagedServiceIdentity_STATUS(source.Identity) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ManagedServiceIdentity_STATUS() to populate field Identity") + } + containerApp.Identity = &identity + } else { + containerApp.Identity = nil + } + + // LatestReadyRevisionName + containerApp.LatestReadyRevisionName = genruntime.ClonePointerToString(source.LatestReadyRevisionName) + + // LatestRevisionFqdn + containerApp.LatestRevisionFqdn = genruntime.ClonePointerToString(source.LatestRevisionFqdn) + + // LatestRevisionName + containerApp.LatestRevisionName = genruntime.ClonePointerToString(source.LatestRevisionName) + + // Location + containerApp.Location = genruntime.ClonePointerToString(source.Location) + + // ManagedBy + containerApp.ManagedBy = genruntime.ClonePointerToString(source.ManagedBy) + + // ManagedEnvironmentId + containerApp.ManagedEnvironmentId = genruntime.ClonePointerToString(source.ManagedEnvironmentId) + + // Name + containerApp.Name = genruntime.ClonePointerToString(source.Name) + + // OutboundIpAddresses + containerApp.OutboundIpAddresses = genruntime.CloneSliceOfString(source.OutboundIpAddresses) + + // ProvisioningState + if source.ProvisioningState != nil { + provisioningState := *source.ProvisioningState + provisioningStateTemp := genruntime.ToEnum(provisioningState, containerApp_Properties_ProvisioningState_STATUS_Values) + containerApp.ProvisioningState = &provisioningStateTemp + } else { + containerApp.ProvisioningState = nil + } + + // SystemData + if source.SystemData != nil { + var systemDatum SystemData_STATUS + err := systemDatum.AssignProperties_From_SystemData_STATUS(source.SystemData) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_SystemData_STATUS() to populate field SystemData") + } + containerApp.SystemData = &systemDatum + } else { + containerApp.SystemData = nil + } + + // Tags + containerApp.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // Template + if source.Template != nil { + var template Template_STATUS + err := template.AssignProperties_From_Template_STATUS(source.Template) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Template_STATUS() to populate field Template") + } + containerApp.Template = &template + } else { + containerApp.Template = nil + } + + // Type + containerApp.Type = genruntime.ClonePointerToString(source.Type) + + // WorkloadProfileName + containerApp.WorkloadProfileName = genruntime.ClonePointerToString(source.WorkloadProfileName) + + // No error + return nil +} + +// AssignProperties_To_ContainerApp_STATUS populates the provided destination ContainerApp_STATUS from our ContainerApp_STATUS +func (containerApp *ContainerApp_STATUS) AssignProperties_To_ContainerApp_STATUS(destination *storage.ContainerApp_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Conditions + destination.Conditions = genruntime.CloneSliceOfCondition(containerApp.Conditions) + + // Configuration + if containerApp.Configuration != nil { + var configuration storage.Configuration_STATUS + err := containerApp.Configuration.AssignProperties_To_Configuration_STATUS(&configuration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Configuration_STATUS() to populate field Configuration") + } + destination.Configuration = &configuration + } else { + destination.Configuration = nil + } + + // CustomDomainVerificationId + destination.CustomDomainVerificationId = genruntime.ClonePointerToString(containerApp.CustomDomainVerificationId) + + // EnvironmentId + destination.EnvironmentId = genruntime.ClonePointerToString(containerApp.EnvironmentId) + + // EventStreamEndpoint + destination.EventStreamEndpoint = genruntime.ClonePointerToString(containerApp.EventStreamEndpoint) + + // ExtendedLocation + if containerApp.ExtendedLocation != nil { + var extendedLocation storage.ExtendedLocation_STATUS + err := containerApp.ExtendedLocation.AssignProperties_To_ExtendedLocation_STATUS(&extendedLocation) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ExtendedLocation_STATUS() to populate field ExtendedLocation") + } + destination.ExtendedLocation = &extendedLocation + } else { + destination.ExtendedLocation = nil + } + + // Id + destination.Id = genruntime.ClonePointerToString(containerApp.Id) + + // Identity + if containerApp.Identity != nil { + var identity storage.ManagedServiceIdentity_STATUS + err := containerApp.Identity.AssignProperties_To_ManagedServiceIdentity_STATUS(&identity) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ManagedServiceIdentity_STATUS() to populate field Identity") + } + destination.Identity = &identity + } else { + destination.Identity = nil + } + + // LatestReadyRevisionName + destination.LatestReadyRevisionName = genruntime.ClonePointerToString(containerApp.LatestReadyRevisionName) + + // LatestRevisionFqdn + destination.LatestRevisionFqdn = genruntime.ClonePointerToString(containerApp.LatestRevisionFqdn) + + // LatestRevisionName + destination.LatestRevisionName = genruntime.ClonePointerToString(containerApp.LatestRevisionName) + + // Location + destination.Location = genruntime.ClonePointerToString(containerApp.Location) + + // ManagedBy + destination.ManagedBy = genruntime.ClonePointerToString(containerApp.ManagedBy) + + // ManagedEnvironmentId + destination.ManagedEnvironmentId = genruntime.ClonePointerToString(containerApp.ManagedEnvironmentId) + + // Name + destination.Name = genruntime.ClonePointerToString(containerApp.Name) + + // OutboundIpAddresses + destination.OutboundIpAddresses = genruntime.CloneSliceOfString(containerApp.OutboundIpAddresses) + + // ProvisioningState + if containerApp.ProvisioningState != nil { + provisioningState := string(*containerApp.ProvisioningState) + destination.ProvisioningState = &provisioningState + } else { + destination.ProvisioningState = nil + } + + // SystemData + if containerApp.SystemData != nil { + var systemDatum storage.SystemData_STATUS + err := containerApp.SystemData.AssignProperties_To_SystemData_STATUS(&systemDatum) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_SystemData_STATUS() to populate field SystemData") + } + destination.SystemData = &systemDatum + } else { + destination.SystemData = nil + } + + // Tags + destination.Tags = genruntime.CloneMapOfStringToString(containerApp.Tags) + + // Template + if containerApp.Template != nil { + var template storage.Template_STATUS + err := containerApp.Template.AssignProperties_To_Template_STATUS(&template) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Template_STATUS() to populate field Template") + } + destination.Template = &template + } else { + destination.Template = nil + } + + // Type + destination.Type = genruntime.ClonePointerToString(containerApp.Type) + + // WorkloadProfileName + destination.WorkloadProfileName = genruntime.ClonePointerToString(containerApp.WorkloadProfileName) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Non versioned Container App configuration properties that define the mutable settings of a Container app +type Configuration struct { + // ActiveRevisionsMode: ActiveRevisionsMode controls how active revisions are handled for the Container app: + // Multiple: multiple revisions can be active.Single: Only one revision can be active at a time. + // Revision weights can not be used in this mode. If no value if provided, this is the default. + ActiveRevisionsMode *Configuration_ActiveRevisionsMode `json:"activeRevisionsMode,omitempty"` + + // Dapr: Dapr configuration for the Container App. + Dapr *Dapr `json:"dapr,omitempty"` + + // Ingress: Ingress configurations. + Ingress *Ingress `json:"ingress,omitempty"` + + // MaxInactiveRevisions: Optional. Max inactive revisions a Container App can have. + MaxInactiveRevisions *int `json:"maxInactiveRevisions,omitempty"` + + // Registries: Collection of private container registry credentials for containers used by the Container app + Registries []RegistryCredentials `json:"registries,omitempty"` + + // Secrets: Collection of secrets used by a Container app + Secrets []Secret `json:"secrets,omitempty"` + + // Service: Container App to be a dev Container App Service + Service *Service `json:"service,omitempty"` +} + +var _ genruntime.ARMTransformer = &Configuration{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (configuration *Configuration) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if configuration == nil { + return nil, nil + } + result := &arm.Configuration{} + + // Set property "ActiveRevisionsMode": + if configuration.ActiveRevisionsMode != nil { + var temp string + temp = string(*configuration.ActiveRevisionsMode) + activeRevisionsMode := arm.Configuration_ActiveRevisionsMode(temp) + result.ActiveRevisionsMode = &activeRevisionsMode + } + + // Set property "Dapr": + if configuration.Dapr != nil { + dapr_ARM, err := (*configuration.Dapr).ConvertToARM(resolved) + if err != nil { + return nil, err + } + dapr := *dapr_ARM.(*arm.Dapr) + result.Dapr = &dapr + } + + // Set property "Ingress": + if configuration.Ingress != nil { + ingress_ARM, err := (*configuration.Ingress).ConvertToARM(resolved) + if err != nil { + return nil, err + } + ingress := *ingress_ARM.(*arm.Ingress) + result.Ingress = &ingress + } + + // Set property "MaxInactiveRevisions": + if configuration.MaxInactiveRevisions != nil { + maxInactiveRevisions := *configuration.MaxInactiveRevisions + result.MaxInactiveRevisions = &maxInactiveRevisions + } + + // Set property "Registries": + for _, item := range configuration.Registries { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Registries = append(result.Registries, *item_ARM.(*arm.RegistryCredentials)) + } + + // Set property "Secrets": + for _, item := range configuration.Secrets { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Secrets = append(result.Secrets, *item_ARM.(*arm.Secret)) + } + + // Set property "Service": + if configuration.Service != nil { + service_ARM, err := (*configuration.Service).ConvertToARM(resolved) + if err != nil { + return nil, err + } + service := *service_ARM.(*arm.Service) + result.Service = &service + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (configuration *Configuration) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Configuration{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (configuration *Configuration) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Configuration) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Configuration, got %T", armInput) + } + + // Set property "ActiveRevisionsMode": + if typedInput.ActiveRevisionsMode != nil { + var temp string + temp = string(*typedInput.ActiveRevisionsMode) + activeRevisionsMode := Configuration_ActiveRevisionsMode(temp) + configuration.ActiveRevisionsMode = &activeRevisionsMode + } + + // Set property "Dapr": + if typedInput.Dapr != nil { + var dapr1 Dapr + err := dapr1.PopulateFromARM(owner, *typedInput.Dapr) + if err != nil { + return err + } + dapr := dapr1 + configuration.Dapr = &dapr + } + + // Set property "Ingress": + if typedInput.Ingress != nil { + var ingress1 Ingress + err := ingress1.PopulateFromARM(owner, *typedInput.Ingress) + if err != nil { + return err + } + ingress := ingress1 + configuration.Ingress = &ingress + } + + // Set property "MaxInactiveRevisions": + if typedInput.MaxInactiveRevisions != nil { + maxInactiveRevisions := *typedInput.MaxInactiveRevisions + configuration.MaxInactiveRevisions = &maxInactiveRevisions + } + + // Set property "Registries": + for _, item := range typedInput.Registries { + var item1 RegistryCredentials + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + configuration.Registries = append(configuration.Registries, item1) + } + + // Set property "Secrets": + for _, item := range typedInput.Secrets { + var item1 Secret + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + configuration.Secrets = append(configuration.Secrets, item1) + } + + // Set property "Service": + if typedInput.Service != nil { + var service1 Service + err := service1.PopulateFromARM(owner, *typedInput.Service) + if err != nil { + return err + } + service := service1 + configuration.Service = &service + } + + // No error + return nil +} + +// AssignProperties_From_Configuration populates our Configuration from the provided source Configuration +func (configuration *Configuration) AssignProperties_From_Configuration(source *storage.Configuration) error { + + // ActiveRevisionsMode + if source.ActiveRevisionsMode != nil { + activeRevisionsMode := *source.ActiveRevisionsMode + activeRevisionsModeTemp := genruntime.ToEnum(activeRevisionsMode, configuration_ActiveRevisionsMode_Values) + configuration.ActiveRevisionsMode = &activeRevisionsModeTemp + } else { + configuration.ActiveRevisionsMode = nil + } + + // Dapr + if source.Dapr != nil { + var dapr Dapr + err := dapr.AssignProperties_From_Dapr(source.Dapr) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Dapr() to populate field Dapr") + } + configuration.Dapr = &dapr + } else { + configuration.Dapr = nil + } + + // Ingress + if source.Ingress != nil { + var ingress Ingress + err := ingress.AssignProperties_From_Ingress(source.Ingress) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Ingress() to populate field Ingress") + } + configuration.Ingress = &ingress + } else { + configuration.Ingress = nil + } + + // MaxInactiveRevisions + configuration.MaxInactiveRevisions = genruntime.ClonePointerToInt(source.MaxInactiveRevisions) + + // Registries + if source.Registries != nil { + registryList := make([]RegistryCredentials, len(source.Registries)) + for registryIndex, registryItem := range source.Registries { + // Shadow the loop variable to avoid aliasing + registryItem := registryItem + var registry RegistryCredentials + err := registry.AssignProperties_From_RegistryCredentials(®istryItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_RegistryCredentials() to populate field Registries") + } + registryList[registryIndex] = registry + } + configuration.Registries = registryList + } else { + configuration.Registries = nil + } + + // Secrets + if source.Secrets != nil { + secretList := make([]Secret, len(source.Secrets)) + for secretIndex, secretItem := range source.Secrets { + // Shadow the loop variable to avoid aliasing + secretItem := secretItem + var secret Secret + err := secret.AssignProperties_From_Secret(&secretItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Secret() to populate field Secrets") + } + secretList[secretIndex] = secret + } + configuration.Secrets = secretList + } else { + configuration.Secrets = nil + } + + // Service + if source.Service != nil { + var service Service + err := service.AssignProperties_From_Service(source.Service) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Service() to populate field Service") + } + configuration.Service = &service + } else { + configuration.Service = nil + } + + // No error + return nil +} + +// AssignProperties_To_Configuration populates the provided destination Configuration from our Configuration +func (configuration *Configuration) AssignProperties_To_Configuration(destination *storage.Configuration) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ActiveRevisionsMode + if configuration.ActiveRevisionsMode != nil { + activeRevisionsMode := string(*configuration.ActiveRevisionsMode) + destination.ActiveRevisionsMode = &activeRevisionsMode + } else { + destination.ActiveRevisionsMode = nil + } + + // Dapr + if configuration.Dapr != nil { + var dapr storage.Dapr + err := configuration.Dapr.AssignProperties_To_Dapr(&dapr) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Dapr() to populate field Dapr") + } + destination.Dapr = &dapr + } else { + destination.Dapr = nil + } + + // Ingress + if configuration.Ingress != nil { + var ingress storage.Ingress + err := configuration.Ingress.AssignProperties_To_Ingress(&ingress) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Ingress() to populate field Ingress") + } + destination.Ingress = &ingress + } else { + destination.Ingress = nil + } + + // MaxInactiveRevisions + destination.MaxInactiveRevisions = genruntime.ClonePointerToInt(configuration.MaxInactiveRevisions) + + // Registries + if configuration.Registries != nil { + registryList := make([]storage.RegistryCredentials, len(configuration.Registries)) + for registryIndex, registryItem := range configuration.Registries { + // Shadow the loop variable to avoid aliasing + registryItem := registryItem + var registry storage.RegistryCredentials + err := registryItem.AssignProperties_To_RegistryCredentials(®istry) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_RegistryCredentials() to populate field Registries") + } + registryList[registryIndex] = registry + } + destination.Registries = registryList + } else { + destination.Registries = nil + } + + // Secrets + if configuration.Secrets != nil { + secretList := make([]storage.Secret, len(configuration.Secrets)) + for secretIndex, secretItem := range configuration.Secrets { + // Shadow the loop variable to avoid aliasing + secretItem := secretItem + var secret storage.Secret + err := secretItem.AssignProperties_To_Secret(&secret) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Secret() to populate field Secrets") + } + secretList[secretIndex] = secret + } + destination.Secrets = secretList + } else { + destination.Secrets = nil + } + + // Service + if configuration.Service != nil { + var service storage.Service + err := configuration.Service.AssignProperties_To_Service(&service) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Service() to populate field Service") + } + destination.Service = &service + } else { + destination.Service = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_Configuration_STATUS populates our Configuration from the provided source Configuration_STATUS +func (configuration *Configuration) Initialize_From_Configuration_STATUS(source *Configuration_STATUS) error { + + // ActiveRevisionsMode + if source.ActiveRevisionsMode != nil { + activeRevisionsMode := genruntime.ToEnum(string(*source.ActiveRevisionsMode), configuration_ActiveRevisionsMode_Values) + configuration.ActiveRevisionsMode = &activeRevisionsMode + } else { + configuration.ActiveRevisionsMode = nil + } + + // Dapr + if source.Dapr != nil { + var dapr Dapr + err := dapr.Initialize_From_Dapr_STATUS(source.Dapr) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_Dapr_STATUS() to populate field Dapr") + } + configuration.Dapr = &dapr + } else { + configuration.Dapr = nil + } + + // Ingress + if source.Ingress != nil { + var ingress Ingress + err := ingress.Initialize_From_Ingress_STATUS(source.Ingress) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_Ingress_STATUS() to populate field Ingress") + } + configuration.Ingress = &ingress + } else { + configuration.Ingress = nil + } + + // MaxInactiveRevisions + configuration.MaxInactiveRevisions = genruntime.ClonePointerToInt(source.MaxInactiveRevisions) + + // Registries + if source.Registries != nil { + registryList := make([]RegistryCredentials, len(source.Registries)) + for registryIndex, registryItem := range source.Registries { + // Shadow the loop variable to avoid aliasing + registryItem := registryItem + var registry RegistryCredentials + err := registry.Initialize_From_RegistryCredentials_STATUS(®istryItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_RegistryCredentials_STATUS() to populate field Registries") + } + registryList[registryIndex] = registry + } + configuration.Registries = registryList + } else { + configuration.Registries = nil + } + + // Secrets + if source.Secrets != nil { + secretList := make([]Secret, len(source.Secrets)) + for secretIndex, secretItem := range source.Secrets { + // Shadow the loop variable to avoid aliasing + secretItem := secretItem + var secret Secret + err := secret.Initialize_From_Secret_STATUS(&secretItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_Secret_STATUS() to populate field Secrets") + } + secretList[secretIndex] = secret + } + configuration.Secrets = secretList + } else { + configuration.Secrets = nil + } + + // Service + if source.Service != nil { + var service Service + err := service.Initialize_From_Service_STATUS(source.Service) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_Service_STATUS() to populate field Service") + } + configuration.Service = &service + } else { + configuration.Service = nil + } + + // No error + return nil +} + +// Non versioned Container App configuration properties that define the mutable settings of a Container app +type Configuration_STATUS struct { + // ActiveRevisionsMode: ActiveRevisionsMode controls how active revisions are handled for the Container app: + // Multiple: multiple revisions can be active.Single: Only one revision can be active at a time. + // Revision weights can not be used in this mode. If no value if provided, this is the default. + ActiveRevisionsMode *Configuration_ActiveRevisionsMode_STATUS `json:"activeRevisionsMode,omitempty"` + + // Dapr: Dapr configuration for the Container App. + Dapr *Dapr_STATUS `json:"dapr,omitempty"` + + // Ingress: Ingress configurations. + Ingress *Ingress_STATUS `json:"ingress,omitempty"` + + // MaxInactiveRevisions: Optional. Max inactive revisions a Container App can have. + MaxInactiveRevisions *int `json:"maxInactiveRevisions,omitempty"` + + // Registries: Collection of private container registry credentials for containers used by the Container app + Registries []RegistryCredentials_STATUS `json:"registries,omitempty"` + + // Secrets: Collection of secrets used by a Container app + Secrets []Secret_STATUS `json:"secrets,omitempty"` + + // Service: Container App to be a dev Container App Service + Service *Service_STATUS `json:"service,omitempty"` +} + +var _ genruntime.FromARMConverter = &Configuration_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (configuration *Configuration_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Configuration_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (configuration *Configuration_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Configuration_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Configuration_STATUS, got %T", armInput) + } + + // Set property "ActiveRevisionsMode": + if typedInput.ActiveRevisionsMode != nil { + var temp string + temp = string(*typedInput.ActiveRevisionsMode) + activeRevisionsMode := Configuration_ActiveRevisionsMode_STATUS(temp) + configuration.ActiveRevisionsMode = &activeRevisionsMode + } + + // Set property "Dapr": + if typedInput.Dapr != nil { + var dapr1 Dapr_STATUS + err := dapr1.PopulateFromARM(owner, *typedInput.Dapr) + if err != nil { + return err + } + dapr := dapr1 + configuration.Dapr = &dapr + } + + // Set property "Ingress": + if typedInput.Ingress != nil { + var ingress1 Ingress_STATUS + err := ingress1.PopulateFromARM(owner, *typedInput.Ingress) + if err != nil { + return err + } + ingress := ingress1 + configuration.Ingress = &ingress + } + + // Set property "MaxInactiveRevisions": + if typedInput.MaxInactiveRevisions != nil { + maxInactiveRevisions := *typedInput.MaxInactiveRevisions + configuration.MaxInactiveRevisions = &maxInactiveRevisions + } + + // Set property "Registries": + for _, item := range typedInput.Registries { + var item1 RegistryCredentials_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + configuration.Registries = append(configuration.Registries, item1) + } + + // Set property "Secrets": + for _, item := range typedInput.Secrets { + var item1 Secret_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + configuration.Secrets = append(configuration.Secrets, item1) + } + + // Set property "Service": + if typedInput.Service != nil { + var service1 Service_STATUS + err := service1.PopulateFromARM(owner, *typedInput.Service) + if err != nil { + return err + } + service := service1 + configuration.Service = &service + } + + // No error + return nil +} + +// AssignProperties_From_Configuration_STATUS populates our Configuration_STATUS from the provided source Configuration_STATUS +func (configuration *Configuration_STATUS) AssignProperties_From_Configuration_STATUS(source *storage.Configuration_STATUS) error { + + // ActiveRevisionsMode + if source.ActiveRevisionsMode != nil { + activeRevisionsMode := *source.ActiveRevisionsMode + activeRevisionsModeTemp := genruntime.ToEnum(activeRevisionsMode, configuration_ActiveRevisionsMode_STATUS_Values) + configuration.ActiveRevisionsMode = &activeRevisionsModeTemp + } else { + configuration.ActiveRevisionsMode = nil + } + + // Dapr + if source.Dapr != nil { + var dapr Dapr_STATUS + err := dapr.AssignProperties_From_Dapr_STATUS(source.Dapr) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Dapr_STATUS() to populate field Dapr") + } + configuration.Dapr = &dapr + } else { + configuration.Dapr = nil + } + + // Ingress + if source.Ingress != nil { + var ingress Ingress_STATUS + err := ingress.AssignProperties_From_Ingress_STATUS(source.Ingress) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Ingress_STATUS() to populate field Ingress") + } + configuration.Ingress = &ingress + } else { + configuration.Ingress = nil + } + + // MaxInactiveRevisions + configuration.MaxInactiveRevisions = genruntime.ClonePointerToInt(source.MaxInactiveRevisions) + + // Registries + if source.Registries != nil { + registryList := make([]RegistryCredentials_STATUS, len(source.Registries)) + for registryIndex, registryItem := range source.Registries { + // Shadow the loop variable to avoid aliasing + registryItem := registryItem + var registry RegistryCredentials_STATUS + err := registry.AssignProperties_From_RegistryCredentials_STATUS(®istryItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_RegistryCredentials_STATUS() to populate field Registries") + } + registryList[registryIndex] = registry + } + configuration.Registries = registryList + } else { + configuration.Registries = nil + } + + // Secrets + if source.Secrets != nil { + secretList := make([]Secret_STATUS, len(source.Secrets)) + for secretIndex, secretItem := range source.Secrets { + // Shadow the loop variable to avoid aliasing + secretItem := secretItem + var secret Secret_STATUS + err := secret.AssignProperties_From_Secret_STATUS(&secretItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Secret_STATUS() to populate field Secrets") + } + secretList[secretIndex] = secret + } + configuration.Secrets = secretList + } else { + configuration.Secrets = nil + } + + // Service + if source.Service != nil { + var service Service_STATUS + err := service.AssignProperties_From_Service_STATUS(source.Service) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Service_STATUS() to populate field Service") + } + configuration.Service = &service + } else { + configuration.Service = nil + } + + // No error + return nil +} + +// AssignProperties_To_Configuration_STATUS populates the provided destination Configuration_STATUS from our Configuration_STATUS +func (configuration *Configuration_STATUS) AssignProperties_To_Configuration_STATUS(destination *storage.Configuration_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ActiveRevisionsMode + if configuration.ActiveRevisionsMode != nil { + activeRevisionsMode := string(*configuration.ActiveRevisionsMode) + destination.ActiveRevisionsMode = &activeRevisionsMode + } else { + destination.ActiveRevisionsMode = nil + } + + // Dapr + if configuration.Dapr != nil { + var dapr storage.Dapr_STATUS + err := configuration.Dapr.AssignProperties_To_Dapr_STATUS(&dapr) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Dapr_STATUS() to populate field Dapr") + } + destination.Dapr = &dapr + } else { + destination.Dapr = nil + } + + // Ingress + if configuration.Ingress != nil { + var ingress storage.Ingress_STATUS + err := configuration.Ingress.AssignProperties_To_Ingress_STATUS(&ingress) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Ingress_STATUS() to populate field Ingress") + } + destination.Ingress = &ingress + } else { + destination.Ingress = nil + } + + // MaxInactiveRevisions + destination.MaxInactiveRevisions = genruntime.ClonePointerToInt(configuration.MaxInactiveRevisions) + + // Registries + if configuration.Registries != nil { + registryList := make([]storage.RegistryCredentials_STATUS, len(configuration.Registries)) + for registryIndex, registryItem := range configuration.Registries { + // Shadow the loop variable to avoid aliasing + registryItem := registryItem + var registry storage.RegistryCredentials_STATUS + err := registryItem.AssignProperties_To_RegistryCredentials_STATUS(®istry) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_RegistryCredentials_STATUS() to populate field Registries") + } + registryList[registryIndex] = registry + } + destination.Registries = registryList + } else { + destination.Registries = nil + } + + // Secrets + if configuration.Secrets != nil { + secretList := make([]storage.Secret_STATUS, len(configuration.Secrets)) + for secretIndex, secretItem := range configuration.Secrets { + // Shadow the loop variable to avoid aliasing + secretItem := secretItem + var secret storage.Secret_STATUS + err := secretItem.AssignProperties_To_Secret_STATUS(&secret) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Secret_STATUS() to populate field Secrets") + } + secretList[secretIndex] = secret + } + destination.Secrets = secretList + } else { + destination.Secrets = nil + } + + // Service + if configuration.Service != nil { + var service storage.Service_STATUS + err := configuration.Service.AssignProperties_To_Service_STATUS(&service) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Service_STATUS() to populate field Service") + } + destination.Service = &service + } else { + destination.Service = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +type ContainerApp_Properties_ProvisioningState_STATUS string + +const ( + ContainerApp_Properties_ProvisioningState_STATUS_Canceled = ContainerApp_Properties_ProvisioningState_STATUS("Canceled") + ContainerApp_Properties_ProvisioningState_STATUS_Deleting = ContainerApp_Properties_ProvisioningState_STATUS("Deleting") + ContainerApp_Properties_ProvisioningState_STATUS_Failed = ContainerApp_Properties_ProvisioningState_STATUS("Failed") + ContainerApp_Properties_ProvisioningState_STATUS_InProgress = ContainerApp_Properties_ProvisioningState_STATUS("InProgress") + ContainerApp_Properties_ProvisioningState_STATUS_Succeeded = ContainerApp_Properties_ProvisioningState_STATUS("Succeeded") +) + +// Mapping from string to ContainerApp_Properties_ProvisioningState_STATUS +var containerApp_Properties_ProvisioningState_STATUS_Values = map[string]ContainerApp_Properties_ProvisioningState_STATUS{ + "canceled": ContainerApp_Properties_ProvisioningState_STATUS_Canceled, + "deleting": ContainerApp_Properties_ProvisioningState_STATUS_Deleting, + "failed": ContainerApp_Properties_ProvisioningState_STATUS_Failed, + "inprogress": ContainerApp_Properties_ProvisioningState_STATUS_InProgress, + "succeeded": ContainerApp_Properties_ProvisioningState_STATUS_Succeeded, +} + +// Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure +type ContainerAppOperatorSpec struct { + // ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions). + ConfigMapExpressions []*core.DestinationExpression `json:"configMapExpressions,omitempty"` + + // ConfigMaps: configures where to place operator written ConfigMaps. + ConfigMaps *ContainerAppOperatorConfigMaps `json:"configMaps,omitempty"` + + // SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions). + SecretExpressions []*core.DestinationExpression `json:"secretExpressions,omitempty"` +} + +// AssignProperties_From_ContainerAppOperatorSpec populates our ContainerAppOperatorSpec from the provided source ContainerAppOperatorSpec +func (operator *ContainerAppOperatorSpec) AssignProperties_From_ContainerAppOperatorSpec(source *storage.ContainerAppOperatorSpec) error { + + // ConfigMapExpressions + if source.ConfigMapExpressions != nil { + configMapExpressionList := make([]*core.DestinationExpression, len(source.ConfigMapExpressions)) + for configMapExpressionIndex, configMapExpressionItem := range source.ConfigMapExpressions { + // Shadow the loop variable to avoid aliasing + configMapExpressionItem := configMapExpressionItem + if configMapExpressionItem != nil { + configMapExpression := *configMapExpressionItem.DeepCopy() + configMapExpressionList[configMapExpressionIndex] = &configMapExpression + } else { + configMapExpressionList[configMapExpressionIndex] = nil + } + } + operator.ConfigMapExpressions = configMapExpressionList + } else { + operator.ConfigMapExpressions = nil + } + + // ConfigMaps + if source.ConfigMaps != nil { + var configMap ContainerAppOperatorConfigMaps + err := configMap.AssignProperties_From_ContainerAppOperatorConfigMaps(source.ConfigMaps) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ContainerAppOperatorConfigMaps() to populate field ConfigMaps") + } + operator.ConfigMaps = &configMap + } else { + operator.ConfigMaps = nil + } + + // SecretExpressions + if source.SecretExpressions != nil { + secretExpressionList := make([]*core.DestinationExpression, len(source.SecretExpressions)) + for secretExpressionIndex, secretExpressionItem := range source.SecretExpressions { + // Shadow the loop variable to avoid aliasing + secretExpressionItem := secretExpressionItem + if secretExpressionItem != nil { + secretExpression := *secretExpressionItem.DeepCopy() + secretExpressionList[secretExpressionIndex] = &secretExpression + } else { + secretExpressionList[secretExpressionIndex] = nil + } + } + operator.SecretExpressions = secretExpressionList + } else { + operator.SecretExpressions = nil + } + + // No error + return nil +} + +// AssignProperties_To_ContainerAppOperatorSpec populates the provided destination ContainerAppOperatorSpec from our ContainerAppOperatorSpec +func (operator *ContainerAppOperatorSpec) AssignProperties_To_ContainerAppOperatorSpec(destination *storage.ContainerAppOperatorSpec) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ConfigMapExpressions + if operator.ConfigMapExpressions != nil { + configMapExpressionList := make([]*core.DestinationExpression, len(operator.ConfigMapExpressions)) + for configMapExpressionIndex, configMapExpressionItem := range operator.ConfigMapExpressions { + // Shadow the loop variable to avoid aliasing + configMapExpressionItem := configMapExpressionItem + if configMapExpressionItem != nil { + configMapExpression := *configMapExpressionItem.DeepCopy() + configMapExpressionList[configMapExpressionIndex] = &configMapExpression + } else { + configMapExpressionList[configMapExpressionIndex] = nil + } + } + destination.ConfigMapExpressions = configMapExpressionList + } else { + destination.ConfigMapExpressions = nil + } + + // ConfigMaps + if operator.ConfigMaps != nil { + var configMap storage.ContainerAppOperatorConfigMaps + err := operator.ConfigMaps.AssignProperties_To_ContainerAppOperatorConfigMaps(&configMap) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ContainerAppOperatorConfigMaps() to populate field ConfigMaps") + } + destination.ConfigMaps = &configMap + } else { + destination.ConfigMaps = nil + } + + // SecretExpressions + if operator.SecretExpressions != nil { + secretExpressionList := make([]*core.DestinationExpression, len(operator.SecretExpressions)) + for secretExpressionIndex, secretExpressionItem := range operator.SecretExpressions { + // Shadow the loop variable to avoid aliasing + secretExpressionItem := secretExpressionItem + if secretExpressionItem != nil { + secretExpression := *secretExpressionItem.DeepCopy() + secretExpressionList[secretExpressionIndex] = &secretExpression + } else { + secretExpressionList[secretExpressionIndex] = nil + } + } + destination.SecretExpressions = secretExpressionList + } else { + destination.SecretExpressions = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The complex type of the extended location. +type ExtendedLocation struct { + // Name: The name of the extended location. + Name *string `json:"name,omitempty"` + + // Type: The type of the extended location. + Type *ExtendedLocationType `json:"type,omitempty"` +} + +var _ genruntime.ARMTransformer = &ExtendedLocation{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (location *ExtendedLocation) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if location == nil { + return nil, nil + } + result := &arm.ExtendedLocation{} + + // Set property "Name": + if location.Name != nil { + name := *location.Name + result.Name = &name + } + + // Set property "Type": + if location.Type != nil { + var temp string + temp = string(*location.Type) + typeVar := arm.ExtendedLocationType(temp) + result.Type = &typeVar + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (location *ExtendedLocation) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ExtendedLocation{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (location *ExtendedLocation) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ExtendedLocation) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ExtendedLocation, got %T", armInput) + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + location.Name = &name + } + + // Set property "Type": + if typedInput.Type != nil { + var temp string + temp = string(*typedInput.Type) + typeVar := ExtendedLocationType(temp) + location.Type = &typeVar + } + + // No error + return nil +} + +// AssignProperties_From_ExtendedLocation populates our ExtendedLocation from the provided source ExtendedLocation +func (location *ExtendedLocation) AssignProperties_From_ExtendedLocation(source *storage.ExtendedLocation) error { + + // Name + location.Name = genruntime.ClonePointerToString(source.Name) + + // Type + if source.Type != nil { + typeVar := *source.Type + typeTemp := genruntime.ToEnum(typeVar, extendedLocationType_Values) + location.Type = &typeTemp + } else { + location.Type = nil + } + + // No error + return nil +} + +// AssignProperties_To_ExtendedLocation populates the provided destination ExtendedLocation from our ExtendedLocation +func (location *ExtendedLocation) AssignProperties_To_ExtendedLocation(destination *storage.ExtendedLocation) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Name + destination.Name = genruntime.ClonePointerToString(location.Name) + + // Type + if location.Type != nil { + typeVar := string(*location.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_ExtendedLocation_STATUS populates our ExtendedLocation from the provided source ExtendedLocation_STATUS +func (location *ExtendedLocation) Initialize_From_ExtendedLocation_STATUS(source *ExtendedLocation_STATUS) error { + + // Name + location.Name = genruntime.ClonePointerToString(source.Name) + + // Type + if source.Type != nil { + typeVar := genruntime.ToEnum(string(*source.Type), extendedLocationType_Values) + location.Type = &typeVar + } else { + location.Type = nil + } + + // No error + return nil +} + +// The complex type of the extended location. +type ExtendedLocation_STATUS struct { + // Name: The name of the extended location. + Name *string `json:"name,omitempty"` + + // Type: The type of the extended location. + Type *ExtendedLocationType_STATUS `json:"type,omitempty"` +} + +var _ genruntime.FromARMConverter = &ExtendedLocation_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (location *ExtendedLocation_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ExtendedLocation_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (location *ExtendedLocation_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ExtendedLocation_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ExtendedLocation_STATUS, got %T", armInput) + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + location.Name = &name + } + + // Set property "Type": + if typedInput.Type != nil { + var temp string + temp = string(*typedInput.Type) + typeVar := ExtendedLocationType_STATUS(temp) + location.Type = &typeVar + } + + // No error + return nil +} + +// AssignProperties_From_ExtendedLocation_STATUS populates our ExtendedLocation_STATUS from the provided source ExtendedLocation_STATUS +func (location *ExtendedLocation_STATUS) AssignProperties_From_ExtendedLocation_STATUS(source *storage.ExtendedLocation_STATUS) error { + + // Name + location.Name = genruntime.ClonePointerToString(source.Name) + + // Type + if source.Type != nil { + typeVar := *source.Type + typeTemp := genruntime.ToEnum(typeVar, extendedLocationType_STATUS_Values) + location.Type = &typeTemp + } else { + location.Type = nil + } + + // No error + return nil +} + +// AssignProperties_To_ExtendedLocation_STATUS populates the provided destination ExtendedLocation_STATUS from our ExtendedLocation_STATUS +func (location *ExtendedLocation_STATUS) AssignProperties_To_ExtendedLocation_STATUS(destination *storage.ExtendedLocation_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Name + destination.Name = genruntime.ClonePointerToString(location.Name) + + // Type + if location.Type != nil { + typeVar := string(*location.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 +} + +// Managed service identity (system assigned and/or user assigned identities) +type ManagedServiceIdentity struct { + // +kubebuilder:validation:Required + // Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + Type *ManagedServiceIdentityType `json:"type,omitempty"` + UserAssignedIdentities []UserAssignedIdentityDetails `json:"userAssignedIdentities,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedServiceIdentity{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (identity *ManagedServiceIdentity) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if identity == nil { + return nil, nil + } + result := &arm.ManagedServiceIdentity{} + + // Set property "Type": + if identity.Type != nil { + var temp string + temp = string(*identity.Type) + typeVar := arm.ManagedServiceIdentityType(temp) + result.Type = &typeVar + } + + // Set property "UserAssignedIdentities": + result.UserAssignedIdentities = make(map[string]arm.UserAssignedIdentityDetails, 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] = arm.UserAssignedIdentityDetails{} + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (identity *ManagedServiceIdentity) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedServiceIdentity{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (identity *ManagedServiceIdentity) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedServiceIdentity) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedServiceIdentity, got %T", armInput) + } + + // Set property "Type": + if typedInput.Type != nil { + var temp string + temp = string(*typedInput.Type) + typeVar := ManagedServiceIdentityType(temp) + identity.Type = &typeVar + } + + // no assignment for property "UserAssignedIdentities" + + // No error + return nil +} + +// AssignProperties_From_ManagedServiceIdentity populates our ManagedServiceIdentity from the provided source ManagedServiceIdentity +func (identity *ManagedServiceIdentity) AssignProperties_From_ManagedServiceIdentity(source *storage.ManagedServiceIdentity) error { + + // Type + if source.Type != nil { + typeVar := *source.Type + typeTemp := genruntime.ToEnum(typeVar, managedServiceIdentityType_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 eris.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_ManagedServiceIdentity populates the provided destination ManagedServiceIdentity from our ManagedServiceIdentity +func (identity *ManagedServiceIdentity) AssignProperties_To_ManagedServiceIdentity(destination *storage.ManagedServiceIdentity) 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([]storage.UserAssignedIdentityDetails, len(identity.UserAssignedIdentities)) + for userAssignedIdentityIndex, userAssignedIdentityItem := range identity.UserAssignedIdentities { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityItem := userAssignedIdentityItem + var userAssignedIdentity storage.UserAssignedIdentityDetails + err := userAssignedIdentityItem.AssignProperties_To_UserAssignedIdentityDetails(&userAssignedIdentity) + if err != nil { + return eris.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_ManagedServiceIdentity_STATUS populates our ManagedServiceIdentity from the provided source ManagedServiceIdentity_STATUS +func (identity *ManagedServiceIdentity) Initialize_From_ManagedServiceIdentity_STATUS(source *ManagedServiceIdentity_STATUS) error { + + // Type + if source.Type != nil { + typeVar := genruntime.ToEnum(string(*source.Type), managedServiceIdentityType_Values) + 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 +} + +// Managed service identity (system assigned and/or user assigned identities) +type ManagedServiceIdentity_STATUS struct { + // PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + // assigned identity. + PrincipalId *string `json:"principalId,omitempty"` + + // TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + // identity. + TenantId *string `json:"tenantId,omitempty"` + + // Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + Type *ManagedServiceIdentityType_STATUS `json:"type,omitempty"` + UserAssignedIdentities map[string]UserAssignedIdentity_STATUS `json:"userAssignedIdentities,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedServiceIdentity_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (identity *ManagedServiceIdentity_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedServiceIdentity_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (identity *ManagedServiceIdentity_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedServiceIdentity_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedServiceIdentity_STATUS, 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 { + var temp string + temp = string(*typedInput.Type) + typeVar := ManagedServiceIdentityType_STATUS(temp) + identity.Type = &typeVar + } + + // Set property "UserAssignedIdentities": + if typedInput.UserAssignedIdentities != nil { + identity.UserAssignedIdentities = make(map[string]UserAssignedIdentity_STATUS, len(typedInput.UserAssignedIdentities)) + for key, value := range typedInput.UserAssignedIdentities { + var value1 UserAssignedIdentity_STATUS + err := value1.PopulateFromARM(owner, value) + if err != nil { + return err + } + identity.UserAssignedIdentities[key] = value1 + } + } + + // No error + return nil +} + +// AssignProperties_From_ManagedServiceIdentity_STATUS populates our ManagedServiceIdentity_STATUS from the provided source ManagedServiceIdentity_STATUS +func (identity *ManagedServiceIdentity_STATUS) AssignProperties_From_ManagedServiceIdentity_STATUS(source *storage.ManagedServiceIdentity_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, managedServiceIdentityType_STATUS_Values) + identity.Type = &typeTemp + } else { + identity.Type = nil + } + + // UserAssignedIdentities + if source.UserAssignedIdentities != nil { + userAssignedIdentityMap := make(map[string]UserAssignedIdentity_STATUS, len(source.UserAssignedIdentities)) + for userAssignedIdentityKey, userAssignedIdentityValue := range source.UserAssignedIdentities { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityValue := userAssignedIdentityValue + var userAssignedIdentity UserAssignedIdentity_STATUS + err := userAssignedIdentity.AssignProperties_From_UserAssignedIdentity_STATUS(&userAssignedIdentityValue) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_UserAssignedIdentity_STATUS() to populate field UserAssignedIdentities") + } + userAssignedIdentityMap[userAssignedIdentityKey] = userAssignedIdentity + } + identity.UserAssignedIdentities = userAssignedIdentityMap + } else { + identity.UserAssignedIdentities = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedServiceIdentity_STATUS populates the provided destination ManagedServiceIdentity_STATUS from our ManagedServiceIdentity_STATUS +func (identity *ManagedServiceIdentity_STATUS) AssignProperties_To_ManagedServiceIdentity_STATUS(destination *storage.ManagedServiceIdentity_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]storage.UserAssignedIdentity_STATUS, len(identity.UserAssignedIdentities)) + for userAssignedIdentityKey, userAssignedIdentityValue := range identity.UserAssignedIdentities { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityValue := userAssignedIdentityValue + var userAssignedIdentity storage.UserAssignedIdentity_STATUS + err := userAssignedIdentityValue.AssignProperties_To_UserAssignedIdentity_STATUS(&userAssignedIdentity) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_UserAssignedIdentity_STATUS() to populate field UserAssignedIdentities") + } + userAssignedIdentityMap[userAssignedIdentityKey] = userAssignedIdentity + } + 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 +} + +// Container App versioned application definition. +// Defines the desired state of an immutable revision. +// Any changes to this +// section Will result in a new revision being created +type Template struct { + // Containers: List of container definitions for the Container App. + Containers []Container `json:"containers,omitempty"` + + // InitContainers: List of specialized containers that run before app containers. + InitContainers []BaseContainer `json:"initContainers,omitempty"` + + // RevisionSuffix: User friendly suffix that is appended to the revision name + RevisionSuffix *string `json:"revisionSuffix,omitempty"` + + // Scale: Scaling properties for the Container App. + Scale *Scale `json:"scale,omitempty"` + + // ServiceBinds: List of container app services bound to the app + ServiceBinds []ServiceBind `json:"serviceBinds,omitempty"` + + // TerminationGracePeriodSeconds: Optional duration in seconds the Container App Instance needs to terminate gracefully. + // Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to + // shut down). If this value is nil, the default grace period will be used instead. Set this value longer than the expected + // cleanup time for your process. Defaults to 30 seconds. + TerminationGracePeriodSeconds *int `json:"terminationGracePeriodSeconds,omitempty"` + + // Volumes: List of volume definitions for the Container App. + Volumes []Volume `json:"volumes,omitempty"` +} + +var _ genruntime.ARMTransformer = &Template{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (template *Template) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if template == nil { + return nil, nil + } + result := &arm.Template{} + + // Set property "Containers": + for _, item := range template.Containers { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Containers = append(result.Containers, *item_ARM.(*arm.Container)) + } + + // Set property "InitContainers": + for _, item := range template.InitContainers { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.InitContainers = append(result.InitContainers, *item_ARM.(*arm.BaseContainer)) + } + + // Set property "RevisionSuffix": + if template.RevisionSuffix != nil { + revisionSuffix := *template.RevisionSuffix + result.RevisionSuffix = &revisionSuffix + } + + // Set property "Scale": + if template.Scale != nil { + scale_ARM, err := (*template.Scale).ConvertToARM(resolved) + if err != nil { + return nil, err + } + scale := *scale_ARM.(*arm.Scale) + result.Scale = &scale + } + + // Set property "ServiceBinds": + for _, item := range template.ServiceBinds { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.ServiceBinds = append(result.ServiceBinds, *item_ARM.(*arm.ServiceBind)) + } + + // Set property "TerminationGracePeriodSeconds": + if template.TerminationGracePeriodSeconds != nil { + terminationGracePeriodSeconds := *template.TerminationGracePeriodSeconds + result.TerminationGracePeriodSeconds = &terminationGracePeriodSeconds + } + + // Set property "Volumes": + for _, item := range template.Volumes { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Volumes = append(result.Volumes, *item_ARM.(*arm.Volume)) + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (template *Template) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Template{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (template *Template) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Template) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Template, got %T", armInput) + } + + // Set property "Containers": + for _, item := range typedInput.Containers { + var item1 Container + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + template.Containers = append(template.Containers, item1) + } + + // Set property "InitContainers": + for _, item := range typedInput.InitContainers { + var item1 BaseContainer + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + template.InitContainers = append(template.InitContainers, item1) + } + + // Set property "RevisionSuffix": + if typedInput.RevisionSuffix != nil { + revisionSuffix := *typedInput.RevisionSuffix + template.RevisionSuffix = &revisionSuffix + } + + // Set property "Scale": + if typedInput.Scale != nil { + var scale1 Scale + err := scale1.PopulateFromARM(owner, *typedInput.Scale) + if err != nil { + return err + } + scale := scale1 + template.Scale = &scale + } + + // Set property "ServiceBinds": + for _, item := range typedInput.ServiceBinds { + var item1 ServiceBind + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + template.ServiceBinds = append(template.ServiceBinds, item1) + } + + // Set property "TerminationGracePeriodSeconds": + if typedInput.TerminationGracePeriodSeconds != nil { + terminationGracePeriodSeconds := *typedInput.TerminationGracePeriodSeconds + template.TerminationGracePeriodSeconds = &terminationGracePeriodSeconds + } + + // Set property "Volumes": + for _, item := range typedInput.Volumes { + var item1 Volume + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + template.Volumes = append(template.Volumes, item1) + } + + // No error + return nil +} + +// AssignProperties_From_Template populates our Template from the provided source Template +func (template *Template) AssignProperties_From_Template(source *storage.Template) error { + + // Containers + if source.Containers != nil { + containerList := make([]Container, len(source.Containers)) + for containerIndex, containerItem := range source.Containers { + // Shadow the loop variable to avoid aliasing + containerItem := containerItem + var container Container + err := container.AssignProperties_From_Container(&containerItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Container() to populate field Containers") + } + containerList[containerIndex] = container + } + template.Containers = containerList + } else { + template.Containers = nil + } + + // InitContainers + if source.InitContainers != nil { + initContainerList := make([]BaseContainer, len(source.InitContainers)) + for initContainerIndex, initContainerItem := range source.InitContainers { + // Shadow the loop variable to avoid aliasing + initContainerItem := initContainerItem + var initContainer BaseContainer + err := initContainer.AssignProperties_From_BaseContainer(&initContainerItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_BaseContainer() to populate field InitContainers") + } + initContainerList[initContainerIndex] = initContainer + } + template.InitContainers = initContainerList + } else { + template.InitContainers = nil + } + + // RevisionSuffix + template.RevisionSuffix = genruntime.ClonePointerToString(source.RevisionSuffix) + + // Scale + if source.Scale != nil { + var scale Scale + err := scale.AssignProperties_From_Scale(source.Scale) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Scale() to populate field Scale") + } + template.Scale = &scale + } else { + template.Scale = nil + } + + // ServiceBinds + if source.ServiceBinds != nil { + serviceBindList := make([]ServiceBind, len(source.ServiceBinds)) + for serviceBindIndex, serviceBindItem := range source.ServiceBinds { + // Shadow the loop variable to avoid aliasing + serviceBindItem := serviceBindItem + var serviceBind ServiceBind + err := serviceBind.AssignProperties_From_ServiceBind(&serviceBindItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ServiceBind() to populate field ServiceBinds") + } + serviceBindList[serviceBindIndex] = serviceBind + } + template.ServiceBinds = serviceBindList + } else { + template.ServiceBinds = nil + } + + // TerminationGracePeriodSeconds + template.TerminationGracePeriodSeconds = genruntime.ClonePointerToInt(source.TerminationGracePeriodSeconds) + + // Volumes + if source.Volumes != nil { + volumeList := make([]Volume, len(source.Volumes)) + for volumeIndex, volumeItem := range source.Volumes { + // Shadow the loop variable to avoid aliasing + volumeItem := volumeItem + var volume Volume + err := volume.AssignProperties_From_Volume(&volumeItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Volume() to populate field Volumes") + } + volumeList[volumeIndex] = volume + } + template.Volumes = volumeList + } else { + template.Volumes = nil + } + + // No error + return nil +} + +// AssignProperties_To_Template populates the provided destination Template from our Template +func (template *Template) AssignProperties_To_Template(destination *storage.Template) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Containers + if template.Containers != nil { + containerList := make([]storage.Container, len(template.Containers)) + for containerIndex, containerItem := range template.Containers { + // Shadow the loop variable to avoid aliasing + containerItem := containerItem + var container storage.Container + err := containerItem.AssignProperties_To_Container(&container) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Container() to populate field Containers") + } + containerList[containerIndex] = container + } + destination.Containers = containerList + } else { + destination.Containers = nil + } + + // InitContainers + if template.InitContainers != nil { + initContainerList := make([]storage.BaseContainer, len(template.InitContainers)) + for initContainerIndex, initContainerItem := range template.InitContainers { + // Shadow the loop variable to avoid aliasing + initContainerItem := initContainerItem + var initContainer storage.BaseContainer + err := initContainerItem.AssignProperties_To_BaseContainer(&initContainer) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_BaseContainer() to populate field InitContainers") + } + initContainerList[initContainerIndex] = initContainer + } + destination.InitContainers = initContainerList + } else { + destination.InitContainers = nil + } + + // RevisionSuffix + destination.RevisionSuffix = genruntime.ClonePointerToString(template.RevisionSuffix) + + // Scale + if template.Scale != nil { + var scale storage.Scale + err := template.Scale.AssignProperties_To_Scale(&scale) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Scale() to populate field Scale") + } + destination.Scale = &scale + } else { + destination.Scale = nil + } + + // ServiceBinds + if template.ServiceBinds != nil { + serviceBindList := make([]storage.ServiceBind, len(template.ServiceBinds)) + for serviceBindIndex, serviceBindItem := range template.ServiceBinds { + // Shadow the loop variable to avoid aliasing + serviceBindItem := serviceBindItem + var serviceBind storage.ServiceBind + err := serviceBindItem.AssignProperties_To_ServiceBind(&serviceBind) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ServiceBind() to populate field ServiceBinds") + } + serviceBindList[serviceBindIndex] = serviceBind + } + destination.ServiceBinds = serviceBindList + } else { + destination.ServiceBinds = nil + } + + // TerminationGracePeriodSeconds + destination.TerminationGracePeriodSeconds = genruntime.ClonePointerToInt(template.TerminationGracePeriodSeconds) + + // Volumes + if template.Volumes != nil { + volumeList := make([]storage.Volume, len(template.Volumes)) + for volumeIndex, volumeItem := range template.Volumes { + // Shadow the loop variable to avoid aliasing + volumeItem := volumeItem + var volume storage.Volume + err := volumeItem.AssignProperties_To_Volume(&volume) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Volume() to populate field Volumes") + } + volumeList[volumeIndex] = volume + } + destination.Volumes = volumeList + } else { + destination.Volumes = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_Template_STATUS populates our Template from the provided source Template_STATUS +func (template *Template) Initialize_From_Template_STATUS(source *Template_STATUS) error { + + // Containers + if source.Containers != nil { + containerList := make([]Container, len(source.Containers)) + for containerIndex, containerItem := range source.Containers { + // Shadow the loop variable to avoid aliasing + containerItem := containerItem + var container Container + err := container.Initialize_From_Container_STATUS(&containerItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_Container_STATUS() to populate field Containers") + } + containerList[containerIndex] = container + } + template.Containers = containerList + } else { + template.Containers = nil + } + + // InitContainers + if source.InitContainers != nil { + initContainerList := make([]BaseContainer, len(source.InitContainers)) + for initContainerIndex, initContainerItem := range source.InitContainers { + // Shadow the loop variable to avoid aliasing + initContainerItem := initContainerItem + var initContainer BaseContainer + err := initContainer.Initialize_From_BaseContainer_STATUS(&initContainerItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_BaseContainer_STATUS() to populate field InitContainers") + } + initContainerList[initContainerIndex] = initContainer + } + template.InitContainers = initContainerList + } else { + template.InitContainers = nil + } + + // RevisionSuffix + template.RevisionSuffix = genruntime.ClonePointerToString(source.RevisionSuffix) + + // Scale + if source.Scale != nil { + var scale Scale + err := scale.Initialize_From_Scale_STATUS(source.Scale) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_Scale_STATUS() to populate field Scale") + } + template.Scale = &scale + } else { + template.Scale = nil + } + + // ServiceBinds + if source.ServiceBinds != nil { + serviceBindList := make([]ServiceBind, len(source.ServiceBinds)) + for serviceBindIndex, serviceBindItem := range source.ServiceBinds { + // Shadow the loop variable to avoid aliasing + serviceBindItem := serviceBindItem + var serviceBind ServiceBind + err := serviceBind.Initialize_From_ServiceBind_STATUS(&serviceBindItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_ServiceBind_STATUS() to populate field ServiceBinds") + } + serviceBindList[serviceBindIndex] = serviceBind + } + template.ServiceBinds = serviceBindList + } else { + template.ServiceBinds = nil + } + + // TerminationGracePeriodSeconds + template.TerminationGracePeriodSeconds = genruntime.ClonePointerToInt(source.TerminationGracePeriodSeconds) + + // Volumes + if source.Volumes != nil { + volumeList := make([]Volume, len(source.Volumes)) + for volumeIndex, volumeItem := range source.Volumes { + // Shadow the loop variable to avoid aliasing + volumeItem := volumeItem + var volume Volume + err := volume.Initialize_From_Volume_STATUS(&volumeItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_Volume_STATUS() to populate field Volumes") + } + volumeList[volumeIndex] = volume + } + template.Volumes = volumeList + } else { + template.Volumes = nil + } + + // No error + return nil +} + +// Container App versioned application definition. +// Defines the desired state of an immutable revision. +// Any changes to this +// section Will result in a new revision being created +type Template_STATUS struct { + // Containers: List of container definitions for the Container App. + Containers []Container_STATUS `json:"containers,omitempty"` + + // InitContainers: List of specialized containers that run before app containers. + InitContainers []BaseContainer_STATUS `json:"initContainers,omitempty"` + + // RevisionSuffix: User friendly suffix that is appended to the revision name + RevisionSuffix *string `json:"revisionSuffix,omitempty"` + + // Scale: Scaling properties for the Container App. + Scale *Scale_STATUS `json:"scale,omitempty"` + + // ServiceBinds: List of container app services bound to the app + ServiceBinds []ServiceBind_STATUS `json:"serviceBinds,omitempty"` + + // TerminationGracePeriodSeconds: Optional duration in seconds the Container App Instance needs to terminate gracefully. + // Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to + // shut down). If this value is nil, the default grace period will be used instead. Set this value longer than the expected + // cleanup time for your process. Defaults to 30 seconds. + TerminationGracePeriodSeconds *int `json:"terminationGracePeriodSeconds,omitempty"` + + // Volumes: List of volume definitions for the Container App. + Volumes []Volume_STATUS `json:"volumes,omitempty"` +} + +var _ genruntime.FromARMConverter = &Template_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (template *Template_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Template_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (template *Template_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Template_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Template_STATUS, got %T", armInput) + } + + // Set property "Containers": + for _, item := range typedInput.Containers { + var item1 Container_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + template.Containers = append(template.Containers, item1) + } + + // Set property "InitContainers": + for _, item := range typedInput.InitContainers { + var item1 BaseContainer_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + template.InitContainers = append(template.InitContainers, item1) + } + + // Set property "RevisionSuffix": + if typedInput.RevisionSuffix != nil { + revisionSuffix := *typedInput.RevisionSuffix + template.RevisionSuffix = &revisionSuffix + } + + // Set property "Scale": + if typedInput.Scale != nil { + var scale1 Scale_STATUS + err := scale1.PopulateFromARM(owner, *typedInput.Scale) + if err != nil { + return err + } + scale := scale1 + template.Scale = &scale + } + + // Set property "ServiceBinds": + for _, item := range typedInput.ServiceBinds { + var item1 ServiceBind_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + template.ServiceBinds = append(template.ServiceBinds, item1) + } + + // Set property "TerminationGracePeriodSeconds": + if typedInput.TerminationGracePeriodSeconds != nil { + terminationGracePeriodSeconds := *typedInput.TerminationGracePeriodSeconds + template.TerminationGracePeriodSeconds = &terminationGracePeriodSeconds + } + + // Set property "Volumes": + for _, item := range typedInput.Volumes { + var item1 Volume_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + template.Volumes = append(template.Volumes, item1) + } + + // No error + return nil +} + +// AssignProperties_From_Template_STATUS populates our Template_STATUS from the provided source Template_STATUS +func (template *Template_STATUS) AssignProperties_From_Template_STATUS(source *storage.Template_STATUS) error { + + // Containers + if source.Containers != nil { + containerList := make([]Container_STATUS, len(source.Containers)) + for containerIndex, containerItem := range source.Containers { + // Shadow the loop variable to avoid aliasing + containerItem := containerItem + var container Container_STATUS + err := container.AssignProperties_From_Container_STATUS(&containerItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Container_STATUS() to populate field Containers") + } + containerList[containerIndex] = container + } + template.Containers = containerList + } else { + template.Containers = nil + } + + // InitContainers + if source.InitContainers != nil { + initContainerList := make([]BaseContainer_STATUS, len(source.InitContainers)) + for initContainerIndex, initContainerItem := range source.InitContainers { + // Shadow the loop variable to avoid aliasing + initContainerItem := initContainerItem + var initContainer BaseContainer_STATUS + err := initContainer.AssignProperties_From_BaseContainer_STATUS(&initContainerItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_BaseContainer_STATUS() to populate field InitContainers") + } + initContainerList[initContainerIndex] = initContainer + } + template.InitContainers = initContainerList + } else { + template.InitContainers = nil + } + + // RevisionSuffix + template.RevisionSuffix = genruntime.ClonePointerToString(source.RevisionSuffix) + + // Scale + if source.Scale != nil { + var scale Scale_STATUS + err := scale.AssignProperties_From_Scale_STATUS(source.Scale) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Scale_STATUS() to populate field Scale") + } + template.Scale = &scale + } else { + template.Scale = nil + } + + // ServiceBinds + if source.ServiceBinds != nil { + serviceBindList := make([]ServiceBind_STATUS, len(source.ServiceBinds)) + for serviceBindIndex, serviceBindItem := range source.ServiceBinds { + // Shadow the loop variable to avoid aliasing + serviceBindItem := serviceBindItem + var serviceBind ServiceBind_STATUS + err := serviceBind.AssignProperties_From_ServiceBind_STATUS(&serviceBindItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ServiceBind_STATUS() to populate field ServiceBinds") + } + serviceBindList[serviceBindIndex] = serviceBind + } + template.ServiceBinds = serviceBindList + } else { + template.ServiceBinds = nil + } + + // TerminationGracePeriodSeconds + template.TerminationGracePeriodSeconds = genruntime.ClonePointerToInt(source.TerminationGracePeriodSeconds) + + // Volumes + if source.Volumes != nil { + volumeList := make([]Volume_STATUS, len(source.Volumes)) + for volumeIndex, volumeItem := range source.Volumes { + // Shadow the loop variable to avoid aliasing + volumeItem := volumeItem + var volume Volume_STATUS + err := volume.AssignProperties_From_Volume_STATUS(&volumeItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Volume_STATUS() to populate field Volumes") + } + volumeList[volumeIndex] = volume + } + template.Volumes = volumeList + } else { + template.Volumes = nil + } + + // No error + return nil +} + +// AssignProperties_To_Template_STATUS populates the provided destination Template_STATUS from our Template_STATUS +func (template *Template_STATUS) AssignProperties_To_Template_STATUS(destination *storage.Template_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Containers + if template.Containers != nil { + containerList := make([]storage.Container_STATUS, len(template.Containers)) + for containerIndex, containerItem := range template.Containers { + // Shadow the loop variable to avoid aliasing + containerItem := containerItem + var container storage.Container_STATUS + err := containerItem.AssignProperties_To_Container_STATUS(&container) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Container_STATUS() to populate field Containers") + } + containerList[containerIndex] = container + } + destination.Containers = containerList + } else { + destination.Containers = nil + } + + // InitContainers + if template.InitContainers != nil { + initContainerList := make([]storage.BaseContainer_STATUS, len(template.InitContainers)) + for initContainerIndex, initContainerItem := range template.InitContainers { + // Shadow the loop variable to avoid aliasing + initContainerItem := initContainerItem + var initContainer storage.BaseContainer_STATUS + err := initContainerItem.AssignProperties_To_BaseContainer_STATUS(&initContainer) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_BaseContainer_STATUS() to populate field InitContainers") + } + initContainerList[initContainerIndex] = initContainer + } + destination.InitContainers = initContainerList + } else { + destination.InitContainers = nil + } + + // RevisionSuffix + destination.RevisionSuffix = genruntime.ClonePointerToString(template.RevisionSuffix) + + // Scale + if template.Scale != nil { + var scale storage.Scale_STATUS + err := template.Scale.AssignProperties_To_Scale_STATUS(&scale) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Scale_STATUS() to populate field Scale") + } + destination.Scale = &scale + } else { + destination.Scale = nil + } + + // ServiceBinds + if template.ServiceBinds != nil { + serviceBindList := make([]storage.ServiceBind_STATUS, len(template.ServiceBinds)) + for serviceBindIndex, serviceBindItem := range template.ServiceBinds { + // Shadow the loop variable to avoid aliasing + serviceBindItem := serviceBindItem + var serviceBind storage.ServiceBind_STATUS + err := serviceBindItem.AssignProperties_To_ServiceBind_STATUS(&serviceBind) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ServiceBind_STATUS() to populate field ServiceBinds") + } + serviceBindList[serviceBindIndex] = serviceBind + } + destination.ServiceBinds = serviceBindList + } else { + destination.ServiceBinds = nil + } + + // TerminationGracePeriodSeconds + destination.TerminationGracePeriodSeconds = genruntime.ClonePointerToInt(template.TerminationGracePeriodSeconds) + + // Volumes + if template.Volumes != nil { + volumeList := make([]storage.Volume_STATUS, len(template.Volumes)) + for volumeIndex, volumeItem := range template.Volumes { + // Shadow the loop variable to avoid aliasing + volumeItem := volumeItem + var volume storage.Volume_STATUS + err := volumeItem.AssignProperties_To_Volume_STATUS(&volume) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Volume_STATUS() to populate field Volumes") + } + volumeList[volumeIndex] = volume + } + destination.Volumes = volumeList + } else { + destination.Volumes = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Container App base container definition. +type BaseContainer struct { + // Args: Container start command arguments. + Args []string `json:"args,omitempty"` + + // Command: Container start command. + Command []string `json:"command,omitempty"` + + // Env: Container environment variables. + Env []EnvironmentVar `json:"env,omitempty"` + + // Image: Container image tag. + Image *string `json:"image,omitempty"` + + // Name: Custom container name. + Name *string `json:"name,omitempty"` + + // Resources: Container resource requirements. + Resources *ContainerResources `json:"resources,omitempty"` + + // VolumeMounts: Container volume mounts. + VolumeMounts []VolumeMount `json:"volumeMounts,omitempty"` +} + +var _ genruntime.ARMTransformer = &BaseContainer{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (container *BaseContainer) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if container == nil { + return nil, nil + } + result := &arm.BaseContainer{} + + // Set property "Args": + for _, item := range container.Args { + result.Args = append(result.Args, item) + } + + // Set property "Command": + for _, item := range container.Command { + result.Command = append(result.Command, item) + } + + // Set property "Env": + for _, item := range container.Env { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Env = append(result.Env, *item_ARM.(*arm.EnvironmentVar)) + } + + // Set property "Image": + if container.Image != nil { + image := *container.Image + result.Image = &image + } + + // Set property "Name": + if container.Name != nil { + name := *container.Name + result.Name = &name + } + + // Set property "Resources": + if container.Resources != nil { + resources_ARM, err := (*container.Resources).ConvertToARM(resolved) + if err != nil { + return nil, err + } + resources := *resources_ARM.(*arm.ContainerResources) + result.Resources = &resources + } + + // Set property "VolumeMounts": + for _, item := range container.VolumeMounts { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.VolumeMounts = append(result.VolumeMounts, *item_ARM.(*arm.VolumeMount)) + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (container *BaseContainer) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.BaseContainer{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (container *BaseContainer) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.BaseContainer) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.BaseContainer, got %T", armInput) + } + + // Set property "Args": + for _, item := range typedInput.Args { + container.Args = append(container.Args, item) + } + + // Set property "Command": + for _, item := range typedInput.Command { + container.Command = append(container.Command, item) + } + + // Set property "Env": + for _, item := range typedInput.Env { + var item1 EnvironmentVar + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + container.Env = append(container.Env, item1) + } + + // Set property "Image": + if typedInput.Image != nil { + image := *typedInput.Image + container.Image = &image + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + container.Name = &name + } + + // Set property "Resources": + if typedInput.Resources != nil { + var resources1 ContainerResources + err := resources1.PopulateFromARM(owner, *typedInput.Resources) + if err != nil { + return err + } + resources := resources1 + container.Resources = &resources + } + + // Set property "VolumeMounts": + for _, item := range typedInput.VolumeMounts { + var item1 VolumeMount + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + container.VolumeMounts = append(container.VolumeMounts, item1) + } + + // No error + return nil +} + +// AssignProperties_From_BaseContainer populates our BaseContainer from the provided source BaseContainer +func (container *BaseContainer) AssignProperties_From_BaseContainer(source *storage.BaseContainer) error { + + // Args + container.Args = genruntime.CloneSliceOfString(source.Args) + + // Command + container.Command = genruntime.CloneSliceOfString(source.Command) + + // Env + if source.Env != nil { + envList := make([]EnvironmentVar, len(source.Env)) + for envIndex, envItem := range source.Env { + // Shadow the loop variable to avoid aliasing + envItem := envItem + var env EnvironmentVar + err := env.AssignProperties_From_EnvironmentVar(&envItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_EnvironmentVar() to populate field Env") + } + envList[envIndex] = env + } + container.Env = envList + } else { + container.Env = nil + } + + // Image + container.Image = genruntime.ClonePointerToString(source.Image) + + // Name + container.Name = genruntime.ClonePointerToString(source.Name) + + // Resources + if source.Resources != nil { + var resource ContainerResources + err := resource.AssignProperties_From_ContainerResources(source.Resources) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ContainerResources() to populate field Resources") + } + container.Resources = &resource + } else { + container.Resources = nil + } + + // VolumeMounts + if source.VolumeMounts != nil { + volumeMountList := make([]VolumeMount, len(source.VolumeMounts)) + for volumeMountIndex, volumeMountItem := range source.VolumeMounts { + // Shadow the loop variable to avoid aliasing + volumeMountItem := volumeMountItem + var volumeMount VolumeMount + err := volumeMount.AssignProperties_From_VolumeMount(&volumeMountItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_VolumeMount() to populate field VolumeMounts") + } + volumeMountList[volumeMountIndex] = volumeMount + } + container.VolumeMounts = volumeMountList + } else { + container.VolumeMounts = nil + } + + // No error + return nil +} + +// AssignProperties_To_BaseContainer populates the provided destination BaseContainer from our BaseContainer +func (container *BaseContainer) AssignProperties_To_BaseContainer(destination *storage.BaseContainer) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Args + destination.Args = genruntime.CloneSliceOfString(container.Args) + + // Command + destination.Command = genruntime.CloneSliceOfString(container.Command) + + // Env + if container.Env != nil { + envList := make([]storage.EnvironmentVar, len(container.Env)) + for envIndex, envItem := range container.Env { + // Shadow the loop variable to avoid aliasing + envItem := envItem + var env storage.EnvironmentVar + err := envItem.AssignProperties_To_EnvironmentVar(&env) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_EnvironmentVar() to populate field Env") + } + envList[envIndex] = env + } + destination.Env = envList + } else { + destination.Env = nil + } + + // Image + destination.Image = genruntime.ClonePointerToString(container.Image) + + // Name + destination.Name = genruntime.ClonePointerToString(container.Name) + + // Resources + if container.Resources != nil { + var resource storage.ContainerResources + err := container.Resources.AssignProperties_To_ContainerResources(&resource) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ContainerResources() to populate field Resources") + } + destination.Resources = &resource + } else { + destination.Resources = nil + } + + // VolumeMounts + if container.VolumeMounts != nil { + volumeMountList := make([]storage.VolumeMount, len(container.VolumeMounts)) + for volumeMountIndex, volumeMountItem := range container.VolumeMounts { + // Shadow the loop variable to avoid aliasing + volumeMountItem := volumeMountItem + var volumeMount storage.VolumeMount + err := volumeMountItem.AssignProperties_To_VolumeMount(&volumeMount) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_VolumeMount() to populate field VolumeMounts") + } + volumeMountList[volumeMountIndex] = volumeMount + } + destination.VolumeMounts = volumeMountList + } else { + destination.VolumeMounts = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_BaseContainer_STATUS populates our BaseContainer from the provided source BaseContainer_STATUS +func (container *BaseContainer) Initialize_From_BaseContainer_STATUS(source *BaseContainer_STATUS) error { + + // Args + container.Args = genruntime.CloneSliceOfString(source.Args) + + // Command + container.Command = genruntime.CloneSliceOfString(source.Command) + + // Env + if source.Env != nil { + envList := make([]EnvironmentVar, len(source.Env)) + for envIndex, envItem := range source.Env { + // Shadow the loop variable to avoid aliasing + envItem := envItem + var env EnvironmentVar + err := env.Initialize_From_EnvironmentVar_STATUS(&envItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_EnvironmentVar_STATUS() to populate field Env") + } + envList[envIndex] = env + } + container.Env = envList + } else { + container.Env = nil + } + + // Image + container.Image = genruntime.ClonePointerToString(source.Image) + + // Name + container.Name = genruntime.ClonePointerToString(source.Name) + + // Resources + if source.Resources != nil { + var resource ContainerResources + err := resource.Initialize_From_ContainerResources_STATUS(source.Resources) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_ContainerResources_STATUS() to populate field Resources") + } + container.Resources = &resource + } else { + container.Resources = nil + } + + // VolumeMounts + if source.VolumeMounts != nil { + volumeMountList := make([]VolumeMount, len(source.VolumeMounts)) + for volumeMountIndex, volumeMountItem := range source.VolumeMounts { + // Shadow the loop variable to avoid aliasing + volumeMountItem := volumeMountItem + var volumeMount VolumeMount + err := volumeMount.Initialize_From_VolumeMount_STATUS(&volumeMountItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_VolumeMount_STATUS() to populate field VolumeMounts") + } + volumeMountList[volumeMountIndex] = volumeMount + } + container.VolumeMounts = volumeMountList + } else { + container.VolumeMounts = nil + } + + // No error + return nil +} + +// Container App base container definition. +type BaseContainer_STATUS struct { + // Args: Container start command arguments. + Args []string `json:"args,omitempty"` + + // Command: Container start command. + Command []string `json:"command,omitempty"` + + // Env: Container environment variables. + Env []EnvironmentVar_STATUS `json:"env,omitempty"` + + // Image: Container image tag. + Image *string `json:"image,omitempty"` + + // Name: Custom container name. + Name *string `json:"name,omitempty"` + + // Resources: Container resource requirements. + Resources *ContainerResources_STATUS `json:"resources,omitempty"` + + // VolumeMounts: Container volume mounts. + VolumeMounts []VolumeMount_STATUS `json:"volumeMounts,omitempty"` +} + +var _ genruntime.FromARMConverter = &BaseContainer_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (container *BaseContainer_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.BaseContainer_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (container *BaseContainer_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.BaseContainer_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.BaseContainer_STATUS, got %T", armInput) + } + + // Set property "Args": + for _, item := range typedInput.Args { + container.Args = append(container.Args, item) + } + + // Set property "Command": + for _, item := range typedInput.Command { + container.Command = append(container.Command, item) + } + + // Set property "Env": + for _, item := range typedInput.Env { + var item1 EnvironmentVar_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + container.Env = append(container.Env, item1) + } + + // Set property "Image": + if typedInput.Image != nil { + image := *typedInput.Image + container.Image = &image + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + container.Name = &name + } + + // Set property "Resources": + if typedInput.Resources != nil { + var resources1 ContainerResources_STATUS + err := resources1.PopulateFromARM(owner, *typedInput.Resources) + if err != nil { + return err + } + resources := resources1 + container.Resources = &resources + } + + // Set property "VolumeMounts": + for _, item := range typedInput.VolumeMounts { + var item1 VolumeMount_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + container.VolumeMounts = append(container.VolumeMounts, item1) + } + + // No error + return nil +} + +// AssignProperties_From_BaseContainer_STATUS populates our BaseContainer_STATUS from the provided source BaseContainer_STATUS +func (container *BaseContainer_STATUS) AssignProperties_From_BaseContainer_STATUS(source *storage.BaseContainer_STATUS) error { + + // Args + container.Args = genruntime.CloneSliceOfString(source.Args) + + // Command + container.Command = genruntime.CloneSliceOfString(source.Command) + + // Env + if source.Env != nil { + envList := make([]EnvironmentVar_STATUS, len(source.Env)) + for envIndex, envItem := range source.Env { + // Shadow the loop variable to avoid aliasing + envItem := envItem + var env EnvironmentVar_STATUS + err := env.AssignProperties_From_EnvironmentVar_STATUS(&envItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_EnvironmentVar_STATUS() to populate field Env") + } + envList[envIndex] = env + } + container.Env = envList + } else { + container.Env = nil + } + + // Image + container.Image = genruntime.ClonePointerToString(source.Image) + + // Name + container.Name = genruntime.ClonePointerToString(source.Name) + + // Resources + if source.Resources != nil { + var resource ContainerResources_STATUS + err := resource.AssignProperties_From_ContainerResources_STATUS(source.Resources) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ContainerResources_STATUS() to populate field Resources") + } + container.Resources = &resource + } else { + container.Resources = nil + } + + // VolumeMounts + if source.VolumeMounts != nil { + volumeMountList := make([]VolumeMount_STATUS, len(source.VolumeMounts)) + for volumeMountIndex, volumeMountItem := range source.VolumeMounts { + // Shadow the loop variable to avoid aliasing + volumeMountItem := volumeMountItem + var volumeMount VolumeMount_STATUS + err := volumeMount.AssignProperties_From_VolumeMount_STATUS(&volumeMountItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_VolumeMount_STATUS() to populate field VolumeMounts") + } + volumeMountList[volumeMountIndex] = volumeMount + } + container.VolumeMounts = volumeMountList + } else { + container.VolumeMounts = nil + } + + // No error + return nil +} + +// AssignProperties_To_BaseContainer_STATUS populates the provided destination BaseContainer_STATUS from our BaseContainer_STATUS +func (container *BaseContainer_STATUS) AssignProperties_To_BaseContainer_STATUS(destination *storage.BaseContainer_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Args + destination.Args = genruntime.CloneSliceOfString(container.Args) + + // Command + destination.Command = genruntime.CloneSliceOfString(container.Command) + + // Env + if container.Env != nil { + envList := make([]storage.EnvironmentVar_STATUS, len(container.Env)) + for envIndex, envItem := range container.Env { + // Shadow the loop variable to avoid aliasing + envItem := envItem + var env storage.EnvironmentVar_STATUS + err := envItem.AssignProperties_To_EnvironmentVar_STATUS(&env) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_EnvironmentVar_STATUS() to populate field Env") + } + envList[envIndex] = env + } + destination.Env = envList + } else { + destination.Env = nil + } + + // Image + destination.Image = genruntime.ClonePointerToString(container.Image) + + // Name + destination.Name = genruntime.ClonePointerToString(container.Name) + + // Resources + if container.Resources != nil { + var resource storage.ContainerResources_STATUS + err := container.Resources.AssignProperties_To_ContainerResources_STATUS(&resource) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ContainerResources_STATUS() to populate field Resources") + } + destination.Resources = &resource + } else { + destination.Resources = nil + } + + // VolumeMounts + if container.VolumeMounts != nil { + volumeMountList := make([]storage.VolumeMount_STATUS, len(container.VolumeMounts)) + for volumeMountIndex, volumeMountItem := range container.VolumeMounts { + // Shadow the loop variable to avoid aliasing + volumeMountItem := volumeMountItem + var volumeMount storage.VolumeMount_STATUS + err := volumeMountItem.AssignProperties_To_VolumeMount_STATUS(&volumeMount) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_VolumeMount_STATUS() to populate field VolumeMounts") + } + volumeMountList[volumeMountIndex] = volumeMount + } + destination.VolumeMounts = volumeMountList + } else { + destination.VolumeMounts = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"Multiple","Single"} +type Configuration_ActiveRevisionsMode string + +const ( + Configuration_ActiveRevisionsMode_Multiple = Configuration_ActiveRevisionsMode("Multiple") + Configuration_ActiveRevisionsMode_Single = Configuration_ActiveRevisionsMode("Single") +) + +// Mapping from string to Configuration_ActiveRevisionsMode +var configuration_ActiveRevisionsMode_Values = map[string]Configuration_ActiveRevisionsMode{ + "multiple": Configuration_ActiveRevisionsMode_Multiple, + "single": Configuration_ActiveRevisionsMode_Single, +} + +type Configuration_ActiveRevisionsMode_STATUS string + +const ( + Configuration_ActiveRevisionsMode_STATUS_Multiple = Configuration_ActiveRevisionsMode_STATUS("Multiple") + Configuration_ActiveRevisionsMode_STATUS_Single = Configuration_ActiveRevisionsMode_STATUS("Single") +) + +// Mapping from string to Configuration_ActiveRevisionsMode_STATUS +var configuration_ActiveRevisionsMode_STATUS_Values = map[string]Configuration_ActiveRevisionsMode_STATUS{ + "multiple": Configuration_ActiveRevisionsMode_STATUS_Multiple, + "single": Configuration_ActiveRevisionsMode_STATUS_Single, +} + +// Container App container definition +type Container struct { + // Args: Container start command arguments. + Args []string `json:"args,omitempty"` + + // Command: Container start command. + Command []string `json:"command,omitempty"` + + // Env: Container environment variables. + Env []EnvironmentVar `json:"env,omitempty"` + + // Image: Container image tag. + Image *string `json:"image,omitempty"` + + // Name: Custom container name. + Name *string `json:"name,omitempty"` + + // Probes: List of probes for the container. + Probes []ContainerAppProbe `json:"probes,omitempty"` + + // Resources: Container resource requirements. + Resources *ContainerResources `json:"resources,omitempty"` + + // VolumeMounts: Container volume mounts. + VolumeMounts []VolumeMount `json:"volumeMounts,omitempty"` +} + +var _ genruntime.ARMTransformer = &Container{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (container *Container) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if container == nil { + return nil, nil + } + result := &arm.Container{} + + // Set property "Args": + for _, item := range container.Args { + result.Args = append(result.Args, item) + } + + // Set property "Command": + for _, item := range container.Command { + result.Command = append(result.Command, item) + } + + // Set property "Env": + for _, item := range container.Env { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Env = append(result.Env, *item_ARM.(*arm.EnvironmentVar)) + } + + // Set property "Image": + if container.Image != nil { + image := *container.Image + result.Image = &image + } + + // Set property "Name": + if container.Name != nil { + name := *container.Name + result.Name = &name + } + + // Set property "Probes": + for _, item := range container.Probes { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Probes = append(result.Probes, *item_ARM.(*arm.ContainerAppProbe)) + } + + // Set property "Resources": + if container.Resources != nil { + resources_ARM, err := (*container.Resources).ConvertToARM(resolved) + if err != nil { + return nil, err + } + resources := *resources_ARM.(*arm.ContainerResources) + result.Resources = &resources + } + + // Set property "VolumeMounts": + for _, item := range container.VolumeMounts { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.VolumeMounts = append(result.VolumeMounts, *item_ARM.(*arm.VolumeMount)) + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (container *Container) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Container{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (container *Container) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Container) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Container, got %T", armInput) + } + + // Set property "Args": + for _, item := range typedInput.Args { + container.Args = append(container.Args, item) + } + + // Set property "Command": + for _, item := range typedInput.Command { + container.Command = append(container.Command, item) + } + + // Set property "Env": + for _, item := range typedInput.Env { + var item1 EnvironmentVar + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + container.Env = append(container.Env, item1) + } + + // Set property "Image": + if typedInput.Image != nil { + image := *typedInput.Image + container.Image = &image + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + container.Name = &name + } + + // Set property "Probes": + for _, item := range typedInput.Probes { + var item1 ContainerAppProbe + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + container.Probes = append(container.Probes, item1) + } + + // Set property "Resources": + if typedInput.Resources != nil { + var resources1 ContainerResources + err := resources1.PopulateFromARM(owner, *typedInput.Resources) + if err != nil { + return err + } + resources := resources1 + container.Resources = &resources + } + + // Set property "VolumeMounts": + for _, item := range typedInput.VolumeMounts { + var item1 VolumeMount + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + container.VolumeMounts = append(container.VolumeMounts, item1) + } + + // No error + return nil +} + +// AssignProperties_From_Container populates our Container from the provided source Container +func (container *Container) AssignProperties_From_Container(source *storage.Container) error { + + // Args + container.Args = genruntime.CloneSliceOfString(source.Args) + + // Command + container.Command = genruntime.CloneSliceOfString(source.Command) + + // Env + if source.Env != nil { + envList := make([]EnvironmentVar, len(source.Env)) + for envIndex, envItem := range source.Env { + // Shadow the loop variable to avoid aliasing + envItem := envItem + var env EnvironmentVar + err := env.AssignProperties_From_EnvironmentVar(&envItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_EnvironmentVar() to populate field Env") + } + envList[envIndex] = env + } + container.Env = envList + } else { + container.Env = nil + } + + // Image + container.Image = genruntime.ClonePointerToString(source.Image) + + // Name + container.Name = genruntime.ClonePointerToString(source.Name) + + // Probes + if source.Probes != nil { + probeList := make([]ContainerAppProbe, len(source.Probes)) + for probeIndex, probeItem := range source.Probes { + // Shadow the loop variable to avoid aliasing + probeItem := probeItem + var probe ContainerAppProbe + err := probe.AssignProperties_From_ContainerAppProbe(&probeItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ContainerAppProbe() to populate field Probes") + } + probeList[probeIndex] = probe + } + container.Probes = probeList + } else { + container.Probes = nil + } + + // Resources + if source.Resources != nil { + var resource ContainerResources + err := resource.AssignProperties_From_ContainerResources(source.Resources) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ContainerResources() to populate field Resources") + } + container.Resources = &resource + } else { + container.Resources = nil + } + + // VolumeMounts + if source.VolumeMounts != nil { + volumeMountList := make([]VolumeMount, len(source.VolumeMounts)) + for volumeMountIndex, volumeMountItem := range source.VolumeMounts { + // Shadow the loop variable to avoid aliasing + volumeMountItem := volumeMountItem + var volumeMount VolumeMount + err := volumeMount.AssignProperties_From_VolumeMount(&volumeMountItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_VolumeMount() to populate field VolumeMounts") + } + volumeMountList[volumeMountIndex] = volumeMount + } + container.VolumeMounts = volumeMountList + } else { + container.VolumeMounts = nil + } + + // No error + return nil +} + +// AssignProperties_To_Container populates the provided destination Container from our Container +func (container *Container) AssignProperties_To_Container(destination *storage.Container) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Args + destination.Args = genruntime.CloneSliceOfString(container.Args) + + // Command + destination.Command = genruntime.CloneSliceOfString(container.Command) + + // Env + if container.Env != nil { + envList := make([]storage.EnvironmentVar, len(container.Env)) + for envIndex, envItem := range container.Env { + // Shadow the loop variable to avoid aliasing + envItem := envItem + var env storage.EnvironmentVar + err := envItem.AssignProperties_To_EnvironmentVar(&env) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_EnvironmentVar() to populate field Env") + } + envList[envIndex] = env + } + destination.Env = envList + } else { + destination.Env = nil + } + + // Image + destination.Image = genruntime.ClonePointerToString(container.Image) + + // Name + destination.Name = genruntime.ClonePointerToString(container.Name) + + // Probes + if container.Probes != nil { + probeList := make([]storage.ContainerAppProbe, len(container.Probes)) + for probeIndex, probeItem := range container.Probes { + // Shadow the loop variable to avoid aliasing + probeItem := probeItem + var probe storage.ContainerAppProbe + err := probeItem.AssignProperties_To_ContainerAppProbe(&probe) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ContainerAppProbe() to populate field Probes") + } + probeList[probeIndex] = probe + } + destination.Probes = probeList + } else { + destination.Probes = nil + } + + // Resources + if container.Resources != nil { + var resource storage.ContainerResources + err := container.Resources.AssignProperties_To_ContainerResources(&resource) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ContainerResources() to populate field Resources") + } + destination.Resources = &resource + } else { + destination.Resources = nil + } + + // VolumeMounts + if container.VolumeMounts != nil { + volumeMountList := make([]storage.VolumeMount, len(container.VolumeMounts)) + for volumeMountIndex, volumeMountItem := range container.VolumeMounts { + // Shadow the loop variable to avoid aliasing + volumeMountItem := volumeMountItem + var volumeMount storage.VolumeMount + err := volumeMountItem.AssignProperties_To_VolumeMount(&volumeMount) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_VolumeMount() to populate field VolumeMounts") + } + volumeMountList[volumeMountIndex] = volumeMount + } + destination.VolumeMounts = volumeMountList + } else { + destination.VolumeMounts = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_Container_STATUS populates our Container from the provided source Container_STATUS +func (container *Container) Initialize_From_Container_STATUS(source *Container_STATUS) error { + + // Args + container.Args = genruntime.CloneSliceOfString(source.Args) + + // Command + container.Command = genruntime.CloneSliceOfString(source.Command) + + // Env + if source.Env != nil { + envList := make([]EnvironmentVar, len(source.Env)) + for envIndex, envItem := range source.Env { + // Shadow the loop variable to avoid aliasing + envItem := envItem + var env EnvironmentVar + err := env.Initialize_From_EnvironmentVar_STATUS(&envItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_EnvironmentVar_STATUS() to populate field Env") + } + envList[envIndex] = env + } + container.Env = envList + } else { + container.Env = nil + } + + // Image + container.Image = genruntime.ClonePointerToString(source.Image) + + // Name + container.Name = genruntime.ClonePointerToString(source.Name) + + // Probes + if source.Probes != nil { + probeList := make([]ContainerAppProbe, len(source.Probes)) + for probeIndex, probeItem := range source.Probes { + // Shadow the loop variable to avoid aliasing + probeItem := probeItem + var probe ContainerAppProbe + err := probe.Initialize_From_ContainerAppProbe_STATUS(&probeItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_ContainerAppProbe_STATUS() to populate field Probes") + } + probeList[probeIndex] = probe + } + container.Probes = probeList + } else { + container.Probes = nil + } + + // Resources + if source.Resources != nil { + var resource ContainerResources + err := resource.Initialize_From_ContainerResources_STATUS(source.Resources) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_ContainerResources_STATUS() to populate field Resources") + } + container.Resources = &resource + } else { + container.Resources = nil + } + + // VolumeMounts + if source.VolumeMounts != nil { + volumeMountList := make([]VolumeMount, len(source.VolumeMounts)) + for volumeMountIndex, volumeMountItem := range source.VolumeMounts { + // Shadow the loop variable to avoid aliasing + volumeMountItem := volumeMountItem + var volumeMount VolumeMount + err := volumeMount.Initialize_From_VolumeMount_STATUS(&volumeMountItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_VolumeMount_STATUS() to populate field VolumeMounts") + } + volumeMountList[volumeMountIndex] = volumeMount + } + container.VolumeMounts = volumeMountList + } else { + container.VolumeMounts = nil + } + + // No error + return nil +} + +// Container App container definition +type Container_STATUS struct { + // Args: Container start command arguments. + Args []string `json:"args,omitempty"` + + // Command: Container start command. + Command []string `json:"command,omitempty"` + + // Env: Container environment variables. + Env []EnvironmentVar_STATUS `json:"env,omitempty"` + + // Image: Container image tag. + Image *string `json:"image,omitempty"` + + // Name: Custom container name. + Name *string `json:"name,omitempty"` + + // Probes: List of probes for the container. + Probes []ContainerAppProbe_STATUS `json:"probes,omitempty"` + + // Resources: Container resource requirements. + Resources *ContainerResources_STATUS `json:"resources,omitempty"` + + // VolumeMounts: Container volume mounts. + VolumeMounts []VolumeMount_STATUS `json:"volumeMounts,omitempty"` +} + +var _ genruntime.FromARMConverter = &Container_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (container *Container_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Container_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (container *Container_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Container_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Container_STATUS, got %T", armInput) + } + + // Set property "Args": + for _, item := range typedInput.Args { + container.Args = append(container.Args, item) + } + + // Set property "Command": + for _, item := range typedInput.Command { + container.Command = append(container.Command, item) + } + + // Set property "Env": + for _, item := range typedInput.Env { + var item1 EnvironmentVar_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + container.Env = append(container.Env, item1) + } + + // Set property "Image": + if typedInput.Image != nil { + image := *typedInput.Image + container.Image = &image + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + container.Name = &name + } + + // Set property "Probes": + for _, item := range typedInput.Probes { + var item1 ContainerAppProbe_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + container.Probes = append(container.Probes, item1) + } + + // Set property "Resources": + if typedInput.Resources != nil { + var resources1 ContainerResources_STATUS + err := resources1.PopulateFromARM(owner, *typedInput.Resources) + if err != nil { + return err + } + resources := resources1 + container.Resources = &resources + } + + // Set property "VolumeMounts": + for _, item := range typedInput.VolumeMounts { + var item1 VolumeMount_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + container.VolumeMounts = append(container.VolumeMounts, item1) + } + + // No error + return nil +} + +// AssignProperties_From_Container_STATUS populates our Container_STATUS from the provided source Container_STATUS +func (container *Container_STATUS) AssignProperties_From_Container_STATUS(source *storage.Container_STATUS) error { + + // Args + container.Args = genruntime.CloneSliceOfString(source.Args) + + // Command + container.Command = genruntime.CloneSliceOfString(source.Command) + + // Env + if source.Env != nil { + envList := make([]EnvironmentVar_STATUS, len(source.Env)) + for envIndex, envItem := range source.Env { + // Shadow the loop variable to avoid aliasing + envItem := envItem + var env EnvironmentVar_STATUS + err := env.AssignProperties_From_EnvironmentVar_STATUS(&envItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_EnvironmentVar_STATUS() to populate field Env") + } + envList[envIndex] = env + } + container.Env = envList + } else { + container.Env = nil + } + + // Image + container.Image = genruntime.ClonePointerToString(source.Image) + + // Name + container.Name = genruntime.ClonePointerToString(source.Name) + + // Probes + if source.Probes != nil { + probeList := make([]ContainerAppProbe_STATUS, len(source.Probes)) + for probeIndex, probeItem := range source.Probes { + // Shadow the loop variable to avoid aliasing + probeItem := probeItem + var probe ContainerAppProbe_STATUS + err := probe.AssignProperties_From_ContainerAppProbe_STATUS(&probeItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ContainerAppProbe_STATUS() to populate field Probes") + } + probeList[probeIndex] = probe + } + container.Probes = probeList + } else { + container.Probes = nil + } + + // Resources + if source.Resources != nil { + var resource ContainerResources_STATUS + err := resource.AssignProperties_From_ContainerResources_STATUS(source.Resources) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ContainerResources_STATUS() to populate field Resources") + } + container.Resources = &resource + } else { + container.Resources = nil + } + + // VolumeMounts + if source.VolumeMounts != nil { + volumeMountList := make([]VolumeMount_STATUS, len(source.VolumeMounts)) + for volumeMountIndex, volumeMountItem := range source.VolumeMounts { + // Shadow the loop variable to avoid aliasing + volumeMountItem := volumeMountItem + var volumeMount VolumeMount_STATUS + err := volumeMount.AssignProperties_From_VolumeMount_STATUS(&volumeMountItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_VolumeMount_STATUS() to populate field VolumeMounts") + } + volumeMountList[volumeMountIndex] = volumeMount + } + container.VolumeMounts = volumeMountList + } else { + container.VolumeMounts = nil + } + + // No error + return nil +} + +// AssignProperties_To_Container_STATUS populates the provided destination Container_STATUS from our Container_STATUS +func (container *Container_STATUS) AssignProperties_To_Container_STATUS(destination *storage.Container_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Args + destination.Args = genruntime.CloneSliceOfString(container.Args) + + // Command + destination.Command = genruntime.CloneSliceOfString(container.Command) + + // Env + if container.Env != nil { + envList := make([]storage.EnvironmentVar_STATUS, len(container.Env)) + for envIndex, envItem := range container.Env { + // Shadow the loop variable to avoid aliasing + envItem := envItem + var env storage.EnvironmentVar_STATUS + err := envItem.AssignProperties_To_EnvironmentVar_STATUS(&env) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_EnvironmentVar_STATUS() to populate field Env") + } + envList[envIndex] = env + } + destination.Env = envList + } else { + destination.Env = nil + } + + // Image + destination.Image = genruntime.ClonePointerToString(container.Image) + + // Name + destination.Name = genruntime.ClonePointerToString(container.Name) + + // Probes + if container.Probes != nil { + probeList := make([]storage.ContainerAppProbe_STATUS, len(container.Probes)) + for probeIndex, probeItem := range container.Probes { + // Shadow the loop variable to avoid aliasing + probeItem := probeItem + var probe storage.ContainerAppProbe_STATUS + err := probeItem.AssignProperties_To_ContainerAppProbe_STATUS(&probe) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ContainerAppProbe_STATUS() to populate field Probes") + } + probeList[probeIndex] = probe + } + destination.Probes = probeList + } else { + destination.Probes = nil + } + + // Resources + if container.Resources != nil { + var resource storage.ContainerResources_STATUS + err := container.Resources.AssignProperties_To_ContainerResources_STATUS(&resource) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ContainerResources_STATUS() to populate field Resources") + } + destination.Resources = &resource + } else { + destination.Resources = nil + } + + // VolumeMounts + if container.VolumeMounts != nil { + volumeMountList := make([]storage.VolumeMount_STATUS, len(container.VolumeMounts)) + for volumeMountIndex, volumeMountItem := range container.VolumeMounts { + // Shadow the loop variable to avoid aliasing + volumeMountItem := volumeMountItem + var volumeMount storage.VolumeMount_STATUS + err := volumeMountItem.AssignProperties_To_VolumeMount_STATUS(&volumeMount) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_VolumeMount_STATUS() to populate field VolumeMounts") + } + volumeMountList[volumeMountIndex] = volumeMount + } + destination.VolumeMounts = volumeMountList + } else { + destination.VolumeMounts = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +type ContainerAppOperatorConfigMaps struct { + // EventStreamEndpoint: indicates where the EventStreamEndpoint config map should be placed. If omitted, no config map will + // be created. + EventStreamEndpoint *genruntime.ConfigMapDestination `json:"eventStreamEndpoint,omitempty"` + + // Fqdn: indicates where the Fqdn config map should be placed. If omitted, no config map will be created. + Fqdn *genruntime.ConfigMapDestination `json:"fqdn,omitempty"` +} + +// AssignProperties_From_ContainerAppOperatorConfigMaps populates our ContainerAppOperatorConfigMaps from the provided source ContainerAppOperatorConfigMaps +func (maps *ContainerAppOperatorConfigMaps) AssignProperties_From_ContainerAppOperatorConfigMaps(source *storage.ContainerAppOperatorConfigMaps) error { + + // EventStreamEndpoint + if source.EventStreamEndpoint != nil { + eventStreamEndpoint := source.EventStreamEndpoint.Copy() + maps.EventStreamEndpoint = &eventStreamEndpoint + } else { + maps.EventStreamEndpoint = nil + } + + // Fqdn + if source.Fqdn != nil { + fqdn := source.Fqdn.Copy() + maps.Fqdn = &fqdn + } else { + maps.Fqdn = nil + } + + // No error + return nil +} + +// AssignProperties_To_ContainerAppOperatorConfigMaps populates the provided destination ContainerAppOperatorConfigMaps from our ContainerAppOperatorConfigMaps +func (maps *ContainerAppOperatorConfigMaps) AssignProperties_To_ContainerAppOperatorConfigMaps(destination *storage.ContainerAppOperatorConfigMaps) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // EventStreamEndpoint + if maps.EventStreamEndpoint != nil { + eventStreamEndpoint := maps.EventStreamEndpoint.Copy() + destination.EventStreamEndpoint = &eventStreamEndpoint + } else { + destination.EventStreamEndpoint = nil + } + + // Fqdn + if maps.Fqdn != nil { + fqdn := maps.Fqdn.Copy() + destination.Fqdn = &fqdn + } else { + destination.Fqdn = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Container App Dapr configuration. +type Dapr struct { + // AppId: Dapr application identifier + AppId *string `json:"appId,omitempty"` + + // AppPort: Tells Dapr which port your application is listening on + AppPort *int `json:"appPort,omitempty"` + + // AppProtocol: Tells Dapr which protocol your application is using. Valid options are http and grpc. Default is http + AppProtocol *Dapr_AppProtocol `json:"appProtocol,omitempty"` + + // EnableApiLogging: Enables API logging for the Dapr sidecar + EnableApiLogging *bool `json:"enableApiLogging,omitempty"` + + // Enabled: Boolean indicating if the Dapr side car is enabled + Enabled *bool `json:"enabled,omitempty"` + + // HttpMaxRequestSize: Increasing max size of request body http and grpc servers parameter in MB to handle uploading of big + // files. Default is 4 MB. + HttpMaxRequestSize *int `json:"httpMaxRequestSize,omitempty"` + + // HttpReadBufferSize: Dapr max size of http header read buffer in KB to handle when sending multi-KB headers. Default is + // 65KB. + HttpReadBufferSize *int `json:"httpReadBufferSize,omitempty"` + + // LogLevel: Sets the log level for the Dapr sidecar. Allowed values are debug, info, warn, error. Default is info. + LogLevel *Dapr_LogLevel `json:"logLevel,omitempty"` +} + +var _ genruntime.ARMTransformer = &Dapr{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (dapr *Dapr) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if dapr == nil { + return nil, nil + } + result := &arm.Dapr{} + + // Set property "AppId": + if dapr.AppId != nil { + appId := *dapr.AppId + result.AppId = &appId + } + + // Set property "AppPort": + if dapr.AppPort != nil { + appPort := *dapr.AppPort + result.AppPort = &appPort + } + + // Set property "AppProtocol": + if dapr.AppProtocol != nil { + var temp string + temp = string(*dapr.AppProtocol) + appProtocol := arm.Dapr_AppProtocol(temp) + result.AppProtocol = &appProtocol + } + + // Set property "EnableApiLogging": + if dapr.EnableApiLogging != nil { + enableApiLogging := *dapr.EnableApiLogging + result.EnableApiLogging = &enableApiLogging + } + + // Set property "Enabled": + if dapr.Enabled != nil { + enabled := *dapr.Enabled + result.Enabled = &enabled + } + + // Set property "HttpMaxRequestSize": + if dapr.HttpMaxRequestSize != nil { + httpMaxRequestSize := *dapr.HttpMaxRequestSize + result.HttpMaxRequestSize = &httpMaxRequestSize + } + + // Set property "HttpReadBufferSize": + if dapr.HttpReadBufferSize != nil { + httpReadBufferSize := *dapr.HttpReadBufferSize + result.HttpReadBufferSize = &httpReadBufferSize + } + + // Set property "LogLevel": + if dapr.LogLevel != nil { + var temp string + temp = string(*dapr.LogLevel) + logLevel := arm.Dapr_LogLevel(temp) + result.LogLevel = &logLevel + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (dapr *Dapr) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Dapr{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (dapr *Dapr) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Dapr) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Dapr, got %T", armInput) + } + + // Set property "AppId": + if typedInput.AppId != nil { + appId := *typedInput.AppId + dapr.AppId = &appId + } + + // Set property "AppPort": + if typedInput.AppPort != nil { + appPort := *typedInput.AppPort + dapr.AppPort = &appPort + } + + // Set property "AppProtocol": + if typedInput.AppProtocol != nil { + var temp string + temp = string(*typedInput.AppProtocol) + appProtocol := Dapr_AppProtocol(temp) + dapr.AppProtocol = &appProtocol + } + + // Set property "EnableApiLogging": + if typedInput.EnableApiLogging != nil { + enableApiLogging := *typedInput.EnableApiLogging + dapr.EnableApiLogging = &enableApiLogging + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + dapr.Enabled = &enabled + } + + // Set property "HttpMaxRequestSize": + if typedInput.HttpMaxRequestSize != nil { + httpMaxRequestSize := *typedInput.HttpMaxRequestSize + dapr.HttpMaxRequestSize = &httpMaxRequestSize + } + + // Set property "HttpReadBufferSize": + if typedInput.HttpReadBufferSize != nil { + httpReadBufferSize := *typedInput.HttpReadBufferSize + dapr.HttpReadBufferSize = &httpReadBufferSize + } + + // Set property "LogLevel": + if typedInput.LogLevel != nil { + var temp string + temp = string(*typedInput.LogLevel) + logLevel := Dapr_LogLevel(temp) + dapr.LogLevel = &logLevel + } + + // No error + return nil +} + +// AssignProperties_From_Dapr populates our Dapr from the provided source Dapr +func (dapr *Dapr) AssignProperties_From_Dapr(source *storage.Dapr) error { + + // AppId + dapr.AppId = genruntime.ClonePointerToString(source.AppId) + + // AppPort + dapr.AppPort = genruntime.ClonePointerToInt(source.AppPort) + + // AppProtocol + if source.AppProtocol != nil { + appProtocol := *source.AppProtocol + appProtocolTemp := genruntime.ToEnum(appProtocol, dapr_AppProtocol_Values) + dapr.AppProtocol = &appProtocolTemp + } else { + dapr.AppProtocol = nil + } + + // EnableApiLogging + if source.EnableApiLogging != nil { + enableApiLogging := *source.EnableApiLogging + dapr.EnableApiLogging = &enableApiLogging + } else { + dapr.EnableApiLogging = nil + } + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + dapr.Enabled = &enabled + } else { + dapr.Enabled = nil + } + + // HttpMaxRequestSize + dapr.HttpMaxRequestSize = genruntime.ClonePointerToInt(source.HttpMaxRequestSize) + + // HttpReadBufferSize + dapr.HttpReadBufferSize = genruntime.ClonePointerToInt(source.HttpReadBufferSize) + + // LogLevel + if source.LogLevel != nil { + logLevel := *source.LogLevel + logLevelTemp := genruntime.ToEnum(logLevel, dapr_LogLevel_Values) + dapr.LogLevel = &logLevelTemp + } else { + dapr.LogLevel = nil + } + + // No error + return nil +} + +// AssignProperties_To_Dapr populates the provided destination Dapr from our Dapr +func (dapr *Dapr) AssignProperties_To_Dapr(destination *storage.Dapr) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AppId + destination.AppId = genruntime.ClonePointerToString(dapr.AppId) + + // AppPort + destination.AppPort = genruntime.ClonePointerToInt(dapr.AppPort) + + // AppProtocol + if dapr.AppProtocol != nil { + appProtocol := string(*dapr.AppProtocol) + destination.AppProtocol = &appProtocol + } else { + destination.AppProtocol = nil + } + + // EnableApiLogging + if dapr.EnableApiLogging != nil { + enableApiLogging := *dapr.EnableApiLogging + destination.EnableApiLogging = &enableApiLogging + } else { + destination.EnableApiLogging = nil + } + + // Enabled + if dapr.Enabled != nil { + enabled := *dapr.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // HttpMaxRequestSize + destination.HttpMaxRequestSize = genruntime.ClonePointerToInt(dapr.HttpMaxRequestSize) + + // HttpReadBufferSize + destination.HttpReadBufferSize = genruntime.ClonePointerToInt(dapr.HttpReadBufferSize) + + // LogLevel + if dapr.LogLevel != nil { + logLevel := string(*dapr.LogLevel) + destination.LogLevel = &logLevel + } else { + destination.LogLevel = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_Dapr_STATUS populates our Dapr from the provided source Dapr_STATUS +func (dapr *Dapr) Initialize_From_Dapr_STATUS(source *Dapr_STATUS) error { + + // AppId + dapr.AppId = genruntime.ClonePointerToString(source.AppId) + + // AppPort + dapr.AppPort = genruntime.ClonePointerToInt(source.AppPort) + + // AppProtocol + if source.AppProtocol != nil { + appProtocol := genruntime.ToEnum(string(*source.AppProtocol), dapr_AppProtocol_Values) + dapr.AppProtocol = &appProtocol + } else { + dapr.AppProtocol = nil + } + + // EnableApiLogging + if source.EnableApiLogging != nil { + enableApiLogging := *source.EnableApiLogging + dapr.EnableApiLogging = &enableApiLogging + } else { + dapr.EnableApiLogging = nil + } + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + dapr.Enabled = &enabled + } else { + dapr.Enabled = nil + } + + // HttpMaxRequestSize + dapr.HttpMaxRequestSize = genruntime.ClonePointerToInt(source.HttpMaxRequestSize) + + // HttpReadBufferSize + dapr.HttpReadBufferSize = genruntime.ClonePointerToInt(source.HttpReadBufferSize) + + // LogLevel + if source.LogLevel != nil { + logLevel := genruntime.ToEnum(string(*source.LogLevel), dapr_LogLevel_Values) + dapr.LogLevel = &logLevel + } else { + dapr.LogLevel = nil + } + + // No error + return nil +} + +// Container App Dapr configuration. +type Dapr_STATUS struct { + // AppId: Dapr application identifier + AppId *string `json:"appId,omitempty"` + + // AppPort: Tells Dapr which port your application is listening on + AppPort *int `json:"appPort,omitempty"` + + // AppProtocol: Tells Dapr which protocol your application is using. Valid options are http and grpc. Default is http + AppProtocol *Dapr_AppProtocol_STATUS `json:"appProtocol,omitempty"` + + // EnableApiLogging: Enables API logging for the Dapr sidecar + EnableApiLogging *bool `json:"enableApiLogging,omitempty"` + + // Enabled: Boolean indicating if the Dapr side car is enabled + Enabled *bool `json:"enabled,omitempty"` + + // HttpMaxRequestSize: Increasing max size of request body http and grpc servers parameter in MB to handle uploading of big + // files. Default is 4 MB. + HttpMaxRequestSize *int `json:"httpMaxRequestSize,omitempty"` + + // HttpReadBufferSize: Dapr max size of http header read buffer in KB to handle when sending multi-KB headers. Default is + // 65KB. + HttpReadBufferSize *int `json:"httpReadBufferSize,omitempty"` + + // LogLevel: Sets the log level for the Dapr sidecar. Allowed values are debug, info, warn, error. Default is info. + LogLevel *Dapr_LogLevel_STATUS `json:"logLevel,omitempty"` +} + +var _ genruntime.FromARMConverter = &Dapr_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (dapr *Dapr_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Dapr_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (dapr *Dapr_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Dapr_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Dapr_STATUS, got %T", armInput) + } + + // Set property "AppId": + if typedInput.AppId != nil { + appId := *typedInput.AppId + dapr.AppId = &appId + } + + // Set property "AppPort": + if typedInput.AppPort != nil { + appPort := *typedInput.AppPort + dapr.AppPort = &appPort + } + + // Set property "AppProtocol": + if typedInput.AppProtocol != nil { + var temp string + temp = string(*typedInput.AppProtocol) + appProtocol := Dapr_AppProtocol_STATUS(temp) + dapr.AppProtocol = &appProtocol + } + + // Set property "EnableApiLogging": + if typedInput.EnableApiLogging != nil { + enableApiLogging := *typedInput.EnableApiLogging + dapr.EnableApiLogging = &enableApiLogging + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + dapr.Enabled = &enabled + } + + // Set property "HttpMaxRequestSize": + if typedInput.HttpMaxRequestSize != nil { + httpMaxRequestSize := *typedInput.HttpMaxRequestSize + dapr.HttpMaxRequestSize = &httpMaxRequestSize + } + + // Set property "HttpReadBufferSize": + if typedInput.HttpReadBufferSize != nil { + httpReadBufferSize := *typedInput.HttpReadBufferSize + dapr.HttpReadBufferSize = &httpReadBufferSize + } + + // Set property "LogLevel": + if typedInput.LogLevel != nil { + var temp string + temp = string(*typedInput.LogLevel) + logLevel := Dapr_LogLevel_STATUS(temp) + dapr.LogLevel = &logLevel + } + + // No error + return nil +} + +// AssignProperties_From_Dapr_STATUS populates our Dapr_STATUS from the provided source Dapr_STATUS +func (dapr *Dapr_STATUS) AssignProperties_From_Dapr_STATUS(source *storage.Dapr_STATUS) error { + + // AppId + dapr.AppId = genruntime.ClonePointerToString(source.AppId) + + // AppPort + dapr.AppPort = genruntime.ClonePointerToInt(source.AppPort) + + // AppProtocol + if source.AppProtocol != nil { + appProtocol := *source.AppProtocol + appProtocolTemp := genruntime.ToEnum(appProtocol, dapr_AppProtocol_STATUS_Values) + dapr.AppProtocol = &appProtocolTemp + } else { + dapr.AppProtocol = nil + } + + // EnableApiLogging + if source.EnableApiLogging != nil { + enableApiLogging := *source.EnableApiLogging + dapr.EnableApiLogging = &enableApiLogging + } else { + dapr.EnableApiLogging = nil + } + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + dapr.Enabled = &enabled + } else { + dapr.Enabled = nil + } + + // HttpMaxRequestSize + dapr.HttpMaxRequestSize = genruntime.ClonePointerToInt(source.HttpMaxRequestSize) + + // HttpReadBufferSize + dapr.HttpReadBufferSize = genruntime.ClonePointerToInt(source.HttpReadBufferSize) + + // LogLevel + if source.LogLevel != nil { + logLevel := *source.LogLevel + logLevelTemp := genruntime.ToEnum(logLevel, dapr_LogLevel_STATUS_Values) + dapr.LogLevel = &logLevelTemp + } else { + dapr.LogLevel = nil + } + + // No error + return nil +} + +// AssignProperties_To_Dapr_STATUS populates the provided destination Dapr_STATUS from our Dapr_STATUS +func (dapr *Dapr_STATUS) AssignProperties_To_Dapr_STATUS(destination *storage.Dapr_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AppId + destination.AppId = genruntime.ClonePointerToString(dapr.AppId) + + // AppPort + destination.AppPort = genruntime.ClonePointerToInt(dapr.AppPort) + + // AppProtocol + if dapr.AppProtocol != nil { + appProtocol := string(*dapr.AppProtocol) + destination.AppProtocol = &appProtocol + } else { + destination.AppProtocol = nil + } + + // EnableApiLogging + if dapr.EnableApiLogging != nil { + enableApiLogging := *dapr.EnableApiLogging + destination.EnableApiLogging = &enableApiLogging + } else { + destination.EnableApiLogging = nil + } + + // Enabled + if dapr.Enabled != nil { + enabled := *dapr.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // HttpMaxRequestSize + destination.HttpMaxRequestSize = genruntime.ClonePointerToInt(dapr.HttpMaxRequestSize) + + // HttpReadBufferSize + destination.HttpReadBufferSize = genruntime.ClonePointerToInt(dapr.HttpReadBufferSize) + + // LogLevel + if dapr.LogLevel != nil { + logLevel := string(*dapr.LogLevel) + destination.LogLevel = &logLevel + } else { + destination.LogLevel = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The type of extendedLocation. +// +kubebuilder:validation:Enum={"CustomLocation"} +type ExtendedLocationType string + +const ExtendedLocationType_CustomLocation = ExtendedLocationType("CustomLocation") + +// Mapping from string to ExtendedLocationType +var extendedLocationType_Values = map[string]ExtendedLocationType{ + "customlocation": ExtendedLocationType_CustomLocation, +} + +// The type of extendedLocation. +type ExtendedLocationType_STATUS string + +const ExtendedLocationType_STATUS_CustomLocation = ExtendedLocationType_STATUS("CustomLocation") + +// Mapping from string to ExtendedLocationType_STATUS +var extendedLocationType_STATUS_Values = map[string]ExtendedLocationType_STATUS{ + "customlocation": ExtendedLocationType_STATUS_CustomLocation, +} + +// Container App Ingress configuration. +type Ingress struct { + // AdditionalPortMappings: Settings to expose additional ports on container app + AdditionalPortMappings []IngressPortMapping `json:"additionalPortMappings,omitempty"` + + // AllowInsecure: Bool indicating if HTTP connections to is allowed. If set to false HTTP connections are automatically + // redirected to HTTPS connections + AllowInsecure *bool `json:"allowInsecure,omitempty"` + + // ClientCertificateMode: Client certificate mode for mTLS authentication. Ignore indicates server drops client certificate + // on forwarding. Accept indicates server forwards client certificate but does not require a client certificate. Require + // indicates server requires a client certificate. + ClientCertificateMode *Ingress_ClientCertificateMode `json:"clientCertificateMode,omitempty"` + + // CorsPolicy: CORS policy for container app + CorsPolicy *CorsPolicy `json:"corsPolicy,omitempty"` + + // CustomDomains: custom domain bindings for Container Apps' hostnames. + CustomDomains []CustomDomain `json:"customDomains,omitempty"` + + // ExposedPort: Exposed Port in containers for TCP traffic from ingress + ExposedPort *int `json:"exposedPort,omitempty"` + + // External: Bool indicating if app exposes an external http endpoint + External *bool `json:"external,omitempty"` + + // IpSecurityRestrictions: Rules to restrict incoming IP address. + IpSecurityRestrictions []IpSecurityRestrictionRule `json:"ipSecurityRestrictions,omitempty"` + + // StickySessions: Sticky Sessions for Single Revision Mode + StickySessions *Ingress_StickySessions `json:"stickySessions,omitempty"` + + // TargetPort: Target Port in containers for traffic from ingress + TargetPort *int `json:"targetPort,omitempty"` + + // Traffic: Traffic weights for app's revisions + Traffic []TrafficWeight `json:"traffic,omitempty"` + + // Transport: Ingress transport protocol + Transport *Ingress_Transport `json:"transport,omitempty"` +} + +var _ genruntime.ARMTransformer = &Ingress{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (ingress *Ingress) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if ingress == nil { + return nil, nil + } + result := &arm.Ingress{} + + // Set property "AdditionalPortMappings": + for _, item := range ingress.AdditionalPortMappings { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.AdditionalPortMappings = append(result.AdditionalPortMappings, *item_ARM.(*arm.IngressPortMapping)) + } + + // Set property "AllowInsecure": + if ingress.AllowInsecure != nil { + allowInsecure := *ingress.AllowInsecure + result.AllowInsecure = &allowInsecure + } + + // Set property "ClientCertificateMode": + if ingress.ClientCertificateMode != nil { + var temp string + temp = string(*ingress.ClientCertificateMode) + clientCertificateMode := arm.Ingress_ClientCertificateMode(temp) + result.ClientCertificateMode = &clientCertificateMode + } + + // Set property "CorsPolicy": + if ingress.CorsPolicy != nil { + corsPolicy_ARM, err := (*ingress.CorsPolicy).ConvertToARM(resolved) + if err != nil { + return nil, err + } + corsPolicy := *corsPolicy_ARM.(*arm.CorsPolicy) + result.CorsPolicy = &corsPolicy + } + + // Set property "CustomDomains": + for _, item := range ingress.CustomDomains { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.CustomDomains = append(result.CustomDomains, *item_ARM.(*arm.CustomDomain)) + } + + // Set property "ExposedPort": + if ingress.ExposedPort != nil { + exposedPort := *ingress.ExposedPort + result.ExposedPort = &exposedPort + } + + // Set property "External": + if ingress.External != nil { + external := *ingress.External + result.External = &external + } + + // Set property "IpSecurityRestrictions": + for _, item := range ingress.IpSecurityRestrictions { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.IpSecurityRestrictions = append(result.IpSecurityRestrictions, *item_ARM.(*arm.IpSecurityRestrictionRule)) + } + + // Set property "StickySessions": + if ingress.StickySessions != nil { + stickySessions_ARM, err := (*ingress.StickySessions).ConvertToARM(resolved) + if err != nil { + return nil, err + } + stickySessions := *stickySessions_ARM.(*arm.Ingress_StickySessions) + result.StickySessions = &stickySessions + } + + // Set property "TargetPort": + if ingress.TargetPort != nil { + targetPort := *ingress.TargetPort + result.TargetPort = &targetPort + } + + // Set property "Traffic": + for _, item := range ingress.Traffic { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Traffic = append(result.Traffic, *item_ARM.(*arm.TrafficWeight)) + } + + // Set property "Transport": + if ingress.Transport != nil { + var temp string + temp = string(*ingress.Transport) + transport := arm.Ingress_Transport(temp) + result.Transport = &transport + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (ingress *Ingress) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Ingress{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (ingress *Ingress) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Ingress) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Ingress, got %T", armInput) + } + + // Set property "AdditionalPortMappings": + for _, item := range typedInput.AdditionalPortMappings { + var item1 IngressPortMapping + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + ingress.AdditionalPortMappings = append(ingress.AdditionalPortMappings, item1) + } + + // Set property "AllowInsecure": + if typedInput.AllowInsecure != nil { + allowInsecure := *typedInput.AllowInsecure + ingress.AllowInsecure = &allowInsecure + } + + // Set property "ClientCertificateMode": + if typedInput.ClientCertificateMode != nil { + var temp string + temp = string(*typedInput.ClientCertificateMode) + clientCertificateMode := Ingress_ClientCertificateMode(temp) + ingress.ClientCertificateMode = &clientCertificateMode + } + + // Set property "CorsPolicy": + if typedInput.CorsPolicy != nil { + var corsPolicy1 CorsPolicy + err := corsPolicy1.PopulateFromARM(owner, *typedInput.CorsPolicy) + if err != nil { + return err + } + corsPolicy := corsPolicy1 + ingress.CorsPolicy = &corsPolicy + } + + // Set property "CustomDomains": + for _, item := range typedInput.CustomDomains { + var item1 CustomDomain + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + ingress.CustomDomains = append(ingress.CustomDomains, item1) + } + + // Set property "ExposedPort": + if typedInput.ExposedPort != nil { + exposedPort := *typedInput.ExposedPort + ingress.ExposedPort = &exposedPort + } + + // Set property "External": + if typedInput.External != nil { + external := *typedInput.External + ingress.External = &external + } + + // Set property "IpSecurityRestrictions": + for _, item := range typedInput.IpSecurityRestrictions { + var item1 IpSecurityRestrictionRule + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + ingress.IpSecurityRestrictions = append(ingress.IpSecurityRestrictions, item1) + } + + // Set property "StickySessions": + if typedInput.StickySessions != nil { + var stickySessions1 Ingress_StickySessions + err := stickySessions1.PopulateFromARM(owner, *typedInput.StickySessions) + if err != nil { + return err + } + stickySessions := stickySessions1 + ingress.StickySessions = &stickySessions + } + + // Set property "TargetPort": + if typedInput.TargetPort != nil { + targetPort := *typedInput.TargetPort + ingress.TargetPort = &targetPort + } + + // Set property "Traffic": + for _, item := range typedInput.Traffic { + var item1 TrafficWeight + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + ingress.Traffic = append(ingress.Traffic, item1) + } + + // Set property "Transport": + if typedInput.Transport != nil { + var temp string + temp = string(*typedInput.Transport) + transport := Ingress_Transport(temp) + ingress.Transport = &transport + } + + // No error + return nil +} + +// AssignProperties_From_Ingress populates our Ingress from the provided source Ingress +func (ingress *Ingress) AssignProperties_From_Ingress(source *storage.Ingress) error { + + // AdditionalPortMappings + if source.AdditionalPortMappings != nil { + additionalPortMappingList := make([]IngressPortMapping, len(source.AdditionalPortMappings)) + for additionalPortMappingIndex, additionalPortMappingItem := range source.AdditionalPortMappings { + // Shadow the loop variable to avoid aliasing + additionalPortMappingItem := additionalPortMappingItem + var additionalPortMapping IngressPortMapping + err := additionalPortMapping.AssignProperties_From_IngressPortMapping(&additionalPortMappingItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_IngressPortMapping() to populate field AdditionalPortMappings") + } + additionalPortMappingList[additionalPortMappingIndex] = additionalPortMapping + } + ingress.AdditionalPortMappings = additionalPortMappingList + } else { + ingress.AdditionalPortMappings = nil + } + + // AllowInsecure + if source.AllowInsecure != nil { + allowInsecure := *source.AllowInsecure + ingress.AllowInsecure = &allowInsecure + } else { + ingress.AllowInsecure = nil + } + + // ClientCertificateMode + if source.ClientCertificateMode != nil { + clientCertificateMode := *source.ClientCertificateMode + clientCertificateModeTemp := genruntime.ToEnum(clientCertificateMode, ingress_ClientCertificateMode_Values) + ingress.ClientCertificateMode = &clientCertificateModeTemp + } else { + ingress.ClientCertificateMode = nil + } + + // CorsPolicy + if source.CorsPolicy != nil { + var corsPolicy CorsPolicy + err := corsPolicy.AssignProperties_From_CorsPolicy(source.CorsPolicy) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_CorsPolicy() to populate field CorsPolicy") + } + ingress.CorsPolicy = &corsPolicy + } else { + ingress.CorsPolicy = nil + } + + // CustomDomains + if source.CustomDomains != nil { + customDomainList := make([]CustomDomain, len(source.CustomDomains)) + for customDomainIndex, customDomainItem := range source.CustomDomains { + // Shadow the loop variable to avoid aliasing + customDomainItem := customDomainItem + var customDomain CustomDomain + err := customDomain.AssignProperties_From_CustomDomain(&customDomainItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_CustomDomain() to populate field CustomDomains") + } + customDomainList[customDomainIndex] = customDomain + } + ingress.CustomDomains = customDomainList + } else { + ingress.CustomDomains = nil + } + + // ExposedPort + ingress.ExposedPort = genruntime.ClonePointerToInt(source.ExposedPort) + + // External + if source.External != nil { + external := *source.External + ingress.External = &external + } else { + ingress.External = nil + } + + // IpSecurityRestrictions + if source.IpSecurityRestrictions != nil { + ipSecurityRestrictionList := make([]IpSecurityRestrictionRule, len(source.IpSecurityRestrictions)) + for ipSecurityRestrictionIndex, ipSecurityRestrictionItem := range source.IpSecurityRestrictions { + // Shadow the loop variable to avoid aliasing + ipSecurityRestrictionItem := ipSecurityRestrictionItem + var ipSecurityRestriction IpSecurityRestrictionRule + err := ipSecurityRestriction.AssignProperties_From_IpSecurityRestrictionRule(&ipSecurityRestrictionItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_IpSecurityRestrictionRule() to populate field IpSecurityRestrictions") + } + ipSecurityRestrictionList[ipSecurityRestrictionIndex] = ipSecurityRestriction + } + ingress.IpSecurityRestrictions = ipSecurityRestrictionList + } else { + ingress.IpSecurityRestrictions = nil + } + + // StickySessions + if source.StickySessions != nil { + var stickySession Ingress_StickySessions + err := stickySession.AssignProperties_From_Ingress_StickySessions(source.StickySessions) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Ingress_StickySessions() to populate field StickySessions") + } + ingress.StickySessions = &stickySession + } else { + ingress.StickySessions = nil + } + + // TargetPort + ingress.TargetPort = genruntime.ClonePointerToInt(source.TargetPort) + + // Traffic + if source.Traffic != nil { + trafficList := make([]TrafficWeight, len(source.Traffic)) + for trafficIndex, trafficItem := range source.Traffic { + // Shadow the loop variable to avoid aliasing + trafficItem := trafficItem + var traffic TrafficWeight + err := traffic.AssignProperties_From_TrafficWeight(&trafficItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_TrafficWeight() to populate field Traffic") + } + trafficList[trafficIndex] = traffic + } + ingress.Traffic = trafficList + } else { + ingress.Traffic = nil + } + + // Transport + if source.Transport != nil { + transport := *source.Transport + transportTemp := genruntime.ToEnum(transport, ingress_Transport_Values) + ingress.Transport = &transportTemp + } else { + ingress.Transport = nil + } + + // No error + return nil +} + +// AssignProperties_To_Ingress populates the provided destination Ingress from our Ingress +func (ingress *Ingress) AssignProperties_To_Ingress(destination *storage.Ingress) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AdditionalPortMappings + if ingress.AdditionalPortMappings != nil { + additionalPortMappingList := make([]storage.IngressPortMapping, len(ingress.AdditionalPortMappings)) + for additionalPortMappingIndex, additionalPortMappingItem := range ingress.AdditionalPortMappings { + // Shadow the loop variable to avoid aliasing + additionalPortMappingItem := additionalPortMappingItem + var additionalPortMapping storage.IngressPortMapping + err := additionalPortMappingItem.AssignProperties_To_IngressPortMapping(&additionalPortMapping) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_IngressPortMapping() to populate field AdditionalPortMappings") + } + additionalPortMappingList[additionalPortMappingIndex] = additionalPortMapping + } + destination.AdditionalPortMappings = additionalPortMappingList + } else { + destination.AdditionalPortMappings = nil + } + + // AllowInsecure + if ingress.AllowInsecure != nil { + allowInsecure := *ingress.AllowInsecure + destination.AllowInsecure = &allowInsecure + } else { + destination.AllowInsecure = nil + } + + // ClientCertificateMode + if ingress.ClientCertificateMode != nil { + clientCertificateMode := string(*ingress.ClientCertificateMode) + destination.ClientCertificateMode = &clientCertificateMode + } else { + destination.ClientCertificateMode = nil + } + + // CorsPolicy + if ingress.CorsPolicy != nil { + var corsPolicy storage.CorsPolicy + err := ingress.CorsPolicy.AssignProperties_To_CorsPolicy(&corsPolicy) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_CorsPolicy() to populate field CorsPolicy") + } + destination.CorsPolicy = &corsPolicy + } else { + destination.CorsPolicy = nil + } + + // CustomDomains + if ingress.CustomDomains != nil { + customDomainList := make([]storage.CustomDomain, len(ingress.CustomDomains)) + for customDomainIndex, customDomainItem := range ingress.CustomDomains { + // Shadow the loop variable to avoid aliasing + customDomainItem := customDomainItem + var customDomain storage.CustomDomain + err := customDomainItem.AssignProperties_To_CustomDomain(&customDomain) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_CustomDomain() to populate field CustomDomains") + } + customDomainList[customDomainIndex] = customDomain + } + destination.CustomDomains = customDomainList + } else { + destination.CustomDomains = nil + } + + // ExposedPort + destination.ExposedPort = genruntime.ClonePointerToInt(ingress.ExposedPort) + + // External + if ingress.External != nil { + external := *ingress.External + destination.External = &external + } else { + destination.External = nil + } + + // IpSecurityRestrictions + if ingress.IpSecurityRestrictions != nil { + ipSecurityRestrictionList := make([]storage.IpSecurityRestrictionRule, len(ingress.IpSecurityRestrictions)) + for ipSecurityRestrictionIndex, ipSecurityRestrictionItem := range ingress.IpSecurityRestrictions { + // Shadow the loop variable to avoid aliasing + ipSecurityRestrictionItem := ipSecurityRestrictionItem + var ipSecurityRestriction storage.IpSecurityRestrictionRule + err := ipSecurityRestrictionItem.AssignProperties_To_IpSecurityRestrictionRule(&ipSecurityRestriction) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_IpSecurityRestrictionRule() to populate field IpSecurityRestrictions") + } + ipSecurityRestrictionList[ipSecurityRestrictionIndex] = ipSecurityRestriction + } + destination.IpSecurityRestrictions = ipSecurityRestrictionList + } else { + destination.IpSecurityRestrictions = nil + } + + // StickySessions + if ingress.StickySessions != nil { + var stickySession storage.Ingress_StickySessions + err := ingress.StickySessions.AssignProperties_To_Ingress_StickySessions(&stickySession) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Ingress_StickySessions() to populate field StickySessions") + } + destination.StickySessions = &stickySession + } else { + destination.StickySessions = nil + } + + // TargetPort + destination.TargetPort = genruntime.ClonePointerToInt(ingress.TargetPort) + + // Traffic + if ingress.Traffic != nil { + trafficList := make([]storage.TrafficWeight, len(ingress.Traffic)) + for trafficIndex, trafficItem := range ingress.Traffic { + // Shadow the loop variable to avoid aliasing + trafficItem := trafficItem + var traffic storage.TrafficWeight + err := trafficItem.AssignProperties_To_TrafficWeight(&traffic) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_TrafficWeight() to populate field Traffic") + } + trafficList[trafficIndex] = traffic + } + destination.Traffic = trafficList + } else { + destination.Traffic = nil + } + + // Transport + if ingress.Transport != nil { + transport := string(*ingress.Transport) + destination.Transport = &transport + } else { + destination.Transport = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_Ingress_STATUS populates our Ingress from the provided source Ingress_STATUS +func (ingress *Ingress) Initialize_From_Ingress_STATUS(source *Ingress_STATUS) error { + + // AdditionalPortMappings + if source.AdditionalPortMappings != nil { + additionalPortMappingList := make([]IngressPortMapping, len(source.AdditionalPortMappings)) + for additionalPortMappingIndex, additionalPortMappingItem := range source.AdditionalPortMappings { + // Shadow the loop variable to avoid aliasing + additionalPortMappingItem := additionalPortMappingItem + var additionalPortMapping IngressPortMapping + err := additionalPortMapping.Initialize_From_IngressPortMapping_STATUS(&additionalPortMappingItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_IngressPortMapping_STATUS() to populate field AdditionalPortMappings") + } + additionalPortMappingList[additionalPortMappingIndex] = additionalPortMapping + } + ingress.AdditionalPortMappings = additionalPortMappingList + } else { + ingress.AdditionalPortMappings = nil + } + + // AllowInsecure + if source.AllowInsecure != nil { + allowInsecure := *source.AllowInsecure + ingress.AllowInsecure = &allowInsecure + } else { + ingress.AllowInsecure = nil + } + + // ClientCertificateMode + if source.ClientCertificateMode != nil { + clientCertificateMode := genruntime.ToEnum(string(*source.ClientCertificateMode), ingress_ClientCertificateMode_Values) + ingress.ClientCertificateMode = &clientCertificateMode + } else { + ingress.ClientCertificateMode = nil + } + + // CorsPolicy + if source.CorsPolicy != nil { + var corsPolicy CorsPolicy + err := corsPolicy.Initialize_From_CorsPolicy_STATUS(source.CorsPolicy) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_CorsPolicy_STATUS() to populate field CorsPolicy") + } + ingress.CorsPolicy = &corsPolicy + } else { + ingress.CorsPolicy = nil + } + + // CustomDomains + if source.CustomDomains != nil { + customDomainList := make([]CustomDomain, len(source.CustomDomains)) + for customDomainIndex, customDomainItem := range source.CustomDomains { + // Shadow the loop variable to avoid aliasing + customDomainItem := customDomainItem + var customDomain CustomDomain + err := customDomain.Initialize_From_CustomDomain_STATUS(&customDomainItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_CustomDomain_STATUS() to populate field CustomDomains") + } + customDomainList[customDomainIndex] = customDomain + } + ingress.CustomDomains = customDomainList + } else { + ingress.CustomDomains = nil + } + + // ExposedPort + ingress.ExposedPort = genruntime.ClonePointerToInt(source.ExposedPort) + + // External + if source.External != nil { + external := *source.External + ingress.External = &external + } else { + ingress.External = nil + } + + // IpSecurityRestrictions + if source.IpSecurityRestrictions != nil { + ipSecurityRestrictionList := make([]IpSecurityRestrictionRule, len(source.IpSecurityRestrictions)) + for ipSecurityRestrictionIndex, ipSecurityRestrictionItem := range source.IpSecurityRestrictions { + // Shadow the loop variable to avoid aliasing + ipSecurityRestrictionItem := ipSecurityRestrictionItem + var ipSecurityRestriction IpSecurityRestrictionRule + err := ipSecurityRestriction.Initialize_From_IpSecurityRestrictionRule_STATUS(&ipSecurityRestrictionItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_IpSecurityRestrictionRule_STATUS() to populate field IpSecurityRestrictions") + } + ipSecurityRestrictionList[ipSecurityRestrictionIndex] = ipSecurityRestriction + } + ingress.IpSecurityRestrictions = ipSecurityRestrictionList + } else { + ingress.IpSecurityRestrictions = nil + } + + // StickySessions + if source.StickySessions != nil { + var stickySession Ingress_StickySessions + err := stickySession.Initialize_From_Ingress_StickySessions_STATUS(source.StickySessions) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_Ingress_StickySessions_STATUS() to populate field StickySessions") + } + ingress.StickySessions = &stickySession + } else { + ingress.StickySessions = nil + } + + // TargetPort + ingress.TargetPort = genruntime.ClonePointerToInt(source.TargetPort) + + // Traffic + if source.Traffic != nil { + trafficList := make([]TrafficWeight, len(source.Traffic)) + for trafficIndex, trafficItem := range source.Traffic { + // Shadow the loop variable to avoid aliasing + trafficItem := trafficItem + var traffic TrafficWeight + err := traffic.Initialize_From_TrafficWeight_STATUS(&trafficItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_TrafficWeight_STATUS() to populate field Traffic") + } + trafficList[trafficIndex] = traffic + } + ingress.Traffic = trafficList + } else { + ingress.Traffic = nil + } + + // Transport + if source.Transport != nil { + transport := genruntime.ToEnum(string(*source.Transport), ingress_Transport_Values) + ingress.Transport = &transport + } else { + ingress.Transport = nil + } + + // No error + return nil +} + +// Container App Ingress configuration. +type Ingress_STATUS struct { + // AdditionalPortMappings: Settings to expose additional ports on container app + AdditionalPortMappings []IngressPortMapping_STATUS `json:"additionalPortMappings,omitempty"` + + // AllowInsecure: Bool indicating if HTTP connections to is allowed. If set to false HTTP connections are automatically + // redirected to HTTPS connections + AllowInsecure *bool `json:"allowInsecure,omitempty"` + + // ClientCertificateMode: Client certificate mode for mTLS authentication. Ignore indicates server drops client certificate + // on forwarding. Accept indicates server forwards client certificate but does not require a client certificate. Require + // indicates server requires a client certificate. + ClientCertificateMode *Ingress_ClientCertificateMode_STATUS `json:"clientCertificateMode,omitempty"` + + // CorsPolicy: CORS policy for container app + CorsPolicy *CorsPolicy_STATUS `json:"corsPolicy,omitempty"` + + // CustomDomains: custom domain bindings for Container Apps' hostnames. + CustomDomains []CustomDomain_STATUS `json:"customDomains,omitempty"` + + // ExposedPort: Exposed Port in containers for TCP traffic from ingress + ExposedPort *int `json:"exposedPort,omitempty"` + + // External: Bool indicating if app exposes an external http endpoint + External *bool `json:"external,omitempty"` + + // Fqdn: Hostname. + Fqdn *string `json:"fqdn,omitempty"` + + // IpSecurityRestrictions: Rules to restrict incoming IP address. + IpSecurityRestrictions []IpSecurityRestrictionRule_STATUS `json:"ipSecurityRestrictions,omitempty"` + + // StickySessions: Sticky Sessions for Single Revision Mode + StickySessions *Ingress_StickySessions_STATUS `json:"stickySessions,omitempty"` + + // TargetPort: Target Port in containers for traffic from ingress + TargetPort *int `json:"targetPort,omitempty"` + + // Traffic: Traffic weights for app's revisions + Traffic []TrafficWeight_STATUS `json:"traffic,omitempty"` + + // Transport: Ingress transport protocol + Transport *Ingress_Transport_STATUS `json:"transport,omitempty"` +} + +var _ genruntime.FromARMConverter = &Ingress_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (ingress *Ingress_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Ingress_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (ingress *Ingress_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Ingress_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Ingress_STATUS, got %T", armInput) + } + + // Set property "AdditionalPortMappings": + for _, item := range typedInput.AdditionalPortMappings { + var item1 IngressPortMapping_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + ingress.AdditionalPortMappings = append(ingress.AdditionalPortMappings, item1) + } + + // Set property "AllowInsecure": + if typedInput.AllowInsecure != nil { + allowInsecure := *typedInput.AllowInsecure + ingress.AllowInsecure = &allowInsecure + } + + // Set property "ClientCertificateMode": + if typedInput.ClientCertificateMode != nil { + var temp string + temp = string(*typedInput.ClientCertificateMode) + clientCertificateMode := Ingress_ClientCertificateMode_STATUS(temp) + ingress.ClientCertificateMode = &clientCertificateMode + } + + // Set property "CorsPolicy": + if typedInput.CorsPolicy != nil { + var corsPolicy1 CorsPolicy_STATUS + err := corsPolicy1.PopulateFromARM(owner, *typedInput.CorsPolicy) + if err != nil { + return err + } + corsPolicy := corsPolicy1 + ingress.CorsPolicy = &corsPolicy + } + + // Set property "CustomDomains": + for _, item := range typedInput.CustomDomains { + var item1 CustomDomain_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + ingress.CustomDomains = append(ingress.CustomDomains, item1) + } + + // Set property "ExposedPort": + if typedInput.ExposedPort != nil { + exposedPort := *typedInput.ExposedPort + ingress.ExposedPort = &exposedPort + } + + // Set property "External": + if typedInput.External != nil { + external := *typedInput.External + ingress.External = &external + } + + // Set property "Fqdn": + if typedInput.Fqdn != nil { + fqdn := *typedInput.Fqdn + ingress.Fqdn = &fqdn + } + + // Set property "IpSecurityRestrictions": + for _, item := range typedInput.IpSecurityRestrictions { + var item1 IpSecurityRestrictionRule_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + ingress.IpSecurityRestrictions = append(ingress.IpSecurityRestrictions, item1) + } + + // Set property "StickySessions": + if typedInput.StickySessions != nil { + var stickySessions1 Ingress_StickySessions_STATUS + err := stickySessions1.PopulateFromARM(owner, *typedInput.StickySessions) + if err != nil { + return err + } + stickySessions := stickySessions1 + ingress.StickySessions = &stickySessions + } + + // Set property "TargetPort": + if typedInput.TargetPort != nil { + targetPort := *typedInput.TargetPort + ingress.TargetPort = &targetPort + } + + // Set property "Traffic": + for _, item := range typedInput.Traffic { + var item1 TrafficWeight_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + ingress.Traffic = append(ingress.Traffic, item1) + } + + // Set property "Transport": + if typedInput.Transport != nil { + var temp string + temp = string(*typedInput.Transport) + transport := Ingress_Transport_STATUS(temp) + ingress.Transport = &transport + } + + // No error + return nil +} + +// AssignProperties_From_Ingress_STATUS populates our Ingress_STATUS from the provided source Ingress_STATUS +func (ingress *Ingress_STATUS) AssignProperties_From_Ingress_STATUS(source *storage.Ingress_STATUS) error { + + // AdditionalPortMappings + if source.AdditionalPortMappings != nil { + additionalPortMappingList := make([]IngressPortMapping_STATUS, len(source.AdditionalPortMappings)) + for additionalPortMappingIndex, additionalPortMappingItem := range source.AdditionalPortMappings { + // Shadow the loop variable to avoid aliasing + additionalPortMappingItem := additionalPortMappingItem + var additionalPortMapping IngressPortMapping_STATUS + err := additionalPortMapping.AssignProperties_From_IngressPortMapping_STATUS(&additionalPortMappingItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_IngressPortMapping_STATUS() to populate field AdditionalPortMappings") + } + additionalPortMappingList[additionalPortMappingIndex] = additionalPortMapping + } + ingress.AdditionalPortMappings = additionalPortMappingList + } else { + ingress.AdditionalPortMappings = nil + } + + // AllowInsecure + if source.AllowInsecure != nil { + allowInsecure := *source.AllowInsecure + ingress.AllowInsecure = &allowInsecure + } else { + ingress.AllowInsecure = nil + } + + // ClientCertificateMode + if source.ClientCertificateMode != nil { + clientCertificateMode := *source.ClientCertificateMode + clientCertificateModeTemp := genruntime.ToEnum(clientCertificateMode, ingress_ClientCertificateMode_STATUS_Values) + ingress.ClientCertificateMode = &clientCertificateModeTemp + } else { + ingress.ClientCertificateMode = nil + } + + // CorsPolicy + if source.CorsPolicy != nil { + var corsPolicy CorsPolicy_STATUS + err := corsPolicy.AssignProperties_From_CorsPolicy_STATUS(source.CorsPolicy) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_CorsPolicy_STATUS() to populate field CorsPolicy") + } + ingress.CorsPolicy = &corsPolicy + } else { + ingress.CorsPolicy = nil + } + + // CustomDomains + if source.CustomDomains != nil { + customDomainList := make([]CustomDomain_STATUS, len(source.CustomDomains)) + for customDomainIndex, customDomainItem := range source.CustomDomains { + // Shadow the loop variable to avoid aliasing + customDomainItem := customDomainItem + var customDomain CustomDomain_STATUS + err := customDomain.AssignProperties_From_CustomDomain_STATUS(&customDomainItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_CustomDomain_STATUS() to populate field CustomDomains") + } + customDomainList[customDomainIndex] = customDomain + } + ingress.CustomDomains = customDomainList + } else { + ingress.CustomDomains = nil + } + + // ExposedPort + ingress.ExposedPort = genruntime.ClonePointerToInt(source.ExposedPort) + + // External + if source.External != nil { + external := *source.External + ingress.External = &external + } else { + ingress.External = nil + } + + // Fqdn + ingress.Fqdn = genruntime.ClonePointerToString(source.Fqdn) + + // IpSecurityRestrictions + if source.IpSecurityRestrictions != nil { + ipSecurityRestrictionList := make([]IpSecurityRestrictionRule_STATUS, len(source.IpSecurityRestrictions)) + for ipSecurityRestrictionIndex, ipSecurityRestrictionItem := range source.IpSecurityRestrictions { + // Shadow the loop variable to avoid aliasing + ipSecurityRestrictionItem := ipSecurityRestrictionItem + var ipSecurityRestriction IpSecurityRestrictionRule_STATUS + err := ipSecurityRestriction.AssignProperties_From_IpSecurityRestrictionRule_STATUS(&ipSecurityRestrictionItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_IpSecurityRestrictionRule_STATUS() to populate field IpSecurityRestrictions") + } + ipSecurityRestrictionList[ipSecurityRestrictionIndex] = ipSecurityRestriction + } + ingress.IpSecurityRestrictions = ipSecurityRestrictionList + } else { + ingress.IpSecurityRestrictions = nil + } + + // StickySessions + if source.StickySessions != nil { + var stickySession Ingress_StickySessions_STATUS + err := stickySession.AssignProperties_From_Ingress_StickySessions_STATUS(source.StickySessions) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Ingress_StickySessions_STATUS() to populate field StickySessions") + } + ingress.StickySessions = &stickySession + } else { + ingress.StickySessions = nil + } + + // TargetPort + ingress.TargetPort = genruntime.ClonePointerToInt(source.TargetPort) + + // Traffic + if source.Traffic != nil { + trafficList := make([]TrafficWeight_STATUS, len(source.Traffic)) + for trafficIndex, trafficItem := range source.Traffic { + // Shadow the loop variable to avoid aliasing + trafficItem := trafficItem + var traffic TrafficWeight_STATUS + err := traffic.AssignProperties_From_TrafficWeight_STATUS(&trafficItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_TrafficWeight_STATUS() to populate field Traffic") + } + trafficList[trafficIndex] = traffic + } + ingress.Traffic = trafficList + } else { + ingress.Traffic = nil + } + + // Transport + if source.Transport != nil { + transport := *source.Transport + transportTemp := genruntime.ToEnum(transport, ingress_Transport_STATUS_Values) + ingress.Transport = &transportTemp + } else { + ingress.Transport = nil + } + + // No error + return nil +} + +// AssignProperties_To_Ingress_STATUS populates the provided destination Ingress_STATUS from our Ingress_STATUS +func (ingress *Ingress_STATUS) AssignProperties_To_Ingress_STATUS(destination *storage.Ingress_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AdditionalPortMappings + if ingress.AdditionalPortMappings != nil { + additionalPortMappingList := make([]storage.IngressPortMapping_STATUS, len(ingress.AdditionalPortMappings)) + for additionalPortMappingIndex, additionalPortMappingItem := range ingress.AdditionalPortMappings { + // Shadow the loop variable to avoid aliasing + additionalPortMappingItem := additionalPortMappingItem + var additionalPortMapping storage.IngressPortMapping_STATUS + err := additionalPortMappingItem.AssignProperties_To_IngressPortMapping_STATUS(&additionalPortMapping) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_IngressPortMapping_STATUS() to populate field AdditionalPortMappings") + } + additionalPortMappingList[additionalPortMappingIndex] = additionalPortMapping + } + destination.AdditionalPortMappings = additionalPortMappingList + } else { + destination.AdditionalPortMappings = nil + } + + // AllowInsecure + if ingress.AllowInsecure != nil { + allowInsecure := *ingress.AllowInsecure + destination.AllowInsecure = &allowInsecure + } else { + destination.AllowInsecure = nil + } + + // ClientCertificateMode + if ingress.ClientCertificateMode != nil { + clientCertificateMode := string(*ingress.ClientCertificateMode) + destination.ClientCertificateMode = &clientCertificateMode + } else { + destination.ClientCertificateMode = nil + } + + // CorsPolicy + if ingress.CorsPolicy != nil { + var corsPolicy storage.CorsPolicy_STATUS + err := ingress.CorsPolicy.AssignProperties_To_CorsPolicy_STATUS(&corsPolicy) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_CorsPolicy_STATUS() to populate field CorsPolicy") + } + destination.CorsPolicy = &corsPolicy + } else { + destination.CorsPolicy = nil + } + + // CustomDomains + if ingress.CustomDomains != nil { + customDomainList := make([]storage.CustomDomain_STATUS, len(ingress.CustomDomains)) + for customDomainIndex, customDomainItem := range ingress.CustomDomains { + // Shadow the loop variable to avoid aliasing + customDomainItem := customDomainItem + var customDomain storage.CustomDomain_STATUS + err := customDomainItem.AssignProperties_To_CustomDomain_STATUS(&customDomain) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_CustomDomain_STATUS() to populate field CustomDomains") + } + customDomainList[customDomainIndex] = customDomain + } + destination.CustomDomains = customDomainList + } else { + destination.CustomDomains = nil + } + + // ExposedPort + destination.ExposedPort = genruntime.ClonePointerToInt(ingress.ExposedPort) + + // External + if ingress.External != nil { + external := *ingress.External + destination.External = &external + } else { + destination.External = nil + } + + // Fqdn + destination.Fqdn = genruntime.ClonePointerToString(ingress.Fqdn) + + // IpSecurityRestrictions + if ingress.IpSecurityRestrictions != nil { + ipSecurityRestrictionList := make([]storage.IpSecurityRestrictionRule_STATUS, len(ingress.IpSecurityRestrictions)) + for ipSecurityRestrictionIndex, ipSecurityRestrictionItem := range ingress.IpSecurityRestrictions { + // Shadow the loop variable to avoid aliasing + ipSecurityRestrictionItem := ipSecurityRestrictionItem + var ipSecurityRestriction storage.IpSecurityRestrictionRule_STATUS + err := ipSecurityRestrictionItem.AssignProperties_To_IpSecurityRestrictionRule_STATUS(&ipSecurityRestriction) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_IpSecurityRestrictionRule_STATUS() to populate field IpSecurityRestrictions") + } + ipSecurityRestrictionList[ipSecurityRestrictionIndex] = ipSecurityRestriction + } + destination.IpSecurityRestrictions = ipSecurityRestrictionList + } else { + destination.IpSecurityRestrictions = nil + } + + // StickySessions + if ingress.StickySessions != nil { + var stickySession storage.Ingress_StickySessions_STATUS + err := ingress.StickySessions.AssignProperties_To_Ingress_StickySessions_STATUS(&stickySession) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Ingress_StickySessions_STATUS() to populate field StickySessions") + } + destination.StickySessions = &stickySession + } else { + destination.StickySessions = nil + } + + // TargetPort + destination.TargetPort = genruntime.ClonePointerToInt(ingress.TargetPort) + + // Traffic + if ingress.Traffic != nil { + trafficList := make([]storage.TrafficWeight_STATUS, len(ingress.Traffic)) + for trafficIndex, trafficItem := range ingress.Traffic { + // Shadow the loop variable to avoid aliasing + trafficItem := trafficItem + var traffic storage.TrafficWeight_STATUS + err := trafficItem.AssignProperties_To_TrafficWeight_STATUS(&traffic) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_TrafficWeight_STATUS() to populate field Traffic") + } + trafficList[trafficIndex] = traffic + } + destination.Traffic = trafficList + } else { + destination.Traffic = nil + } + + // Transport + if ingress.Transport != nil { + transport := string(*ingress.Transport) + destination.Transport = &transport + } else { + destination.Transport = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). +// +kubebuilder:validation:Enum={"None","SystemAssigned","SystemAssigned,UserAssigned","UserAssigned"} +type ManagedServiceIdentityType string + +const ( + ManagedServiceIdentityType_None = ManagedServiceIdentityType("None") + ManagedServiceIdentityType_SystemAssigned = ManagedServiceIdentityType("SystemAssigned") + ManagedServiceIdentityType_SystemAssignedUserAssigned = ManagedServiceIdentityType("SystemAssigned,UserAssigned") + ManagedServiceIdentityType_UserAssigned = ManagedServiceIdentityType("UserAssigned") +) + +// Mapping from string to ManagedServiceIdentityType +var managedServiceIdentityType_Values = map[string]ManagedServiceIdentityType{ + "none": ManagedServiceIdentityType_None, + "systemassigned": ManagedServiceIdentityType_SystemAssigned, + "systemassigned,userassigned": ManagedServiceIdentityType_SystemAssignedUserAssigned, + "userassigned": ManagedServiceIdentityType_UserAssigned, +} + +// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). +type ManagedServiceIdentityType_STATUS string + +const ( + ManagedServiceIdentityType_STATUS_None = ManagedServiceIdentityType_STATUS("None") + ManagedServiceIdentityType_STATUS_SystemAssigned = ManagedServiceIdentityType_STATUS("SystemAssigned") + ManagedServiceIdentityType_STATUS_SystemAssignedUserAssigned = ManagedServiceIdentityType_STATUS("SystemAssigned,UserAssigned") + ManagedServiceIdentityType_STATUS_UserAssigned = ManagedServiceIdentityType_STATUS("UserAssigned") +) + +// Mapping from string to ManagedServiceIdentityType_STATUS +var managedServiceIdentityType_STATUS_Values = map[string]ManagedServiceIdentityType_STATUS{ + "none": ManagedServiceIdentityType_STATUS_None, + "systemassigned": ManagedServiceIdentityType_STATUS_SystemAssigned, + "systemassigned,userassigned": ManagedServiceIdentityType_STATUS_SystemAssignedUserAssigned, + "userassigned": ManagedServiceIdentityType_STATUS_UserAssigned, +} + +// Container App Private Registry +type RegistryCredentials struct { + // IdentityReference: A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned + // identities, use the full user-assigned identity Resource ID. For system-assigned identities, use 'system' + IdentityReference *genruntime.ResourceReference `armReference:"Identity" json:"identityReference,omitempty"` + + // PasswordSecretRef: The name of the Secret that contains the registry login password + PasswordSecretRef *string `json:"passwordSecretRef,omitempty"` + + // Server: Container Registry Server + Server *string `json:"server,omitempty"` + + // Username: Container Registry Username + Username *string `json:"username,omitempty"` +} + +var _ genruntime.ARMTransformer = &RegistryCredentials{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (credentials *RegistryCredentials) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if credentials == nil { + return nil, nil + } + result := &arm.RegistryCredentials{} + + // Set property "Identity": + if credentials.IdentityReference != nil { + identityReferenceARMID, err := resolved.ResolvedReferences.Lookup(*credentials.IdentityReference) + if err != nil { + return nil, err + } + identityReference := identityReferenceARMID + result.Identity = &identityReference + } + + // Set property "PasswordSecretRef": + if credentials.PasswordSecretRef != nil { + passwordSecretRef := *credentials.PasswordSecretRef + result.PasswordSecretRef = &passwordSecretRef + } + + // Set property "Server": + if credentials.Server != nil { + server := *credentials.Server + result.Server = &server + } + + // Set property "Username": + if credentials.Username != nil { + username := *credentials.Username + result.Username = &username + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (credentials *RegistryCredentials) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.RegistryCredentials{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (credentials *RegistryCredentials) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.RegistryCredentials) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.RegistryCredentials, got %T", armInput) + } + + // no assignment for property "IdentityReference" + + // Set property "PasswordSecretRef": + if typedInput.PasswordSecretRef != nil { + passwordSecretRef := *typedInput.PasswordSecretRef + credentials.PasswordSecretRef = &passwordSecretRef + } + + // Set property "Server": + if typedInput.Server != nil { + server := *typedInput.Server + credentials.Server = &server + } + + // Set property "Username": + if typedInput.Username != nil { + username := *typedInput.Username + credentials.Username = &username + } + + // No error + return nil +} + +// AssignProperties_From_RegistryCredentials populates our RegistryCredentials from the provided source RegistryCredentials +func (credentials *RegistryCredentials) AssignProperties_From_RegistryCredentials(source *storage.RegistryCredentials) error { + + // IdentityReference + if source.IdentityReference != nil { + identityReference := source.IdentityReference.Copy() + credentials.IdentityReference = &identityReference + } else { + credentials.IdentityReference = nil + } + + // PasswordSecretRef + credentials.PasswordSecretRef = genruntime.ClonePointerToString(source.PasswordSecretRef) + + // Server + credentials.Server = genruntime.ClonePointerToString(source.Server) + + // Username + credentials.Username = genruntime.ClonePointerToString(source.Username) + + // No error + return nil +} + +// AssignProperties_To_RegistryCredentials populates the provided destination RegistryCredentials from our RegistryCredentials +func (credentials *RegistryCredentials) AssignProperties_To_RegistryCredentials(destination *storage.RegistryCredentials) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // IdentityReference + if credentials.IdentityReference != nil { + identityReference := credentials.IdentityReference.Copy() + destination.IdentityReference = &identityReference + } else { + destination.IdentityReference = nil + } + + // PasswordSecretRef + destination.PasswordSecretRef = genruntime.ClonePointerToString(credentials.PasswordSecretRef) + + // Server + destination.Server = genruntime.ClonePointerToString(credentials.Server) + + // Username + destination.Username = genruntime.ClonePointerToString(credentials.Username) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_RegistryCredentials_STATUS populates our RegistryCredentials from the provided source RegistryCredentials_STATUS +func (credentials *RegistryCredentials) Initialize_From_RegistryCredentials_STATUS(source *RegistryCredentials_STATUS) error { + + // PasswordSecretRef + credentials.PasswordSecretRef = genruntime.ClonePointerToString(source.PasswordSecretRef) + + // Server + credentials.Server = genruntime.ClonePointerToString(source.Server) + + // Username + credentials.Username = genruntime.ClonePointerToString(source.Username) + + // No error + return nil +} + +// Container App Private Registry +type RegistryCredentials_STATUS struct { + // Identity: A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned identities, use the + // full user-assigned identity Resource ID. For system-assigned identities, use 'system' + Identity *string `json:"identity,omitempty"` + + // PasswordSecretRef: The name of the Secret that contains the registry login password + PasswordSecretRef *string `json:"passwordSecretRef,omitempty"` + + // Server: Container Registry Server + Server *string `json:"server,omitempty"` + + // Username: Container Registry Username + Username *string `json:"username,omitempty"` +} + +var _ genruntime.FromARMConverter = &RegistryCredentials_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (credentials *RegistryCredentials_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.RegistryCredentials_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (credentials *RegistryCredentials_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.RegistryCredentials_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.RegistryCredentials_STATUS, got %T", armInput) + } + + // Set property "Identity": + if typedInput.Identity != nil { + identity := *typedInput.Identity + credentials.Identity = &identity + } + + // Set property "PasswordSecretRef": + if typedInput.PasswordSecretRef != nil { + passwordSecretRef := *typedInput.PasswordSecretRef + credentials.PasswordSecretRef = &passwordSecretRef + } + + // Set property "Server": + if typedInput.Server != nil { + server := *typedInput.Server + credentials.Server = &server + } + + // Set property "Username": + if typedInput.Username != nil { + username := *typedInput.Username + credentials.Username = &username + } + + // No error + return nil +} + +// AssignProperties_From_RegistryCredentials_STATUS populates our RegistryCredentials_STATUS from the provided source RegistryCredentials_STATUS +func (credentials *RegistryCredentials_STATUS) AssignProperties_From_RegistryCredentials_STATUS(source *storage.RegistryCredentials_STATUS) error { + + // Identity + credentials.Identity = genruntime.ClonePointerToString(source.Identity) + + // PasswordSecretRef + credentials.PasswordSecretRef = genruntime.ClonePointerToString(source.PasswordSecretRef) + + // Server + credentials.Server = genruntime.ClonePointerToString(source.Server) + + // Username + credentials.Username = genruntime.ClonePointerToString(source.Username) + + // No error + return nil +} + +// AssignProperties_To_RegistryCredentials_STATUS populates the provided destination RegistryCredentials_STATUS from our RegistryCredentials_STATUS +func (credentials *RegistryCredentials_STATUS) AssignProperties_To_RegistryCredentials_STATUS(destination *storage.RegistryCredentials_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Identity + destination.Identity = genruntime.ClonePointerToString(credentials.Identity) + + // PasswordSecretRef + destination.PasswordSecretRef = genruntime.ClonePointerToString(credentials.PasswordSecretRef) + + // Server + destination.Server = genruntime.ClonePointerToString(credentials.Server) + + // Username + destination.Username = genruntime.ClonePointerToString(credentials.Username) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Container App scaling configurations. +type Scale struct { + // MaxReplicas: Optional. Maximum number of container replicas. Defaults to 10 if not set. + MaxReplicas *int `json:"maxReplicas,omitempty"` + + // MinReplicas: Optional. Minimum number of container replicas. + MinReplicas *int `json:"minReplicas,omitempty"` + + // Rules: Scaling rules. + Rules []ScaleRule `json:"rules,omitempty"` +} + +var _ genruntime.ARMTransformer = &Scale{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (scale *Scale) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if scale == nil { + return nil, nil + } + result := &arm.Scale{} + + // Set property "MaxReplicas": + if scale.MaxReplicas != nil { + maxReplicas := *scale.MaxReplicas + result.MaxReplicas = &maxReplicas + } + + // Set property "MinReplicas": + if scale.MinReplicas != nil { + minReplicas := *scale.MinReplicas + result.MinReplicas = &minReplicas + } + + // Set property "Rules": + for _, item := range scale.Rules { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Rules = append(result.Rules, *item_ARM.(*arm.ScaleRule)) + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (scale *Scale) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Scale{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (scale *Scale) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Scale) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Scale, got %T", armInput) + } + + // Set property "MaxReplicas": + if typedInput.MaxReplicas != nil { + maxReplicas := *typedInput.MaxReplicas + scale.MaxReplicas = &maxReplicas + } + + // Set property "MinReplicas": + if typedInput.MinReplicas != nil { + minReplicas := *typedInput.MinReplicas + scale.MinReplicas = &minReplicas + } + + // Set property "Rules": + for _, item := range typedInput.Rules { + var item1 ScaleRule + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + scale.Rules = append(scale.Rules, item1) + } + + // No error + return nil +} + +// AssignProperties_From_Scale populates our Scale from the provided source Scale +func (scale *Scale) AssignProperties_From_Scale(source *storage.Scale) error { + + // MaxReplicas + scale.MaxReplicas = genruntime.ClonePointerToInt(source.MaxReplicas) + + // MinReplicas + scale.MinReplicas = genruntime.ClonePointerToInt(source.MinReplicas) + + // Rules + if source.Rules != nil { + ruleList := make([]ScaleRule, len(source.Rules)) + for ruleIndex, ruleItem := range source.Rules { + // Shadow the loop variable to avoid aliasing + ruleItem := ruleItem + var rule ScaleRule + err := rule.AssignProperties_From_ScaleRule(&ruleItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ScaleRule() to populate field Rules") + } + ruleList[ruleIndex] = rule + } + scale.Rules = ruleList + } else { + scale.Rules = nil + } + + // No error + return nil +} + +// AssignProperties_To_Scale populates the provided destination Scale from our Scale +func (scale *Scale) AssignProperties_To_Scale(destination *storage.Scale) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // MaxReplicas + destination.MaxReplicas = genruntime.ClonePointerToInt(scale.MaxReplicas) + + // MinReplicas + destination.MinReplicas = genruntime.ClonePointerToInt(scale.MinReplicas) + + // Rules + if scale.Rules != nil { + ruleList := make([]storage.ScaleRule, len(scale.Rules)) + for ruleIndex, ruleItem := range scale.Rules { + // Shadow the loop variable to avoid aliasing + ruleItem := ruleItem + var rule storage.ScaleRule + err := ruleItem.AssignProperties_To_ScaleRule(&rule) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ScaleRule() to populate field Rules") + } + ruleList[ruleIndex] = rule + } + destination.Rules = ruleList + } else { + destination.Rules = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_Scale_STATUS populates our Scale from the provided source Scale_STATUS +func (scale *Scale) Initialize_From_Scale_STATUS(source *Scale_STATUS) error { + + // MaxReplicas + scale.MaxReplicas = genruntime.ClonePointerToInt(source.MaxReplicas) + + // MinReplicas + scale.MinReplicas = genruntime.ClonePointerToInt(source.MinReplicas) + + // Rules + if source.Rules != nil { + ruleList := make([]ScaleRule, len(source.Rules)) + for ruleIndex, ruleItem := range source.Rules { + // Shadow the loop variable to avoid aliasing + ruleItem := ruleItem + var rule ScaleRule + err := rule.Initialize_From_ScaleRule_STATUS(&ruleItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_ScaleRule_STATUS() to populate field Rules") + } + ruleList[ruleIndex] = rule + } + scale.Rules = ruleList + } else { + scale.Rules = nil + } + + // No error + return nil +} + +// Container App scaling configurations. +type Scale_STATUS struct { + // MaxReplicas: Optional. Maximum number of container replicas. Defaults to 10 if not set. + MaxReplicas *int `json:"maxReplicas,omitempty"` + + // MinReplicas: Optional. Minimum number of container replicas. + MinReplicas *int `json:"minReplicas,omitempty"` + + // Rules: Scaling rules. + Rules []ScaleRule_STATUS `json:"rules,omitempty"` +} + +var _ genruntime.FromARMConverter = &Scale_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (scale *Scale_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Scale_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (scale *Scale_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Scale_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Scale_STATUS, got %T", armInput) + } + + // Set property "MaxReplicas": + if typedInput.MaxReplicas != nil { + maxReplicas := *typedInput.MaxReplicas + scale.MaxReplicas = &maxReplicas + } + + // Set property "MinReplicas": + if typedInput.MinReplicas != nil { + minReplicas := *typedInput.MinReplicas + scale.MinReplicas = &minReplicas + } + + // Set property "Rules": + for _, item := range typedInput.Rules { + var item1 ScaleRule_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + scale.Rules = append(scale.Rules, item1) + } + + // No error + return nil +} + +// AssignProperties_From_Scale_STATUS populates our Scale_STATUS from the provided source Scale_STATUS +func (scale *Scale_STATUS) AssignProperties_From_Scale_STATUS(source *storage.Scale_STATUS) error { + + // MaxReplicas + scale.MaxReplicas = genruntime.ClonePointerToInt(source.MaxReplicas) + + // MinReplicas + scale.MinReplicas = genruntime.ClonePointerToInt(source.MinReplicas) + + // Rules + if source.Rules != nil { + ruleList := make([]ScaleRule_STATUS, len(source.Rules)) + for ruleIndex, ruleItem := range source.Rules { + // Shadow the loop variable to avoid aliasing + ruleItem := ruleItem + var rule ScaleRule_STATUS + err := rule.AssignProperties_From_ScaleRule_STATUS(&ruleItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ScaleRule_STATUS() to populate field Rules") + } + ruleList[ruleIndex] = rule + } + scale.Rules = ruleList + } else { + scale.Rules = nil + } + + // No error + return nil +} + +// AssignProperties_To_Scale_STATUS populates the provided destination Scale_STATUS from our Scale_STATUS +func (scale *Scale_STATUS) AssignProperties_To_Scale_STATUS(destination *storage.Scale_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // MaxReplicas + destination.MaxReplicas = genruntime.ClonePointerToInt(scale.MaxReplicas) + + // MinReplicas + destination.MinReplicas = genruntime.ClonePointerToInt(scale.MinReplicas) + + // Rules + if scale.Rules != nil { + ruleList := make([]storage.ScaleRule_STATUS, len(scale.Rules)) + for ruleIndex, ruleItem := range scale.Rules { + // Shadow the loop variable to avoid aliasing + ruleItem := ruleItem + var rule storage.ScaleRule_STATUS + err := ruleItem.AssignProperties_To_ScaleRule_STATUS(&rule) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ScaleRule_STATUS() to populate field Rules") + } + ruleList[ruleIndex] = rule + } + destination.Rules = ruleList + } else { + destination.Rules = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Secret definition. +type Secret struct { + // IdentityReference: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a + // system-assigned identity. + IdentityReference *genruntime.ResourceReference `armReference:"Identity" json:"identityReference,omitempty"` + + // KeyVaultUrl: Azure Key Vault URL pointing to the secret referenced by the container app. + KeyVaultUrl *string `json:"keyVaultUrl,omitempty"` + + // Name: Secret Name. + Name *string `json:"name,omitempty"` + + // Value: Secret Value. + Value *genruntime.SecretReference `json:"value,omitempty"` +} + +var _ genruntime.ARMTransformer = &Secret{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (secret *Secret) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if secret == nil { + return nil, nil + } + result := &arm.Secret{} + + // Set property "Identity": + if secret.IdentityReference != nil { + identityReferenceARMID, err := resolved.ResolvedReferences.Lookup(*secret.IdentityReference) + if err != nil { + return nil, err + } + identityReference := identityReferenceARMID + result.Identity = &identityReference + } + + // Set property "KeyVaultUrl": + if secret.KeyVaultUrl != nil { + keyVaultUrl := *secret.KeyVaultUrl + result.KeyVaultUrl = &keyVaultUrl + } + + // Set property "Name": + if secret.Name != nil { + name := *secret.Name + result.Name = &name + } + + // Set property "Value": + if secret.Value != nil { + valueSecret, err := resolved.ResolvedSecrets.Lookup(*secret.Value) + if err != nil { + return nil, eris.Wrap(err, "looking up secret for property Value") + } + value := valueSecret + result.Value = &value + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (secret *Secret) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Secret{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (secret *Secret) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Secret) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Secret, got %T", armInput) + } + + // no assignment for property "IdentityReference" + + // Set property "KeyVaultUrl": + if typedInput.KeyVaultUrl != nil { + keyVaultUrl := *typedInput.KeyVaultUrl + secret.KeyVaultUrl = &keyVaultUrl + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + secret.Name = &name + } + + // no assignment for property "Value" + + // No error + return nil +} + +// AssignProperties_From_Secret populates our Secret from the provided source Secret +func (secret *Secret) AssignProperties_From_Secret(source *storage.Secret) error { + + // IdentityReference + if source.IdentityReference != nil { + identityReference := source.IdentityReference.Copy() + secret.IdentityReference = &identityReference + } else { + secret.IdentityReference = nil + } + + // KeyVaultUrl + secret.KeyVaultUrl = genruntime.ClonePointerToString(source.KeyVaultUrl) + + // Name + secret.Name = genruntime.ClonePointerToString(source.Name) + + // Value + if source.Value != nil { + value := source.Value.Copy() + secret.Value = &value + } else { + secret.Value = nil + } + + // No error + return nil +} + +// AssignProperties_To_Secret populates the provided destination Secret from our Secret +func (secret *Secret) AssignProperties_To_Secret(destination *storage.Secret) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // IdentityReference + if secret.IdentityReference != nil { + identityReference := secret.IdentityReference.Copy() + destination.IdentityReference = &identityReference + } else { + destination.IdentityReference = nil + } + + // KeyVaultUrl + destination.KeyVaultUrl = genruntime.ClonePointerToString(secret.KeyVaultUrl) + + // Name + destination.Name = genruntime.ClonePointerToString(secret.Name) + + // Value + if secret.Value != nil { + value := secret.Value.Copy() + destination.Value = &value + } else { + destination.Value = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_Secret_STATUS populates our Secret from the provided source Secret_STATUS +func (secret *Secret) Initialize_From_Secret_STATUS(source *Secret_STATUS) error { + + // KeyVaultUrl + secret.KeyVaultUrl = genruntime.ClonePointerToString(source.KeyVaultUrl) + + // Name + secret.Name = genruntime.ClonePointerToString(source.Name) + + // No error + return nil +} + +// Secret definition. +type Secret_STATUS struct { + // Identity: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a system-assigned + // identity. + Identity *string `json:"identity,omitempty"` + + // KeyVaultUrl: Azure Key Vault URL pointing to the secret referenced by the container app. + KeyVaultUrl *string `json:"keyVaultUrl,omitempty"` + + // Name: Secret Name. + Name *string `json:"name,omitempty"` +} + +var _ genruntime.FromARMConverter = &Secret_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (secret *Secret_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Secret_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (secret *Secret_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Secret_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Secret_STATUS, got %T", armInput) + } + + // Set property "Identity": + if typedInput.Identity != nil { + identity := *typedInput.Identity + secret.Identity = &identity + } + + // Set property "KeyVaultUrl": + if typedInput.KeyVaultUrl != nil { + keyVaultUrl := *typedInput.KeyVaultUrl + secret.KeyVaultUrl = &keyVaultUrl + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + secret.Name = &name + } + + // No error + return nil +} + +// AssignProperties_From_Secret_STATUS populates our Secret_STATUS from the provided source Secret_STATUS +func (secret *Secret_STATUS) AssignProperties_From_Secret_STATUS(source *storage.Secret_STATUS) error { + + // Identity + secret.Identity = genruntime.ClonePointerToString(source.Identity) + + // KeyVaultUrl + secret.KeyVaultUrl = genruntime.ClonePointerToString(source.KeyVaultUrl) + + // Name + secret.Name = genruntime.ClonePointerToString(source.Name) + + // No error + return nil +} + +// AssignProperties_To_Secret_STATUS populates the provided destination Secret_STATUS from our Secret_STATUS +func (secret *Secret_STATUS) AssignProperties_To_Secret_STATUS(destination *storage.Secret_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Identity + destination.Identity = genruntime.ClonePointerToString(secret.Identity) + + // KeyVaultUrl + destination.KeyVaultUrl = genruntime.ClonePointerToString(secret.KeyVaultUrl) + + // Name + destination.Name = genruntime.ClonePointerToString(secret.Name) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Container App to be a dev service +type Service struct { + // +kubebuilder:validation:Required + // Type: Dev ContainerApp service type + Type *string `json:"type,omitempty"` +} + +var _ genruntime.ARMTransformer = &Service{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (service *Service) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if service == nil { + return nil, nil + } + result := &arm.Service{} + + // Set property "Type": + if service.Type != nil { + typeVar := *service.Type + result.Type = &typeVar + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (service *Service) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Service{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (service *Service) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Service) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Service, got %T", armInput) + } + + // Set property "Type": + if typedInput.Type != nil { + typeVar := *typedInput.Type + service.Type = &typeVar + } + + // No error + return nil +} + +// AssignProperties_From_Service populates our Service from the provided source Service +func (service *Service) AssignProperties_From_Service(source *storage.Service) error { + + // Type + service.Type = genruntime.ClonePointerToString(source.Type) + + // No error + return nil +} + +// AssignProperties_To_Service populates the provided destination Service from our Service +func (service *Service) AssignProperties_To_Service(destination *storage.Service) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Type + destination.Type = genruntime.ClonePointerToString(service.Type) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_Service_STATUS populates our Service from the provided source Service_STATUS +func (service *Service) Initialize_From_Service_STATUS(source *Service_STATUS) error { + + // Type + service.Type = genruntime.ClonePointerToString(source.Type) + + // No error + return nil +} + +// Container App to be a dev service +type Service_STATUS struct { + // Type: Dev ContainerApp service type + Type *string `json:"type,omitempty"` +} + +var _ genruntime.FromARMConverter = &Service_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (service *Service_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Service_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (service *Service_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Service_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Service_STATUS, got %T", armInput) + } + + // Set property "Type": + if typedInput.Type != nil { + typeVar := *typedInput.Type + service.Type = &typeVar + } + + // No error + return nil +} + +// AssignProperties_From_Service_STATUS populates our Service_STATUS from the provided source Service_STATUS +func (service *Service_STATUS) AssignProperties_From_Service_STATUS(source *storage.Service_STATUS) error { + + // Type + service.Type = genruntime.ClonePointerToString(source.Type) + + // No error + return nil +} + +// AssignProperties_To_Service_STATUS populates the provided destination Service_STATUS from our Service_STATUS +func (service *Service_STATUS) AssignProperties_To_Service_STATUS(destination *storage.Service_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Type + destination.Type = genruntime.ClonePointerToString(service.Type) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Configuration to bind a ContainerApp to a dev ContainerApp Service +type ServiceBind struct { + // Name: Name of the service bind + Name *string `json:"name,omitempty"` + + // ServiceReference: Resource id of the target service + ServiceReference *genruntime.ResourceReference `armReference:"ServiceId" json:"serviceReference,omitempty"` +} + +var _ genruntime.ARMTransformer = &ServiceBind{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (bind *ServiceBind) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if bind == nil { + return nil, nil + } + result := &arm.ServiceBind{} + + // Set property "Name": + if bind.Name != nil { + name := *bind.Name + result.Name = &name + } + + // Set property "ServiceId": + if bind.ServiceReference != nil { + serviceReferenceARMID, err := resolved.ResolvedReferences.Lookup(*bind.ServiceReference) + if err != nil { + return nil, err + } + serviceReference := serviceReferenceARMID + result.ServiceId = &serviceReference + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (bind *ServiceBind) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ServiceBind{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (bind *ServiceBind) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ServiceBind) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ServiceBind, got %T", armInput) + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + bind.Name = &name + } + + // no assignment for property "ServiceReference" + + // No error + return nil +} + +// AssignProperties_From_ServiceBind populates our ServiceBind from the provided source ServiceBind +func (bind *ServiceBind) AssignProperties_From_ServiceBind(source *storage.ServiceBind) error { + + // Name + bind.Name = genruntime.ClonePointerToString(source.Name) + + // ServiceReference + if source.ServiceReference != nil { + serviceReference := source.ServiceReference.Copy() + bind.ServiceReference = &serviceReference + } else { + bind.ServiceReference = nil + } + + // No error + return nil +} + +// AssignProperties_To_ServiceBind populates the provided destination ServiceBind from our ServiceBind +func (bind *ServiceBind) AssignProperties_To_ServiceBind(destination *storage.ServiceBind) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Name + destination.Name = genruntime.ClonePointerToString(bind.Name) + + // ServiceReference + if bind.ServiceReference != nil { + serviceReference := bind.ServiceReference.Copy() + destination.ServiceReference = &serviceReference + } else { + destination.ServiceReference = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ServiceBind_STATUS populates our ServiceBind from the provided source ServiceBind_STATUS +func (bind *ServiceBind) Initialize_From_ServiceBind_STATUS(source *ServiceBind_STATUS) error { + + // Name + bind.Name = genruntime.ClonePointerToString(source.Name) + + // ServiceReference + if source.ServiceId != nil { + serviceReference := genruntime.CreateResourceReferenceFromARMID(*source.ServiceId) + bind.ServiceReference = &serviceReference + } else { + bind.ServiceReference = nil + } + + // No error + return nil +} + +// Configuration to bind a ContainerApp to a dev ContainerApp Service +type ServiceBind_STATUS struct { + // Name: Name of the service bind + Name *string `json:"name,omitempty"` + + // ServiceId: Resource id of the target service + ServiceId *string `json:"serviceId,omitempty"` +} + +var _ genruntime.FromARMConverter = &ServiceBind_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (bind *ServiceBind_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ServiceBind_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (bind *ServiceBind_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ServiceBind_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ServiceBind_STATUS, got %T", armInput) + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + bind.Name = &name + } + + // Set property "ServiceId": + if typedInput.ServiceId != nil { + serviceId := *typedInput.ServiceId + bind.ServiceId = &serviceId + } + + // No error + return nil +} + +// AssignProperties_From_ServiceBind_STATUS populates our ServiceBind_STATUS from the provided source ServiceBind_STATUS +func (bind *ServiceBind_STATUS) AssignProperties_From_ServiceBind_STATUS(source *storage.ServiceBind_STATUS) error { + + // Name + bind.Name = genruntime.ClonePointerToString(source.Name) + + // ServiceId + bind.ServiceId = genruntime.ClonePointerToString(source.ServiceId) + + // No error + return nil +} + +// AssignProperties_To_ServiceBind_STATUS populates the provided destination ServiceBind_STATUS from our ServiceBind_STATUS +func (bind *ServiceBind_STATUS) AssignProperties_To_ServiceBind_STATUS(destination *storage.ServiceBind_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Name + destination.Name = genruntime.ClonePointerToString(bind.Name) + + // ServiceId + destination.ServiceId = genruntime.ClonePointerToString(bind.ServiceId) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// User assigned identity properties +type UserAssignedIdentity_STATUS struct { + // ClientId: The client ID of the assigned identity. + ClientId *string `json:"clientId,omitempty"` + + // PrincipalId: The principal ID of the assigned identity. + PrincipalId *string `json:"principalId,omitempty"` +} + +var _ genruntime.FromARMConverter = &UserAssignedIdentity_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (identity *UserAssignedIdentity_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.UserAssignedIdentity_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (identity *UserAssignedIdentity_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.UserAssignedIdentity_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.UserAssignedIdentity_STATUS, got %T", armInput) + } + + // Set property "ClientId": + if typedInput.ClientId != nil { + clientId := *typedInput.ClientId + identity.ClientId = &clientId + } + + // Set property "PrincipalId": + if typedInput.PrincipalId != nil { + principalId := *typedInput.PrincipalId + identity.PrincipalId = &principalId + } + + // No error + return nil +} + +// AssignProperties_From_UserAssignedIdentity_STATUS populates our UserAssignedIdentity_STATUS from the provided source UserAssignedIdentity_STATUS +func (identity *UserAssignedIdentity_STATUS) AssignProperties_From_UserAssignedIdentity_STATUS(source *storage.UserAssignedIdentity_STATUS) error { + + // ClientId + identity.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // PrincipalId + identity.PrincipalId = genruntime.ClonePointerToString(source.PrincipalId) + + // No error + return nil +} + +// AssignProperties_To_UserAssignedIdentity_STATUS populates the provided destination UserAssignedIdentity_STATUS from our UserAssignedIdentity_STATUS +func (identity *UserAssignedIdentity_STATUS) AssignProperties_To_UserAssignedIdentity_STATUS(destination *storage.UserAssignedIdentity_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ClientId + destination.ClientId = genruntime.ClonePointerToString(identity.ClientId) + + // PrincipalId + destination.PrincipalId = genruntime.ClonePointerToString(identity.PrincipalId) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// 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 *storage.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 *storage.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 +} + +// Volume definitions for the Container App. +type Volume struct { + // MountOptions: Mount options used while mounting the AzureFile. Must be a comma-separated string. + MountOptions *string `json:"mountOptions,omitempty"` + + // Name: Volume name. + Name *string `json:"name,omitempty"` + + // Secrets: List of secrets to be added in volume. If no secrets are provided, all secrets in collection will be added to + // volume. + Secrets []SecretVolumeItem `json:"secrets,omitempty"` + + // StorageName: Name of storage resource. No need to provide for EmptyDir and Secret. + StorageName *string `json:"storageName,omitempty"` + + // StorageType: Storage type for the volume. If not provided, use EmptyDir. + StorageType *Volume_StorageType `json:"storageType,omitempty"` +} + +var _ genruntime.ARMTransformer = &Volume{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (volume *Volume) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if volume == nil { + return nil, nil + } + result := &arm.Volume{} + + // Set property "MountOptions": + if volume.MountOptions != nil { + mountOptions := *volume.MountOptions + result.MountOptions = &mountOptions + } + + // Set property "Name": + if volume.Name != nil { + name := *volume.Name + result.Name = &name + } + + // Set property "Secrets": + for _, item := range volume.Secrets { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Secrets = append(result.Secrets, *item_ARM.(*arm.SecretVolumeItem)) + } + + // Set property "StorageName": + if volume.StorageName != nil { + storageName := *volume.StorageName + result.StorageName = &storageName + } + + // Set property "StorageType": + if volume.StorageType != nil { + var temp string + temp = string(*volume.StorageType) + storageType := arm.Volume_StorageType(temp) + result.StorageType = &storageType + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (volume *Volume) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Volume{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (volume *Volume) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Volume) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Volume, got %T", armInput) + } + + // Set property "MountOptions": + if typedInput.MountOptions != nil { + mountOptions := *typedInput.MountOptions + volume.MountOptions = &mountOptions + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + volume.Name = &name + } + + // Set property "Secrets": + for _, item := range typedInput.Secrets { + var item1 SecretVolumeItem + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + volume.Secrets = append(volume.Secrets, item1) + } + + // Set property "StorageName": + if typedInput.StorageName != nil { + storageName := *typedInput.StorageName + volume.StorageName = &storageName + } + + // Set property "StorageType": + if typedInput.StorageType != nil { + var temp string + temp = string(*typedInput.StorageType) + storageType := Volume_StorageType(temp) + volume.StorageType = &storageType + } + + // No error + return nil +} + +// AssignProperties_From_Volume populates our Volume from the provided source Volume +func (volume *Volume) AssignProperties_From_Volume(source *storage.Volume) error { + + // MountOptions + volume.MountOptions = genruntime.ClonePointerToString(source.MountOptions) + + // Name + volume.Name = genruntime.ClonePointerToString(source.Name) + + // Secrets + if source.Secrets != nil { + secretList := make([]SecretVolumeItem, len(source.Secrets)) + for secretIndex, secretItem := range source.Secrets { + // Shadow the loop variable to avoid aliasing + secretItem := secretItem + var secret SecretVolumeItem + err := secret.AssignProperties_From_SecretVolumeItem(&secretItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_SecretVolumeItem() to populate field Secrets") + } + secretList[secretIndex] = secret + } + volume.Secrets = secretList + } else { + volume.Secrets = nil + } + + // StorageName + volume.StorageName = genruntime.ClonePointerToString(source.StorageName) + + // StorageType + if source.StorageType != nil { + storageType := *source.StorageType + storageTypeTemp := genruntime.ToEnum(storageType, volume_StorageType_Values) + volume.StorageType = &storageTypeTemp + } else { + volume.StorageType = nil + } + + // No error + return nil +} + +// AssignProperties_To_Volume populates the provided destination Volume from our Volume +func (volume *Volume) AssignProperties_To_Volume(destination *storage.Volume) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // MountOptions + destination.MountOptions = genruntime.ClonePointerToString(volume.MountOptions) + + // Name + destination.Name = genruntime.ClonePointerToString(volume.Name) + + // Secrets + if volume.Secrets != nil { + secretList := make([]storage.SecretVolumeItem, len(volume.Secrets)) + for secretIndex, secretItem := range volume.Secrets { + // Shadow the loop variable to avoid aliasing + secretItem := secretItem + var secret storage.SecretVolumeItem + err := secretItem.AssignProperties_To_SecretVolumeItem(&secret) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_SecretVolumeItem() to populate field Secrets") + } + secretList[secretIndex] = secret + } + destination.Secrets = secretList + } else { + destination.Secrets = nil + } + + // StorageName + destination.StorageName = genruntime.ClonePointerToString(volume.StorageName) + + // StorageType + if volume.StorageType != nil { + storageType := string(*volume.StorageType) + destination.StorageType = &storageType + } else { + destination.StorageType = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_Volume_STATUS populates our Volume from the provided source Volume_STATUS +func (volume *Volume) Initialize_From_Volume_STATUS(source *Volume_STATUS) error { + + // MountOptions + volume.MountOptions = genruntime.ClonePointerToString(source.MountOptions) + + // Name + volume.Name = genruntime.ClonePointerToString(source.Name) + + // Secrets + if source.Secrets != nil { + secretList := make([]SecretVolumeItem, len(source.Secrets)) + for secretIndex, secretItem := range source.Secrets { + // Shadow the loop variable to avoid aliasing + secretItem := secretItem + var secret SecretVolumeItem + err := secret.Initialize_From_SecretVolumeItem_STATUS(&secretItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_SecretVolumeItem_STATUS() to populate field Secrets") + } + secretList[secretIndex] = secret + } + volume.Secrets = secretList + } else { + volume.Secrets = nil + } + + // StorageName + volume.StorageName = genruntime.ClonePointerToString(source.StorageName) + + // StorageType + if source.StorageType != nil { + storageType := genruntime.ToEnum(string(*source.StorageType), volume_StorageType_Values) + volume.StorageType = &storageType + } else { + volume.StorageType = nil + } + + // No error + return nil +} + +// Volume definitions for the Container App. +type Volume_STATUS struct { + // MountOptions: Mount options used while mounting the AzureFile. Must be a comma-separated string. + MountOptions *string `json:"mountOptions,omitempty"` + + // Name: Volume name. + Name *string `json:"name,omitempty"` + + // Secrets: List of secrets to be added in volume. If no secrets are provided, all secrets in collection will be added to + // volume. + Secrets []SecretVolumeItem_STATUS `json:"secrets,omitempty"` + + // StorageName: Name of storage resource. No need to provide for EmptyDir and Secret. + StorageName *string `json:"storageName,omitempty"` + + // StorageType: Storage type for the volume. If not provided, use EmptyDir. + StorageType *Volume_StorageType_STATUS `json:"storageType,omitempty"` +} + +var _ genruntime.FromARMConverter = &Volume_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (volume *Volume_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Volume_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (volume *Volume_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Volume_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Volume_STATUS, got %T", armInput) + } + + // Set property "MountOptions": + if typedInput.MountOptions != nil { + mountOptions := *typedInput.MountOptions + volume.MountOptions = &mountOptions + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + volume.Name = &name + } + + // Set property "Secrets": + for _, item := range typedInput.Secrets { + var item1 SecretVolumeItem_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + volume.Secrets = append(volume.Secrets, item1) + } + + // Set property "StorageName": + if typedInput.StorageName != nil { + storageName := *typedInput.StorageName + volume.StorageName = &storageName + } + + // Set property "StorageType": + if typedInput.StorageType != nil { + var temp string + temp = string(*typedInput.StorageType) + storageType := Volume_StorageType_STATUS(temp) + volume.StorageType = &storageType + } + + // No error + return nil +} + +// AssignProperties_From_Volume_STATUS populates our Volume_STATUS from the provided source Volume_STATUS +func (volume *Volume_STATUS) AssignProperties_From_Volume_STATUS(source *storage.Volume_STATUS) error { + + // MountOptions + volume.MountOptions = genruntime.ClonePointerToString(source.MountOptions) + + // Name + volume.Name = genruntime.ClonePointerToString(source.Name) + + // Secrets + if source.Secrets != nil { + secretList := make([]SecretVolumeItem_STATUS, len(source.Secrets)) + for secretIndex, secretItem := range source.Secrets { + // Shadow the loop variable to avoid aliasing + secretItem := secretItem + var secret SecretVolumeItem_STATUS + err := secret.AssignProperties_From_SecretVolumeItem_STATUS(&secretItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_SecretVolumeItem_STATUS() to populate field Secrets") + } + secretList[secretIndex] = secret + } + volume.Secrets = secretList + } else { + volume.Secrets = nil + } + + // StorageName + volume.StorageName = genruntime.ClonePointerToString(source.StorageName) + + // StorageType + if source.StorageType != nil { + storageType := *source.StorageType + storageTypeTemp := genruntime.ToEnum(storageType, volume_StorageType_STATUS_Values) + volume.StorageType = &storageTypeTemp + } else { + volume.StorageType = nil + } + + // No error + return nil +} + +// AssignProperties_To_Volume_STATUS populates the provided destination Volume_STATUS from our Volume_STATUS +func (volume *Volume_STATUS) AssignProperties_To_Volume_STATUS(destination *storage.Volume_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // MountOptions + destination.MountOptions = genruntime.ClonePointerToString(volume.MountOptions) + + // Name + destination.Name = genruntime.ClonePointerToString(volume.Name) + + // Secrets + if volume.Secrets != nil { + secretList := make([]storage.SecretVolumeItem_STATUS, len(volume.Secrets)) + for secretIndex, secretItem := range volume.Secrets { + // Shadow the loop variable to avoid aliasing + secretItem := secretItem + var secret storage.SecretVolumeItem_STATUS + err := secretItem.AssignProperties_To_SecretVolumeItem_STATUS(&secret) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_SecretVolumeItem_STATUS() to populate field Secrets") + } + secretList[secretIndex] = secret + } + destination.Secrets = secretList + } else { + destination.Secrets = nil + } + + // StorageName + destination.StorageName = genruntime.ClonePointerToString(volume.StorageName) + + // StorageType + if volume.StorageType != nil { + storageType := string(*volume.StorageType) + destination.StorageType = &storageType + } else { + destination.StorageType = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive +// traffic. +type ContainerAppProbe struct { + // FailureThreshold: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to + // 3. Minimum value is 1. Maximum value is 10. + FailureThreshold *int `json:"failureThreshold,omitempty"` + + // HttpGet: HTTPGet specifies the http request to perform. + HttpGet *ContainerAppProbe_HttpGet `json:"httpGet,omitempty"` + + // InitialDelaySeconds: Number of seconds after the container has started before liveness probes are initiated. Minimum + // value is 1. Maximum value is 60. + InitialDelaySeconds *int `json:"initialDelaySeconds,omitempty"` + + // PeriodSeconds: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is + // 240. + PeriodSeconds *int `json:"periodSeconds,omitempty"` + + // SuccessThreshold: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults + // to 1. Must be 1 for liveness and startup. Minimum value is 1. Maximum value is 10. + SuccessThreshold *int `json:"successThreshold,omitempty"` + + // TcpSocket: TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported. + TcpSocket *ContainerAppProbe_TcpSocket `json:"tcpSocket,omitempty"` + + // TerminationGracePeriodSeconds: Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + // The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the + // time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for + // your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value + // overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop + // immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling + // ProbeTerminationGracePeriod feature gate. Maximum value is 3600 seconds (1 hour) + TerminationGracePeriodSeconds *int `json:"terminationGracePeriodSeconds,omitempty"` + + // TimeoutSeconds: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum + // value is 240. + TimeoutSeconds *int `json:"timeoutSeconds,omitempty"` + + // Type: The type of probe. + Type *ContainerAppProbe_Type `json:"type,omitempty"` +} + +var _ genruntime.ARMTransformer = &ContainerAppProbe{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (probe *ContainerAppProbe) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if probe == nil { + return nil, nil + } + result := &arm.ContainerAppProbe{} + + // Set property "FailureThreshold": + if probe.FailureThreshold != nil { + failureThreshold := *probe.FailureThreshold + result.FailureThreshold = &failureThreshold + } + + // Set property "HttpGet": + if probe.HttpGet != nil { + httpGet_ARM, err := (*probe.HttpGet).ConvertToARM(resolved) + if err != nil { + return nil, err + } + httpGet := *httpGet_ARM.(*arm.ContainerAppProbe_HttpGet) + result.HttpGet = &httpGet + } + + // Set property "InitialDelaySeconds": + if probe.InitialDelaySeconds != nil { + initialDelaySeconds := *probe.InitialDelaySeconds + result.InitialDelaySeconds = &initialDelaySeconds + } + + // Set property "PeriodSeconds": + if probe.PeriodSeconds != nil { + periodSeconds := *probe.PeriodSeconds + result.PeriodSeconds = &periodSeconds + } + + // Set property "SuccessThreshold": + if probe.SuccessThreshold != nil { + successThreshold := *probe.SuccessThreshold + result.SuccessThreshold = &successThreshold + } + + // Set property "TcpSocket": + if probe.TcpSocket != nil { + tcpSocket_ARM, err := (*probe.TcpSocket).ConvertToARM(resolved) + if err != nil { + return nil, err + } + tcpSocket := *tcpSocket_ARM.(*arm.ContainerAppProbe_TcpSocket) + result.TcpSocket = &tcpSocket + } + + // Set property "TerminationGracePeriodSeconds": + if probe.TerminationGracePeriodSeconds != nil { + terminationGracePeriodSeconds := *probe.TerminationGracePeriodSeconds + result.TerminationGracePeriodSeconds = &terminationGracePeriodSeconds + } + + // Set property "TimeoutSeconds": + if probe.TimeoutSeconds != nil { + timeoutSeconds := *probe.TimeoutSeconds + result.TimeoutSeconds = &timeoutSeconds + } + + // Set property "Type": + if probe.Type != nil { + var temp string + temp = string(*probe.Type) + typeVar := arm.ContainerAppProbe_Type(temp) + result.Type = &typeVar + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (probe *ContainerAppProbe) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ContainerAppProbe{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (probe *ContainerAppProbe) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ContainerAppProbe) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ContainerAppProbe, got %T", armInput) + } + + // Set property "FailureThreshold": + if typedInput.FailureThreshold != nil { + failureThreshold := *typedInput.FailureThreshold + probe.FailureThreshold = &failureThreshold + } + + // Set property "HttpGet": + if typedInput.HttpGet != nil { + var httpGet1 ContainerAppProbe_HttpGet + err := httpGet1.PopulateFromARM(owner, *typedInput.HttpGet) + if err != nil { + return err + } + httpGet := httpGet1 + probe.HttpGet = &httpGet + } + + // Set property "InitialDelaySeconds": + if typedInput.InitialDelaySeconds != nil { + initialDelaySeconds := *typedInput.InitialDelaySeconds + probe.InitialDelaySeconds = &initialDelaySeconds + } + + // Set property "PeriodSeconds": + if typedInput.PeriodSeconds != nil { + periodSeconds := *typedInput.PeriodSeconds + probe.PeriodSeconds = &periodSeconds + } + + // Set property "SuccessThreshold": + if typedInput.SuccessThreshold != nil { + successThreshold := *typedInput.SuccessThreshold + probe.SuccessThreshold = &successThreshold + } + + // Set property "TcpSocket": + if typedInput.TcpSocket != nil { + var tcpSocket1 ContainerAppProbe_TcpSocket + err := tcpSocket1.PopulateFromARM(owner, *typedInput.TcpSocket) + if err != nil { + return err + } + tcpSocket := tcpSocket1 + probe.TcpSocket = &tcpSocket + } + + // Set property "TerminationGracePeriodSeconds": + if typedInput.TerminationGracePeriodSeconds != nil { + terminationGracePeriodSeconds := *typedInput.TerminationGracePeriodSeconds + probe.TerminationGracePeriodSeconds = &terminationGracePeriodSeconds + } + + // Set property "TimeoutSeconds": + if typedInput.TimeoutSeconds != nil { + timeoutSeconds := *typedInput.TimeoutSeconds + probe.TimeoutSeconds = &timeoutSeconds + } + + // Set property "Type": + if typedInput.Type != nil { + var temp string + temp = string(*typedInput.Type) + typeVar := ContainerAppProbe_Type(temp) + probe.Type = &typeVar + } + + // No error + return nil +} + +// AssignProperties_From_ContainerAppProbe populates our ContainerAppProbe from the provided source ContainerAppProbe +func (probe *ContainerAppProbe) AssignProperties_From_ContainerAppProbe(source *storage.ContainerAppProbe) error { + + // FailureThreshold + probe.FailureThreshold = genruntime.ClonePointerToInt(source.FailureThreshold) + + // HttpGet + if source.HttpGet != nil { + var httpGet ContainerAppProbe_HttpGet + err := httpGet.AssignProperties_From_ContainerAppProbe_HttpGet(source.HttpGet) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ContainerAppProbe_HttpGet() to populate field HttpGet") + } + probe.HttpGet = &httpGet + } else { + probe.HttpGet = nil + } + + // InitialDelaySeconds + probe.InitialDelaySeconds = genruntime.ClonePointerToInt(source.InitialDelaySeconds) + + // PeriodSeconds + probe.PeriodSeconds = genruntime.ClonePointerToInt(source.PeriodSeconds) + + // SuccessThreshold + probe.SuccessThreshold = genruntime.ClonePointerToInt(source.SuccessThreshold) + + // TcpSocket + if source.TcpSocket != nil { + var tcpSocket ContainerAppProbe_TcpSocket + err := tcpSocket.AssignProperties_From_ContainerAppProbe_TcpSocket(source.TcpSocket) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ContainerAppProbe_TcpSocket() to populate field TcpSocket") + } + probe.TcpSocket = &tcpSocket + } else { + probe.TcpSocket = nil + } + + // TerminationGracePeriodSeconds + probe.TerminationGracePeriodSeconds = genruntime.ClonePointerToInt(source.TerminationGracePeriodSeconds) + + // TimeoutSeconds + probe.TimeoutSeconds = genruntime.ClonePointerToInt(source.TimeoutSeconds) + + // Type + if source.Type != nil { + typeVar := *source.Type + typeTemp := genruntime.ToEnum(typeVar, containerAppProbe_Type_Values) + probe.Type = &typeTemp + } else { + probe.Type = nil + } + + // No error + return nil +} + +// AssignProperties_To_ContainerAppProbe populates the provided destination ContainerAppProbe from our ContainerAppProbe +func (probe *ContainerAppProbe) AssignProperties_To_ContainerAppProbe(destination *storage.ContainerAppProbe) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // FailureThreshold + destination.FailureThreshold = genruntime.ClonePointerToInt(probe.FailureThreshold) + + // HttpGet + if probe.HttpGet != nil { + var httpGet storage.ContainerAppProbe_HttpGet + err := probe.HttpGet.AssignProperties_To_ContainerAppProbe_HttpGet(&httpGet) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ContainerAppProbe_HttpGet() to populate field HttpGet") + } + destination.HttpGet = &httpGet + } else { + destination.HttpGet = nil + } + + // InitialDelaySeconds + destination.InitialDelaySeconds = genruntime.ClonePointerToInt(probe.InitialDelaySeconds) + + // PeriodSeconds + destination.PeriodSeconds = genruntime.ClonePointerToInt(probe.PeriodSeconds) + + // SuccessThreshold + destination.SuccessThreshold = genruntime.ClonePointerToInt(probe.SuccessThreshold) + + // TcpSocket + if probe.TcpSocket != nil { + var tcpSocket storage.ContainerAppProbe_TcpSocket + err := probe.TcpSocket.AssignProperties_To_ContainerAppProbe_TcpSocket(&tcpSocket) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ContainerAppProbe_TcpSocket() to populate field TcpSocket") + } + destination.TcpSocket = &tcpSocket + } else { + destination.TcpSocket = nil + } + + // TerminationGracePeriodSeconds + destination.TerminationGracePeriodSeconds = genruntime.ClonePointerToInt(probe.TerminationGracePeriodSeconds) + + // TimeoutSeconds + destination.TimeoutSeconds = genruntime.ClonePointerToInt(probe.TimeoutSeconds) + + // Type + if probe.Type != nil { + typeVar := string(*probe.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_ContainerAppProbe_STATUS populates our ContainerAppProbe from the provided source ContainerAppProbe_STATUS +func (probe *ContainerAppProbe) Initialize_From_ContainerAppProbe_STATUS(source *ContainerAppProbe_STATUS) error { + + // FailureThreshold + probe.FailureThreshold = genruntime.ClonePointerToInt(source.FailureThreshold) + + // HttpGet + if source.HttpGet != nil { + var httpGet ContainerAppProbe_HttpGet + err := httpGet.Initialize_From_ContainerAppProbe_HttpGet_STATUS(source.HttpGet) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_ContainerAppProbe_HttpGet_STATUS() to populate field HttpGet") + } + probe.HttpGet = &httpGet + } else { + probe.HttpGet = nil + } + + // InitialDelaySeconds + probe.InitialDelaySeconds = genruntime.ClonePointerToInt(source.InitialDelaySeconds) + + // PeriodSeconds + probe.PeriodSeconds = genruntime.ClonePointerToInt(source.PeriodSeconds) + + // SuccessThreshold + probe.SuccessThreshold = genruntime.ClonePointerToInt(source.SuccessThreshold) + + // TcpSocket + if source.TcpSocket != nil { + var tcpSocket ContainerAppProbe_TcpSocket + err := tcpSocket.Initialize_From_ContainerAppProbe_TcpSocket_STATUS(source.TcpSocket) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_ContainerAppProbe_TcpSocket_STATUS() to populate field TcpSocket") + } + probe.TcpSocket = &tcpSocket + } else { + probe.TcpSocket = nil + } + + // TerminationGracePeriodSeconds + probe.TerminationGracePeriodSeconds = genruntime.ClonePointerToInt(source.TerminationGracePeriodSeconds) + + // TimeoutSeconds + probe.TimeoutSeconds = genruntime.ClonePointerToInt(source.TimeoutSeconds) + + // Type + if source.Type != nil { + typeVar := genruntime.ToEnum(string(*source.Type), containerAppProbe_Type_Values) + probe.Type = &typeVar + } else { + probe.Type = nil + } + + // No error + return nil +} + +// Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive +// traffic. +type ContainerAppProbe_STATUS struct { + // FailureThreshold: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to + // 3. Minimum value is 1. Maximum value is 10. + FailureThreshold *int `json:"failureThreshold,omitempty"` + + // HttpGet: HTTPGet specifies the http request to perform. + HttpGet *ContainerAppProbe_HttpGet_STATUS `json:"httpGet,omitempty"` + + // InitialDelaySeconds: Number of seconds after the container has started before liveness probes are initiated. Minimum + // value is 1. Maximum value is 60. + InitialDelaySeconds *int `json:"initialDelaySeconds,omitempty"` + + // PeriodSeconds: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is + // 240. + PeriodSeconds *int `json:"periodSeconds,omitempty"` + + // SuccessThreshold: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults + // to 1. Must be 1 for liveness and startup. Minimum value is 1. Maximum value is 10. + SuccessThreshold *int `json:"successThreshold,omitempty"` + + // TcpSocket: TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported. + TcpSocket *ContainerAppProbe_TcpSocket_STATUS `json:"tcpSocket,omitempty"` + + // TerminationGracePeriodSeconds: Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + // The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the + // time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for + // your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value + // overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop + // immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling + // ProbeTerminationGracePeriod feature gate. Maximum value is 3600 seconds (1 hour) + TerminationGracePeriodSeconds *int `json:"terminationGracePeriodSeconds,omitempty"` + + // TimeoutSeconds: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum + // value is 240. + TimeoutSeconds *int `json:"timeoutSeconds,omitempty"` + + // Type: The type of probe. + Type *ContainerAppProbe_Type_STATUS `json:"type,omitempty"` +} + +var _ genruntime.FromARMConverter = &ContainerAppProbe_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (probe *ContainerAppProbe_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ContainerAppProbe_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (probe *ContainerAppProbe_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ContainerAppProbe_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ContainerAppProbe_STATUS, got %T", armInput) + } + + // Set property "FailureThreshold": + if typedInput.FailureThreshold != nil { + failureThreshold := *typedInput.FailureThreshold + probe.FailureThreshold = &failureThreshold + } + + // Set property "HttpGet": + if typedInput.HttpGet != nil { + var httpGet1 ContainerAppProbe_HttpGet_STATUS + err := httpGet1.PopulateFromARM(owner, *typedInput.HttpGet) + if err != nil { + return err + } + httpGet := httpGet1 + probe.HttpGet = &httpGet + } + + // Set property "InitialDelaySeconds": + if typedInput.InitialDelaySeconds != nil { + initialDelaySeconds := *typedInput.InitialDelaySeconds + probe.InitialDelaySeconds = &initialDelaySeconds + } + + // Set property "PeriodSeconds": + if typedInput.PeriodSeconds != nil { + periodSeconds := *typedInput.PeriodSeconds + probe.PeriodSeconds = &periodSeconds + } + + // Set property "SuccessThreshold": + if typedInput.SuccessThreshold != nil { + successThreshold := *typedInput.SuccessThreshold + probe.SuccessThreshold = &successThreshold + } + + // Set property "TcpSocket": + if typedInput.TcpSocket != nil { + var tcpSocket1 ContainerAppProbe_TcpSocket_STATUS + err := tcpSocket1.PopulateFromARM(owner, *typedInput.TcpSocket) + if err != nil { + return err + } + tcpSocket := tcpSocket1 + probe.TcpSocket = &tcpSocket + } + + // Set property "TerminationGracePeriodSeconds": + if typedInput.TerminationGracePeriodSeconds != nil { + terminationGracePeriodSeconds := *typedInput.TerminationGracePeriodSeconds + probe.TerminationGracePeriodSeconds = &terminationGracePeriodSeconds + } + + // Set property "TimeoutSeconds": + if typedInput.TimeoutSeconds != nil { + timeoutSeconds := *typedInput.TimeoutSeconds + probe.TimeoutSeconds = &timeoutSeconds + } + + // Set property "Type": + if typedInput.Type != nil { + var temp string + temp = string(*typedInput.Type) + typeVar := ContainerAppProbe_Type_STATUS(temp) + probe.Type = &typeVar + } + + // No error + return nil +} + +// AssignProperties_From_ContainerAppProbe_STATUS populates our ContainerAppProbe_STATUS from the provided source ContainerAppProbe_STATUS +func (probe *ContainerAppProbe_STATUS) AssignProperties_From_ContainerAppProbe_STATUS(source *storage.ContainerAppProbe_STATUS) error { + + // FailureThreshold + probe.FailureThreshold = genruntime.ClonePointerToInt(source.FailureThreshold) + + // HttpGet + if source.HttpGet != nil { + var httpGet ContainerAppProbe_HttpGet_STATUS + err := httpGet.AssignProperties_From_ContainerAppProbe_HttpGet_STATUS(source.HttpGet) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ContainerAppProbe_HttpGet_STATUS() to populate field HttpGet") + } + probe.HttpGet = &httpGet + } else { + probe.HttpGet = nil + } + + // InitialDelaySeconds + probe.InitialDelaySeconds = genruntime.ClonePointerToInt(source.InitialDelaySeconds) + + // PeriodSeconds + probe.PeriodSeconds = genruntime.ClonePointerToInt(source.PeriodSeconds) + + // SuccessThreshold + probe.SuccessThreshold = genruntime.ClonePointerToInt(source.SuccessThreshold) + + // TcpSocket + if source.TcpSocket != nil { + var tcpSocket ContainerAppProbe_TcpSocket_STATUS + err := tcpSocket.AssignProperties_From_ContainerAppProbe_TcpSocket_STATUS(source.TcpSocket) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ContainerAppProbe_TcpSocket_STATUS() to populate field TcpSocket") + } + probe.TcpSocket = &tcpSocket + } else { + probe.TcpSocket = nil + } + + // TerminationGracePeriodSeconds + probe.TerminationGracePeriodSeconds = genruntime.ClonePointerToInt(source.TerminationGracePeriodSeconds) + + // TimeoutSeconds + probe.TimeoutSeconds = genruntime.ClonePointerToInt(source.TimeoutSeconds) + + // Type + if source.Type != nil { + typeVar := *source.Type + typeTemp := genruntime.ToEnum(typeVar, containerAppProbe_Type_STATUS_Values) + probe.Type = &typeTemp + } else { + probe.Type = nil + } + + // No error + return nil +} + +// AssignProperties_To_ContainerAppProbe_STATUS populates the provided destination ContainerAppProbe_STATUS from our ContainerAppProbe_STATUS +func (probe *ContainerAppProbe_STATUS) AssignProperties_To_ContainerAppProbe_STATUS(destination *storage.ContainerAppProbe_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // FailureThreshold + destination.FailureThreshold = genruntime.ClonePointerToInt(probe.FailureThreshold) + + // HttpGet + if probe.HttpGet != nil { + var httpGet storage.ContainerAppProbe_HttpGet_STATUS + err := probe.HttpGet.AssignProperties_To_ContainerAppProbe_HttpGet_STATUS(&httpGet) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ContainerAppProbe_HttpGet_STATUS() to populate field HttpGet") + } + destination.HttpGet = &httpGet + } else { + destination.HttpGet = nil + } + + // InitialDelaySeconds + destination.InitialDelaySeconds = genruntime.ClonePointerToInt(probe.InitialDelaySeconds) + + // PeriodSeconds + destination.PeriodSeconds = genruntime.ClonePointerToInt(probe.PeriodSeconds) + + // SuccessThreshold + destination.SuccessThreshold = genruntime.ClonePointerToInt(probe.SuccessThreshold) + + // TcpSocket + if probe.TcpSocket != nil { + var tcpSocket storage.ContainerAppProbe_TcpSocket_STATUS + err := probe.TcpSocket.AssignProperties_To_ContainerAppProbe_TcpSocket_STATUS(&tcpSocket) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ContainerAppProbe_TcpSocket_STATUS() to populate field TcpSocket") + } + destination.TcpSocket = &tcpSocket + } else { + destination.TcpSocket = nil + } + + // TerminationGracePeriodSeconds + destination.TerminationGracePeriodSeconds = genruntime.ClonePointerToInt(probe.TerminationGracePeriodSeconds) + + // TimeoutSeconds + destination.TimeoutSeconds = genruntime.ClonePointerToInt(probe.TimeoutSeconds) + + // Type + if probe.Type != nil { + typeVar := string(*probe.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 +} + +// Container App container resource requirements. +type ContainerResources struct { + // Cpu: Required CPU in cores, e.g. 0.5 + Cpu *float64 `json:"cpu,omitempty"` + + // Memory: Required memory, e.g. "250Mb" + Memory *string `json:"memory,omitempty"` +} + +var _ genruntime.ARMTransformer = &ContainerResources{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (resources *ContainerResources) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if resources == nil { + return nil, nil + } + result := &arm.ContainerResources{} + + // Set property "Cpu": + if resources.Cpu != nil { + cpu := *resources.Cpu + result.Cpu = &cpu + } + + // Set property "Memory": + if resources.Memory != nil { + memory := *resources.Memory + result.Memory = &memory + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (resources *ContainerResources) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ContainerResources{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (resources *ContainerResources) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ContainerResources) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ContainerResources, got %T", armInput) + } + + // Set property "Cpu": + if typedInput.Cpu != nil { + cpu := *typedInput.Cpu + resources.Cpu = &cpu + } + + // Set property "Memory": + if typedInput.Memory != nil { + memory := *typedInput.Memory + resources.Memory = &memory + } + + // No error + return nil +} + +// AssignProperties_From_ContainerResources populates our ContainerResources from the provided source ContainerResources +func (resources *ContainerResources) AssignProperties_From_ContainerResources(source *storage.ContainerResources) error { + + // Cpu + if source.Cpu != nil { + cpu := *source.Cpu + resources.Cpu = &cpu + } else { + resources.Cpu = nil + } + + // Memory + resources.Memory = genruntime.ClonePointerToString(source.Memory) + + // No error + return nil +} + +// AssignProperties_To_ContainerResources populates the provided destination ContainerResources from our ContainerResources +func (resources *ContainerResources) AssignProperties_To_ContainerResources(destination *storage.ContainerResources) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Cpu + if resources.Cpu != nil { + cpu := *resources.Cpu + destination.Cpu = &cpu + } else { + destination.Cpu = nil + } + + // Memory + destination.Memory = genruntime.ClonePointerToString(resources.Memory) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ContainerResources_STATUS populates our ContainerResources from the provided source ContainerResources_STATUS +func (resources *ContainerResources) Initialize_From_ContainerResources_STATUS(source *ContainerResources_STATUS) error { + + // Cpu + if source.Cpu != nil { + cpu := *source.Cpu + resources.Cpu = &cpu + } else { + resources.Cpu = nil + } + + // Memory + resources.Memory = genruntime.ClonePointerToString(source.Memory) + + // No error + return nil +} + +// Container App container resource requirements. +type ContainerResources_STATUS struct { + // Cpu: Required CPU in cores, e.g. 0.5 + Cpu *float64 `json:"cpu,omitempty"` + + // EphemeralStorage: Ephemeral Storage, e.g. "1Gi" + EphemeralStorage *string `json:"ephemeralStorage,omitempty"` + + // Memory: Required memory, e.g. "250Mb" + Memory *string `json:"memory,omitempty"` +} + +var _ genruntime.FromARMConverter = &ContainerResources_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (resources *ContainerResources_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ContainerResources_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (resources *ContainerResources_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ContainerResources_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ContainerResources_STATUS, got %T", armInput) + } + + // Set property "Cpu": + if typedInput.Cpu != nil { + cpu := *typedInput.Cpu + resources.Cpu = &cpu + } + + // Set property "EphemeralStorage": + if typedInput.EphemeralStorage != nil { + ephemeralStorage := *typedInput.EphemeralStorage + resources.EphemeralStorage = &ephemeralStorage + } + + // Set property "Memory": + if typedInput.Memory != nil { + memory := *typedInput.Memory + resources.Memory = &memory + } + + // No error + return nil +} + +// AssignProperties_From_ContainerResources_STATUS populates our ContainerResources_STATUS from the provided source ContainerResources_STATUS +func (resources *ContainerResources_STATUS) AssignProperties_From_ContainerResources_STATUS(source *storage.ContainerResources_STATUS) error { + + // Cpu + if source.Cpu != nil { + cpu := *source.Cpu + resources.Cpu = &cpu + } else { + resources.Cpu = nil + } + + // EphemeralStorage + resources.EphemeralStorage = genruntime.ClonePointerToString(source.EphemeralStorage) + + // Memory + resources.Memory = genruntime.ClonePointerToString(source.Memory) + + // No error + return nil +} + +// AssignProperties_To_ContainerResources_STATUS populates the provided destination ContainerResources_STATUS from our ContainerResources_STATUS +func (resources *ContainerResources_STATUS) AssignProperties_To_ContainerResources_STATUS(destination *storage.ContainerResources_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Cpu + if resources.Cpu != nil { + cpu := *resources.Cpu + destination.Cpu = &cpu + } else { + destination.Cpu = nil + } + + // EphemeralStorage + destination.EphemeralStorage = genruntime.ClonePointerToString(resources.EphemeralStorage) + + // Memory + destination.Memory = genruntime.ClonePointerToString(resources.Memory) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Cross-Origin-Resource-Sharing policy +type CorsPolicy struct { + // AllowCredentials: Specifies whether the resource allows credentials + AllowCredentials *bool `json:"allowCredentials,omitempty"` + + // AllowedHeaders: Specifies the content for the access-control-allow-headers header + AllowedHeaders []string `json:"allowedHeaders,omitempty"` + + // AllowedMethods: Specifies the content for the access-control-allow-methods header + AllowedMethods []string `json:"allowedMethods,omitempty"` + + // +kubebuilder:validation:Required + // AllowedOrigins: Specifies the content for the access-control-allow-origins header + AllowedOrigins []string `json:"allowedOrigins,omitempty"` + + // ExposeHeaders: Specifies the content for the access-control-expose-headers header + ExposeHeaders []string `json:"exposeHeaders,omitempty"` + + // MaxAge: Specifies the content for the access-control-max-age header + MaxAge *int `json:"maxAge,omitempty"` +} + +var _ genruntime.ARMTransformer = &CorsPolicy{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (policy *CorsPolicy) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if policy == nil { + return nil, nil + } + result := &arm.CorsPolicy{} + + // Set property "AllowCredentials": + if policy.AllowCredentials != nil { + allowCredentials := *policy.AllowCredentials + result.AllowCredentials = &allowCredentials + } + + // Set property "AllowedHeaders": + for _, item := range policy.AllowedHeaders { + result.AllowedHeaders = append(result.AllowedHeaders, item) + } + + // Set property "AllowedMethods": + for _, item := range policy.AllowedMethods { + result.AllowedMethods = append(result.AllowedMethods, item) + } + + // Set property "AllowedOrigins": + for _, item := range policy.AllowedOrigins { + result.AllowedOrigins = append(result.AllowedOrigins, item) + } + + // Set property "ExposeHeaders": + for _, item := range policy.ExposeHeaders { + result.ExposeHeaders = append(result.ExposeHeaders, item) + } + + // Set property "MaxAge": + if policy.MaxAge != nil { + maxAge := *policy.MaxAge + result.MaxAge = &maxAge + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (policy *CorsPolicy) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.CorsPolicy{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (policy *CorsPolicy) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.CorsPolicy) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.CorsPolicy, got %T", armInput) + } + + // Set property "AllowCredentials": + if typedInput.AllowCredentials != nil { + allowCredentials := *typedInput.AllowCredentials + policy.AllowCredentials = &allowCredentials + } + + // Set property "AllowedHeaders": + for _, item := range typedInput.AllowedHeaders { + policy.AllowedHeaders = append(policy.AllowedHeaders, item) + } + + // Set property "AllowedMethods": + for _, item := range typedInput.AllowedMethods { + policy.AllowedMethods = append(policy.AllowedMethods, item) + } + + // Set property "AllowedOrigins": + for _, item := range typedInput.AllowedOrigins { + policy.AllowedOrigins = append(policy.AllowedOrigins, item) + } + + // Set property "ExposeHeaders": + for _, item := range typedInput.ExposeHeaders { + policy.ExposeHeaders = append(policy.ExposeHeaders, item) + } + + // Set property "MaxAge": + if typedInput.MaxAge != nil { + maxAge := *typedInput.MaxAge + policy.MaxAge = &maxAge + } + + // No error + return nil +} + +// AssignProperties_From_CorsPolicy populates our CorsPolicy from the provided source CorsPolicy +func (policy *CorsPolicy) AssignProperties_From_CorsPolicy(source *storage.CorsPolicy) error { + + // AllowCredentials + if source.AllowCredentials != nil { + allowCredential := *source.AllowCredentials + policy.AllowCredentials = &allowCredential + } else { + policy.AllowCredentials = nil + } + + // AllowedHeaders + policy.AllowedHeaders = genruntime.CloneSliceOfString(source.AllowedHeaders) + + // AllowedMethods + policy.AllowedMethods = genruntime.CloneSliceOfString(source.AllowedMethods) + + // AllowedOrigins + policy.AllowedOrigins = genruntime.CloneSliceOfString(source.AllowedOrigins) + + // ExposeHeaders + policy.ExposeHeaders = genruntime.CloneSliceOfString(source.ExposeHeaders) + + // MaxAge + policy.MaxAge = genruntime.ClonePointerToInt(source.MaxAge) + + // No error + return nil +} + +// AssignProperties_To_CorsPolicy populates the provided destination CorsPolicy from our CorsPolicy +func (policy *CorsPolicy) AssignProperties_To_CorsPolicy(destination *storage.CorsPolicy) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AllowCredentials + if policy.AllowCredentials != nil { + allowCredential := *policy.AllowCredentials + destination.AllowCredentials = &allowCredential + } else { + destination.AllowCredentials = nil + } + + // AllowedHeaders + destination.AllowedHeaders = genruntime.CloneSliceOfString(policy.AllowedHeaders) + + // AllowedMethods + destination.AllowedMethods = genruntime.CloneSliceOfString(policy.AllowedMethods) + + // AllowedOrigins + destination.AllowedOrigins = genruntime.CloneSliceOfString(policy.AllowedOrigins) + + // ExposeHeaders + destination.ExposeHeaders = genruntime.CloneSliceOfString(policy.ExposeHeaders) + + // MaxAge + destination.MaxAge = genruntime.ClonePointerToInt(policy.MaxAge) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_CorsPolicy_STATUS populates our CorsPolicy from the provided source CorsPolicy_STATUS +func (policy *CorsPolicy) Initialize_From_CorsPolicy_STATUS(source *CorsPolicy_STATUS) error { + + // AllowCredentials + if source.AllowCredentials != nil { + allowCredential := *source.AllowCredentials + policy.AllowCredentials = &allowCredential + } else { + policy.AllowCredentials = nil + } + + // AllowedHeaders + policy.AllowedHeaders = genruntime.CloneSliceOfString(source.AllowedHeaders) + + // AllowedMethods + policy.AllowedMethods = genruntime.CloneSliceOfString(source.AllowedMethods) + + // AllowedOrigins + policy.AllowedOrigins = genruntime.CloneSliceOfString(source.AllowedOrigins) + + // ExposeHeaders + policy.ExposeHeaders = genruntime.CloneSliceOfString(source.ExposeHeaders) + + // MaxAge + policy.MaxAge = genruntime.ClonePointerToInt(source.MaxAge) + + // No error + return nil +} + +// Cross-Origin-Resource-Sharing policy +type CorsPolicy_STATUS struct { + // AllowCredentials: Specifies whether the resource allows credentials + AllowCredentials *bool `json:"allowCredentials,omitempty"` + + // AllowedHeaders: Specifies the content for the access-control-allow-headers header + AllowedHeaders []string `json:"allowedHeaders,omitempty"` + + // AllowedMethods: Specifies the content for the access-control-allow-methods header + AllowedMethods []string `json:"allowedMethods,omitempty"` + + // AllowedOrigins: Specifies the content for the access-control-allow-origins header + AllowedOrigins []string `json:"allowedOrigins,omitempty"` + + // ExposeHeaders: Specifies the content for the access-control-expose-headers header + ExposeHeaders []string `json:"exposeHeaders,omitempty"` + + // MaxAge: Specifies the content for the access-control-max-age header + MaxAge *int `json:"maxAge,omitempty"` +} + +var _ genruntime.FromARMConverter = &CorsPolicy_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (policy *CorsPolicy_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.CorsPolicy_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (policy *CorsPolicy_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.CorsPolicy_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.CorsPolicy_STATUS, got %T", armInput) + } + + // Set property "AllowCredentials": + if typedInput.AllowCredentials != nil { + allowCredentials := *typedInput.AllowCredentials + policy.AllowCredentials = &allowCredentials + } + + // Set property "AllowedHeaders": + for _, item := range typedInput.AllowedHeaders { + policy.AllowedHeaders = append(policy.AllowedHeaders, item) + } + + // Set property "AllowedMethods": + for _, item := range typedInput.AllowedMethods { + policy.AllowedMethods = append(policy.AllowedMethods, item) + } + + // Set property "AllowedOrigins": + for _, item := range typedInput.AllowedOrigins { + policy.AllowedOrigins = append(policy.AllowedOrigins, item) + } + + // Set property "ExposeHeaders": + for _, item := range typedInput.ExposeHeaders { + policy.ExposeHeaders = append(policy.ExposeHeaders, item) + } + + // Set property "MaxAge": + if typedInput.MaxAge != nil { + maxAge := *typedInput.MaxAge + policy.MaxAge = &maxAge + } + + // No error + return nil +} + +// AssignProperties_From_CorsPolicy_STATUS populates our CorsPolicy_STATUS from the provided source CorsPolicy_STATUS +func (policy *CorsPolicy_STATUS) AssignProperties_From_CorsPolicy_STATUS(source *storage.CorsPolicy_STATUS) error { + + // AllowCredentials + if source.AllowCredentials != nil { + allowCredential := *source.AllowCredentials + policy.AllowCredentials = &allowCredential + } else { + policy.AllowCredentials = nil + } + + // AllowedHeaders + policy.AllowedHeaders = genruntime.CloneSliceOfString(source.AllowedHeaders) + + // AllowedMethods + policy.AllowedMethods = genruntime.CloneSliceOfString(source.AllowedMethods) + + // AllowedOrigins + policy.AllowedOrigins = genruntime.CloneSliceOfString(source.AllowedOrigins) + + // ExposeHeaders + policy.ExposeHeaders = genruntime.CloneSliceOfString(source.ExposeHeaders) + + // MaxAge + policy.MaxAge = genruntime.ClonePointerToInt(source.MaxAge) + + // No error + return nil +} + +// AssignProperties_To_CorsPolicy_STATUS populates the provided destination CorsPolicy_STATUS from our CorsPolicy_STATUS +func (policy *CorsPolicy_STATUS) AssignProperties_To_CorsPolicy_STATUS(destination *storage.CorsPolicy_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AllowCredentials + if policy.AllowCredentials != nil { + allowCredential := *policy.AllowCredentials + destination.AllowCredentials = &allowCredential + } else { + destination.AllowCredentials = nil + } + + // AllowedHeaders + destination.AllowedHeaders = genruntime.CloneSliceOfString(policy.AllowedHeaders) + + // AllowedMethods + destination.AllowedMethods = genruntime.CloneSliceOfString(policy.AllowedMethods) + + // AllowedOrigins + destination.AllowedOrigins = genruntime.CloneSliceOfString(policy.AllowedOrigins) + + // ExposeHeaders + destination.ExposeHeaders = genruntime.CloneSliceOfString(policy.ExposeHeaders) + + // MaxAge + destination.MaxAge = genruntime.ClonePointerToInt(policy.MaxAge) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Custom Domain of a Container App +type CustomDomain struct { + // BindingType: Custom Domain binding type. + BindingType *CustomDomain_BindingType `json:"bindingType,omitempty"` + + // CertificateReference: Resource Id of the Certificate to be bound to this hostname. Must exist in the Managed Environment. + CertificateReference *genruntime.ResourceReference `armReference:"CertificateId" json:"certificateReference,omitempty"` + + // +kubebuilder:validation:Required + // Name: Hostname. + Name *string `json:"name,omitempty"` +} + +var _ genruntime.ARMTransformer = &CustomDomain{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (domain *CustomDomain) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if domain == nil { + return nil, nil + } + result := &arm.CustomDomain{} + + // Set property "BindingType": + if domain.BindingType != nil { + var temp string + temp = string(*domain.BindingType) + bindingType := arm.CustomDomain_BindingType(temp) + result.BindingType = &bindingType + } + + // Set property "CertificateId": + if domain.CertificateReference != nil { + certificateReferenceARMID, err := resolved.ResolvedReferences.Lookup(*domain.CertificateReference) + if err != nil { + return nil, err + } + certificateReference := certificateReferenceARMID + result.CertificateId = &certificateReference + } + + // Set property "Name": + if domain.Name != nil { + name := *domain.Name + result.Name = &name + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (domain *CustomDomain) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.CustomDomain{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (domain *CustomDomain) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.CustomDomain) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.CustomDomain, got %T", armInput) + } + + // Set property "BindingType": + if typedInput.BindingType != nil { + var temp string + temp = string(*typedInput.BindingType) + bindingType := CustomDomain_BindingType(temp) + domain.BindingType = &bindingType + } + + // no assignment for property "CertificateReference" + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + domain.Name = &name + } + + // No error + return nil +} + +// AssignProperties_From_CustomDomain populates our CustomDomain from the provided source CustomDomain +func (domain *CustomDomain) AssignProperties_From_CustomDomain(source *storage.CustomDomain) error { + + // BindingType + if source.BindingType != nil { + bindingType := *source.BindingType + bindingTypeTemp := genruntime.ToEnum(bindingType, customDomain_BindingType_Values) + domain.BindingType = &bindingTypeTemp + } else { + domain.BindingType = nil + } + + // CertificateReference + if source.CertificateReference != nil { + certificateReference := source.CertificateReference.Copy() + domain.CertificateReference = &certificateReference + } else { + domain.CertificateReference = nil + } + + // Name + domain.Name = genruntime.ClonePointerToString(source.Name) + + // No error + return nil +} + +// AssignProperties_To_CustomDomain populates the provided destination CustomDomain from our CustomDomain +func (domain *CustomDomain) AssignProperties_To_CustomDomain(destination *storage.CustomDomain) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // BindingType + if domain.BindingType != nil { + bindingType := string(*domain.BindingType) + destination.BindingType = &bindingType + } else { + destination.BindingType = nil + } + + // CertificateReference + if domain.CertificateReference != nil { + certificateReference := domain.CertificateReference.Copy() + destination.CertificateReference = &certificateReference + } else { + destination.CertificateReference = nil + } + + // Name + destination.Name = genruntime.ClonePointerToString(domain.Name) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_CustomDomain_STATUS populates our CustomDomain from the provided source CustomDomain_STATUS +func (domain *CustomDomain) Initialize_From_CustomDomain_STATUS(source *CustomDomain_STATUS) error { + + // BindingType + if source.BindingType != nil { + bindingType := genruntime.ToEnum(string(*source.BindingType), customDomain_BindingType_Values) + domain.BindingType = &bindingType + } else { + domain.BindingType = nil + } + + // CertificateReference + if source.CertificateId != nil { + certificateReference := genruntime.CreateResourceReferenceFromARMID(*source.CertificateId) + domain.CertificateReference = &certificateReference + } else { + domain.CertificateReference = nil + } + + // Name + domain.Name = genruntime.ClonePointerToString(source.Name) + + // No error + return nil +} + +// Custom Domain of a Container App +type CustomDomain_STATUS struct { + // BindingType: Custom Domain binding type. + BindingType *CustomDomain_BindingType_STATUS `json:"bindingType,omitempty"` + + // CertificateId: Resource Id of the Certificate to be bound to this hostname. Must exist in the Managed Environment. + CertificateId *string `json:"certificateId,omitempty"` + + // Name: Hostname. + Name *string `json:"name,omitempty"` +} + +var _ genruntime.FromARMConverter = &CustomDomain_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (domain *CustomDomain_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.CustomDomain_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (domain *CustomDomain_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.CustomDomain_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.CustomDomain_STATUS, got %T", armInput) + } + + // Set property "BindingType": + if typedInput.BindingType != nil { + var temp string + temp = string(*typedInput.BindingType) + bindingType := CustomDomain_BindingType_STATUS(temp) + domain.BindingType = &bindingType + } + + // Set property "CertificateId": + if typedInput.CertificateId != nil { + certificateId := *typedInput.CertificateId + domain.CertificateId = &certificateId + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + domain.Name = &name + } + + // No error + return nil +} + +// AssignProperties_From_CustomDomain_STATUS populates our CustomDomain_STATUS from the provided source CustomDomain_STATUS +func (domain *CustomDomain_STATUS) AssignProperties_From_CustomDomain_STATUS(source *storage.CustomDomain_STATUS) error { + + // BindingType + if source.BindingType != nil { + bindingType := *source.BindingType + bindingTypeTemp := genruntime.ToEnum(bindingType, customDomain_BindingType_STATUS_Values) + domain.BindingType = &bindingTypeTemp + } else { + domain.BindingType = nil + } + + // CertificateId + domain.CertificateId = genruntime.ClonePointerToString(source.CertificateId) + + // Name + domain.Name = genruntime.ClonePointerToString(source.Name) + + // No error + return nil +} + +// AssignProperties_To_CustomDomain_STATUS populates the provided destination CustomDomain_STATUS from our CustomDomain_STATUS +func (domain *CustomDomain_STATUS) AssignProperties_To_CustomDomain_STATUS(destination *storage.CustomDomain_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // BindingType + if domain.BindingType != nil { + bindingType := string(*domain.BindingType) + destination.BindingType = &bindingType + } else { + destination.BindingType = nil + } + + // CertificateId + destination.CertificateId = genruntime.ClonePointerToString(domain.CertificateId) + + // Name + destination.Name = genruntime.ClonePointerToString(domain.Name) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"grpc","http"} +type Dapr_AppProtocol string + +const ( + Dapr_AppProtocol_Grpc = Dapr_AppProtocol("grpc") + Dapr_AppProtocol_Http = Dapr_AppProtocol("http") +) + +// Mapping from string to Dapr_AppProtocol +var dapr_AppProtocol_Values = map[string]Dapr_AppProtocol{ + "grpc": Dapr_AppProtocol_Grpc, + "http": Dapr_AppProtocol_Http, +} + +type Dapr_AppProtocol_STATUS string + +const ( + Dapr_AppProtocol_STATUS_Grpc = Dapr_AppProtocol_STATUS("grpc") + Dapr_AppProtocol_STATUS_Http = Dapr_AppProtocol_STATUS("http") +) + +// Mapping from string to Dapr_AppProtocol_STATUS +var dapr_AppProtocol_STATUS_Values = map[string]Dapr_AppProtocol_STATUS{ + "grpc": Dapr_AppProtocol_STATUS_Grpc, + "http": Dapr_AppProtocol_STATUS_Http, +} + +// +kubebuilder:validation:Enum={"debug","error","info","warn"} +type Dapr_LogLevel string + +const ( + Dapr_LogLevel_Debug = Dapr_LogLevel("debug") + Dapr_LogLevel_Error = Dapr_LogLevel("error") + Dapr_LogLevel_Info = Dapr_LogLevel("info") + Dapr_LogLevel_Warn = Dapr_LogLevel("warn") +) + +// Mapping from string to Dapr_LogLevel +var dapr_LogLevel_Values = map[string]Dapr_LogLevel{ + "debug": Dapr_LogLevel_Debug, + "error": Dapr_LogLevel_Error, + "info": Dapr_LogLevel_Info, + "warn": Dapr_LogLevel_Warn, +} + +type Dapr_LogLevel_STATUS string + +const ( + Dapr_LogLevel_STATUS_Debug = Dapr_LogLevel_STATUS("debug") + Dapr_LogLevel_STATUS_Error = Dapr_LogLevel_STATUS("error") + Dapr_LogLevel_STATUS_Info = Dapr_LogLevel_STATUS("info") + Dapr_LogLevel_STATUS_Warn = Dapr_LogLevel_STATUS("warn") +) + +// Mapping from string to Dapr_LogLevel_STATUS +var dapr_LogLevel_STATUS_Values = map[string]Dapr_LogLevel_STATUS{ + "debug": Dapr_LogLevel_STATUS_Debug, + "error": Dapr_LogLevel_STATUS_Error, + "info": Dapr_LogLevel_STATUS_Info, + "warn": Dapr_LogLevel_STATUS_Warn, +} + +// Container App container environment variable. +type EnvironmentVar struct { + // Name: Environment variable name. + Name *string `json:"name,omitempty"` + + // SecretRef: Name of the Container App secret from which to pull the environment variable value. + SecretRef *string `json:"secretRef,omitempty"` + + // Value: Non-secret environment variable value. + Value *string `json:"value,omitempty"` +} + +var _ genruntime.ARMTransformer = &EnvironmentVar{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (environmentVar *EnvironmentVar) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if environmentVar == nil { + return nil, nil + } + result := &arm.EnvironmentVar{} + + // Set property "Name": + if environmentVar.Name != nil { + name := *environmentVar.Name + result.Name = &name + } + + // Set property "SecretRef": + if environmentVar.SecretRef != nil { + secretRef := *environmentVar.SecretRef + result.SecretRef = &secretRef + } + + // Set property "Value": + if environmentVar.Value != nil { + value := *environmentVar.Value + result.Value = &value + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (environmentVar *EnvironmentVar) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.EnvironmentVar{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (environmentVar *EnvironmentVar) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.EnvironmentVar) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.EnvironmentVar, got %T", armInput) + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + environmentVar.Name = &name + } + + // Set property "SecretRef": + if typedInput.SecretRef != nil { + secretRef := *typedInput.SecretRef + environmentVar.SecretRef = &secretRef + } + + // Set property "Value": + if typedInput.Value != nil { + value := *typedInput.Value + environmentVar.Value = &value + } + + // No error + return nil +} + +// AssignProperties_From_EnvironmentVar populates our EnvironmentVar from the provided source EnvironmentVar +func (environmentVar *EnvironmentVar) AssignProperties_From_EnvironmentVar(source *storage.EnvironmentVar) error { + + // Name + environmentVar.Name = genruntime.ClonePointerToString(source.Name) + + // SecretRef + environmentVar.SecretRef = genruntime.ClonePointerToString(source.SecretRef) + + // Value + environmentVar.Value = genruntime.ClonePointerToString(source.Value) + + // No error + return nil +} + +// AssignProperties_To_EnvironmentVar populates the provided destination EnvironmentVar from our EnvironmentVar +func (environmentVar *EnvironmentVar) AssignProperties_To_EnvironmentVar(destination *storage.EnvironmentVar) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Name + destination.Name = genruntime.ClonePointerToString(environmentVar.Name) + + // SecretRef + destination.SecretRef = genruntime.ClonePointerToString(environmentVar.SecretRef) + + // Value + destination.Value = genruntime.ClonePointerToString(environmentVar.Value) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_EnvironmentVar_STATUS populates our EnvironmentVar from the provided source EnvironmentVar_STATUS +func (environmentVar *EnvironmentVar) Initialize_From_EnvironmentVar_STATUS(source *EnvironmentVar_STATUS) error { + + // Name + environmentVar.Name = genruntime.ClonePointerToString(source.Name) + + // SecretRef + environmentVar.SecretRef = genruntime.ClonePointerToString(source.SecretRef) + + // Value + environmentVar.Value = genruntime.ClonePointerToString(source.Value) + + // No error + return nil +} + +// Container App container environment variable. +type EnvironmentVar_STATUS struct { + // Name: Environment variable name. + Name *string `json:"name,omitempty"` + + // SecretRef: Name of the Container App secret from which to pull the environment variable value. + SecretRef *string `json:"secretRef,omitempty"` + + // Value: Non-secret environment variable value. + Value *string `json:"value,omitempty"` +} + +var _ genruntime.FromARMConverter = &EnvironmentVar_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (environmentVar *EnvironmentVar_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.EnvironmentVar_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (environmentVar *EnvironmentVar_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.EnvironmentVar_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.EnvironmentVar_STATUS, got %T", armInput) + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + environmentVar.Name = &name + } + + // Set property "SecretRef": + if typedInput.SecretRef != nil { + secretRef := *typedInput.SecretRef + environmentVar.SecretRef = &secretRef + } + + // Set property "Value": + if typedInput.Value != nil { + value := *typedInput.Value + environmentVar.Value = &value + } + + // No error + return nil +} + +// AssignProperties_From_EnvironmentVar_STATUS populates our EnvironmentVar_STATUS from the provided source EnvironmentVar_STATUS +func (environmentVar *EnvironmentVar_STATUS) AssignProperties_From_EnvironmentVar_STATUS(source *storage.EnvironmentVar_STATUS) error { + + // Name + environmentVar.Name = genruntime.ClonePointerToString(source.Name) + + // SecretRef + environmentVar.SecretRef = genruntime.ClonePointerToString(source.SecretRef) + + // Value + environmentVar.Value = genruntime.ClonePointerToString(source.Value) + + // No error + return nil +} + +// AssignProperties_To_EnvironmentVar_STATUS populates the provided destination EnvironmentVar_STATUS from our EnvironmentVar_STATUS +func (environmentVar *EnvironmentVar_STATUS) AssignProperties_To_EnvironmentVar_STATUS(destination *storage.EnvironmentVar_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Name + destination.Name = genruntime.ClonePointerToString(environmentVar.Name) + + // SecretRef + destination.SecretRef = genruntime.ClonePointerToString(environmentVar.SecretRef) + + // Value + destination.Value = genruntime.ClonePointerToString(environmentVar.Value) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"accept","ignore","require"} +type Ingress_ClientCertificateMode string + +const ( + Ingress_ClientCertificateMode_Accept = Ingress_ClientCertificateMode("accept") + Ingress_ClientCertificateMode_Ignore = Ingress_ClientCertificateMode("ignore") + Ingress_ClientCertificateMode_Require = Ingress_ClientCertificateMode("require") +) + +// Mapping from string to Ingress_ClientCertificateMode +var ingress_ClientCertificateMode_Values = map[string]Ingress_ClientCertificateMode{ + "accept": Ingress_ClientCertificateMode_Accept, + "ignore": Ingress_ClientCertificateMode_Ignore, + "require": Ingress_ClientCertificateMode_Require, +} + +type Ingress_ClientCertificateMode_STATUS string + +const ( + Ingress_ClientCertificateMode_STATUS_Accept = Ingress_ClientCertificateMode_STATUS("accept") + Ingress_ClientCertificateMode_STATUS_Ignore = Ingress_ClientCertificateMode_STATUS("ignore") + Ingress_ClientCertificateMode_STATUS_Require = Ingress_ClientCertificateMode_STATUS("require") +) + +// Mapping from string to Ingress_ClientCertificateMode_STATUS +var ingress_ClientCertificateMode_STATUS_Values = map[string]Ingress_ClientCertificateMode_STATUS{ + "accept": Ingress_ClientCertificateMode_STATUS_Accept, + "ignore": Ingress_ClientCertificateMode_STATUS_Ignore, + "require": Ingress_ClientCertificateMode_STATUS_Require, +} + +type Ingress_StickySessions struct { + // Affinity: Sticky Session Affinity + Affinity *Ingress_StickySessions_Affinity `json:"affinity,omitempty"` +} + +var _ genruntime.ARMTransformer = &Ingress_StickySessions{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (sessions *Ingress_StickySessions) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if sessions == nil { + return nil, nil + } + result := &arm.Ingress_StickySessions{} + + // Set property "Affinity": + if sessions.Affinity != nil { + var temp string + temp = string(*sessions.Affinity) + affinity := arm.Ingress_StickySessions_Affinity(temp) + result.Affinity = &affinity + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (sessions *Ingress_StickySessions) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Ingress_StickySessions{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (sessions *Ingress_StickySessions) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Ingress_StickySessions) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Ingress_StickySessions, got %T", armInput) + } + + // Set property "Affinity": + if typedInput.Affinity != nil { + var temp string + temp = string(*typedInput.Affinity) + affinity := Ingress_StickySessions_Affinity(temp) + sessions.Affinity = &affinity + } + + // No error + return nil +} + +// AssignProperties_From_Ingress_StickySessions populates our Ingress_StickySessions from the provided source Ingress_StickySessions +func (sessions *Ingress_StickySessions) AssignProperties_From_Ingress_StickySessions(source *storage.Ingress_StickySessions) error { + + // Affinity + if source.Affinity != nil { + affinity := *source.Affinity + affinityTemp := genruntime.ToEnum(affinity, ingress_StickySessions_Affinity_Values) + sessions.Affinity = &affinityTemp + } else { + sessions.Affinity = nil + } + + // No error + return nil +} + +// AssignProperties_To_Ingress_StickySessions populates the provided destination Ingress_StickySessions from our Ingress_StickySessions +func (sessions *Ingress_StickySessions) AssignProperties_To_Ingress_StickySessions(destination *storage.Ingress_StickySessions) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Affinity + if sessions.Affinity != nil { + affinity := string(*sessions.Affinity) + destination.Affinity = &affinity + } else { + destination.Affinity = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_Ingress_StickySessions_STATUS populates our Ingress_StickySessions from the provided source Ingress_StickySessions_STATUS +func (sessions *Ingress_StickySessions) Initialize_From_Ingress_StickySessions_STATUS(source *Ingress_StickySessions_STATUS) error { + + // Affinity + if source.Affinity != nil { + affinity := genruntime.ToEnum(string(*source.Affinity), ingress_StickySessions_Affinity_Values) + sessions.Affinity = &affinity + } else { + sessions.Affinity = nil + } + + // No error + return nil +} + +type Ingress_StickySessions_STATUS struct { + // Affinity: Sticky Session Affinity + Affinity *Ingress_StickySessions_Affinity_STATUS `json:"affinity,omitempty"` +} + +var _ genruntime.FromARMConverter = &Ingress_StickySessions_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (sessions *Ingress_StickySessions_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Ingress_StickySessions_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (sessions *Ingress_StickySessions_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Ingress_StickySessions_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Ingress_StickySessions_STATUS, got %T", armInput) + } + + // Set property "Affinity": + if typedInput.Affinity != nil { + var temp string + temp = string(*typedInput.Affinity) + affinity := Ingress_StickySessions_Affinity_STATUS(temp) + sessions.Affinity = &affinity + } + + // No error + return nil +} + +// AssignProperties_From_Ingress_StickySessions_STATUS populates our Ingress_StickySessions_STATUS from the provided source Ingress_StickySessions_STATUS +func (sessions *Ingress_StickySessions_STATUS) AssignProperties_From_Ingress_StickySessions_STATUS(source *storage.Ingress_StickySessions_STATUS) error { + + // Affinity + if source.Affinity != nil { + affinity := *source.Affinity + affinityTemp := genruntime.ToEnum(affinity, ingress_StickySessions_Affinity_STATUS_Values) + sessions.Affinity = &affinityTemp + } else { + sessions.Affinity = nil + } + + // No error + return nil +} + +// AssignProperties_To_Ingress_StickySessions_STATUS populates the provided destination Ingress_StickySessions_STATUS from our Ingress_StickySessions_STATUS +func (sessions *Ingress_StickySessions_STATUS) AssignProperties_To_Ingress_StickySessions_STATUS(destination *storage.Ingress_StickySessions_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Affinity + if sessions.Affinity != nil { + affinity := string(*sessions.Affinity) + destination.Affinity = &affinity + } else { + destination.Affinity = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"auto","http","http2","tcp"} +type Ingress_Transport string + +const ( + Ingress_Transport_Auto = Ingress_Transport("auto") + Ingress_Transport_Http = Ingress_Transport("http") + Ingress_Transport_Http2 = Ingress_Transport("http2") + Ingress_Transport_Tcp = Ingress_Transport("tcp") +) + +// Mapping from string to Ingress_Transport +var ingress_Transport_Values = map[string]Ingress_Transport{ + "auto": Ingress_Transport_Auto, + "http": Ingress_Transport_Http, + "http2": Ingress_Transport_Http2, + "tcp": Ingress_Transport_Tcp, +} + +type Ingress_Transport_STATUS string + +const ( + Ingress_Transport_STATUS_Auto = Ingress_Transport_STATUS("auto") + Ingress_Transport_STATUS_Http = Ingress_Transport_STATUS("http") + Ingress_Transport_STATUS_Http2 = Ingress_Transport_STATUS("http2") + Ingress_Transport_STATUS_Tcp = Ingress_Transport_STATUS("tcp") +) + +// Mapping from string to Ingress_Transport_STATUS +var ingress_Transport_STATUS_Values = map[string]Ingress_Transport_STATUS{ + "auto": Ingress_Transport_STATUS_Auto, + "http": Ingress_Transport_STATUS_Http, + "http2": Ingress_Transport_STATUS_Http2, + "tcp": Ingress_Transport_STATUS_Tcp, +} + +// Port mappings of container app ingress +type IngressPortMapping struct { + // ExposedPort: Specifies the exposed port for the target port. If not specified, it defaults to target port + ExposedPort *int `json:"exposedPort,omitempty"` + + // +kubebuilder:validation:Required + // External: Specifies whether the app port is accessible outside of the environment + External *bool `json:"external,omitempty"` + + // +kubebuilder:validation:Required + // TargetPort: Specifies the port user's container listens on + TargetPort *int `json:"targetPort,omitempty"` +} + +var _ genruntime.ARMTransformer = &IngressPortMapping{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (mapping *IngressPortMapping) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if mapping == nil { + return nil, nil + } + result := &arm.IngressPortMapping{} + + // Set property "ExposedPort": + if mapping.ExposedPort != nil { + exposedPort := *mapping.ExposedPort + result.ExposedPort = &exposedPort + } + + // Set property "External": + if mapping.External != nil { + external := *mapping.External + result.External = &external + } + + // Set property "TargetPort": + if mapping.TargetPort != nil { + targetPort := *mapping.TargetPort + result.TargetPort = &targetPort + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (mapping *IngressPortMapping) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.IngressPortMapping{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (mapping *IngressPortMapping) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.IngressPortMapping) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.IngressPortMapping, got %T", armInput) + } + + // Set property "ExposedPort": + if typedInput.ExposedPort != nil { + exposedPort := *typedInput.ExposedPort + mapping.ExposedPort = &exposedPort + } + + // Set property "External": + if typedInput.External != nil { + external := *typedInput.External + mapping.External = &external + } + + // Set property "TargetPort": + if typedInput.TargetPort != nil { + targetPort := *typedInput.TargetPort + mapping.TargetPort = &targetPort + } + + // No error + return nil +} + +// AssignProperties_From_IngressPortMapping populates our IngressPortMapping from the provided source IngressPortMapping +func (mapping *IngressPortMapping) AssignProperties_From_IngressPortMapping(source *storage.IngressPortMapping) error { + + // ExposedPort + mapping.ExposedPort = genruntime.ClonePointerToInt(source.ExposedPort) + + // External + if source.External != nil { + external := *source.External + mapping.External = &external + } else { + mapping.External = nil + } + + // TargetPort + mapping.TargetPort = genruntime.ClonePointerToInt(source.TargetPort) + + // No error + return nil +} + +// AssignProperties_To_IngressPortMapping populates the provided destination IngressPortMapping from our IngressPortMapping +func (mapping *IngressPortMapping) AssignProperties_To_IngressPortMapping(destination *storage.IngressPortMapping) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ExposedPort + destination.ExposedPort = genruntime.ClonePointerToInt(mapping.ExposedPort) + + // External + if mapping.External != nil { + external := *mapping.External + destination.External = &external + } else { + destination.External = nil + } + + // TargetPort + destination.TargetPort = genruntime.ClonePointerToInt(mapping.TargetPort) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_IngressPortMapping_STATUS populates our IngressPortMapping from the provided source IngressPortMapping_STATUS +func (mapping *IngressPortMapping) Initialize_From_IngressPortMapping_STATUS(source *IngressPortMapping_STATUS) error { + + // ExposedPort + mapping.ExposedPort = genruntime.ClonePointerToInt(source.ExposedPort) + + // External + if source.External != nil { + external := *source.External + mapping.External = &external + } else { + mapping.External = nil + } + + // TargetPort + mapping.TargetPort = genruntime.ClonePointerToInt(source.TargetPort) + + // No error + return nil +} + +// Port mappings of container app ingress +type IngressPortMapping_STATUS struct { + // ExposedPort: Specifies the exposed port for the target port. If not specified, it defaults to target port + ExposedPort *int `json:"exposedPort,omitempty"` + + // External: Specifies whether the app port is accessible outside of the environment + External *bool `json:"external,omitempty"` + + // TargetPort: Specifies the port user's container listens on + TargetPort *int `json:"targetPort,omitempty"` +} + +var _ genruntime.FromARMConverter = &IngressPortMapping_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (mapping *IngressPortMapping_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.IngressPortMapping_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (mapping *IngressPortMapping_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.IngressPortMapping_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.IngressPortMapping_STATUS, got %T", armInput) + } + + // Set property "ExposedPort": + if typedInput.ExposedPort != nil { + exposedPort := *typedInput.ExposedPort + mapping.ExposedPort = &exposedPort + } + + // Set property "External": + if typedInput.External != nil { + external := *typedInput.External + mapping.External = &external + } + + // Set property "TargetPort": + if typedInput.TargetPort != nil { + targetPort := *typedInput.TargetPort + mapping.TargetPort = &targetPort + } + + // No error + return nil +} + +// AssignProperties_From_IngressPortMapping_STATUS populates our IngressPortMapping_STATUS from the provided source IngressPortMapping_STATUS +func (mapping *IngressPortMapping_STATUS) AssignProperties_From_IngressPortMapping_STATUS(source *storage.IngressPortMapping_STATUS) error { + + // ExposedPort + mapping.ExposedPort = genruntime.ClonePointerToInt(source.ExposedPort) + + // External + if source.External != nil { + external := *source.External + mapping.External = &external + } else { + mapping.External = nil + } + + // TargetPort + mapping.TargetPort = genruntime.ClonePointerToInt(source.TargetPort) + + // No error + return nil +} + +// AssignProperties_To_IngressPortMapping_STATUS populates the provided destination IngressPortMapping_STATUS from our IngressPortMapping_STATUS +func (mapping *IngressPortMapping_STATUS) AssignProperties_To_IngressPortMapping_STATUS(destination *storage.IngressPortMapping_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ExposedPort + destination.ExposedPort = genruntime.ClonePointerToInt(mapping.ExposedPort) + + // External + if mapping.External != nil { + external := *mapping.External + destination.External = &external + } else { + destination.External = nil + } + + // TargetPort + destination.TargetPort = genruntime.ClonePointerToInt(mapping.TargetPort) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Rule to restrict incoming IP address. +type IpSecurityRestrictionRule struct { + // +kubebuilder:validation:Required + // Action: Allow or Deny rules to determine for incoming IP. Note: Rules can only consist of ALL Allow or ALL Deny + Action *IpSecurityRestrictionRule_Action `json:"action,omitempty"` + + // Description: Describe the IP restriction rule that is being sent to the container-app. This is an optional field. + Description *string `json:"description,omitempty"` + + // +kubebuilder:validation:Required + // IpAddressRange: CIDR notation to match incoming IP address + IpAddressRange *string `json:"ipAddressRange,omitempty"` + + // +kubebuilder:validation:Required + // Name: Name for the IP restriction rule. + Name *string `json:"name,omitempty"` +} + +var _ genruntime.ARMTransformer = &IpSecurityRestrictionRule{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (rule *IpSecurityRestrictionRule) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if rule == nil { + return nil, nil + } + result := &arm.IpSecurityRestrictionRule{} + + // Set property "Action": + if rule.Action != nil { + var temp string + temp = string(*rule.Action) + action := arm.IpSecurityRestrictionRule_Action(temp) + result.Action = &action + } + + // Set property "Description": + if rule.Description != nil { + description := *rule.Description + result.Description = &description + } + + // Set property "IpAddressRange": + if rule.IpAddressRange != nil { + ipAddressRange := *rule.IpAddressRange + result.IpAddressRange = &ipAddressRange + } + + // Set property "Name": + if rule.Name != nil { + name := *rule.Name + result.Name = &name + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (rule *IpSecurityRestrictionRule) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.IpSecurityRestrictionRule{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (rule *IpSecurityRestrictionRule) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.IpSecurityRestrictionRule) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.IpSecurityRestrictionRule, got %T", armInput) + } + + // Set property "Action": + if typedInput.Action != nil { + var temp string + temp = string(*typedInput.Action) + action := IpSecurityRestrictionRule_Action(temp) + rule.Action = &action + } + + // Set property "Description": + if typedInput.Description != nil { + description := *typedInput.Description + rule.Description = &description + } + + // Set property "IpAddressRange": + if typedInput.IpAddressRange != nil { + ipAddressRange := *typedInput.IpAddressRange + rule.IpAddressRange = &ipAddressRange + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + rule.Name = &name + } + + // No error + return nil +} + +// AssignProperties_From_IpSecurityRestrictionRule populates our IpSecurityRestrictionRule from the provided source IpSecurityRestrictionRule +func (rule *IpSecurityRestrictionRule) AssignProperties_From_IpSecurityRestrictionRule(source *storage.IpSecurityRestrictionRule) error { + + // Action + if source.Action != nil { + action := *source.Action + actionTemp := genruntime.ToEnum(action, ipSecurityRestrictionRule_Action_Values) + rule.Action = &actionTemp + } else { + rule.Action = nil + } + + // Description + rule.Description = genruntime.ClonePointerToString(source.Description) + + // IpAddressRange + rule.IpAddressRange = genruntime.ClonePointerToString(source.IpAddressRange) + + // Name + rule.Name = genruntime.ClonePointerToString(source.Name) + + // No error + return nil +} + +// AssignProperties_To_IpSecurityRestrictionRule populates the provided destination IpSecurityRestrictionRule from our IpSecurityRestrictionRule +func (rule *IpSecurityRestrictionRule) AssignProperties_To_IpSecurityRestrictionRule(destination *storage.IpSecurityRestrictionRule) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Action + if rule.Action != nil { + action := string(*rule.Action) + destination.Action = &action + } else { + destination.Action = nil + } + + // Description + destination.Description = genruntime.ClonePointerToString(rule.Description) + + // IpAddressRange + destination.IpAddressRange = genruntime.ClonePointerToString(rule.IpAddressRange) + + // Name + destination.Name = genruntime.ClonePointerToString(rule.Name) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_IpSecurityRestrictionRule_STATUS populates our IpSecurityRestrictionRule from the provided source IpSecurityRestrictionRule_STATUS +func (rule *IpSecurityRestrictionRule) Initialize_From_IpSecurityRestrictionRule_STATUS(source *IpSecurityRestrictionRule_STATUS) error { + + // Action + if source.Action != nil { + action := genruntime.ToEnum(string(*source.Action), ipSecurityRestrictionRule_Action_Values) + rule.Action = &action + } else { + rule.Action = nil + } + + // Description + rule.Description = genruntime.ClonePointerToString(source.Description) + + // IpAddressRange + rule.IpAddressRange = genruntime.ClonePointerToString(source.IpAddressRange) + + // Name + rule.Name = genruntime.ClonePointerToString(source.Name) + + // No error + return nil +} + +// Rule to restrict incoming IP address. +type IpSecurityRestrictionRule_STATUS struct { + // Action: Allow or Deny rules to determine for incoming IP. Note: Rules can only consist of ALL Allow or ALL Deny + Action *IpSecurityRestrictionRule_Action_STATUS `json:"action,omitempty"` + + // Description: Describe the IP restriction rule that is being sent to the container-app. This is an optional field. + Description *string `json:"description,omitempty"` + + // IpAddressRange: CIDR notation to match incoming IP address + IpAddressRange *string `json:"ipAddressRange,omitempty"` + + // Name: Name for the IP restriction rule. + Name *string `json:"name,omitempty"` +} + +var _ genruntime.FromARMConverter = &IpSecurityRestrictionRule_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (rule *IpSecurityRestrictionRule_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.IpSecurityRestrictionRule_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (rule *IpSecurityRestrictionRule_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.IpSecurityRestrictionRule_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.IpSecurityRestrictionRule_STATUS, got %T", armInput) + } + + // Set property "Action": + if typedInput.Action != nil { + var temp string + temp = string(*typedInput.Action) + action := IpSecurityRestrictionRule_Action_STATUS(temp) + rule.Action = &action + } + + // Set property "Description": + if typedInput.Description != nil { + description := *typedInput.Description + rule.Description = &description + } + + // Set property "IpAddressRange": + if typedInput.IpAddressRange != nil { + ipAddressRange := *typedInput.IpAddressRange + rule.IpAddressRange = &ipAddressRange + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + rule.Name = &name + } + + // No error + return nil +} + +// AssignProperties_From_IpSecurityRestrictionRule_STATUS populates our IpSecurityRestrictionRule_STATUS from the provided source IpSecurityRestrictionRule_STATUS +func (rule *IpSecurityRestrictionRule_STATUS) AssignProperties_From_IpSecurityRestrictionRule_STATUS(source *storage.IpSecurityRestrictionRule_STATUS) error { + + // Action + if source.Action != nil { + action := *source.Action + actionTemp := genruntime.ToEnum(action, ipSecurityRestrictionRule_Action_STATUS_Values) + rule.Action = &actionTemp + } else { + rule.Action = nil + } + + // Description + rule.Description = genruntime.ClonePointerToString(source.Description) + + // IpAddressRange + rule.IpAddressRange = genruntime.ClonePointerToString(source.IpAddressRange) + + // Name + rule.Name = genruntime.ClonePointerToString(source.Name) + + // No error + return nil +} + +// AssignProperties_To_IpSecurityRestrictionRule_STATUS populates the provided destination IpSecurityRestrictionRule_STATUS from our IpSecurityRestrictionRule_STATUS +func (rule *IpSecurityRestrictionRule_STATUS) AssignProperties_To_IpSecurityRestrictionRule_STATUS(destination *storage.IpSecurityRestrictionRule_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Action + if rule.Action != nil { + action := string(*rule.Action) + destination.Action = &action + } else { + destination.Action = nil + } + + // Description + destination.Description = genruntime.ClonePointerToString(rule.Description) + + // IpAddressRange + destination.IpAddressRange = genruntime.ClonePointerToString(rule.IpAddressRange) + + // Name + destination.Name = genruntime.ClonePointerToString(rule.Name) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Container App container scaling rule. +type ScaleRule struct { + // AzureQueue: Azure Queue based scaling. + AzureQueue *QueueScaleRule `json:"azureQueue,omitempty"` + + // Custom: Custom scale rule. + Custom *CustomScaleRule `json:"custom,omitempty"` + + // Http: HTTP requests based scaling. + Http *HttpScaleRule `json:"http,omitempty"` + + // Name: Scale Rule Name + Name *string `json:"name,omitempty"` + + // Tcp: Tcp requests based scaling. + Tcp *TcpScaleRule `json:"tcp,omitempty"` +} + +var _ genruntime.ARMTransformer = &ScaleRule{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (rule *ScaleRule) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if rule == nil { + return nil, nil + } + result := &arm.ScaleRule{} + + // Set property "AzureQueue": + if rule.AzureQueue != nil { + azureQueue_ARM, err := (*rule.AzureQueue).ConvertToARM(resolved) + if err != nil { + return nil, err + } + azureQueue := *azureQueue_ARM.(*arm.QueueScaleRule) + result.AzureQueue = &azureQueue + } + + // Set property "Custom": + if rule.Custom != nil { + custom_ARM, err := (*rule.Custom).ConvertToARM(resolved) + if err != nil { + return nil, err + } + custom := *custom_ARM.(*arm.CustomScaleRule) + result.Custom = &custom + } + + // Set property "Http": + if rule.Http != nil { + http_ARM, err := (*rule.Http).ConvertToARM(resolved) + if err != nil { + return nil, err + } + http := *http_ARM.(*arm.HttpScaleRule) + result.Http = &http + } + + // Set property "Name": + if rule.Name != nil { + name := *rule.Name + result.Name = &name + } + + // Set property "Tcp": + if rule.Tcp != nil { + tcp_ARM, err := (*rule.Tcp).ConvertToARM(resolved) + if err != nil { + return nil, err + } + tcp := *tcp_ARM.(*arm.TcpScaleRule) + result.Tcp = &tcp + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (rule *ScaleRule) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ScaleRule{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (rule *ScaleRule) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ScaleRule) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ScaleRule, got %T", armInput) + } + + // Set property "AzureQueue": + if typedInput.AzureQueue != nil { + var azureQueue1 QueueScaleRule + err := azureQueue1.PopulateFromARM(owner, *typedInput.AzureQueue) + if err != nil { + return err + } + azureQueue := azureQueue1 + rule.AzureQueue = &azureQueue + } + + // Set property "Custom": + if typedInput.Custom != nil { + var custom1 CustomScaleRule + err := custom1.PopulateFromARM(owner, *typedInput.Custom) + if err != nil { + return err + } + custom := custom1 + rule.Custom = &custom + } + + // Set property "Http": + if typedInput.Http != nil { + var http1 HttpScaleRule + err := http1.PopulateFromARM(owner, *typedInput.Http) + if err != nil { + return err + } + http := http1 + rule.Http = &http + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + rule.Name = &name + } + + // Set property "Tcp": + if typedInput.Tcp != nil { + var tcp1 TcpScaleRule + err := tcp1.PopulateFromARM(owner, *typedInput.Tcp) + if err != nil { + return err + } + tcp := tcp1 + rule.Tcp = &tcp + } + + // No error + return nil +} + +// AssignProperties_From_ScaleRule populates our ScaleRule from the provided source ScaleRule +func (rule *ScaleRule) AssignProperties_From_ScaleRule(source *storage.ScaleRule) error { + + // AzureQueue + if source.AzureQueue != nil { + var azureQueue QueueScaleRule + err := azureQueue.AssignProperties_From_QueueScaleRule(source.AzureQueue) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_QueueScaleRule() to populate field AzureQueue") + } + rule.AzureQueue = &azureQueue + } else { + rule.AzureQueue = nil + } + + // Custom + if source.Custom != nil { + var custom CustomScaleRule + err := custom.AssignProperties_From_CustomScaleRule(source.Custom) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_CustomScaleRule() to populate field Custom") + } + rule.Custom = &custom + } else { + rule.Custom = nil + } + + // Http + if source.Http != nil { + var http HttpScaleRule + err := http.AssignProperties_From_HttpScaleRule(source.Http) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_HttpScaleRule() to populate field Http") + } + rule.Http = &http + } else { + rule.Http = nil + } + + // Name + rule.Name = genruntime.ClonePointerToString(source.Name) + + // Tcp + if source.Tcp != nil { + var tcp TcpScaleRule + err := tcp.AssignProperties_From_TcpScaleRule(source.Tcp) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_TcpScaleRule() to populate field Tcp") + } + rule.Tcp = &tcp + } else { + rule.Tcp = nil + } + + // No error + return nil +} + +// AssignProperties_To_ScaleRule populates the provided destination ScaleRule from our ScaleRule +func (rule *ScaleRule) AssignProperties_To_ScaleRule(destination *storage.ScaleRule) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AzureQueue + if rule.AzureQueue != nil { + var azureQueue storage.QueueScaleRule + err := rule.AzureQueue.AssignProperties_To_QueueScaleRule(&azureQueue) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_QueueScaleRule() to populate field AzureQueue") + } + destination.AzureQueue = &azureQueue + } else { + destination.AzureQueue = nil + } + + // Custom + if rule.Custom != nil { + var custom storage.CustomScaleRule + err := rule.Custom.AssignProperties_To_CustomScaleRule(&custom) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_CustomScaleRule() to populate field Custom") + } + destination.Custom = &custom + } else { + destination.Custom = nil + } + + // Http + if rule.Http != nil { + var http storage.HttpScaleRule + err := rule.Http.AssignProperties_To_HttpScaleRule(&http) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_HttpScaleRule() to populate field Http") + } + destination.Http = &http + } else { + destination.Http = nil + } + + // Name + destination.Name = genruntime.ClonePointerToString(rule.Name) + + // Tcp + if rule.Tcp != nil { + var tcp storage.TcpScaleRule + err := rule.Tcp.AssignProperties_To_TcpScaleRule(&tcp) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_TcpScaleRule() to populate field Tcp") + } + destination.Tcp = &tcp + } else { + destination.Tcp = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ScaleRule_STATUS populates our ScaleRule from the provided source ScaleRule_STATUS +func (rule *ScaleRule) Initialize_From_ScaleRule_STATUS(source *ScaleRule_STATUS) error { + + // AzureQueue + if source.AzureQueue != nil { + var azureQueue QueueScaleRule + err := azureQueue.Initialize_From_QueueScaleRule_STATUS(source.AzureQueue) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_QueueScaleRule_STATUS() to populate field AzureQueue") + } + rule.AzureQueue = &azureQueue + } else { + rule.AzureQueue = nil + } + + // Custom + if source.Custom != nil { + var custom CustomScaleRule + err := custom.Initialize_From_CustomScaleRule_STATUS(source.Custom) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_CustomScaleRule_STATUS() to populate field Custom") + } + rule.Custom = &custom + } else { + rule.Custom = nil + } + + // Http + if source.Http != nil { + var http HttpScaleRule + err := http.Initialize_From_HttpScaleRule_STATUS(source.Http) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_HttpScaleRule_STATUS() to populate field Http") + } + rule.Http = &http + } else { + rule.Http = nil + } + + // Name + rule.Name = genruntime.ClonePointerToString(source.Name) + + // Tcp + if source.Tcp != nil { + var tcp TcpScaleRule + err := tcp.Initialize_From_TcpScaleRule_STATUS(source.Tcp) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_TcpScaleRule_STATUS() to populate field Tcp") + } + rule.Tcp = &tcp + } else { + rule.Tcp = nil + } + + // No error + return nil +} + +// Container App container scaling rule. +type ScaleRule_STATUS struct { + // AzureQueue: Azure Queue based scaling. + AzureQueue *QueueScaleRule_STATUS `json:"azureQueue,omitempty"` + + // Custom: Custom scale rule. + Custom *CustomScaleRule_STATUS `json:"custom,omitempty"` + + // Http: HTTP requests based scaling. + Http *HttpScaleRule_STATUS `json:"http,omitempty"` + + // Name: Scale Rule Name + Name *string `json:"name,omitempty"` + + // Tcp: Tcp requests based scaling. + Tcp *TcpScaleRule_STATUS `json:"tcp,omitempty"` +} + +var _ genruntime.FromARMConverter = &ScaleRule_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (rule *ScaleRule_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ScaleRule_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (rule *ScaleRule_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ScaleRule_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ScaleRule_STATUS, got %T", armInput) + } + + // Set property "AzureQueue": + if typedInput.AzureQueue != nil { + var azureQueue1 QueueScaleRule_STATUS + err := azureQueue1.PopulateFromARM(owner, *typedInput.AzureQueue) + if err != nil { + return err + } + azureQueue := azureQueue1 + rule.AzureQueue = &azureQueue + } + + // Set property "Custom": + if typedInput.Custom != nil { + var custom1 CustomScaleRule_STATUS + err := custom1.PopulateFromARM(owner, *typedInput.Custom) + if err != nil { + return err + } + custom := custom1 + rule.Custom = &custom + } + + // Set property "Http": + if typedInput.Http != nil { + var http1 HttpScaleRule_STATUS + err := http1.PopulateFromARM(owner, *typedInput.Http) + if err != nil { + return err + } + http := http1 + rule.Http = &http + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + rule.Name = &name + } + + // Set property "Tcp": + if typedInput.Tcp != nil { + var tcp1 TcpScaleRule_STATUS + err := tcp1.PopulateFromARM(owner, *typedInput.Tcp) + if err != nil { + return err + } + tcp := tcp1 + rule.Tcp = &tcp + } + + // No error + return nil +} + +// AssignProperties_From_ScaleRule_STATUS populates our ScaleRule_STATUS from the provided source ScaleRule_STATUS +func (rule *ScaleRule_STATUS) AssignProperties_From_ScaleRule_STATUS(source *storage.ScaleRule_STATUS) error { + + // AzureQueue + if source.AzureQueue != nil { + var azureQueue QueueScaleRule_STATUS + err := azureQueue.AssignProperties_From_QueueScaleRule_STATUS(source.AzureQueue) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_QueueScaleRule_STATUS() to populate field AzureQueue") + } + rule.AzureQueue = &azureQueue + } else { + rule.AzureQueue = nil + } + + // Custom + if source.Custom != nil { + var custom CustomScaleRule_STATUS + err := custom.AssignProperties_From_CustomScaleRule_STATUS(source.Custom) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_CustomScaleRule_STATUS() to populate field Custom") + } + rule.Custom = &custom + } else { + rule.Custom = nil + } + + // Http + if source.Http != nil { + var http HttpScaleRule_STATUS + err := http.AssignProperties_From_HttpScaleRule_STATUS(source.Http) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_HttpScaleRule_STATUS() to populate field Http") + } + rule.Http = &http + } else { + rule.Http = nil + } + + // Name + rule.Name = genruntime.ClonePointerToString(source.Name) + + // Tcp + if source.Tcp != nil { + var tcp TcpScaleRule_STATUS + err := tcp.AssignProperties_From_TcpScaleRule_STATUS(source.Tcp) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_TcpScaleRule_STATUS() to populate field Tcp") + } + rule.Tcp = &tcp + } else { + rule.Tcp = nil + } + + // No error + return nil +} + +// AssignProperties_To_ScaleRule_STATUS populates the provided destination ScaleRule_STATUS from our ScaleRule_STATUS +func (rule *ScaleRule_STATUS) AssignProperties_To_ScaleRule_STATUS(destination *storage.ScaleRule_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AzureQueue + if rule.AzureQueue != nil { + var azureQueue storage.QueueScaleRule_STATUS + err := rule.AzureQueue.AssignProperties_To_QueueScaleRule_STATUS(&azureQueue) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_QueueScaleRule_STATUS() to populate field AzureQueue") + } + destination.AzureQueue = &azureQueue + } else { + destination.AzureQueue = nil + } + + // Custom + if rule.Custom != nil { + var custom storage.CustomScaleRule_STATUS + err := rule.Custom.AssignProperties_To_CustomScaleRule_STATUS(&custom) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_CustomScaleRule_STATUS() to populate field Custom") + } + destination.Custom = &custom + } else { + destination.Custom = nil + } + + // Http + if rule.Http != nil { + var http storage.HttpScaleRule_STATUS + err := rule.Http.AssignProperties_To_HttpScaleRule_STATUS(&http) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_HttpScaleRule_STATUS() to populate field Http") + } + destination.Http = &http + } else { + destination.Http = nil + } + + // Name + destination.Name = genruntime.ClonePointerToString(rule.Name) + + // Tcp + if rule.Tcp != nil { + var tcp storage.TcpScaleRule_STATUS + err := rule.Tcp.AssignProperties_To_TcpScaleRule_STATUS(&tcp) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_TcpScaleRule_STATUS() to populate field Tcp") + } + destination.Tcp = &tcp + } else { + destination.Tcp = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Secret to be added to volume. +type SecretVolumeItem struct { + // Path: Path to project secret to. If no path is provided, path defaults to name of secret listed in secretRef. + Path *string `json:"path,omitempty"` + + // SecretRef: Name of the Container App secret from which to pull the secret value. + SecretRef *string `json:"secretRef,omitempty"` +} + +var _ genruntime.ARMTransformer = &SecretVolumeItem{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (item *SecretVolumeItem) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if item == nil { + return nil, nil + } + result := &arm.SecretVolumeItem{} + + // Set property "Path": + if item.Path != nil { + path := *item.Path + result.Path = &path + } + + // Set property "SecretRef": + if item.SecretRef != nil { + secretRef := *item.SecretRef + result.SecretRef = &secretRef + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (item *SecretVolumeItem) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.SecretVolumeItem{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (item *SecretVolumeItem) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.SecretVolumeItem) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.SecretVolumeItem, got %T", armInput) + } + + // Set property "Path": + if typedInput.Path != nil { + path := *typedInput.Path + item.Path = &path + } + + // Set property "SecretRef": + if typedInput.SecretRef != nil { + secretRef := *typedInput.SecretRef + item.SecretRef = &secretRef + } + + // No error + return nil +} + +// AssignProperties_From_SecretVolumeItem populates our SecretVolumeItem from the provided source SecretVolumeItem +func (item *SecretVolumeItem) AssignProperties_From_SecretVolumeItem(source *storage.SecretVolumeItem) error { + + // Path + item.Path = genruntime.ClonePointerToString(source.Path) + + // SecretRef + item.SecretRef = genruntime.ClonePointerToString(source.SecretRef) + + // No error + return nil +} + +// AssignProperties_To_SecretVolumeItem populates the provided destination SecretVolumeItem from our SecretVolumeItem +func (item *SecretVolumeItem) AssignProperties_To_SecretVolumeItem(destination *storage.SecretVolumeItem) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Path + destination.Path = genruntime.ClonePointerToString(item.Path) + + // SecretRef + destination.SecretRef = genruntime.ClonePointerToString(item.SecretRef) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_SecretVolumeItem_STATUS populates our SecretVolumeItem from the provided source SecretVolumeItem_STATUS +func (item *SecretVolumeItem) Initialize_From_SecretVolumeItem_STATUS(source *SecretVolumeItem_STATUS) error { + + // Path + item.Path = genruntime.ClonePointerToString(source.Path) + + // SecretRef + item.SecretRef = genruntime.ClonePointerToString(source.SecretRef) + + // No error + return nil +} + +// Secret to be added to volume. +type SecretVolumeItem_STATUS struct { + // Path: Path to project secret to. If no path is provided, path defaults to name of secret listed in secretRef. + Path *string `json:"path,omitempty"` + + // SecretRef: Name of the Container App secret from which to pull the secret value. + SecretRef *string `json:"secretRef,omitempty"` +} + +var _ genruntime.FromARMConverter = &SecretVolumeItem_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (item *SecretVolumeItem_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.SecretVolumeItem_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (item *SecretVolumeItem_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.SecretVolumeItem_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.SecretVolumeItem_STATUS, got %T", armInput) + } + + // Set property "Path": + if typedInput.Path != nil { + path := *typedInput.Path + item.Path = &path + } + + // Set property "SecretRef": + if typedInput.SecretRef != nil { + secretRef := *typedInput.SecretRef + item.SecretRef = &secretRef + } + + // No error + return nil +} + +// AssignProperties_From_SecretVolumeItem_STATUS populates our SecretVolumeItem_STATUS from the provided source SecretVolumeItem_STATUS +func (item *SecretVolumeItem_STATUS) AssignProperties_From_SecretVolumeItem_STATUS(source *storage.SecretVolumeItem_STATUS) error { + + // Path + item.Path = genruntime.ClonePointerToString(source.Path) + + // SecretRef + item.SecretRef = genruntime.ClonePointerToString(source.SecretRef) + + // No error + return nil +} + +// AssignProperties_To_SecretVolumeItem_STATUS populates the provided destination SecretVolumeItem_STATUS from our SecretVolumeItem_STATUS +func (item *SecretVolumeItem_STATUS) AssignProperties_To_SecretVolumeItem_STATUS(destination *storage.SecretVolumeItem_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Path + destination.Path = genruntime.ClonePointerToString(item.Path) + + // SecretRef + destination.SecretRef = genruntime.ClonePointerToString(item.SecretRef) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Traffic weight assigned to a revision +type TrafficWeight struct { + // Label: Associates a traffic label with a revision + Label *string `json:"label,omitempty"` + + // LatestRevision: Indicates that the traffic weight belongs to a latest stable revision + LatestRevision *bool `json:"latestRevision,omitempty"` + + // RevisionName: Name of a revision + RevisionName *string `json:"revisionName,omitempty"` + + // Weight: Traffic weight assigned to a revision + Weight *int `json:"weight,omitempty"` +} + +var _ genruntime.ARMTransformer = &TrafficWeight{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (weight *TrafficWeight) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if weight == nil { + return nil, nil + } + result := &arm.TrafficWeight{} + + // Set property "Label": + if weight.Label != nil { + label := *weight.Label + result.Label = &label + } + + // Set property "LatestRevision": + if weight.LatestRevision != nil { + latestRevision := *weight.LatestRevision + result.LatestRevision = &latestRevision + } + + // Set property "RevisionName": + if weight.RevisionName != nil { + revisionName := *weight.RevisionName + result.RevisionName = &revisionName + } + + // Set property "Weight": + if weight.Weight != nil { + weight1 := *weight.Weight + result.Weight = &weight1 + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (weight *TrafficWeight) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.TrafficWeight{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (weight *TrafficWeight) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.TrafficWeight) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.TrafficWeight, got %T", armInput) + } + + // Set property "Label": + if typedInput.Label != nil { + label := *typedInput.Label + weight.Label = &label + } + + // Set property "LatestRevision": + if typedInput.LatestRevision != nil { + latestRevision := *typedInput.LatestRevision + weight.LatestRevision = &latestRevision + } + + // Set property "RevisionName": + if typedInput.RevisionName != nil { + revisionName := *typedInput.RevisionName + weight.RevisionName = &revisionName + } + + // Set property "Weight": + if typedInput.Weight != nil { + weight1 := *typedInput.Weight + weight.Weight = &weight1 + } + + // No error + return nil +} + +// AssignProperties_From_TrafficWeight populates our TrafficWeight from the provided source TrafficWeight +func (weight *TrafficWeight) AssignProperties_From_TrafficWeight(source *storage.TrafficWeight) error { + + // Label + weight.Label = genruntime.ClonePointerToString(source.Label) + + // LatestRevision + if source.LatestRevision != nil { + latestRevision := *source.LatestRevision + weight.LatestRevision = &latestRevision + } else { + weight.LatestRevision = nil + } + + // RevisionName + weight.RevisionName = genruntime.ClonePointerToString(source.RevisionName) + + // Weight + weight.Weight = genruntime.ClonePointerToInt(source.Weight) + + // No error + return nil +} + +// AssignProperties_To_TrafficWeight populates the provided destination TrafficWeight from our TrafficWeight +func (weight *TrafficWeight) AssignProperties_To_TrafficWeight(destination *storage.TrafficWeight) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Label + destination.Label = genruntime.ClonePointerToString(weight.Label) + + // LatestRevision + if weight.LatestRevision != nil { + latestRevision := *weight.LatestRevision + destination.LatestRevision = &latestRevision + } else { + destination.LatestRevision = nil + } + + // RevisionName + destination.RevisionName = genruntime.ClonePointerToString(weight.RevisionName) + + // Weight + destination.Weight = genruntime.ClonePointerToInt(weight.Weight) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_TrafficWeight_STATUS populates our TrafficWeight from the provided source TrafficWeight_STATUS +func (weight *TrafficWeight) Initialize_From_TrafficWeight_STATUS(source *TrafficWeight_STATUS) error { + + // Label + weight.Label = genruntime.ClonePointerToString(source.Label) + + // LatestRevision + if source.LatestRevision != nil { + latestRevision := *source.LatestRevision + weight.LatestRevision = &latestRevision + } else { + weight.LatestRevision = nil + } + + // RevisionName + weight.RevisionName = genruntime.ClonePointerToString(source.RevisionName) + + // Weight + weight.Weight = genruntime.ClonePointerToInt(source.Weight) + + // No error + return nil +} + +// Traffic weight assigned to a revision +type TrafficWeight_STATUS struct { + // Label: Associates a traffic label with a revision + Label *string `json:"label,omitempty"` + + // LatestRevision: Indicates that the traffic weight belongs to a latest stable revision + LatestRevision *bool `json:"latestRevision,omitempty"` + + // RevisionName: Name of a revision + RevisionName *string `json:"revisionName,omitempty"` + + // Weight: Traffic weight assigned to a revision + Weight *int `json:"weight,omitempty"` +} + +var _ genruntime.FromARMConverter = &TrafficWeight_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (weight *TrafficWeight_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.TrafficWeight_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (weight *TrafficWeight_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.TrafficWeight_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.TrafficWeight_STATUS, got %T", armInput) + } + + // Set property "Label": + if typedInput.Label != nil { + label := *typedInput.Label + weight.Label = &label + } + + // Set property "LatestRevision": + if typedInput.LatestRevision != nil { + latestRevision := *typedInput.LatestRevision + weight.LatestRevision = &latestRevision + } + + // Set property "RevisionName": + if typedInput.RevisionName != nil { + revisionName := *typedInput.RevisionName + weight.RevisionName = &revisionName + } + + // Set property "Weight": + if typedInput.Weight != nil { + weight1 := *typedInput.Weight + weight.Weight = &weight1 + } + + // No error + return nil +} + +// AssignProperties_From_TrafficWeight_STATUS populates our TrafficWeight_STATUS from the provided source TrafficWeight_STATUS +func (weight *TrafficWeight_STATUS) AssignProperties_From_TrafficWeight_STATUS(source *storage.TrafficWeight_STATUS) error { + + // Label + weight.Label = genruntime.ClonePointerToString(source.Label) + + // LatestRevision + if source.LatestRevision != nil { + latestRevision := *source.LatestRevision + weight.LatestRevision = &latestRevision + } else { + weight.LatestRevision = nil + } + + // RevisionName + weight.RevisionName = genruntime.ClonePointerToString(source.RevisionName) + + // Weight + weight.Weight = genruntime.ClonePointerToInt(source.Weight) + + // No error + return nil +} + +// AssignProperties_To_TrafficWeight_STATUS populates the provided destination TrafficWeight_STATUS from our TrafficWeight_STATUS +func (weight *TrafficWeight_STATUS) AssignProperties_To_TrafficWeight_STATUS(destination *storage.TrafficWeight_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Label + destination.Label = genruntime.ClonePointerToString(weight.Label) + + // LatestRevision + if weight.LatestRevision != nil { + latestRevision := *weight.LatestRevision + destination.LatestRevision = &latestRevision + } else { + destination.LatestRevision = nil + } + + // RevisionName + destination.RevisionName = genruntime.ClonePointerToString(weight.RevisionName) + + // Weight + destination.Weight = genruntime.ClonePointerToInt(weight.Weight) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"AzureFile","EmptyDir","Secret"} +type Volume_StorageType string + +const ( + Volume_StorageType_AzureFile = Volume_StorageType("AzureFile") + Volume_StorageType_EmptyDir = Volume_StorageType("EmptyDir") + Volume_StorageType_Secret = Volume_StorageType("Secret") +) + +// Mapping from string to Volume_StorageType +var volume_StorageType_Values = map[string]Volume_StorageType{ + "azurefile": Volume_StorageType_AzureFile, + "emptydir": Volume_StorageType_EmptyDir, + "secret": Volume_StorageType_Secret, +} + +type Volume_StorageType_STATUS string + +const ( + Volume_StorageType_STATUS_AzureFile = Volume_StorageType_STATUS("AzureFile") + Volume_StorageType_STATUS_EmptyDir = Volume_StorageType_STATUS("EmptyDir") + Volume_StorageType_STATUS_Secret = Volume_StorageType_STATUS("Secret") +) + +// Mapping from string to Volume_StorageType_STATUS +var volume_StorageType_STATUS_Values = map[string]Volume_StorageType_STATUS{ + "azurefile": Volume_StorageType_STATUS_AzureFile, + "emptydir": Volume_StorageType_STATUS_EmptyDir, + "secret": Volume_StorageType_STATUS_Secret, +} + +// Volume mount for the Container App. +type VolumeMount struct { + // MountPath: Path within the container at which the volume should be mounted.Must not contain ':'. + MountPath *string `json:"mountPath,omitempty"` + + // SubPath: Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root). + SubPath *string `json:"subPath,omitempty"` + + // VolumeName: This must match the Name of a Volume. + VolumeName *string `json:"volumeName,omitempty"` +} + +var _ genruntime.ARMTransformer = &VolumeMount{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (mount *VolumeMount) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if mount == nil { + return nil, nil + } + result := &arm.VolumeMount{} + + // Set property "MountPath": + if mount.MountPath != nil { + mountPath := *mount.MountPath + result.MountPath = &mountPath + } + + // Set property "SubPath": + if mount.SubPath != nil { + subPath := *mount.SubPath + result.SubPath = &subPath + } + + // Set property "VolumeName": + if mount.VolumeName != nil { + volumeName := *mount.VolumeName + result.VolumeName = &volumeName + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (mount *VolumeMount) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.VolumeMount{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (mount *VolumeMount) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.VolumeMount) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.VolumeMount, got %T", armInput) + } + + // Set property "MountPath": + if typedInput.MountPath != nil { + mountPath := *typedInput.MountPath + mount.MountPath = &mountPath + } + + // Set property "SubPath": + if typedInput.SubPath != nil { + subPath := *typedInput.SubPath + mount.SubPath = &subPath + } + + // Set property "VolumeName": + if typedInput.VolumeName != nil { + volumeName := *typedInput.VolumeName + mount.VolumeName = &volumeName + } + + // No error + return nil +} + +// AssignProperties_From_VolumeMount populates our VolumeMount from the provided source VolumeMount +func (mount *VolumeMount) AssignProperties_From_VolumeMount(source *storage.VolumeMount) error { + + // MountPath + mount.MountPath = genruntime.ClonePointerToString(source.MountPath) + + // SubPath + mount.SubPath = genruntime.ClonePointerToString(source.SubPath) + + // VolumeName + mount.VolumeName = genruntime.ClonePointerToString(source.VolumeName) + + // No error + return nil +} + +// AssignProperties_To_VolumeMount populates the provided destination VolumeMount from our VolumeMount +func (mount *VolumeMount) AssignProperties_To_VolumeMount(destination *storage.VolumeMount) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // MountPath + destination.MountPath = genruntime.ClonePointerToString(mount.MountPath) + + // SubPath + destination.SubPath = genruntime.ClonePointerToString(mount.SubPath) + + // VolumeName + destination.VolumeName = genruntime.ClonePointerToString(mount.VolumeName) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_VolumeMount_STATUS populates our VolumeMount from the provided source VolumeMount_STATUS +func (mount *VolumeMount) Initialize_From_VolumeMount_STATUS(source *VolumeMount_STATUS) error { + + // MountPath + mount.MountPath = genruntime.ClonePointerToString(source.MountPath) + + // SubPath + mount.SubPath = genruntime.ClonePointerToString(source.SubPath) + + // VolumeName + mount.VolumeName = genruntime.ClonePointerToString(source.VolumeName) + + // No error + return nil +} + +// Volume mount for the Container App. +type VolumeMount_STATUS struct { + // MountPath: Path within the container at which the volume should be mounted.Must not contain ':'. + MountPath *string `json:"mountPath,omitempty"` + + // SubPath: Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root). + SubPath *string `json:"subPath,omitempty"` + + // VolumeName: This must match the Name of a Volume. + VolumeName *string `json:"volumeName,omitempty"` +} + +var _ genruntime.FromARMConverter = &VolumeMount_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (mount *VolumeMount_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.VolumeMount_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (mount *VolumeMount_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.VolumeMount_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.VolumeMount_STATUS, got %T", armInput) + } + + // Set property "MountPath": + if typedInput.MountPath != nil { + mountPath := *typedInput.MountPath + mount.MountPath = &mountPath + } + + // Set property "SubPath": + if typedInput.SubPath != nil { + subPath := *typedInput.SubPath + mount.SubPath = &subPath + } + + // Set property "VolumeName": + if typedInput.VolumeName != nil { + volumeName := *typedInput.VolumeName + mount.VolumeName = &volumeName + } + + // No error + return nil +} + +// AssignProperties_From_VolumeMount_STATUS populates our VolumeMount_STATUS from the provided source VolumeMount_STATUS +func (mount *VolumeMount_STATUS) AssignProperties_From_VolumeMount_STATUS(source *storage.VolumeMount_STATUS) error { + + // MountPath + mount.MountPath = genruntime.ClonePointerToString(source.MountPath) + + // SubPath + mount.SubPath = genruntime.ClonePointerToString(source.SubPath) + + // VolumeName + mount.VolumeName = genruntime.ClonePointerToString(source.VolumeName) + + // No error + return nil +} + +// AssignProperties_To_VolumeMount_STATUS populates the provided destination VolumeMount_STATUS from our VolumeMount_STATUS +func (mount *VolumeMount_STATUS) AssignProperties_To_VolumeMount_STATUS(destination *storage.VolumeMount_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // MountPath + destination.MountPath = genruntime.ClonePointerToString(mount.MountPath) + + // SubPath + destination.SubPath = genruntime.ClonePointerToString(mount.SubPath) + + // VolumeName + destination.VolumeName = genruntime.ClonePointerToString(mount.VolumeName) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +type ContainerAppProbe_HttpGet struct { + // Host: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + Host *string `json:"host,omitempty"` + + // HttpHeaders: Custom headers to set in the request. HTTP allows repeated headers. + HttpHeaders []ContainerAppProbe_HttpGet_HttpHeaders `json:"httpHeaders,omitempty"` + + // Path: Path to access on the HTTP server. + Path *string `json:"path,omitempty"` + + // +kubebuilder:validation:Required + // Port: Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + // IANA_SVC_NAME. + Port *int `json:"port,omitempty"` + + // Scheme: Scheme to use for connecting to the host. Defaults to HTTP. + Scheme *ContainerAppProbe_HttpGet_Scheme `json:"scheme,omitempty"` +} + +var _ genruntime.ARMTransformer = &ContainerAppProbe_HttpGet{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (httpGet *ContainerAppProbe_HttpGet) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if httpGet == nil { + return nil, nil + } + result := &arm.ContainerAppProbe_HttpGet{} + + // Set property "Host": + if httpGet.Host != nil { + host := *httpGet.Host + result.Host = &host + } + + // Set property "HttpHeaders": + for _, item := range httpGet.HttpHeaders { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.HttpHeaders = append(result.HttpHeaders, *item_ARM.(*arm.ContainerAppProbe_HttpGet_HttpHeaders)) + } + + // Set property "Path": + if httpGet.Path != nil { + path := *httpGet.Path + result.Path = &path + } + + // Set property "Port": + if httpGet.Port != nil { + port := *httpGet.Port + result.Port = &port + } + + // Set property "Scheme": + if httpGet.Scheme != nil { + var temp string + temp = string(*httpGet.Scheme) + scheme := arm.ContainerAppProbe_HttpGet_Scheme(temp) + result.Scheme = &scheme + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (httpGet *ContainerAppProbe_HttpGet) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ContainerAppProbe_HttpGet{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (httpGet *ContainerAppProbe_HttpGet) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ContainerAppProbe_HttpGet) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ContainerAppProbe_HttpGet, got %T", armInput) + } + + // Set property "Host": + if typedInput.Host != nil { + host := *typedInput.Host + httpGet.Host = &host + } + + // Set property "HttpHeaders": + for _, item := range typedInput.HttpHeaders { + var item1 ContainerAppProbe_HttpGet_HttpHeaders + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + httpGet.HttpHeaders = append(httpGet.HttpHeaders, item1) + } + + // Set property "Path": + if typedInput.Path != nil { + path := *typedInput.Path + httpGet.Path = &path + } + + // Set property "Port": + if typedInput.Port != nil { + port := *typedInput.Port + httpGet.Port = &port + } + + // Set property "Scheme": + if typedInput.Scheme != nil { + var temp string + temp = string(*typedInput.Scheme) + scheme := ContainerAppProbe_HttpGet_Scheme(temp) + httpGet.Scheme = &scheme + } + + // No error + return nil +} + +// AssignProperties_From_ContainerAppProbe_HttpGet populates our ContainerAppProbe_HttpGet from the provided source ContainerAppProbe_HttpGet +func (httpGet *ContainerAppProbe_HttpGet) AssignProperties_From_ContainerAppProbe_HttpGet(source *storage.ContainerAppProbe_HttpGet) error { + + // Host + httpGet.Host = genruntime.ClonePointerToString(source.Host) + + // HttpHeaders + if source.HttpHeaders != nil { + httpHeaderList := make([]ContainerAppProbe_HttpGet_HttpHeaders, len(source.HttpHeaders)) + for httpHeaderIndex, httpHeaderItem := range source.HttpHeaders { + // Shadow the loop variable to avoid aliasing + httpHeaderItem := httpHeaderItem + var httpHeader ContainerAppProbe_HttpGet_HttpHeaders + err := httpHeader.AssignProperties_From_ContainerAppProbe_HttpGet_HttpHeaders(&httpHeaderItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ContainerAppProbe_HttpGet_HttpHeaders() to populate field HttpHeaders") + } + httpHeaderList[httpHeaderIndex] = httpHeader + } + httpGet.HttpHeaders = httpHeaderList + } else { + httpGet.HttpHeaders = nil + } + + // Path + httpGet.Path = genruntime.ClonePointerToString(source.Path) + + // Port + httpGet.Port = genruntime.ClonePointerToInt(source.Port) + + // Scheme + if source.Scheme != nil { + scheme := *source.Scheme + schemeTemp := genruntime.ToEnum(scheme, containerAppProbe_HttpGet_Scheme_Values) + httpGet.Scheme = &schemeTemp + } else { + httpGet.Scheme = nil + } + + // No error + return nil +} + +// AssignProperties_To_ContainerAppProbe_HttpGet populates the provided destination ContainerAppProbe_HttpGet from our ContainerAppProbe_HttpGet +func (httpGet *ContainerAppProbe_HttpGet) AssignProperties_To_ContainerAppProbe_HttpGet(destination *storage.ContainerAppProbe_HttpGet) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Host + destination.Host = genruntime.ClonePointerToString(httpGet.Host) + + // HttpHeaders + if httpGet.HttpHeaders != nil { + httpHeaderList := make([]storage.ContainerAppProbe_HttpGet_HttpHeaders, len(httpGet.HttpHeaders)) + for httpHeaderIndex, httpHeaderItem := range httpGet.HttpHeaders { + // Shadow the loop variable to avoid aliasing + httpHeaderItem := httpHeaderItem + var httpHeader storage.ContainerAppProbe_HttpGet_HttpHeaders + err := httpHeaderItem.AssignProperties_To_ContainerAppProbe_HttpGet_HttpHeaders(&httpHeader) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ContainerAppProbe_HttpGet_HttpHeaders() to populate field HttpHeaders") + } + httpHeaderList[httpHeaderIndex] = httpHeader + } + destination.HttpHeaders = httpHeaderList + } else { + destination.HttpHeaders = nil + } + + // Path + destination.Path = genruntime.ClonePointerToString(httpGet.Path) + + // Port + destination.Port = genruntime.ClonePointerToInt(httpGet.Port) + + // Scheme + if httpGet.Scheme != nil { + scheme := string(*httpGet.Scheme) + destination.Scheme = &scheme + } else { + destination.Scheme = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ContainerAppProbe_HttpGet_STATUS populates our ContainerAppProbe_HttpGet from the provided source ContainerAppProbe_HttpGet_STATUS +func (httpGet *ContainerAppProbe_HttpGet) Initialize_From_ContainerAppProbe_HttpGet_STATUS(source *ContainerAppProbe_HttpGet_STATUS) error { + + // Host + httpGet.Host = genruntime.ClonePointerToString(source.Host) + + // HttpHeaders + if source.HttpHeaders != nil { + httpHeaderList := make([]ContainerAppProbe_HttpGet_HttpHeaders, len(source.HttpHeaders)) + for httpHeaderIndex, httpHeaderItem := range source.HttpHeaders { + // Shadow the loop variable to avoid aliasing + httpHeaderItem := httpHeaderItem + var httpHeader ContainerAppProbe_HttpGet_HttpHeaders + err := httpHeader.Initialize_From_ContainerAppProbe_HttpGet_HttpHeaders_STATUS(&httpHeaderItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_ContainerAppProbe_HttpGet_HttpHeaders_STATUS() to populate field HttpHeaders") + } + httpHeaderList[httpHeaderIndex] = httpHeader + } + httpGet.HttpHeaders = httpHeaderList + } else { + httpGet.HttpHeaders = nil + } + + // Path + httpGet.Path = genruntime.ClonePointerToString(source.Path) + + // Port + httpGet.Port = genruntime.ClonePointerToInt(source.Port) + + // Scheme + if source.Scheme != nil { + scheme := genruntime.ToEnum(string(*source.Scheme), containerAppProbe_HttpGet_Scheme_Values) + httpGet.Scheme = &scheme + } else { + httpGet.Scheme = nil + } + + // No error + return nil +} + +type ContainerAppProbe_HttpGet_STATUS struct { + // Host: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + Host *string `json:"host,omitempty"` + + // HttpHeaders: Custom headers to set in the request. HTTP allows repeated headers. + HttpHeaders []ContainerAppProbe_HttpGet_HttpHeaders_STATUS `json:"httpHeaders,omitempty"` + + // Path: Path to access on the HTTP server. + Path *string `json:"path,omitempty"` + + // Port: Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + // IANA_SVC_NAME. + Port *int `json:"port,omitempty"` + + // Scheme: Scheme to use for connecting to the host. Defaults to HTTP. + Scheme *ContainerAppProbe_HttpGet_Scheme_STATUS `json:"scheme,omitempty"` +} + +var _ genruntime.FromARMConverter = &ContainerAppProbe_HttpGet_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (httpGet *ContainerAppProbe_HttpGet_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ContainerAppProbe_HttpGet_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (httpGet *ContainerAppProbe_HttpGet_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ContainerAppProbe_HttpGet_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ContainerAppProbe_HttpGet_STATUS, got %T", armInput) + } + + // Set property "Host": + if typedInput.Host != nil { + host := *typedInput.Host + httpGet.Host = &host + } + + // Set property "HttpHeaders": + for _, item := range typedInput.HttpHeaders { + var item1 ContainerAppProbe_HttpGet_HttpHeaders_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + httpGet.HttpHeaders = append(httpGet.HttpHeaders, item1) + } + + // Set property "Path": + if typedInput.Path != nil { + path := *typedInput.Path + httpGet.Path = &path + } + + // Set property "Port": + if typedInput.Port != nil { + port := *typedInput.Port + httpGet.Port = &port + } + + // Set property "Scheme": + if typedInput.Scheme != nil { + var temp string + temp = string(*typedInput.Scheme) + scheme := ContainerAppProbe_HttpGet_Scheme_STATUS(temp) + httpGet.Scheme = &scheme + } + + // No error + return nil +} + +// AssignProperties_From_ContainerAppProbe_HttpGet_STATUS populates our ContainerAppProbe_HttpGet_STATUS from the provided source ContainerAppProbe_HttpGet_STATUS +func (httpGet *ContainerAppProbe_HttpGet_STATUS) AssignProperties_From_ContainerAppProbe_HttpGet_STATUS(source *storage.ContainerAppProbe_HttpGet_STATUS) error { + + // Host + httpGet.Host = genruntime.ClonePointerToString(source.Host) + + // HttpHeaders + if source.HttpHeaders != nil { + httpHeaderList := make([]ContainerAppProbe_HttpGet_HttpHeaders_STATUS, len(source.HttpHeaders)) + for httpHeaderIndex, httpHeaderItem := range source.HttpHeaders { + // Shadow the loop variable to avoid aliasing + httpHeaderItem := httpHeaderItem + var httpHeader ContainerAppProbe_HttpGet_HttpHeaders_STATUS + err := httpHeader.AssignProperties_From_ContainerAppProbe_HttpGet_HttpHeaders_STATUS(&httpHeaderItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ContainerAppProbe_HttpGet_HttpHeaders_STATUS() to populate field HttpHeaders") + } + httpHeaderList[httpHeaderIndex] = httpHeader + } + httpGet.HttpHeaders = httpHeaderList + } else { + httpGet.HttpHeaders = nil + } + + // Path + httpGet.Path = genruntime.ClonePointerToString(source.Path) + + // Port + httpGet.Port = genruntime.ClonePointerToInt(source.Port) + + // Scheme + if source.Scheme != nil { + scheme := *source.Scheme + schemeTemp := genruntime.ToEnum(scheme, containerAppProbe_HttpGet_Scheme_STATUS_Values) + httpGet.Scheme = &schemeTemp + } else { + httpGet.Scheme = nil + } + + // No error + return nil +} + +// AssignProperties_To_ContainerAppProbe_HttpGet_STATUS populates the provided destination ContainerAppProbe_HttpGet_STATUS from our ContainerAppProbe_HttpGet_STATUS +func (httpGet *ContainerAppProbe_HttpGet_STATUS) AssignProperties_To_ContainerAppProbe_HttpGet_STATUS(destination *storage.ContainerAppProbe_HttpGet_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Host + destination.Host = genruntime.ClonePointerToString(httpGet.Host) + + // HttpHeaders + if httpGet.HttpHeaders != nil { + httpHeaderList := make([]storage.ContainerAppProbe_HttpGet_HttpHeaders_STATUS, len(httpGet.HttpHeaders)) + for httpHeaderIndex, httpHeaderItem := range httpGet.HttpHeaders { + // Shadow the loop variable to avoid aliasing + httpHeaderItem := httpHeaderItem + var httpHeader storage.ContainerAppProbe_HttpGet_HttpHeaders_STATUS + err := httpHeaderItem.AssignProperties_To_ContainerAppProbe_HttpGet_HttpHeaders_STATUS(&httpHeader) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ContainerAppProbe_HttpGet_HttpHeaders_STATUS() to populate field HttpHeaders") + } + httpHeaderList[httpHeaderIndex] = httpHeader + } + destination.HttpHeaders = httpHeaderList + } else { + destination.HttpHeaders = nil + } + + // Path + destination.Path = genruntime.ClonePointerToString(httpGet.Path) + + // Port + destination.Port = genruntime.ClonePointerToInt(httpGet.Port) + + // Scheme + if httpGet.Scheme != nil { + scheme := string(*httpGet.Scheme) + destination.Scheme = &scheme + } else { + destination.Scheme = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +type ContainerAppProbe_TcpSocket struct { + // Host: Optional: Host name to connect to, defaults to the pod IP. + Host *string `json:"host,omitempty"` + + // +kubebuilder:validation:Required + // Port: Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + // IANA_SVC_NAME. + Port *int `json:"port,omitempty"` +} + +var _ genruntime.ARMTransformer = &ContainerAppProbe_TcpSocket{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (socket *ContainerAppProbe_TcpSocket) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if socket == nil { + return nil, nil + } + result := &arm.ContainerAppProbe_TcpSocket{} + + // Set property "Host": + if socket.Host != nil { + host := *socket.Host + result.Host = &host + } + + // Set property "Port": + if socket.Port != nil { + port := *socket.Port + result.Port = &port + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (socket *ContainerAppProbe_TcpSocket) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ContainerAppProbe_TcpSocket{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (socket *ContainerAppProbe_TcpSocket) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ContainerAppProbe_TcpSocket) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ContainerAppProbe_TcpSocket, got %T", armInput) + } + + // Set property "Host": + if typedInput.Host != nil { + host := *typedInput.Host + socket.Host = &host + } + + // Set property "Port": + if typedInput.Port != nil { + port := *typedInput.Port + socket.Port = &port + } + + // No error + return nil +} + +// AssignProperties_From_ContainerAppProbe_TcpSocket populates our ContainerAppProbe_TcpSocket from the provided source ContainerAppProbe_TcpSocket +func (socket *ContainerAppProbe_TcpSocket) AssignProperties_From_ContainerAppProbe_TcpSocket(source *storage.ContainerAppProbe_TcpSocket) error { + + // Host + socket.Host = genruntime.ClonePointerToString(source.Host) + + // Port + socket.Port = genruntime.ClonePointerToInt(source.Port) + + // No error + return nil +} + +// AssignProperties_To_ContainerAppProbe_TcpSocket populates the provided destination ContainerAppProbe_TcpSocket from our ContainerAppProbe_TcpSocket +func (socket *ContainerAppProbe_TcpSocket) AssignProperties_To_ContainerAppProbe_TcpSocket(destination *storage.ContainerAppProbe_TcpSocket) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Host + destination.Host = genruntime.ClonePointerToString(socket.Host) + + // Port + destination.Port = genruntime.ClonePointerToInt(socket.Port) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ContainerAppProbe_TcpSocket_STATUS populates our ContainerAppProbe_TcpSocket from the provided source ContainerAppProbe_TcpSocket_STATUS +func (socket *ContainerAppProbe_TcpSocket) Initialize_From_ContainerAppProbe_TcpSocket_STATUS(source *ContainerAppProbe_TcpSocket_STATUS) error { + + // Host + socket.Host = genruntime.ClonePointerToString(source.Host) + + // Port + socket.Port = genruntime.ClonePointerToInt(source.Port) + + // No error + return nil +} + +type ContainerAppProbe_TcpSocket_STATUS struct { + // Host: Optional: Host name to connect to, defaults to the pod IP. + Host *string `json:"host,omitempty"` + + // Port: Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + // IANA_SVC_NAME. + Port *int `json:"port,omitempty"` +} + +var _ genruntime.FromARMConverter = &ContainerAppProbe_TcpSocket_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (socket *ContainerAppProbe_TcpSocket_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ContainerAppProbe_TcpSocket_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (socket *ContainerAppProbe_TcpSocket_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ContainerAppProbe_TcpSocket_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ContainerAppProbe_TcpSocket_STATUS, got %T", armInput) + } + + // Set property "Host": + if typedInput.Host != nil { + host := *typedInput.Host + socket.Host = &host + } + + // Set property "Port": + if typedInput.Port != nil { + port := *typedInput.Port + socket.Port = &port + } + + // No error + return nil +} + +// AssignProperties_From_ContainerAppProbe_TcpSocket_STATUS populates our ContainerAppProbe_TcpSocket_STATUS from the provided source ContainerAppProbe_TcpSocket_STATUS +func (socket *ContainerAppProbe_TcpSocket_STATUS) AssignProperties_From_ContainerAppProbe_TcpSocket_STATUS(source *storage.ContainerAppProbe_TcpSocket_STATUS) error { + + // Host + socket.Host = genruntime.ClonePointerToString(source.Host) + + // Port + socket.Port = genruntime.ClonePointerToInt(source.Port) + + // No error + return nil +} + +// AssignProperties_To_ContainerAppProbe_TcpSocket_STATUS populates the provided destination ContainerAppProbe_TcpSocket_STATUS from our ContainerAppProbe_TcpSocket_STATUS +func (socket *ContainerAppProbe_TcpSocket_STATUS) AssignProperties_To_ContainerAppProbe_TcpSocket_STATUS(destination *storage.ContainerAppProbe_TcpSocket_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Host + destination.Host = genruntime.ClonePointerToString(socket.Host) + + // Port + destination.Port = genruntime.ClonePointerToInt(socket.Port) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"Liveness","Readiness","Startup"} +type ContainerAppProbe_Type string + +const ( + ContainerAppProbe_Type_Liveness = ContainerAppProbe_Type("Liveness") + ContainerAppProbe_Type_Readiness = ContainerAppProbe_Type("Readiness") + ContainerAppProbe_Type_Startup = ContainerAppProbe_Type("Startup") +) + +// Mapping from string to ContainerAppProbe_Type +var containerAppProbe_Type_Values = map[string]ContainerAppProbe_Type{ + "liveness": ContainerAppProbe_Type_Liveness, + "readiness": ContainerAppProbe_Type_Readiness, + "startup": ContainerAppProbe_Type_Startup, +} + +type ContainerAppProbe_Type_STATUS string + +const ( + ContainerAppProbe_Type_STATUS_Liveness = ContainerAppProbe_Type_STATUS("Liveness") + ContainerAppProbe_Type_STATUS_Readiness = ContainerAppProbe_Type_STATUS("Readiness") + ContainerAppProbe_Type_STATUS_Startup = ContainerAppProbe_Type_STATUS("Startup") +) + +// Mapping from string to ContainerAppProbe_Type_STATUS +var containerAppProbe_Type_STATUS_Values = map[string]ContainerAppProbe_Type_STATUS{ + "liveness": ContainerAppProbe_Type_STATUS_Liveness, + "readiness": ContainerAppProbe_Type_STATUS_Readiness, + "startup": ContainerAppProbe_Type_STATUS_Startup, +} + +// +kubebuilder:validation:Enum={"Disabled","SniEnabled"} +type CustomDomain_BindingType string + +const ( + CustomDomain_BindingType_Disabled = CustomDomain_BindingType("Disabled") + CustomDomain_BindingType_SniEnabled = CustomDomain_BindingType("SniEnabled") +) + +// Mapping from string to CustomDomain_BindingType +var customDomain_BindingType_Values = map[string]CustomDomain_BindingType{ + "disabled": CustomDomain_BindingType_Disabled, + "snienabled": CustomDomain_BindingType_SniEnabled, +} + +type CustomDomain_BindingType_STATUS string + +const ( + CustomDomain_BindingType_STATUS_Disabled = CustomDomain_BindingType_STATUS("Disabled") + CustomDomain_BindingType_STATUS_SniEnabled = CustomDomain_BindingType_STATUS("SniEnabled") +) + +// Mapping from string to CustomDomain_BindingType_STATUS +var customDomain_BindingType_STATUS_Values = map[string]CustomDomain_BindingType_STATUS{ + "disabled": CustomDomain_BindingType_STATUS_Disabled, + "snienabled": CustomDomain_BindingType_STATUS_SniEnabled, +} + +// Container App container Custom scaling rule. +type CustomScaleRule struct { + // Auth: Authentication secrets for the custom scale rule. + Auth []ScaleRuleAuth `json:"auth,omitempty"` + + // Metadata: Metadata properties to describe custom scale rule. + Metadata map[string]string `json:"metadata,omitempty"` + + // Type: Type of the custom scale rule + // eg: azure-servicebus, redis etc. + Type *string `json:"type,omitempty"` +} + +var _ genruntime.ARMTransformer = &CustomScaleRule{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (rule *CustomScaleRule) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if rule == nil { + return nil, nil + } + result := &arm.CustomScaleRule{} + + // Set property "Auth": + for _, item := range rule.Auth { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Auth = append(result.Auth, *item_ARM.(*arm.ScaleRuleAuth)) + } + + // Set property "Metadata": + if rule.Metadata != nil { + result.Metadata = make(map[string]string, len(rule.Metadata)) + for key, value := range rule.Metadata { + result.Metadata[key] = value + } + } + + // Set property "Type": + if rule.Type != nil { + typeVar := *rule.Type + result.Type = &typeVar + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (rule *CustomScaleRule) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.CustomScaleRule{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (rule *CustomScaleRule) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.CustomScaleRule) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.CustomScaleRule, got %T", armInput) + } + + // Set property "Auth": + for _, item := range typedInput.Auth { + var item1 ScaleRuleAuth + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + rule.Auth = append(rule.Auth, item1) + } + + // Set property "Metadata": + if typedInput.Metadata != nil { + rule.Metadata = make(map[string]string, len(typedInput.Metadata)) + for key, value := range typedInput.Metadata { + rule.Metadata[key] = value + } + } + + // Set property "Type": + if typedInput.Type != nil { + typeVar := *typedInput.Type + rule.Type = &typeVar + } + + // No error + return nil +} + +// AssignProperties_From_CustomScaleRule populates our CustomScaleRule from the provided source CustomScaleRule +func (rule *CustomScaleRule) AssignProperties_From_CustomScaleRule(source *storage.CustomScaleRule) error { + + // Auth + if source.Auth != nil { + authList := make([]ScaleRuleAuth, len(source.Auth)) + for authIndex, authItem := range source.Auth { + // Shadow the loop variable to avoid aliasing + authItem := authItem + var auth ScaleRuleAuth + err := auth.AssignProperties_From_ScaleRuleAuth(&authItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ScaleRuleAuth() to populate field Auth") + } + authList[authIndex] = auth + } + rule.Auth = authList + } else { + rule.Auth = nil + } + + // Metadata + rule.Metadata = genruntime.CloneMapOfStringToString(source.Metadata) + + // Type + rule.Type = genruntime.ClonePointerToString(source.Type) + + // No error + return nil +} + +// AssignProperties_To_CustomScaleRule populates the provided destination CustomScaleRule from our CustomScaleRule +func (rule *CustomScaleRule) AssignProperties_To_CustomScaleRule(destination *storage.CustomScaleRule) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Auth + if rule.Auth != nil { + authList := make([]storage.ScaleRuleAuth, len(rule.Auth)) + for authIndex, authItem := range rule.Auth { + // Shadow the loop variable to avoid aliasing + authItem := authItem + var auth storage.ScaleRuleAuth + err := authItem.AssignProperties_To_ScaleRuleAuth(&auth) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ScaleRuleAuth() to populate field Auth") + } + authList[authIndex] = auth + } + destination.Auth = authList + } else { + destination.Auth = nil + } + + // Metadata + destination.Metadata = genruntime.CloneMapOfStringToString(rule.Metadata) + + // 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 +} + +// Initialize_From_CustomScaleRule_STATUS populates our CustomScaleRule from the provided source CustomScaleRule_STATUS +func (rule *CustomScaleRule) Initialize_From_CustomScaleRule_STATUS(source *CustomScaleRule_STATUS) error { + + // Auth + if source.Auth != nil { + authList := make([]ScaleRuleAuth, len(source.Auth)) + for authIndex, authItem := range source.Auth { + // Shadow the loop variable to avoid aliasing + authItem := authItem + var auth ScaleRuleAuth + err := auth.Initialize_From_ScaleRuleAuth_STATUS(&authItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_ScaleRuleAuth_STATUS() to populate field Auth") + } + authList[authIndex] = auth + } + rule.Auth = authList + } else { + rule.Auth = nil + } + + // Metadata + rule.Metadata = genruntime.CloneMapOfStringToString(source.Metadata) + + // Type + rule.Type = genruntime.ClonePointerToString(source.Type) + + // No error + return nil +} + +// Container App container Custom scaling rule. +type CustomScaleRule_STATUS struct { + // Auth: Authentication secrets for the custom scale rule. + Auth []ScaleRuleAuth_STATUS `json:"auth,omitempty"` + + // Metadata: Metadata properties to describe custom scale rule. + Metadata map[string]string `json:"metadata,omitempty"` + + // Type: Type of the custom scale rule + // eg: azure-servicebus, redis etc. + Type *string `json:"type,omitempty"` +} + +var _ genruntime.FromARMConverter = &CustomScaleRule_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (rule *CustomScaleRule_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.CustomScaleRule_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (rule *CustomScaleRule_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.CustomScaleRule_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.CustomScaleRule_STATUS, got %T", armInput) + } + + // Set property "Auth": + for _, item := range typedInput.Auth { + var item1 ScaleRuleAuth_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + rule.Auth = append(rule.Auth, item1) + } + + // Set property "Metadata": + if typedInput.Metadata != nil { + rule.Metadata = make(map[string]string, len(typedInput.Metadata)) + for key, value := range typedInput.Metadata { + rule.Metadata[key] = value + } + } + + // Set property "Type": + if typedInput.Type != nil { + typeVar := *typedInput.Type + rule.Type = &typeVar + } + + // No error + return nil +} + +// AssignProperties_From_CustomScaleRule_STATUS populates our CustomScaleRule_STATUS from the provided source CustomScaleRule_STATUS +func (rule *CustomScaleRule_STATUS) AssignProperties_From_CustomScaleRule_STATUS(source *storage.CustomScaleRule_STATUS) error { + + // Auth + if source.Auth != nil { + authList := make([]ScaleRuleAuth_STATUS, len(source.Auth)) + for authIndex, authItem := range source.Auth { + // Shadow the loop variable to avoid aliasing + authItem := authItem + var auth ScaleRuleAuth_STATUS + err := auth.AssignProperties_From_ScaleRuleAuth_STATUS(&authItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ScaleRuleAuth_STATUS() to populate field Auth") + } + authList[authIndex] = auth + } + rule.Auth = authList + } else { + rule.Auth = nil + } + + // Metadata + rule.Metadata = genruntime.CloneMapOfStringToString(source.Metadata) + + // Type + rule.Type = genruntime.ClonePointerToString(source.Type) + + // No error + return nil +} + +// AssignProperties_To_CustomScaleRule_STATUS populates the provided destination CustomScaleRule_STATUS from our CustomScaleRule_STATUS +func (rule *CustomScaleRule_STATUS) AssignProperties_To_CustomScaleRule_STATUS(destination *storage.CustomScaleRule_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Auth + if rule.Auth != nil { + authList := make([]storage.ScaleRuleAuth_STATUS, len(rule.Auth)) + for authIndex, authItem := range rule.Auth { + // Shadow the loop variable to avoid aliasing + authItem := authItem + var auth storage.ScaleRuleAuth_STATUS + err := authItem.AssignProperties_To_ScaleRuleAuth_STATUS(&auth) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ScaleRuleAuth_STATUS() to populate field Auth") + } + authList[authIndex] = auth + } + destination.Auth = authList + } else { + destination.Auth = nil + } + + // Metadata + destination.Metadata = genruntime.CloneMapOfStringToString(rule.Metadata) + + // 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 +} + +// Container App container Http scaling rule. +type HttpScaleRule struct { + // Auth: Authentication secrets for the custom scale rule. + Auth []ScaleRuleAuth `json:"auth,omitempty"` + + // Metadata: Metadata properties to describe http scale rule. + Metadata map[string]string `json:"metadata,omitempty"` +} + +var _ genruntime.ARMTransformer = &HttpScaleRule{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (rule *HttpScaleRule) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if rule == nil { + return nil, nil + } + result := &arm.HttpScaleRule{} + + // Set property "Auth": + for _, item := range rule.Auth { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Auth = append(result.Auth, *item_ARM.(*arm.ScaleRuleAuth)) + } + + // Set property "Metadata": + if rule.Metadata != nil { + result.Metadata = make(map[string]string, len(rule.Metadata)) + for key, value := range rule.Metadata { + result.Metadata[key] = value + } + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (rule *HttpScaleRule) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.HttpScaleRule{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (rule *HttpScaleRule) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.HttpScaleRule) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.HttpScaleRule, got %T", armInput) + } + + // Set property "Auth": + for _, item := range typedInput.Auth { + var item1 ScaleRuleAuth + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + rule.Auth = append(rule.Auth, item1) + } + + // Set property "Metadata": + if typedInput.Metadata != nil { + rule.Metadata = make(map[string]string, len(typedInput.Metadata)) + for key, value := range typedInput.Metadata { + rule.Metadata[key] = value + } + } + + // No error + return nil +} + +// AssignProperties_From_HttpScaleRule populates our HttpScaleRule from the provided source HttpScaleRule +func (rule *HttpScaleRule) AssignProperties_From_HttpScaleRule(source *storage.HttpScaleRule) error { + + // Auth + if source.Auth != nil { + authList := make([]ScaleRuleAuth, len(source.Auth)) + for authIndex, authItem := range source.Auth { + // Shadow the loop variable to avoid aliasing + authItem := authItem + var auth ScaleRuleAuth + err := auth.AssignProperties_From_ScaleRuleAuth(&authItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ScaleRuleAuth() to populate field Auth") + } + authList[authIndex] = auth + } + rule.Auth = authList + } else { + rule.Auth = nil + } + + // Metadata + rule.Metadata = genruntime.CloneMapOfStringToString(source.Metadata) + + // No error + return nil +} + +// AssignProperties_To_HttpScaleRule populates the provided destination HttpScaleRule from our HttpScaleRule +func (rule *HttpScaleRule) AssignProperties_To_HttpScaleRule(destination *storage.HttpScaleRule) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Auth + if rule.Auth != nil { + authList := make([]storage.ScaleRuleAuth, len(rule.Auth)) + for authIndex, authItem := range rule.Auth { + // Shadow the loop variable to avoid aliasing + authItem := authItem + var auth storage.ScaleRuleAuth + err := authItem.AssignProperties_To_ScaleRuleAuth(&auth) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ScaleRuleAuth() to populate field Auth") + } + authList[authIndex] = auth + } + destination.Auth = authList + } else { + destination.Auth = nil + } + + // Metadata + destination.Metadata = genruntime.CloneMapOfStringToString(rule.Metadata) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_HttpScaleRule_STATUS populates our HttpScaleRule from the provided source HttpScaleRule_STATUS +func (rule *HttpScaleRule) Initialize_From_HttpScaleRule_STATUS(source *HttpScaleRule_STATUS) error { + + // Auth + if source.Auth != nil { + authList := make([]ScaleRuleAuth, len(source.Auth)) + for authIndex, authItem := range source.Auth { + // Shadow the loop variable to avoid aliasing + authItem := authItem + var auth ScaleRuleAuth + err := auth.Initialize_From_ScaleRuleAuth_STATUS(&authItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_ScaleRuleAuth_STATUS() to populate field Auth") + } + authList[authIndex] = auth + } + rule.Auth = authList + } else { + rule.Auth = nil + } + + // Metadata + rule.Metadata = genruntime.CloneMapOfStringToString(source.Metadata) + + // No error + return nil +} + +// Container App container Http scaling rule. +type HttpScaleRule_STATUS struct { + // Auth: Authentication secrets for the custom scale rule. + Auth []ScaleRuleAuth_STATUS `json:"auth,omitempty"` + + // Metadata: Metadata properties to describe http scale rule. + Metadata map[string]string `json:"metadata,omitempty"` +} + +var _ genruntime.FromARMConverter = &HttpScaleRule_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (rule *HttpScaleRule_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.HttpScaleRule_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (rule *HttpScaleRule_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.HttpScaleRule_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.HttpScaleRule_STATUS, got %T", armInput) + } + + // Set property "Auth": + for _, item := range typedInput.Auth { + var item1 ScaleRuleAuth_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + rule.Auth = append(rule.Auth, item1) + } + + // Set property "Metadata": + if typedInput.Metadata != nil { + rule.Metadata = make(map[string]string, len(typedInput.Metadata)) + for key, value := range typedInput.Metadata { + rule.Metadata[key] = value + } + } + + // No error + return nil +} + +// AssignProperties_From_HttpScaleRule_STATUS populates our HttpScaleRule_STATUS from the provided source HttpScaleRule_STATUS +func (rule *HttpScaleRule_STATUS) AssignProperties_From_HttpScaleRule_STATUS(source *storage.HttpScaleRule_STATUS) error { + + // Auth + if source.Auth != nil { + authList := make([]ScaleRuleAuth_STATUS, len(source.Auth)) + for authIndex, authItem := range source.Auth { + // Shadow the loop variable to avoid aliasing + authItem := authItem + var auth ScaleRuleAuth_STATUS + err := auth.AssignProperties_From_ScaleRuleAuth_STATUS(&authItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ScaleRuleAuth_STATUS() to populate field Auth") + } + authList[authIndex] = auth + } + rule.Auth = authList + } else { + rule.Auth = nil + } + + // Metadata + rule.Metadata = genruntime.CloneMapOfStringToString(source.Metadata) + + // No error + return nil +} + +// AssignProperties_To_HttpScaleRule_STATUS populates the provided destination HttpScaleRule_STATUS from our HttpScaleRule_STATUS +func (rule *HttpScaleRule_STATUS) AssignProperties_To_HttpScaleRule_STATUS(destination *storage.HttpScaleRule_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Auth + if rule.Auth != nil { + authList := make([]storage.ScaleRuleAuth_STATUS, len(rule.Auth)) + for authIndex, authItem := range rule.Auth { + // Shadow the loop variable to avoid aliasing + authItem := authItem + var auth storage.ScaleRuleAuth_STATUS + err := authItem.AssignProperties_To_ScaleRuleAuth_STATUS(&auth) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ScaleRuleAuth_STATUS() to populate field Auth") + } + authList[authIndex] = auth + } + destination.Auth = authList + } else { + destination.Auth = nil + } + + // Metadata + destination.Metadata = genruntime.CloneMapOfStringToString(rule.Metadata) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"none","sticky"} +type Ingress_StickySessions_Affinity string + +const ( + Ingress_StickySessions_Affinity_None = Ingress_StickySessions_Affinity("none") + Ingress_StickySessions_Affinity_Sticky = Ingress_StickySessions_Affinity("sticky") +) + +// Mapping from string to Ingress_StickySessions_Affinity +var ingress_StickySessions_Affinity_Values = map[string]Ingress_StickySessions_Affinity{ + "none": Ingress_StickySessions_Affinity_None, + "sticky": Ingress_StickySessions_Affinity_Sticky, +} + +type Ingress_StickySessions_Affinity_STATUS string + +const ( + Ingress_StickySessions_Affinity_STATUS_None = Ingress_StickySessions_Affinity_STATUS("none") + Ingress_StickySessions_Affinity_STATUS_Sticky = Ingress_StickySessions_Affinity_STATUS("sticky") +) + +// Mapping from string to Ingress_StickySessions_Affinity_STATUS +var ingress_StickySessions_Affinity_STATUS_Values = map[string]Ingress_StickySessions_Affinity_STATUS{ + "none": Ingress_StickySessions_Affinity_STATUS_None, + "sticky": Ingress_StickySessions_Affinity_STATUS_Sticky, +} + +// +kubebuilder:validation:Enum={"Allow","Deny"} +type IpSecurityRestrictionRule_Action string + +const ( + IpSecurityRestrictionRule_Action_Allow = IpSecurityRestrictionRule_Action("Allow") + IpSecurityRestrictionRule_Action_Deny = IpSecurityRestrictionRule_Action("Deny") +) + +// Mapping from string to IpSecurityRestrictionRule_Action +var ipSecurityRestrictionRule_Action_Values = map[string]IpSecurityRestrictionRule_Action{ + "allow": IpSecurityRestrictionRule_Action_Allow, + "deny": IpSecurityRestrictionRule_Action_Deny, +} + +type IpSecurityRestrictionRule_Action_STATUS string + +const ( + IpSecurityRestrictionRule_Action_STATUS_Allow = IpSecurityRestrictionRule_Action_STATUS("Allow") + IpSecurityRestrictionRule_Action_STATUS_Deny = IpSecurityRestrictionRule_Action_STATUS("Deny") +) + +// Mapping from string to IpSecurityRestrictionRule_Action_STATUS +var ipSecurityRestrictionRule_Action_STATUS_Values = map[string]IpSecurityRestrictionRule_Action_STATUS{ + "allow": IpSecurityRestrictionRule_Action_STATUS_Allow, + "deny": IpSecurityRestrictionRule_Action_STATUS_Deny, +} + +// Container App container Azure Queue based scaling rule. +type QueueScaleRule struct { + // Auth: Authentication secrets for the queue scale rule. + Auth []ScaleRuleAuth `json:"auth,omitempty"` + + // QueueLength: Queue length. + QueueLength *int `json:"queueLength,omitempty"` + + // QueueName: Queue name. + QueueName *string `json:"queueName,omitempty"` +} + +var _ genruntime.ARMTransformer = &QueueScaleRule{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (rule *QueueScaleRule) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if rule == nil { + return nil, nil + } + result := &arm.QueueScaleRule{} + + // Set property "Auth": + for _, item := range rule.Auth { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Auth = append(result.Auth, *item_ARM.(*arm.ScaleRuleAuth)) + } + + // Set property "QueueLength": + if rule.QueueLength != nil { + queueLength := *rule.QueueLength + result.QueueLength = &queueLength + } + + // Set property "QueueName": + if rule.QueueName != nil { + queueName := *rule.QueueName + result.QueueName = &queueName + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (rule *QueueScaleRule) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.QueueScaleRule{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (rule *QueueScaleRule) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.QueueScaleRule) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.QueueScaleRule, got %T", armInput) + } + + // Set property "Auth": + for _, item := range typedInput.Auth { + var item1 ScaleRuleAuth + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + rule.Auth = append(rule.Auth, item1) + } + + // Set property "QueueLength": + if typedInput.QueueLength != nil { + queueLength := *typedInput.QueueLength + rule.QueueLength = &queueLength + } + + // Set property "QueueName": + if typedInput.QueueName != nil { + queueName := *typedInput.QueueName + rule.QueueName = &queueName + } + + // No error + return nil +} + +// AssignProperties_From_QueueScaleRule populates our QueueScaleRule from the provided source QueueScaleRule +func (rule *QueueScaleRule) AssignProperties_From_QueueScaleRule(source *storage.QueueScaleRule) error { + + // Auth + if source.Auth != nil { + authList := make([]ScaleRuleAuth, len(source.Auth)) + for authIndex, authItem := range source.Auth { + // Shadow the loop variable to avoid aliasing + authItem := authItem + var auth ScaleRuleAuth + err := auth.AssignProperties_From_ScaleRuleAuth(&authItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ScaleRuleAuth() to populate field Auth") + } + authList[authIndex] = auth + } + rule.Auth = authList + } else { + rule.Auth = nil + } + + // QueueLength + rule.QueueLength = genruntime.ClonePointerToInt(source.QueueLength) + + // QueueName + rule.QueueName = genruntime.ClonePointerToString(source.QueueName) + + // No error + return nil +} + +// AssignProperties_To_QueueScaleRule populates the provided destination QueueScaleRule from our QueueScaleRule +func (rule *QueueScaleRule) AssignProperties_To_QueueScaleRule(destination *storage.QueueScaleRule) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Auth + if rule.Auth != nil { + authList := make([]storage.ScaleRuleAuth, len(rule.Auth)) + for authIndex, authItem := range rule.Auth { + // Shadow the loop variable to avoid aliasing + authItem := authItem + var auth storage.ScaleRuleAuth + err := authItem.AssignProperties_To_ScaleRuleAuth(&auth) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ScaleRuleAuth() to populate field Auth") + } + authList[authIndex] = auth + } + destination.Auth = authList + } else { + destination.Auth = nil + } + + // QueueLength + destination.QueueLength = genruntime.ClonePointerToInt(rule.QueueLength) + + // QueueName + destination.QueueName = genruntime.ClonePointerToString(rule.QueueName) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_QueueScaleRule_STATUS populates our QueueScaleRule from the provided source QueueScaleRule_STATUS +func (rule *QueueScaleRule) Initialize_From_QueueScaleRule_STATUS(source *QueueScaleRule_STATUS) error { + + // Auth + if source.Auth != nil { + authList := make([]ScaleRuleAuth, len(source.Auth)) + for authIndex, authItem := range source.Auth { + // Shadow the loop variable to avoid aliasing + authItem := authItem + var auth ScaleRuleAuth + err := auth.Initialize_From_ScaleRuleAuth_STATUS(&authItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_ScaleRuleAuth_STATUS() to populate field Auth") + } + authList[authIndex] = auth + } + rule.Auth = authList + } else { + rule.Auth = nil + } + + // QueueLength + rule.QueueLength = genruntime.ClonePointerToInt(source.QueueLength) + + // QueueName + rule.QueueName = genruntime.ClonePointerToString(source.QueueName) + + // No error + return nil +} + +// Container App container Azure Queue based scaling rule. +type QueueScaleRule_STATUS struct { + // Auth: Authentication secrets for the queue scale rule. + Auth []ScaleRuleAuth_STATUS `json:"auth,omitempty"` + + // QueueLength: Queue length. + QueueLength *int `json:"queueLength,omitempty"` + + // QueueName: Queue name. + QueueName *string `json:"queueName,omitempty"` +} + +var _ genruntime.FromARMConverter = &QueueScaleRule_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (rule *QueueScaleRule_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.QueueScaleRule_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (rule *QueueScaleRule_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.QueueScaleRule_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.QueueScaleRule_STATUS, got %T", armInput) + } + + // Set property "Auth": + for _, item := range typedInput.Auth { + var item1 ScaleRuleAuth_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + rule.Auth = append(rule.Auth, item1) + } + + // Set property "QueueLength": + if typedInput.QueueLength != nil { + queueLength := *typedInput.QueueLength + rule.QueueLength = &queueLength + } + + // Set property "QueueName": + if typedInput.QueueName != nil { + queueName := *typedInput.QueueName + rule.QueueName = &queueName + } + + // No error + return nil +} + +// AssignProperties_From_QueueScaleRule_STATUS populates our QueueScaleRule_STATUS from the provided source QueueScaleRule_STATUS +func (rule *QueueScaleRule_STATUS) AssignProperties_From_QueueScaleRule_STATUS(source *storage.QueueScaleRule_STATUS) error { + + // Auth + if source.Auth != nil { + authList := make([]ScaleRuleAuth_STATUS, len(source.Auth)) + for authIndex, authItem := range source.Auth { + // Shadow the loop variable to avoid aliasing + authItem := authItem + var auth ScaleRuleAuth_STATUS + err := auth.AssignProperties_From_ScaleRuleAuth_STATUS(&authItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ScaleRuleAuth_STATUS() to populate field Auth") + } + authList[authIndex] = auth + } + rule.Auth = authList + } else { + rule.Auth = nil + } + + // QueueLength + rule.QueueLength = genruntime.ClonePointerToInt(source.QueueLength) + + // QueueName + rule.QueueName = genruntime.ClonePointerToString(source.QueueName) + + // No error + return nil +} + +// AssignProperties_To_QueueScaleRule_STATUS populates the provided destination QueueScaleRule_STATUS from our QueueScaleRule_STATUS +func (rule *QueueScaleRule_STATUS) AssignProperties_To_QueueScaleRule_STATUS(destination *storage.QueueScaleRule_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Auth + if rule.Auth != nil { + authList := make([]storage.ScaleRuleAuth_STATUS, len(rule.Auth)) + for authIndex, authItem := range rule.Auth { + // Shadow the loop variable to avoid aliasing + authItem := authItem + var auth storage.ScaleRuleAuth_STATUS + err := authItem.AssignProperties_To_ScaleRuleAuth_STATUS(&auth) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ScaleRuleAuth_STATUS() to populate field Auth") + } + authList[authIndex] = auth + } + destination.Auth = authList + } else { + destination.Auth = nil + } + + // QueueLength + destination.QueueLength = genruntime.ClonePointerToInt(rule.QueueLength) + + // QueueName + destination.QueueName = genruntime.ClonePointerToString(rule.QueueName) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Container App container Tcp scaling rule. +type TcpScaleRule struct { + // Auth: Authentication secrets for the tcp scale rule. + Auth []ScaleRuleAuth `json:"auth,omitempty"` + + // Metadata: Metadata properties to describe tcp scale rule. + Metadata map[string]string `json:"metadata,omitempty"` +} + +var _ genruntime.ARMTransformer = &TcpScaleRule{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (rule *TcpScaleRule) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if rule == nil { + return nil, nil + } + result := &arm.TcpScaleRule{} + + // Set property "Auth": + for _, item := range rule.Auth { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Auth = append(result.Auth, *item_ARM.(*arm.ScaleRuleAuth)) + } + + // Set property "Metadata": + if rule.Metadata != nil { + result.Metadata = make(map[string]string, len(rule.Metadata)) + for key, value := range rule.Metadata { + result.Metadata[key] = value + } + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (rule *TcpScaleRule) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.TcpScaleRule{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (rule *TcpScaleRule) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.TcpScaleRule) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.TcpScaleRule, got %T", armInput) + } + + // Set property "Auth": + for _, item := range typedInput.Auth { + var item1 ScaleRuleAuth + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + rule.Auth = append(rule.Auth, item1) + } + + // Set property "Metadata": + if typedInput.Metadata != nil { + rule.Metadata = make(map[string]string, len(typedInput.Metadata)) + for key, value := range typedInput.Metadata { + rule.Metadata[key] = value + } + } + + // No error + return nil +} + +// AssignProperties_From_TcpScaleRule populates our TcpScaleRule from the provided source TcpScaleRule +func (rule *TcpScaleRule) AssignProperties_From_TcpScaleRule(source *storage.TcpScaleRule) error { + + // Auth + if source.Auth != nil { + authList := make([]ScaleRuleAuth, len(source.Auth)) + for authIndex, authItem := range source.Auth { + // Shadow the loop variable to avoid aliasing + authItem := authItem + var auth ScaleRuleAuth + err := auth.AssignProperties_From_ScaleRuleAuth(&authItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ScaleRuleAuth() to populate field Auth") + } + authList[authIndex] = auth + } + rule.Auth = authList + } else { + rule.Auth = nil + } + + // Metadata + rule.Metadata = genruntime.CloneMapOfStringToString(source.Metadata) + + // No error + return nil +} + +// AssignProperties_To_TcpScaleRule populates the provided destination TcpScaleRule from our TcpScaleRule +func (rule *TcpScaleRule) AssignProperties_To_TcpScaleRule(destination *storage.TcpScaleRule) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Auth + if rule.Auth != nil { + authList := make([]storage.ScaleRuleAuth, len(rule.Auth)) + for authIndex, authItem := range rule.Auth { + // Shadow the loop variable to avoid aliasing + authItem := authItem + var auth storage.ScaleRuleAuth + err := authItem.AssignProperties_To_ScaleRuleAuth(&auth) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ScaleRuleAuth() to populate field Auth") + } + authList[authIndex] = auth + } + destination.Auth = authList + } else { + destination.Auth = nil + } + + // Metadata + destination.Metadata = genruntime.CloneMapOfStringToString(rule.Metadata) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_TcpScaleRule_STATUS populates our TcpScaleRule from the provided source TcpScaleRule_STATUS +func (rule *TcpScaleRule) Initialize_From_TcpScaleRule_STATUS(source *TcpScaleRule_STATUS) error { + + // Auth + if source.Auth != nil { + authList := make([]ScaleRuleAuth, len(source.Auth)) + for authIndex, authItem := range source.Auth { + // Shadow the loop variable to avoid aliasing + authItem := authItem + var auth ScaleRuleAuth + err := auth.Initialize_From_ScaleRuleAuth_STATUS(&authItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_ScaleRuleAuth_STATUS() to populate field Auth") + } + authList[authIndex] = auth + } + rule.Auth = authList + } else { + rule.Auth = nil + } + + // Metadata + rule.Metadata = genruntime.CloneMapOfStringToString(source.Metadata) + + // No error + return nil +} + +// Container App container Tcp scaling rule. +type TcpScaleRule_STATUS struct { + // Auth: Authentication secrets for the tcp scale rule. + Auth []ScaleRuleAuth_STATUS `json:"auth,omitempty"` + + // Metadata: Metadata properties to describe tcp scale rule. + Metadata map[string]string `json:"metadata,omitempty"` +} + +var _ genruntime.FromARMConverter = &TcpScaleRule_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (rule *TcpScaleRule_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.TcpScaleRule_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (rule *TcpScaleRule_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.TcpScaleRule_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.TcpScaleRule_STATUS, got %T", armInput) + } + + // Set property "Auth": + for _, item := range typedInput.Auth { + var item1 ScaleRuleAuth_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + rule.Auth = append(rule.Auth, item1) + } + + // Set property "Metadata": + if typedInput.Metadata != nil { + rule.Metadata = make(map[string]string, len(typedInput.Metadata)) + for key, value := range typedInput.Metadata { + rule.Metadata[key] = value + } + } + + // No error + return nil +} + +// AssignProperties_From_TcpScaleRule_STATUS populates our TcpScaleRule_STATUS from the provided source TcpScaleRule_STATUS +func (rule *TcpScaleRule_STATUS) AssignProperties_From_TcpScaleRule_STATUS(source *storage.TcpScaleRule_STATUS) error { + + // Auth + if source.Auth != nil { + authList := make([]ScaleRuleAuth_STATUS, len(source.Auth)) + for authIndex, authItem := range source.Auth { + // Shadow the loop variable to avoid aliasing + authItem := authItem + var auth ScaleRuleAuth_STATUS + err := auth.AssignProperties_From_ScaleRuleAuth_STATUS(&authItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ScaleRuleAuth_STATUS() to populate field Auth") + } + authList[authIndex] = auth + } + rule.Auth = authList + } else { + rule.Auth = nil + } + + // Metadata + rule.Metadata = genruntime.CloneMapOfStringToString(source.Metadata) + + // No error + return nil +} + +// AssignProperties_To_TcpScaleRule_STATUS populates the provided destination TcpScaleRule_STATUS from our TcpScaleRule_STATUS +func (rule *TcpScaleRule_STATUS) AssignProperties_To_TcpScaleRule_STATUS(destination *storage.TcpScaleRule_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Auth + if rule.Auth != nil { + authList := make([]storage.ScaleRuleAuth_STATUS, len(rule.Auth)) + for authIndex, authItem := range rule.Auth { + // Shadow the loop variable to avoid aliasing + authItem := authItem + var auth storage.ScaleRuleAuth_STATUS + err := authItem.AssignProperties_To_ScaleRuleAuth_STATUS(&auth) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ScaleRuleAuth_STATUS() to populate field Auth") + } + authList[authIndex] = auth + } + destination.Auth = authList + } else { + destination.Auth = nil + } + + // Metadata + destination.Metadata = genruntime.CloneMapOfStringToString(rule.Metadata) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +type ContainerAppProbe_HttpGet_HttpHeaders struct { + // +kubebuilder:validation:Required + // Name: The header field name + Name *string `json:"name,omitempty"` + + // +kubebuilder:validation:Required + // Value: The header field value + Value *string `json:"value,omitempty"` +} + +var _ genruntime.ARMTransformer = &ContainerAppProbe_HttpGet_HttpHeaders{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (headers *ContainerAppProbe_HttpGet_HttpHeaders) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if headers == nil { + return nil, nil + } + result := &arm.ContainerAppProbe_HttpGet_HttpHeaders{} + + // Set property "Name": + if headers.Name != nil { + name := *headers.Name + result.Name = &name + } + + // Set property "Value": + if headers.Value != nil { + value := *headers.Value + result.Value = &value + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (headers *ContainerAppProbe_HttpGet_HttpHeaders) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ContainerAppProbe_HttpGet_HttpHeaders{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (headers *ContainerAppProbe_HttpGet_HttpHeaders) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ContainerAppProbe_HttpGet_HttpHeaders) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ContainerAppProbe_HttpGet_HttpHeaders, got %T", armInput) + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + headers.Name = &name + } + + // Set property "Value": + if typedInput.Value != nil { + value := *typedInput.Value + headers.Value = &value + } + + // No error + return nil +} + +// AssignProperties_From_ContainerAppProbe_HttpGet_HttpHeaders populates our ContainerAppProbe_HttpGet_HttpHeaders from the provided source ContainerAppProbe_HttpGet_HttpHeaders +func (headers *ContainerAppProbe_HttpGet_HttpHeaders) AssignProperties_From_ContainerAppProbe_HttpGet_HttpHeaders(source *storage.ContainerAppProbe_HttpGet_HttpHeaders) error { + + // Name + headers.Name = genruntime.ClonePointerToString(source.Name) + + // Value + headers.Value = genruntime.ClonePointerToString(source.Value) + + // No error + return nil +} + +// AssignProperties_To_ContainerAppProbe_HttpGet_HttpHeaders populates the provided destination ContainerAppProbe_HttpGet_HttpHeaders from our ContainerAppProbe_HttpGet_HttpHeaders +func (headers *ContainerAppProbe_HttpGet_HttpHeaders) AssignProperties_To_ContainerAppProbe_HttpGet_HttpHeaders(destination *storage.ContainerAppProbe_HttpGet_HttpHeaders) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Name + destination.Name = genruntime.ClonePointerToString(headers.Name) + + // Value + destination.Value = genruntime.ClonePointerToString(headers.Value) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ContainerAppProbe_HttpGet_HttpHeaders_STATUS populates our ContainerAppProbe_HttpGet_HttpHeaders from the provided source ContainerAppProbe_HttpGet_HttpHeaders_STATUS +func (headers *ContainerAppProbe_HttpGet_HttpHeaders) Initialize_From_ContainerAppProbe_HttpGet_HttpHeaders_STATUS(source *ContainerAppProbe_HttpGet_HttpHeaders_STATUS) error { + + // Name + headers.Name = genruntime.ClonePointerToString(source.Name) + + // Value + headers.Value = genruntime.ClonePointerToString(source.Value) + + // No error + return nil +} + +type ContainerAppProbe_HttpGet_HttpHeaders_STATUS struct { + // Name: The header field name + Name *string `json:"name,omitempty"` + + // Value: The header field value + Value *string `json:"value,omitempty"` +} + +var _ genruntime.FromARMConverter = &ContainerAppProbe_HttpGet_HttpHeaders_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (headers *ContainerAppProbe_HttpGet_HttpHeaders_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ContainerAppProbe_HttpGet_HttpHeaders_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (headers *ContainerAppProbe_HttpGet_HttpHeaders_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ContainerAppProbe_HttpGet_HttpHeaders_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ContainerAppProbe_HttpGet_HttpHeaders_STATUS, got %T", armInput) + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + headers.Name = &name + } + + // Set property "Value": + if typedInput.Value != nil { + value := *typedInput.Value + headers.Value = &value + } + + // No error + return nil +} + +// AssignProperties_From_ContainerAppProbe_HttpGet_HttpHeaders_STATUS populates our ContainerAppProbe_HttpGet_HttpHeaders_STATUS from the provided source ContainerAppProbe_HttpGet_HttpHeaders_STATUS +func (headers *ContainerAppProbe_HttpGet_HttpHeaders_STATUS) AssignProperties_From_ContainerAppProbe_HttpGet_HttpHeaders_STATUS(source *storage.ContainerAppProbe_HttpGet_HttpHeaders_STATUS) error { + + // Name + headers.Name = genruntime.ClonePointerToString(source.Name) + + // Value + headers.Value = genruntime.ClonePointerToString(source.Value) + + // No error + return nil +} + +// AssignProperties_To_ContainerAppProbe_HttpGet_HttpHeaders_STATUS populates the provided destination ContainerAppProbe_HttpGet_HttpHeaders_STATUS from our ContainerAppProbe_HttpGet_HttpHeaders_STATUS +func (headers *ContainerAppProbe_HttpGet_HttpHeaders_STATUS) AssignProperties_To_ContainerAppProbe_HttpGet_HttpHeaders_STATUS(destination *storage.ContainerAppProbe_HttpGet_HttpHeaders_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Name + destination.Name = genruntime.ClonePointerToString(headers.Name) + + // Value + destination.Value = genruntime.ClonePointerToString(headers.Value) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"HTTP","HTTPS"} +type ContainerAppProbe_HttpGet_Scheme string + +const ( + ContainerAppProbe_HttpGet_Scheme_HTTP = ContainerAppProbe_HttpGet_Scheme("HTTP") + ContainerAppProbe_HttpGet_Scheme_HTTPS = ContainerAppProbe_HttpGet_Scheme("HTTPS") +) + +// Mapping from string to ContainerAppProbe_HttpGet_Scheme +var containerAppProbe_HttpGet_Scheme_Values = map[string]ContainerAppProbe_HttpGet_Scheme{ + "http": ContainerAppProbe_HttpGet_Scheme_HTTP, + "https": ContainerAppProbe_HttpGet_Scheme_HTTPS, +} + +type ContainerAppProbe_HttpGet_Scheme_STATUS string + +const ( + ContainerAppProbe_HttpGet_Scheme_STATUS_HTTP = ContainerAppProbe_HttpGet_Scheme_STATUS("HTTP") + ContainerAppProbe_HttpGet_Scheme_STATUS_HTTPS = ContainerAppProbe_HttpGet_Scheme_STATUS("HTTPS") +) + +// Mapping from string to ContainerAppProbe_HttpGet_Scheme_STATUS +var containerAppProbe_HttpGet_Scheme_STATUS_Values = map[string]ContainerAppProbe_HttpGet_Scheme_STATUS{ + "http": ContainerAppProbe_HttpGet_Scheme_STATUS_HTTP, + "https": ContainerAppProbe_HttpGet_Scheme_STATUS_HTTPS, +} + +// Auth Secrets for Scale Rule +type ScaleRuleAuth struct { + // SecretRef: Name of the secret from which to pull the auth params. + SecretRef *string `json:"secretRef,omitempty"` + + // TriggerParameter: Trigger Parameter that uses the secret + TriggerParameter *string `json:"triggerParameter,omitempty"` +} + +var _ genruntime.ARMTransformer = &ScaleRuleAuth{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (auth *ScaleRuleAuth) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if auth == nil { + return nil, nil + } + result := &arm.ScaleRuleAuth{} + + // Set property "SecretRef": + if auth.SecretRef != nil { + secretRef := *auth.SecretRef + result.SecretRef = &secretRef + } + + // Set property "TriggerParameter": + if auth.TriggerParameter != nil { + triggerParameter := *auth.TriggerParameter + result.TriggerParameter = &triggerParameter + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (auth *ScaleRuleAuth) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ScaleRuleAuth{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (auth *ScaleRuleAuth) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ScaleRuleAuth) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ScaleRuleAuth, got %T", armInput) + } + + // Set property "SecretRef": + if typedInput.SecretRef != nil { + secretRef := *typedInput.SecretRef + auth.SecretRef = &secretRef + } + + // Set property "TriggerParameter": + if typedInput.TriggerParameter != nil { + triggerParameter := *typedInput.TriggerParameter + auth.TriggerParameter = &triggerParameter + } + + // No error + return nil +} + +// AssignProperties_From_ScaleRuleAuth populates our ScaleRuleAuth from the provided source ScaleRuleAuth +func (auth *ScaleRuleAuth) AssignProperties_From_ScaleRuleAuth(source *storage.ScaleRuleAuth) error { + + // SecretRef + auth.SecretRef = genruntime.ClonePointerToString(source.SecretRef) + + // TriggerParameter + auth.TriggerParameter = genruntime.ClonePointerToString(source.TriggerParameter) + + // No error + return nil +} + +// AssignProperties_To_ScaleRuleAuth populates the provided destination ScaleRuleAuth from our ScaleRuleAuth +func (auth *ScaleRuleAuth) AssignProperties_To_ScaleRuleAuth(destination *storage.ScaleRuleAuth) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // SecretRef + destination.SecretRef = genruntime.ClonePointerToString(auth.SecretRef) + + // TriggerParameter + destination.TriggerParameter = genruntime.ClonePointerToString(auth.TriggerParameter) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ScaleRuleAuth_STATUS populates our ScaleRuleAuth from the provided source ScaleRuleAuth_STATUS +func (auth *ScaleRuleAuth) Initialize_From_ScaleRuleAuth_STATUS(source *ScaleRuleAuth_STATUS) error { + + // SecretRef + auth.SecretRef = genruntime.ClonePointerToString(source.SecretRef) + + // TriggerParameter + auth.TriggerParameter = genruntime.ClonePointerToString(source.TriggerParameter) + + // No error + return nil +} + +// Auth Secrets for Scale Rule +type ScaleRuleAuth_STATUS struct { + // SecretRef: Name of the secret from which to pull the auth params. + SecretRef *string `json:"secretRef,omitempty"` + + // TriggerParameter: Trigger Parameter that uses the secret + TriggerParameter *string `json:"triggerParameter,omitempty"` +} + +var _ genruntime.FromARMConverter = &ScaleRuleAuth_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (auth *ScaleRuleAuth_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ScaleRuleAuth_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (auth *ScaleRuleAuth_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ScaleRuleAuth_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ScaleRuleAuth_STATUS, got %T", armInput) + } + + // Set property "SecretRef": + if typedInput.SecretRef != nil { + secretRef := *typedInput.SecretRef + auth.SecretRef = &secretRef + } + + // Set property "TriggerParameter": + if typedInput.TriggerParameter != nil { + triggerParameter := *typedInput.TriggerParameter + auth.TriggerParameter = &triggerParameter + } + + // No error + return nil +} + +// AssignProperties_From_ScaleRuleAuth_STATUS populates our ScaleRuleAuth_STATUS from the provided source ScaleRuleAuth_STATUS +func (auth *ScaleRuleAuth_STATUS) AssignProperties_From_ScaleRuleAuth_STATUS(source *storage.ScaleRuleAuth_STATUS) error { + + // SecretRef + auth.SecretRef = genruntime.ClonePointerToString(source.SecretRef) + + // TriggerParameter + auth.TriggerParameter = genruntime.ClonePointerToString(source.TriggerParameter) + + // No error + return nil +} + +// AssignProperties_To_ScaleRuleAuth_STATUS populates the provided destination ScaleRuleAuth_STATUS from our ScaleRuleAuth_STATUS +func (auth *ScaleRuleAuth_STATUS) AssignProperties_To_ScaleRuleAuth_STATUS(destination *storage.ScaleRuleAuth_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // SecretRef + destination.SecretRef = genruntime.ClonePointerToString(auth.SecretRef) + + // TriggerParameter + destination.TriggerParameter = genruntime.ClonePointerToString(auth.TriggerParameter) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +func init() { + SchemeBuilder.Register(&ContainerApp{}, &ContainerAppList{}) +} diff --git a/v2/api/app/v1api20240301/container_app_types_gen_test.go b/v2/api/app/v1api20240301/container_app_types_gen_test.go new file mode 100644 index 00000000000..ba8a81fbbdb --- /dev/null +++ b/v2/api/app/v1api20240301/container_app_types_gen_test.go @@ -0,0 +1,8433 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20240301 + +import ( + "encoding/json" + storage "github.com/Azure/azure-service-operator/v2/api/app/v1api20240301/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_BaseContainer_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from BaseContainer to BaseContainer via AssignProperties_To_BaseContainer & AssignProperties_From_BaseContainer returns original", + prop.ForAll(RunPropertyAssignmentTestForBaseContainer, BaseContainerGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForBaseContainer tests if a specific instance of BaseContainer can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForBaseContainer(subject BaseContainer) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.BaseContainer + err := copied.AssignProperties_To_BaseContainer(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual BaseContainer + err = actual.AssignProperties_From_BaseContainer(&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_BaseContainer_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 BaseContainer via JSON returns original", + prop.ForAll(RunJSONSerializationTestForBaseContainer, BaseContainerGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForBaseContainer runs a test to see if a specific instance of BaseContainer round trips to JSON and back losslessly +func RunJSONSerializationTestForBaseContainer(subject BaseContainer) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual BaseContainer + 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 BaseContainer instances for property testing - lazily instantiated by BaseContainerGenerator() +var baseContainerGenerator gopter.Gen + +// BaseContainerGenerator returns a generator of BaseContainer instances for property testing. +// We first initialize baseContainerGenerator 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 BaseContainerGenerator() gopter.Gen { + if baseContainerGenerator != nil { + return baseContainerGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForBaseContainer(generators) + baseContainerGenerator = gen.Struct(reflect.TypeOf(BaseContainer{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForBaseContainer(generators) + AddRelatedPropertyGeneratorsForBaseContainer(generators) + baseContainerGenerator = gen.Struct(reflect.TypeOf(BaseContainer{}), generators) + + return baseContainerGenerator +} + +// AddIndependentPropertyGeneratorsForBaseContainer is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForBaseContainer(gens map[string]gopter.Gen) { + gens["Args"] = gen.SliceOf(gen.AlphaString()) + gens["Command"] = gen.SliceOf(gen.AlphaString()) + gens["Image"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForBaseContainer is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForBaseContainer(gens map[string]gopter.Gen) { + gens["Env"] = gen.SliceOf(EnvironmentVarGenerator()) + gens["Resources"] = gen.PtrOf(ContainerResourcesGenerator()) + gens["VolumeMounts"] = gen.SliceOf(VolumeMountGenerator()) +} + +func Test_BaseContainer_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from BaseContainer_STATUS to BaseContainer_STATUS via AssignProperties_To_BaseContainer_STATUS & AssignProperties_From_BaseContainer_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForBaseContainer_STATUS, BaseContainer_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForBaseContainer_STATUS tests if a specific instance of BaseContainer_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForBaseContainer_STATUS(subject BaseContainer_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 storage.BaseContainer_STATUS + err := copied.AssignProperties_To_BaseContainer_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual BaseContainer_STATUS + err = actual.AssignProperties_From_BaseContainer_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_BaseContainer_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 BaseContainer_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForBaseContainer_STATUS, BaseContainer_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForBaseContainer_STATUS runs a test to see if a specific instance of BaseContainer_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForBaseContainer_STATUS(subject BaseContainer_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual BaseContainer_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 BaseContainer_STATUS instances for property testing - lazily instantiated by +// BaseContainer_STATUSGenerator() +var baseContainer_STATUSGenerator gopter.Gen + +// BaseContainer_STATUSGenerator returns a generator of BaseContainer_STATUS instances for property testing. +// We first initialize baseContainer_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 BaseContainer_STATUSGenerator() gopter.Gen { + if baseContainer_STATUSGenerator != nil { + return baseContainer_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForBaseContainer_STATUS(generators) + baseContainer_STATUSGenerator = gen.Struct(reflect.TypeOf(BaseContainer_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForBaseContainer_STATUS(generators) + AddRelatedPropertyGeneratorsForBaseContainer_STATUS(generators) + baseContainer_STATUSGenerator = gen.Struct(reflect.TypeOf(BaseContainer_STATUS{}), generators) + + return baseContainer_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForBaseContainer_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForBaseContainer_STATUS(gens map[string]gopter.Gen) { + gens["Args"] = gen.SliceOf(gen.AlphaString()) + gens["Command"] = gen.SliceOf(gen.AlphaString()) + gens["Image"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForBaseContainer_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForBaseContainer_STATUS(gens map[string]gopter.Gen) { + gens["Env"] = gen.SliceOf(EnvironmentVar_STATUSGenerator()) + gens["Resources"] = gen.PtrOf(ContainerResources_STATUSGenerator()) + gens["VolumeMounts"] = gen.SliceOf(VolumeMount_STATUSGenerator()) +} + +func Test_Configuration_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Configuration to Configuration via AssignProperties_To_Configuration & AssignProperties_From_Configuration returns original", + prop.ForAll(RunPropertyAssignmentTestForConfiguration, ConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForConfiguration tests if a specific instance of Configuration can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForConfiguration(subject Configuration) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.Configuration + err := copied.AssignProperties_To_Configuration(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Configuration + err = actual.AssignProperties_From_Configuration(&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_Configuration_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 Configuration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForConfiguration, ConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForConfiguration runs a test to see if a specific instance of Configuration round trips to JSON and back losslessly +func RunJSONSerializationTestForConfiguration(subject Configuration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Configuration + 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 Configuration instances for property testing - lazily instantiated by ConfigurationGenerator() +var configurationGenerator gopter.Gen + +// ConfigurationGenerator returns a generator of Configuration instances for property testing. +// We first initialize configurationGenerator 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 ConfigurationGenerator() gopter.Gen { + if configurationGenerator != nil { + return configurationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForConfiguration(generators) + configurationGenerator = gen.Struct(reflect.TypeOf(Configuration{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForConfiguration(generators) + AddRelatedPropertyGeneratorsForConfiguration(generators) + configurationGenerator = gen.Struct(reflect.TypeOf(Configuration{}), generators) + + return configurationGenerator +} + +// AddIndependentPropertyGeneratorsForConfiguration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForConfiguration(gens map[string]gopter.Gen) { + gens["ActiveRevisionsMode"] = gen.PtrOf(gen.OneConstOf(Configuration_ActiveRevisionsMode_Multiple, Configuration_ActiveRevisionsMode_Single)) + gens["MaxInactiveRevisions"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForConfiguration is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForConfiguration(gens map[string]gopter.Gen) { + gens["Dapr"] = gen.PtrOf(DaprGenerator()) + gens["Ingress"] = gen.PtrOf(IngressGenerator()) + gens["Registries"] = gen.SliceOf(RegistryCredentialsGenerator()) + gens["Secrets"] = gen.SliceOf(SecretGenerator()) + gens["Service"] = gen.PtrOf(ServiceGenerator()) +} + +func Test_Configuration_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Configuration_STATUS to Configuration_STATUS via AssignProperties_To_Configuration_STATUS & AssignProperties_From_Configuration_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForConfiguration_STATUS, Configuration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForConfiguration_STATUS tests if a specific instance of Configuration_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForConfiguration_STATUS(subject 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 storage.Configuration_STATUS + err := copied.AssignProperties_To_Configuration_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Configuration_STATUS + err = actual.AssignProperties_From_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_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 Configuration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForConfiguration_STATUS, Configuration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForConfiguration_STATUS runs a test to see if a specific instance of Configuration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForConfiguration_STATUS(subject Configuration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual 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 Configuration_STATUS instances for property testing - lazily instantiated by +// Configuration_STATUSGenerator() +var configuration_STATUSGenerator gopter.Gen + +// Configuration_STATUSGenerator returns a generator of Configuration_STATUS instances for property testing. +// We first initialize 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 Configuration_STATUSGenerator() gopter.Gen { + if configuration_STATUSGenerator != nil { + return configuration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForConfiguration_STATUS(generators) + configuration_STATUSGenerator = gen.Struct(reflect.TypeOf(Configuration_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForConfiguration_STATUS(generators) + AddRelatedPropertyGeneratorsForConfiguration_STATUS(generators) + configuration_STATUSGenerator = gen.Struct(reflect.TypeOf(Configuration_STATUS{}), generators) + + return configuration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForConfiguration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["ActiveRevisionsMode"] = gen.PtrOf(gen.OneConstOf(Configuration_ActiveRevisionsMode_STATUS_Multiple, Configuration_ActiveRevisionsMode_STATUS_Single)) + gens["MaxInactiveRevisions"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForConfiguration_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["Dapr"] = gen.PtrOf(Dapr_STATUSGenerator()) + gens["Ingress"] = gen.PtrOf(Ingress_STATUSGenerator()) + gens["Registries"] = gen.SliceOf(RegistryCredentials_STATUSGenerator()) + gens["Secrets"] = gen.SliceOf(Secret_STATUSGenerator()) + gens["Service"] = gen.PtrOf(Service_STATUSGenerator()) +} + +func Test_Container_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Container to Container via AssignProperties_To_Container & AssignProperties_From_Container returns original", + prop.ForAll(RunPropertyAssignmentTestForContainer, ContainerGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainer tests if a specific instance of Container can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainer(subject Container) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.Container + err := copied.AssignProperties_To_Container(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Container + err = actual.AssignProperties_From_Container(&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_Container_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 Container via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainer, ContainerGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainer runs a test to see if a specific instance of Container round trips to JSON and back losslessly +func RunJSONSerializationTestForContainer(subject Container) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Container + 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 Container instances for property testing - lazily instantiated by ContainerGenerator() +var containerGenerator gopter.Gen + +// ContainerGenerator returns a generator of Container instances for property testing. +// We first initialize containerGenerator 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 ContainerGenerator() gopter.Gen { + if containerGenerator != nil { + return containerGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainer(generators) + containerGenerator = gen.Struct(reflect.TypeOf(Container{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainer(generators) + AddRelatedPropertyGeneratorsForContainer(generators) + containerGenerator = gen.Struct(reflect.TypeOf(Container{}), generators) + + return containerGenerator +} + +// AddIndependentPropertyGeneratorsForContainer is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainer(gens map[string]gopter.Gen) { + gens["Args"] = gen.SliceOf(gen.AlphaString()) + gens["Command"] = gen.SliceOf(gen.AlphaString()) + gens["Image"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForContainer is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainer(gens map[string]gopter.Gen) { + gens["Env"] = gen.SliceOf(EnvironmentVarGenerator()) + gens["Probes"] = gen.SliceOf(ContainerAppProbeGenerator()) + gens["Resources"] = gen.PtrOf(ContainerResourcesGenerator()) + gens["VolumeMounts"] = gen.SliceOf(VolumeMountGenerator()) +} + +func Test_ContainerApp_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 ContainerApp to hub returns original", + prop.ForAll(RunResourceConversionTestForContainerApp, ContainerAppGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunResourceConversionTestForContainerApp tests if a specific instance of ContainerApp round trips to the hub storage version and back losslessly +func RunResourceConversionTestForContainerApp(subject ContainerApp) string { + // Copy subject to make sure conversion doesn't modify it + copied := subject.DeepCopy() + + // Convert to our hub version + var hub storage.ContainerApp + err := copied.ConvertTo(&hub) + if err != nil { + return err.Error() + } + + // Convert from our hub version + var actual ContainerApp + 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_ContainerApp_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ContainerApp to ContainerApp via AssignProperties_To_ContainerApp & AssignProperties_From_ContainerApp returns original", + prop.ForAll(RunPropertyAssignmentTestForContainerApp, ContainerAppGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainerApp tests if a specific instance of ContainerApp can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainerApp(subject ContainerApp) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ContainerApp + err := copied.AssignProperties_To_ContainerApp(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ContainerApp + err = actual.AssignProperties_From_ContainerApp(&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_ContainerApp_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 ContainerApp via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerApp, ContainerAppGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerApp runs a test to see if a specific instance of ContainerApp round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerApp(subject ContainerApp) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerApp + 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 ContainerApp instances for property testing - lazily instantiated by ContainerAppGenerator() +var containerAppGenerator gopter.Gen + +// ContainerAppGenerator returns a generator of ContainerApp instances for property testing. +func ContainerAppGenerator() gopter.Gen { + if containerAppGenerator != nil { + return containerAppGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForContainerApp(generators) + containerAppGenerator = gen.Struct(reflect.TypeOf(ContainerApp{}), generators) + + return containerAppGenerator +} + +// AddRelatedPropertyGeneratorsForContainerApp is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerApp(gens map[string]gopter.Gen) { + gens["Spec"] = ContainerApp_SpecGenerator() + gens["Status"] = ContainerApp_STATUSGenerator() +} + +func Test_ContainerAppOperatorConfigMaps_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ContainerAppOperatorConfigMaps to ContainerAppOperatorConfigMaps via AssignProperties_To_ContainerAppOperatorConfigMaps & AssignProperties_From_ContainerAppOperatorConfigMaps returns original", + prop.ForAll(RunPropertyAssignmentTestForContainerAppOperatorConfigMaps, ContainerAppOperatorConfigMapsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainerAppOperatorConfigMaps tests if a specific instance of ContainerAppOperatorConfigMaps can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainerAppOperatorConfigMaps(subject ContainerAppOperatorConfigMaps) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ContainerAppOperatorConfigMaps + err := copied.AssignProperties_To_ContainerAppOperatorConfigMaps(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ContainerAppOperatorConfigMaps + err = actual.AssignProperties_From_ContainerAppOperatorConfigMaps(&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_ContainerAppOperatorConfigMaps_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 ContainerAppOperatorConfigMaps via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerAppOperatorConfigMaps, ContainerAppOperatorConfigMapsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerAppOperatorConfigMaps runs a test to see if a specific instance of ContainerAppOperatorConfigMaps round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerAppOperatorConfigMaps(subject ContainerAppOperatorConfigMaps) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerAppOperatorConfigMaps + 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 ContainerAppOperatorConfigMaps instances for property testing - lazily instantiated by +// ContainerAppOperatorConfigMapsGenerator() +var containerAppOperatorConfigMapsGenerator gopter.Gen + +// ContainerAppOperatorConfigMapsGenerator returns a generator of ContainerAppOperatorConfigMaps instances for property testing. +func ContainerAppOperatorConfigMapsGenerator() gopter.Gen { + if containerAppOperatorConfigMapsGenerator != nil { + return containerAppOperatorConfigMapsGenerator + } + + generators := make(map[string]gopter.Gen) + containerAppOperatorConfigMapsGenerator = gen.Struct(reflect.TypeOf(ContainerAppOperatorConfigMaps{}), generators) + + return containerAppOperatorConfigMapsGenerator +} + +func Test_ContainerAppOperatorSpec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ContainerAppOperatorSpec to ContainerAppOperatorSpec via AssignProperties_To_ContainerAppOperatorSpec & AssignProperties_From_ContainerAppOperatorSpec returns original", + prop.ForAll(RunPropertyAssignmentTestForContainerAppOperatorSpec, ContainerAppOperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainerAppOperatorSpec tests if a specific instance of ContainerAppOperatorSpec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainerAppOperatorSpec(subject ContainerAppOperatorSpec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ContainerAppOperatorSpec + err := copied.AssignProperties_To_ContainerAppOperatorSpec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ContainerAppOperatorSpec + err = actual.AssignProperties_From_ContainerAppOperatorSpec(&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_ContainerAppOperatorSpec_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 ContainerAppOperatorSpec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerAppOperatorSpec, ContainerAppOperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerAppOperatorSpec runs a test to see if a specific instance of ContainerAppOperatorSpec round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerAppOperatorSpec(subject ContainerAppOperatorSpec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerAppOperatorSpec + 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 ContainerAppOperatorSpec instances for property testing - lazily instantiated by +// ContainerAppOperatorSpecGenerator() +var containerAppOperatorSpecGenerator gopter.Gen + +// ContainerAppOperatorSpecGenerator returns a generator of ContainerAppOperatorSpec instances for property testing. +func ContainerAppOperatorSpecGenerator() gopter.Gen { + if containerAppOperatorSpecGenerator != nil { + return containerAppOperatorSpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForContainerAppOperatorSpec(generators) + containerAppOperatorSpecGenerator = gen.Struct(reflect.TypeOf(ContainerAppOperatorSpec{}), generators) + + return containerAppOperatorSpecGenerator +} + +// AddRelatedPropertyGeneratorsForContainerAppOperatorSpec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerAppOperatorSpec(gens map[string]gopter.Gen) { + gens["ConfigMaps"] = gen.PtrOf(ContainerAppOperatorConfigMapsGenerator()) +} + +func Test_ContainerAppProbe_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ContainerAppProbe to ContainerAppProbe via AssignProperties_To_ContainerAppProbe & AssignProperties_From_ContainerAppProbe returns original", + prop.ForAll(RunPropertyAssignmentTestForContainerAppProbe, ContainerAppProbeGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainerAppProbe tests if a specific instance of ContainerAppProbe can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainerAppProbe(subject ContainerAppProbe) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ContainerAppProbe + err := copied.AssignProperties_To_ContainerAppProbe(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ContainerAppProbe + err = actual.AssignProperties_From_ContainerAppProbe(&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_ContainerAppProbe_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 ContainerAppProbe via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerAppProbe, ContainerAppProbeGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerAppProbe runs a test to see if a specific instance of ContainerAppProbe round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerAppProbe(subject ContainerAppProbe) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerAppProbe + 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 ContainerAppProbe instances for property testing - lazily instantiated by ContainerAppProbeGenerator() +var containerAppProbeGenerator gopter.Gen + +// ContainerAppProbeGenerator returns a generator of ContainerAppProbe instances for property testing. +// We first initialize containerAppProbeGenerator 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 ContainerAppProbeGenerator() gopter.Gen { + if containerAppProbeGenerator != nil { + return containerAppProbeGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe(generators) + containerAppProbeGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe(generators) + AddRelatedPropertyGeneratorsForContainerAppProbe(generators) + containerAppProbeGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe{}), generators) + + return containerAppProbeGenerator +} + +// AddIndependentPropertyGeneratorsForContainerAppProbe is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerAppProbe(gens map[string]gopter.Gen) { + gens["FailureThreshold"] = gen.PtrOf(gen.Int()) + gens["InitialDelaySeconds"] = gen.PtrOf(gen.Int()) + gens["PeriodSeconds"] = gen.PtrOf(gen.Int()) + gens["SuccessThreshold"] = gen.PtrOf(gen.Int()) + gens["TerminationGracePeriodSeconds"] = gen.PtrOf(gen.Int()) + gens["TimeoutSeconds"] = gen.PtrOf(gen.Int()) + gens["Type"] = gen.PtrOf(gen.OneConstOf(ContainerAppProbe_Type_Liveness, ContainerAppProbe_Type_Readiness, ContainerAppProbe_Type_Startup)) +} + +// AddRelatedPropertyGeneratorsForContainerAppProbe is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerAppProbe(gens map[string]gopter.Gen) { + gens["HttpGet"] = gen.PtrOf(ContainerAppProbe_HttpGetGenerator()) + gens["TcpSocket"] = gen.PtrOf(ContainerAppProbe_TcpSocketGenerator()) +} + +func Test_ContainerAppProbe_HttpGet_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ContainerAppProbe_HttpGet to ContainerAppProbe_HttpGet via AssignProperties_To_ContainerAppProbe_HttpGet & AssignProperties_From_ContainerAppProbe_HttpGet returns original", + prop.ForAll(RunPropertyAssignmentTestForContainerAppProbe_HttpGet, ContainerAppProbe_HttpGetGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainerAppProbe_HttpGet tests if a specific instance of ContainerAppProbe_HttpGet can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainerAppProbe_HttpGet(subject ContainerAppProbe_HttpGet) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ContainerAppProbe_HttpGet + err := copied.AssignProperties_To_ContainerAppProbe_HttpGet(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ContainerAppProbe_HttpGet + err = actual.AssignProperties_From_ContainerAppProbe_HttpGet(&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_ContainerAppProbe_HttpGet_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 ContainerAppProbe_HttpGet via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerAppProbe_HttpGet, ContainerAppProbe_HttpGetGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerAppProbe_HttpGet runs a test to see if a specific instance of ContainerAppProbe_HttpGet round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerAppProbe_HttpGet(subject ContainerAppProbe_HttpGet) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerAppProbe_HttpGet + 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 ContainerAppProbe_HttpGet instances for property testing - lazily instantiated by +// ContainerAppProbe_HttpGetGenerator() +var containerAppProbe_HttpGetGenerator gopter.Gen + +// ContainerAppProbe_HttpGetGenerator returns a generator of ContainerAppProbe_HttpGet instances for property testing. +// We first initialize containerAppProbe_HttpGetGenerator 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 ContainerAppProbe_HttpGetGenerator() gopter.Gen { + if containerAppProbe_HttpGetGenerator != nil { + return containerAppProbe_HttpGetGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet(generators) + containerAppProbe_HttpGetGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe_HttpGet{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet(generators) + AddRelatedPropertyGeneratorsForContainerAppProbe_HttpGet(generators) + containerAppProbe_HttpGetGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe_HttpGet{}), generators) + + return containerAppProbe_HttpGetGenerator +} + +// AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet(gens map[string]gopter.Gen) { + gens["Host"] = gen.PtrOf(gen.AlphaString()) + gens["Path"] = gen.PtrOf(gen.AlphaString()) + gens["Port"] = gen.PtrOf(gen.Int()) + gens["Scheme"] = gen.PtrOf(gen.OneConstOf(ContainerAppProbe_HttpGet_Scheme_HTTP, ContainerAppProbe_HttpGet_Scheme_HTTPS)) +} + +// AddRelatedPropertyGeneratorsForContainerAppProbe_HttpGet is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerAppProbe_HttpGet(gens map[string]gopter.Gen) { + gens["HttpHeaders"] = gen.SliceOf(ContainerAppProbe_HttpGet_HttpHeadersGenerator()) +} + +func Test_ContainerAppProbe_HttpGet_HttpHeaders_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ContainerAppProbe_HttpGet_HttpHeaders to ContainerAppProbe_HttpGet_HttpHeaders via AssignProperties_To_ContainerAppProbe_HttpGet_HttpHeaders & AssignProperties_From_ContainerAppProbe_HttpGet_HttpHeaders returns original", + prop.ForAll(RunPropertyAssignmentTestForContainerAppProbe_HttpGet_HttpHeaders, ContainerAppProbe_HttpGet_HttpHeadersGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainerAppProbe_HttpGet_HttpHeaders tests if a specific instance of ContainerAppProbe_HttpGet_HttpHeaders can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainerAppProbe_HttpGet_HttpHeaders(subject ContainerAppProbe_HttpGet_HttpHeaders) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ContainerAppProbe_HttpGet_HttpHeaders + err := copied.AssignProperties_To_ContainerAppProbe_HttpGet_HttpHeaders(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ContainerAppProbe_HttpGet_HttpHeaders + err = actual.AssignProperties_From_ContainerAppProbe_HttpGet_HttpHeaders(&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_ContainerAppProbe_HttpGet_HttpHeaders_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 ContainerAppProbe_HttpGet_HttpHeaders via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerAppProbe_HttpGet_HttpHeaders, ContainerAppProbe_HttpGet_HttpHeadersGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerAppProbe_HttpGet_HttpHeaders runs a test to see if a specific instance of ContainerAppProbe_HttpGet_HttpHeaders round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerAppProbe_HttpGet_HttpHeaders(subject ContainerAppProbe_HttpGet_HttpHeaders) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerAppProbe_HttpGet_HttpHeaders + 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 ContainerAppProbe_HttpGet_HttpHeaders instances for property testing - lazily instantiated by +// ContainerAppProbe_HttpGet_HttpHeadersGenerator() +var containerAppProbe_HttpGet_HttpHeadersGenerator gopter.Gen + +// ContainerAppProbe_HttpGet_HttpHeadersGenerator returns a generator of ContainerAppProbe_HttpGet_HttpHeaders instances for property testing. +func ContainerAppProbe_HttpGet_HttpHeadersGenerator() gopter.Gen { + if containerAppProbe_HttpGet_HttpHeadersGenerator != nil { + return containerAppProbe_HttpGet_HttpHeadersGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet_HttpHeaders(generators) + containerAppProbe_HttpGet_HttpHeadersGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe_HttpGet_HttpHeaders{}), generators) + + return containerAppProbe_HttpGet_HttpHeadersGenerator +} + +// AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet_HttpHeaders is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet_HttpHeaders(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Value"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ContainerAppProbe_HttpGet_HttpHeaders_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ContainerAppProbe_HttpGet_HttpHeaders_STATUS to ContainerAppProbe_HttpGet_HttpHeaders_STATUS via AssignProperties_To_ContainerAppProbe_HttpGet_HttpHeaders_STATUS & AssignProperties_From_ContainerAppProbe_HttpGet_HttpHeaders_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForContainerAppProbe_HttpGet_HttpHeaders_STATUS, ContainerAppProbe_HttpGet_HttpHeaders_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainerAppProbe_HttpGet_HttpHeaders_STATUS tests if a specific instance of ContainerAppProbe_HttpGet_HttpHeaders_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainerAppProbe_HttpGet_HttpHeaders_STATUS(subject ContainerAppProbe_HttpGet_HttpHeaders_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 storage.ContainerAppProbe_HttpGet_HttpHeaders_STATUS + err := copied.AssignProperties_To_ContainerAppProbe_HttpGet_HttpHeaders_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ContainerAppProbe_HttpGet_HttpHeaders_STATUS + err = actual.AssignProperties_From_ContainerAppProbe_HttpGet_HttpHeaders_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_ContainerAppProbe_HttpGet_HttpHeaders_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 ContainerAppProbe_HttpGet_HttpHeaders_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerAppProbe_HttpGet_HttpHeaders_STATUS, ContainerAppProbe_HttpGet_HttpHeaders_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerAppProbe_HttpGet_HttpHeaders_STATUS runs a test to see if a specific instance of ContainerAppProbe_HttpGet_HttpHeaders_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerAppProbe_HttpGet_HttpHeaders_STATUS(subject ContainerAppProbe_HttpGet_HttpHeaders_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerAppProbe_HttpGet_HttpHeaders_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 ContainerAppProbe_HttpGet_HttpHeaders_STATUS instances for property testing - lazily instantiated by +// ContainerAppProbe_HttpGet_HttpHeaders_STATUSGenerator() +var containerAppProbe_HttpGet_HttpHeaders_STATUSGenerator gopter.Gen + +// ContainerAppProbe_HttpGet_HttpHeaders_STATUSGenerator returns a generator of ContainerAppProbe_HttpGet_HttpHeaders_STATUS instances for property testing. +func ContainerAppProbe_HttpGet_HttpHeaders_STATUSGenerator() gopter.Gen { + if containerAppProbe_HttpGet_HttpHeaders_STATUSGenerator != nil { + return containerAppProbe_HttpGet_HttpHeaders_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet_HttpHeaders_STATUS(generators) + containerAppProbe_HttpGet_HttpHeaders_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe_HttpGet_HttpHeaders_STATUS{}), generators) + + return containerAppProbe_HttpGet_HttpHeaders_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet_HttpHeaders_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet_HttpHeaders_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Value"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ContainerAppProbe_HttpGet_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ContainerAppProbe_HttpGet_STATUS to ContainerAppProbe_HttpGet_STATUS via AssignProperties_To_ContainerAppProbe_HttpGet_STATUS & AssignProperties_From_ContainerAppProbe_HttpGet_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForContainerAppProbe_HttpGet_STATUS, ContainerAppProbe_HttpGet_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainerAppProbe_HttpGet_STATUS tests if a specific instance of ContainerAppProbe_HttpGet_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainerAppProbe_HttpGet_STATUS(subject ContainerAppProbe_HttpGet_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 storage.ContainerAppProbe_HttpGet_STATUS + err := copied.AssignProperties_To_ContainerAppProbe_HttpGet_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ContainerAppProbe_HttpGet_STATUS + err = actual.AssignProperties_From_ContainerAppProbe_HttpGet_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_ContainerAppProbe_HttpGet_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 ContainerAppProbe_HttpGet_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerAppProbe_HttpGet_STATUS, ContainerAppProbe_HttpGet_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerAppProbe_HttpGet_STATUS runs a test to see if a specific instance of ContainerAppProbe_HttpGet_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerAppProbe_HttpGet_STATUS(subject ContainerAppProbe_HttpGet_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerAppProbe_HttpGet_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 ContainerAppProbe_HttpGet_STATUS instances for property testing - lazily instantiated by +// ContainerAppProbe_HttpGet_STATUSGenerator() +var containerAppProbe_HttpGet_STATUSGenerator gopter.Gen + +// ContainerAppProbe_HttpGet_STATUSGenerator returns a generator of ContainerAppProbe_HttpGet_STATUS instances for property testing. +// We first initialize containerAppProbe_HttpGet_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 ContainerAppProbe_HttpGet_STATUSGenerator() gopter.Gen { + if containerAppProbe_HttpGet_STATUSGenerator != nil { + return containerAppProbe_HttpGet_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet_STATUS(generators) + containerAppProbe_HttpGet_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe_HttpGet_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet_STATUS(generators) + AddRelatedPropertyGeneratorsForContainerAppProbe_HttpGet_STATUS(generators) + containerAppProbe_HttpGet_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe_HttpGet_STATUS{}), generators) + + return containerAppProbe_HttpGet_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet_STATUS(gens map[string]gopter.Gen) { + gens["Host"] = gen.PtrOf(gen.AlphaString()) + gens["Path"] = gen.PtrOf(gen.AlphaString()) + gens["Port"] = gen.PtrOf(gen.Int()) + gens["Scheme"] = gen.PtrOf(gen.OneConstOf(ContainerAppProbe_HttpGet_Scheme_STATUS_HTTP, ContainerAppProbe_HttpGet_Scheme_STATUS_HTTPS)) +} + +// AddRelatedPropertyGeneratorsForContainerAppProbe_HttpGet_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerAppProbe_HttpGet_STATUS(gens map[string]gopter.Gen) { + gens["HttpHeaders"] = gen.SliceOf(ContainerAppProbe_HttpGet_HttpHeaders_STATUSGenerator()) +} + +func Test_ContainerAppProbe_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ContainerAppProbe_STATUS to ContainerAppProbe_STATUS via AssignProperties_To_ContainerAppProbe_STATUS & AssignProperties_From_ContainerAppProbe_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForContainerAppProbe_STATUS, ContainerAppProbe_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainerAppProbe_STATUS tests if a specific instance of ContainerAppProbe_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainerAppProbe_STATUS(subject ContainerAppProbe_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 storage.ContainerAppProbe_STATUS + err := copied.AssignProperties_To_ContainerAppProbe_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ContainerAppProbe_STATUS + err = actual.AssignProperties_From_ContainerAppProbe_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_ContainerAppProbe_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 ContainerAppProbe_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerAppProbe_STATUS, ContainerAppProbe_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerAppProbe_STATUS runs a test to see if a specific instance of ContainerAppProbe_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerAppProbe_STATUS(subject ContainerAppProbe_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerAppProbe_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 ContainerAppProbe_STATUS instances for property testing - lazily instantiated by +// ContainerAppProbe_STATUSGenerator() +var containerAppProbe_STATUSGenerator gopter.Gen + +// ContainerAppProbe_STATUSGenerator returns a generator of ContainerAppProbe_STATUS instances for property testing. +// We first initialize containerAppProbe_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 ContainerAppProbe_STATUSGenerator() gopter.Gen { + if containerAppProbe_STATUSGenerator != nil { + return containerAppProbe_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe_STATUS(generators) + containerAppProbe_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe_STATUS(generators) + AddRelatedPropertyGeneratorsForContainerAppProbe_STATUS(generators) + containerAppProbe_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe_STATUS{}), generators) + + return containerAppProbe_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForContainerAppProbe_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerAppProbe_STATUS(gens map[string]gopter.Gen) { + gens["FailureThreshold"] = gen.PtrOf(gen.Int()) + gens["InitialDelaySeconds"] = gen.PtrOf(gen.Int()) + gens["PeriodSeconds"] = gen.PtrOf(gen.Int()) + gens["SuccessThreshold"] = gen.PtrOf(gen.Int()) + gens["TerminationGracePeriodSeconds"] = gen.PtrOf(gen.Int()) + gens["TimeoutSeconds"] = gen.PtrOf(gen.Int()) + gens["Type"] = gen.PtrOf(gen.OneConstOf(ContainerAppProbe_Type_STATUS_Liveness, ContainerAppProbe_Type_STATUS_Readiness, ContainerAppProbe_Type_STATUS_Startup)) +} + +// AddRelatedPropertyGeneratorsForContainerAppProbe_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerAppProbe_STATUS(gens map[string]gopter.Gen) { + gens["HttpGet"] = gen.PtrOf(ContainerAppProbe_HttpGet_STATUSGenerator()) + gens["TcpSocket"] = gen.PtrOf(ContainerAppProbe_TcpSocket_STATUSGenerator()) +} + +func Test_ContainerAppProbe_TcpSocket_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ContainerAppProbe_TcpSocket to ContainerAppProbe_TcpSocket via AssignProperties_To_ContainerAppProbe_TcpSocket & AssignProperties_From_ContainerAppProbe_TcpSocket returns original", + prop.ForAll(RunPropertyAssignmentTestForContainerAppProbe_TcpSocket, ContainerAppProbe_TcpSocketGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainerAppProbe_TcpSocket tests if a specific instance of ContainerAppProbe_TcpSocket can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainerAppProbe_TcpSocket(subject ContainerAppProbe_TcpSocket) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ContainerAppProbe_TcpSocket + err := copied.AssignProperties_To_ContainerAppProbe_TcpSocket(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ContainerAppProbe_TcpSocket + err = actual.AssignProperties_From_ContainerAppProbe_TcpSocket(&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_ContainerAppProbe_TcpSocket_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 ContainerAppProbe_TcpSocket via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerAppProbe_TcpSocket, ContainerAppProbe_TcpSocketGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerAppProbe_TcpSocket runs a test to see if a specific instance of ContainerAppProbe_TcpSocket round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerAppProbe_TcpSocket(subject ContainerAppProbe_TcpSocket) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerAppProbe_TcpSocket + 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 ContainerAppProbe_TcpSocket instances for property testing - lazily instantiated by +// ContainerAppProbe_TcpSocketGenerator() +var containerAppProbe_TcpSocketGenerator gopter.Gen + +// ContainerAppProbe_TcpSocketGenerator returns a generator of ContainerAppProbe_TcpSocket instances for property testing. +func ContainerAppProbe_TcpSocketGenerator() gopter.Gen { + if containerAppProbe_TcpSocketGenerator != nil { + return containerAppProbe_TcpSocketGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe_TcpSocket(generators) + containerAppProbe_TcpSocketGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe_TcpSocket{}), generators) + + return containerAppProbe_TcpSocketGenerator +} + +// AddIndependentPropertyGeneratorsForContainerAppProbe_TcpSocket is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerAppProbe_TcpSocket(gens map[string]gopter.Gen) { + gens["Host"] = gen.PtrOf(gen.AlphaString()) + gens["Port"] = gen.PtrOf(gen.Int()) +} + +func Test_ContainerAppProbe_TcpSocket_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ContainerAppProbe_TcpSocket_STATUS to ContainerAppProbe_TcpSocket_STATUS via AssignProperties_To_ContainerAppProbe_TcpSocket_STATUS & AssignProperties_From_ContainerAppProbe_TcpSocket_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForContainerAppProbe_TcpSocket_STATUS, ContainerAppProbe_TcpSocket_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainerAppProbe_TcpSocket_STATUS tests if a specific instance of ContainerAppProbe_TcpSocket_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainerAppProbe_TcpSocket_STATUS(subject ContainerAppProbe_TcpSocket_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 storage.ContainerAppProbe_TcpSocket_STATUS + err := copied.AssignProperties_To_ContainerAppProbe_TcpSocket_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ContainerAppProbe_TcpSocket_STATUS + err = actual.AssignProperties_From_ContainerAppProbe_TcpSocket_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_ContainerAppProbe_TcpSocket_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 ContainerAppProbe_TcpSocket_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerAppProbe_TcpSocket_STATUS, ContainerAppProbe_TcpSocket_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerAppProbe_TcpSocket_STATUS runs a test to see if a specific instance of ContainerAppProbe_TcpSocket_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerAppProbe_TcpSocket_STATUS(subject ContainerAppProbe_TcpSocket_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerAppProbe_TcpSocket_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 ContainerAppProbe_TcpSocket_STATUS instances for property testing - lazily instantiated by +// ContainerAppProbe_TcpSocket_STATUSGenerator() +var containerAppProbe_TcpSocket_STATUSGenerator gopter.Gen + +// ContainerAppProbe_TcpSocket_STATUSGenerator returns a generator of ContainerAppProbe_TcpSocket_STATUS instances for property testing. +func ContainerAppProbe_TcpSocket_STATUSGenerator() gopter.Gen { + if containerAppProbe_TcpSocket_STATUSGenerator != nil { + return containerAppProbe_TcpSocket_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe_TcpSocket_STATUS(generators) + containerAppProbe_TcpSocket_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe_TcpSocket_STATUS{}), generators) + + return containerAppProbe_TcpSocket_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForContainerAppProbe_TcpSocket_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerAppProbe_TcpSocket_STATUS(gens map[string]gopter.Gen) { + gens["Host"] = gen.PtrOf(gen.AlphaString()) + gens["Port"] = gen.PtrOf(gen.Int()) +} + +func Test_ContainerApp_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ContainerApp_STATUS to ContainerApp_STATUS via AssignProperties_To_ContainerApp_STATUS & AssignProperties_From_ContainerApp_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForContainerApp_STATUS, ContainerApp_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainerApp_STATUS tests if a specific instance of ContainerApp_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainerApp_STATUS(subject ContainerApp_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 storage.ContainerApp_STATUS + err := copied.AssignProperties_To_ContainerApp_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ContainerApp_STATUS + err = actual.AssignProperties_From_ContainerApp_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_ContainerApp_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 ContainerApp_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerApp_STATUS, ContainerApp_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerApp_STATUS runs a test to see if a specific instance of ContainerApp_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerApp_STATUS(subject ContainerApp_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerApp_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 ContainerApp_STATUS instances for property testing - lazily instantiated by +// ContainerApp_STATUSGenerator() +var containerApp_STATUSGenerator gopter.Gen + +// ContainerApp_STATUSGenerator returns a generator of ContainerApp_STATUS instances for property testing. +// We first initialize containerApp_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 ContainerApp_STATUSGenerator() gopter.Gen { + if containerApp_STATUSGenerator != nil { + return containerApp_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerApp_STATUS(generators) + containerApp_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerApp_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerApp_STATUS(generators) + AddRelatedPropertyGeneratorsForContainerApp_STATUS(generators) + containerApp_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerApp_STATUS{}), generators) + + return containerApp_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForContainerApp_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerApp_STATUS(gens map[string]gopter.Gen) { + gens["CustomDomainVerificationId"] = gen.PtrOf(gen.AlphaString()) + gens["EnvironmentId"] = gen.PtrOf(gen.AlphaString()) + gens["EventStreamEndpoint"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["LatestReadyRevisionName"] = gen.PtrOf(gen.AlphaString()) + gens["LatestRevisionFqdn"] = gen.PtrOf(gen.AlphaString()) + gens["LatestRevisionName"] = gen.PtrOf(gen.AlphaString()) + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["ManagedBy"] = gen.PtrOf(gen.AlphaString()) + gens["ManagedEnvironmentId"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["OutboundIpAddresses"] = gen.SliceOf(gen.AlphaString()) + gens["ProvisioningState"] = gen.PtrOf(gen.OneConstOf( + ContainerApp_Properties_ProvisioningState_STATUS_Canceled, + ContainerApp_Properties_ProvisioningState_STATUS_Deleting, + ContainerApp_Properties_ProvisioningState_STATUS_Failed, + ContainerApp_Properties_ProvisioningState_STATUS_InProgress, + ContainerApp_Properties_ProvisioningState_STATUS_Succeeded)) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) + gens["WorkloadProfileName"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForContainerApp_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerApp_STATUS(gens map[string]gopter.Gen) { + gens["Configuration"] = gen.PtrOf(Configuration_STATUSGenerator()) + gens["ExtendedLocation"] = gen.PtrOf(ExtendedLocation_STATUSGenerator()) + gens["Identity"] = gen.PtrOf(ManagedServiceIdentity_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) + gens["Template"] = gen.PtrOf(Template_STATUSGenerator()) +} + +func Test_ContainerApp_Spec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ContainerApp_Spec to ContainerApp_Spec via AssignProperties_To_ContainerApp_Spec & AssignProperties_From_ContainerApp_Spec returns original", + prop.ForAll(RunPropertyAssignmentTestForContainerApp_Spec, ContainerApp_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainerApp_Spec tests if a specific instance of ContainerApp_Spec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainerApp_Spec(subject ContainerApp_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 storage.ContainerApp_Spec + err := copied.AssignProperties_To_ContainerApp_Spec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ContainerApp_Spec + err = actual.AssignProperties_From_ContainerApp_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_ContainerApp_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 ContainerApp_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerApp_Spec, ContainerApp_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerApp_Spec runs a test to see if a specific instance of ContainerApp_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerApp_Spec(subject ContainerApp_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerApp_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 ContainerApp_Spec instances for property testing - lazily instantiated by ContainerApp_SpecGenerator() +var containerApp_SpecGenerator gopter.Gen + +// ContainerApp_SpecGenerator returns a generator of ContainerApp_Spec instances for property testing. +// We first initialize containerApp_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 ContainerApp_SpecGenerator() gopter.Gen { + if containerApp_SpecGenerator != nil { + return containerApp_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerApp_Spec(generators) + containerApp_SpecGenerator = gen.Struct(reflect.TypeOf(ContainerApp_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerApp_Spec(generators) + AddRelatedPropertyGeneratorsForContainerApp_Spec(generators) + containerApp_SpecGenerator = gen.Struct(reflect.TypeOf(ContainerApp_Spec{}), generators) + + return containerApp_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForContainerApp_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerApp_Spec(gens map[string]gopter.Gen) { + gens["AzureName"] = gen.AlphaString() + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["WorkloadProfileName"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForContainerApp_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerApp_Spec(gens map[string]gopter.Gen) { + gens["Configuration"] = gen.PtrOf(ConfigurationGenerator()) + gens["ExtendedLocation"] = gen.PtrOf(ExtendedLocationGenerator()) + gens["Identity"] = gen.PtrOf(ManagedServiceIdentityGenerator()) + gens["OperatorSpec"] = gen.PtrOf(ContainerAppOperatorSpecGenerator()) + gens["Template"] = gen.PtrOf(TemplateGenerator()) +} + +func Test_ContainerResources_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ContainerResources to ContainerResources via AssignProperties_To_ContainerResources & AssignProperties_From_ContainerResources returns original", + prop.ForAll(RunPropertyAssignmentTestForContainerResources, ContainerResourcesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainerResources tests if a specific instance of ContainerResources can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainerResources(subject ContainerResources) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ContainerResources + err := copied.AssignProperties_To_ContainerResources(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ContainerResources + err = actual.AssignProperties_From_ContainerResources(&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_ContainerResources_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 ContainerResources via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerResources, ContainerResourcesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerResources runs a test to see if a specific instance of ContainerResources round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerResources(subject ContainerResources) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerResources + 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 ContainerResources instances for property testing - lazily instantiated by ContainerResourcesGenerator() +var containerResourcesGenerator gopter.Gen + +// ContainerResourcesGenerator returns a generator of ContainerResources instances for property testing. +func ContainerResourcesGenerator() gopter.Gen { + if containerResourcesGenerator != nil { + return containerResourcesGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerResources(generators) + containerResourcesGenerator = gen.Struct(reflect.TypeOf(ContainerResources{}), generators) + + return containerResourcesGenerator +} + +// AddIndependentPropertyGeneratorsForContainerResources is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerResources(gens map[string]gopter.Gen) { + gens["Cpu"] = gen.PtrOf(gen.Float64()) + gens["Memory"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ContainerResources_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ContainerResources_STATUS to ContainerResources_STATUS via AssignProperties_To_ContainerResources_STATUS & AssignProperties_From_ContainerResources_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForContainerResources_STATUS, ContainerResources_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainerResources_STATUS tests if a specific instance of ContainerResources_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainerResources_STATUS(subject ContainerResources_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 storage.ContainerResources_STATUS + err := copied.AssignProperties_To_ContainerResources_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ContainerResources_STATUS + err = actual.AssignProperties_From_ContainerResources_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_ContainerResources_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 ContainerResources_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerResources_STATUS, ContainerResources_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerResources_STATUS runs a test to see if a specific instance of ContainerResources_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerResources_STATUS(subject ContainerResources_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerResources_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 ContainerResources_STATUS instances for property testing - lazily instantiated by +// ContainerResources_STATUSGenerator() +var containerResources_STATUSGenerator gopter.Gen + +// ContainerResources_STATUSGenerator returns a generator of ContainerResources_STATUS instances for property testing. +func ContainerResources_STATUSGenerator() gopter.Gen { + if containerResources_STATUSGenerator != nil { + return containerResources_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerResources_STATUS(generators) + containerResources_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerResources_STATUS{}), generators) + + return containerResources_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForContainerResources_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerResources_STATUS(gens map[string]gopter.Gen) { + gens["Cpu"] = gen.PtrOf(gen.Float64()) + gens["EphemeralStorage"] = gen.PtrOf(gen.AlphaString()) + gens["Memory"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Container_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Container_STATUS to Container_STATUS via AssignProperties_To_Container_STATUS & AssignProperties_From_Container_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForContainer_STATUS, Container_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainer_STATUS tests if a specific instance of Container_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainer_STATUS(subject Container_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 storage.Container_STATUS + err := copied.AssignProperties_To_Container_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Container_STATUS + err = actual.AssignProperties_From_Container_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_Container_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 Container_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainer_STATUS, Container_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainer_STATUS runs a test to see if a specific instance of Container_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainer_STATUS(subject Container_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Container_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 Container_STATUS instances for property testing - lazily instantiated by Container_STATUSGenerator() +var container_STATUSGenerator gopter.Gen + +// Container_STATUSGenerator returns a generator of Container_STATUS instances for property testing. +// We first initialize container_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 Container_STATUSGenerator() gopter.Gen { + if container_STATUSGenerator != nil { + return container_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainer_STATUS(generators) + container_STATUSGenerator = gen.Struct(reflect.TypeOf(Container_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainer_STATUS(generators) + AddRelatedPropertyGeneratorsForContainer_STATUS(generators) + container_STATUSGenerator = gen.Struct(reflect.TypeOf(Container_STATUS{}), generators) + + return container_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForContainer_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainer_STATUS(gens map[string]gopter.Gen) { + gens["Args"] = gen.SliceOf(gen.AlphaString()) + gens["Command"] = gen.SliceOf(gen.AlphaString()) + gens["Image"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForContainer_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainer_STATUS(gens map[string]gopter.Gen) { + gens["Env"] = gen.SliceOf(EnvironmentVar_STATUSGenerator()) + gens["Probes"] = gen.SliceOf(ContainerAppProbe_STATUSGenerator()) + gens["Resources"] = gen.PtrOf(ContainerResources_STATUSGenerator()) + gens["VolumeMounts"] = gen.SliceOf(VolumeMount_STATUSGenerator()) +} + +func Test_CorsPolicy_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from CorsPolicy to CorsPolicy via AssignProperties_To_CorsPolicy & AssignProperties_From_CorsPolicy returns original", + prop.ForAll(RunPropertyAssignmentTestForCorsPolicy, CorsPolicyGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForCorsPolicy tests if a specific instance of CorsPolicy can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForCorsPolicy(subject CorsPolicy) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.CorsPolicy + err := copied.AssignProperties_To_CorsPolicy(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual CorsPolicy + err = actual.AssignProperties_From_CorsPolicy(&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_CorsPolicy_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 CorsPolicy via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCorsPolicy, CorsPolicyGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCorsPolicy runs a test to see if a specific instance of CorsPolicy round trips to JSON and back losslessly +func RunJSONSerializationTestForCorsPolicy(subject CorsPolicy) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CorsPolicy + 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 CorsPolicy instances for property testing - lazily instantiated by CorsPolicyGenerator() +var corsPolicyGenerator gopter.Gen + +// CorsPolicyGenerator returns a generator of CorsPolicy instances for property testing. +func CorsPolicyGenerator() gopter.Gen { + if corsPolicyGenerator != nil { + return corsPolicyGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCorsPolicy(generators) + corsPolicyGenerator = gen.Struct(reflect.TypeOf(CorsPolicy{}), generators) + + return corsPolicyGenerator +} + +// AddIndependentPropertyGeneratorsForCorsPolicy is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCorsPolicy(gens map[string]gopter.Gen) { + gens["AllowCredentials"] = gen.PtrOf(gen.Bool()) + gens["AllowedHeaders"] = gen.SliceOf(gen.AlphaString()) + gens["AllowedMethods"] = gen.SliceOf(gen.AlphaString()) + gens["AllowedOrigins"] = gen.SliceOf(gen.AlphaString()) + gens["ExposeHeaders"] = gen.SliceOf(gen.AlphaString()) + gens["MaxAge"] = gen.PtrOf(gen.Int()) +} + +func Test_CorsPolicy_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from CorsPolicy_STATUS to CorsPolicy_STATUS via AssignProperties_To_CorsPolicy_STATUS & AssignProperties_From_CorsPolicy_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForCorsPolicy_STATUS, CorsPolicy_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForCorsPolicy_STATUS tests if a specific instance of CorsPolicy_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForCorsPolicy_STATUS(subject CorsPolicy_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 storage.CorsPolicy_STATUS + err := copied.AssignProperties_To_CorsPolicy_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual CorsPolicy_STATUS + err = actual.AssignProperties_From_CorsPolicy_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_CorsPolicy_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 CorsPolicy_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCorsPolicy_STATUS, CorsPolicy_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCorsPolicy_STATUS runs a test to see if a specific instance of CorsPolicy_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForCorsPolicy_STATUS(subject CorsPolicy_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CorsPolicy_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 CorsPolicy_STATUS instances for property testing - lazily instantiated by CorsPolicy_STATUSGenerator() +var corsPolicy_STATUSGenerator gopter.Gen + +// CorsPolicy_STATUSGenerator returns a generator of CorsPolicy_STATUS instances for property testing. +func CorsPolicy_STATUSGenerator() gopter.Gen { + if corsPolicy_STATUSGenerator != nil { + return corsPolicy_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCorsPolicy_STATUS(generators) + corsPolicy_STATUSGenerator = gen.Struct(reflect.TypeOf(CorsPolicy_STATUS{}), generators) + + return corsPolicy_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForCorsPolicy_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCorsPolicy_STATUS(gens map[string]gopter.Gen) { + gens["AllowCredentials"] = gen.PtrOf(gen.Bool()) + gens["AllowedHeaders"] = gen.SliceOf(gen.AlphaString()) + gens["AllowedMethods"] = gen.SliceOf(gen.AlphaString()) + gens["AllowedOrigins"] = gen.SliceOf(gen.AlphaString()) + gens["ExposeHeaders"] = gen.SliceOf(gen.AlphaString()) + gens["MaxAge"] = gen.PtrOf(gen.Int()) +} + +func Test_CustomDomain_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from CustomDomain to CustomDomain via AssignProperties_To_CustomDomain & AssignProperties_From_CustomDomain returns original", + prop.ForAll(RunPropertyAssignmentTestForCustomDomain, CustomDomainGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForCustomDomain tests if a specific instance of CustomDomain can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForCustomDomain(subject CustomDomain) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.CustomDomain + err := copied.AssignProperties_To_CustomDomain(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual CustomDomain + err = actual.AssignProperties_From_CustomDomain(&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_CustomDomain_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 CustomDomain via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCustomDomain, CustomDomainGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCustomDomain runs a test to see if a specific instance of CustomDomain round trips to JSON and back losslessly +func RunJSONSerializationTestForCustomDomain(subject CustomDomain) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CustomDomain + 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 CustomDomain instances for property testing - lazily instantiated by CustomDomainGenerator() +var customDomainGenerator gopter.Gen + +// CustomDomainGenerator returns a generator of CustomDomain instances for property testing. +func CustomDomainGenerator() gopter.Gen { + if customDomainGenerator != nil { + return customDomainGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomDomain(generators) + customDomainGenerator = gen.Struct(reflect.TypeOf(CustomDomain{}), generators) + + return customDomainGenerator +} + +// AddIndependentPropertyGeneratorsForCustomDomain is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCustomDomain(gens map[string]gopter.Gen) { + gens["BindingType"] = gen.PtrOf(gen.OneConstOf(CustomDomain_BindingType_Disabled, CustomDomain_BindingType_SniEnabled)) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_CustomDomain_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from CustomDomain_STATUS to CustomDomain_STATUS via AssignProperties_To_CustomDomain_STATUS & AssignProperties_From_CustomDomain_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForCustomDomain_STATUS, CustomDomain_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForCustomDomain_STATUS tests if a specific instance of CustomDomain_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForCustomDomain_STATUS(subject CustomDomain_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 storage.CustomDomain_STATUS + err := copied.AssignProperties_To_CustomDomain_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual CustomDomain_STATUS + err = actual.AssignProperties_From_CustomDomain_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_CustomDomain_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 CustomDomain_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCustomDomain_STATUS, CustomDomain_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCustomDomain_STATUS runs a test to see if a specific instance of CustomDomain_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForCustomDomain_STATUS(subject CustomDomain_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CustomDomain_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 CustomDomain_STATUS instances for property testing - lazily instantiated by +// CustomDomain_STATUSGenerator() +var customDomain_STATUSGenerator gopter.Gen + +// CustomDomain_STATUSGenerator returns a generator of CustomDomain_STATUS instances for property testing. +func CustomDomain_STATUSGenerator() gopter.Gen { + if customDomain_STATUSGenerator != nil { + return customDomain_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomDomain_STATUS(generators) + customDomain_STATUSGenerator = gen.Struct(reflect.TypeOf(CustomDomain_STATUS{}), generators) + + return customDomain_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForCustomDomain_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCustomDomain_STATUS(gens map[string]gopter.Gen) { + gens["BindingType"] = gen.PtrOf(gen.OneConstOf(CustomDomain_BindingType_STATUS_Disabled, CustomDomain_BindingType_STATUS_SniEnabled)) + gens["CertificateId"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_CustomScaleRule_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from CustomScaleRule to CustomScaleRule via AssignProperties_To_CustomScaleRule & AssignProperties_From_CustomScaleRule returns original", + prop.ForAll(RunPropertyAssignmentTestForCustomScaleRule, CustomScaleRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForCustomScaleRule tests if a specific instance of CustomScaleRule can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForCustomScaleRule(subject CustomScaleRule) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.CustomScaleRule + err := copied.AssignProperties_To_CustomScaleRule(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual CustomScaleRule + err = actual.AssignProperties_From_CustomScaleRule(&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_CustomScaleRule_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 CustomScaleRule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCustomScaleRule, CustomScaleRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCustomScaleRule runs a test to see if a specific instance of CustomScaleRule round trips to JSON and back losslessly +func RunJSONSerializationTestForCustomScaleRule(subject CustomScaleRule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CustomScaleRule + 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 CustomScaleRule instances for property testing - lazily instantiated by CustomScaleRuleGenerator() +var customScaleRuleGenerator gopter.Gen + +// CustomScaleRuleGenerator returns a generator of CustomScaleRule instances for property testing. +// We first initialize customScaleRuleGenerator 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 CustomScaleRuleGenerator() gopter.Gen { + if customScaleRuleGenerator != nil { + return customScaleRuleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomScaleRule(generators) + customScaleRuleGenerator = gen.Struct(reflect.TypeOf(CustomScaleRule{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomScaleRule(generators) + AddRelatedPropertyGeneratorsForCustomScaleRule(generators) + customScaleRuleGenerator = gen.Struct(reflect.TypeOf(CustomScaleRule{}), generators) + + return customScaleRuleGenerator +} + +// AddIndependentPropertyGeneratorsForCustomScaleRule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCustomScaleRule(gens map[string]gopter.Gen) { + gens["Metadata"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForCustomScaleRule is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForCustomScaleRule(gens map[string]gopter.Gen) { + gens["Auth"] = gen.SliceOf(ScaleRuleAuthGenerator()) +} + +func Test_CustomScaleRule_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from CustomScaleRule_STATUS to CustomScaleRule_STATUS via AssignProperties_To_CustomScaleRule_STATUS & AssignProperties_From_CustomScaleRule_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForCustomScaleRule_STATUS, CustomScaleRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForCustomScaleRule_STATUS tests if a specific instance of CustomScaleRule_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForCustomScaleRule_STATUS(subject CustomScaleRule_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 storage.CustomScaleRule_STATUS + err := copied.AssignProperties_To_CustomScaleRule_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual CustomScaleRule_STATUS + err = actual.AssignProperties_From_CustomScaleRule_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_CustomScaleRule_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 CustomScaleRule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCustomScaleRule_STATUS, CustomScaleRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCustomScaleRule_STATUS runs a test to see if a specific instance of CustomScaleRule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForCustomScaleRule_STATUS(subject CustomScaleRule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CustomScaleRule_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 CustomScaleRule_STATUS instances for property testing - lazily instantiated by +// CustomScaleRule_STATUSGenerator() +var customScaleRule_STATUSGenerator gopter.Gen + +// CustomScaleRule_STATUSGenerator returns a generator of CustomScaleRule_STATUS instances for property testing. +// We first initialize customScaleRule_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 CustomScaleRule_STATUSGenerator() gopter.Gen { + if customScaleRule_STATUSGenerator != nil { + return customScaleRule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomScaleRule_STATUS(generators) + customScaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(CustomScaleRule_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomScaleRule_STATUS(generators) + AddRelatedPropertyGeneratorsForCustomScaleRule_STATUS(generators) + customScaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(CustomScaleRule_STATUS{}), generators) + + return customScaleRule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForCustomScaleRule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCustomScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["Metadata"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForCustomScaleRule_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForCustomScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["Auth"] = gen.SliceOf(ScaleRuleAuth_STATUSGenerator()) +} + +func Test_Dapr_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Dapr to Dapr via AssignProperties_To_Dapr & AssignProperties_From_Dapr returns original", + prop.ForAll(RunPropertyAssignmentTestForDapr, DaprGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForDapr tests if a specific instance of Dapr can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForDapr(subject Dapr) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.Dapr + err := copied.AssignProperties_To_Dapr(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Dapr + err = actual.AssignProperties_From_Dapr(&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_Dapr_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 Dapr via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDapr, DaprGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDapr runs a test to see if a specific instance of Dapr round trips to JSON and back losslessly +func RunJSONSerializationTestForDapr(subject Dapr) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Dapr + 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 Dapr instances for property testing - lazily instantiated by DaprGenerator() +var daprGenerator gopter.Gen + +// DaprGenerator returns a generator of Dapr instances for property testing. +func DaprGenerator() gopter.Gen { + if daprGenerator != nil { + return daprGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDapr(generators) + daprGenerator = gen.Struct(reflect.TypeOf(Dapr{}), generators) + + return daprGenerator +} + +// AddIndependentPropertyGeneratorsForDapr is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDapr(gens map[string]gopter.Gen) { + gens["AppId"] = gen.PtrOf(gen.AlphaString()) + gens["AppPort"] = gen.PtrOf(gen.Int()) + gens["AppProtocol"] = gen.PtrOf(gen.OneConstOf(Dapr_AppProtocol_Grpc, Dapr_AppProtocol_Http)) + gens["EnableApiLogging"] = gen.PtrOf(gen.Bool()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["HttpMaxRequestSize"] = gen.PtrOf(gen.Int()) + gens["HttpReadBufferSize"] = gen.PtrOf(gen.Int()) + gens["LogLevel"] = gen.PtrOf(gen.OneConstOf( + Dapr_LogLevel_Debug, + Dapr_LogLevel_Error, + Dapr_LogLevel_Info, + Dapr_LogLevel_Warn)) +} + +func Test_Dapr_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Dapr_STATUS to Dapr_STATUS via AssignProperties_To_Dapr_STATUS & AssignProperties_From_Dapr_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForDapr_STATUS, Dapr_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForDapr_STATUS tests if a specific instance of Dapr_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForDapr_STATUS(subject Dapr_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 storage.Dapr_STATUS + err := copied.AssignProperties_To_Dapr_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Dapr_STATUS + err = actual.AssignProperties_From_Dapr_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_Dapr_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 Dapr_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDapr_STATUS, Dapr_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDapr_STATUS runs a test to see if a specific instance of Dapr_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForDapr_STATUS(subject Dapr_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Dapr_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 Dapr_STATUS instances for property testing - lazily instantiated by Dapr_STATUSGenerator() +var dapr_STATUSGenerator gopter.Gen + +// Dapr_STATUSGenerator returns a generator of Dapr_STATUS instances for property testing. +func Dapr_STATUSGenerator() gopter.Gen { + if dapr_STATUSGenerator != nil { + return dapr_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDapr_STATUS(generators) + dapr_STATUSGenerator = gen.Struct(reflect.TypeOf(Dapr_STATUS{}), generators) + + return dapr_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForDapr_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDapr_STATUS(gens map[string]gopter.Gen) { + gens["AppId"] = gen.PtrOf(gen.AlphaString()) + gens["AppPort"] = gen.PtrOf(gen.Int()) + gens["AppProtocol"] = gen.PtrOf(gen.OneConstOf(Dapr_AppProtocol_STATUS_Grpc, Dapr_AppProtocol_STATUS_Http)) + gens["EnableApiLogging"] = gen.PtrOf(gen.Bool()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["HttpMaxRequestSize"] = gen.PtrOf(gen.Int()) + gens["HttpReadBufferSize"] = gen.PtrOf(gen.Int()) + gens["LogLevel"] = gen.PtrOf(gen.OneConstOf( + Dapr_LogLevel_STATUS_Debug, + Dapr_LogLevel_STATUS_Error, + Dapr_LogLevel_STATUS_Info, + Dapr_LogLevel_STATUS_Warn)) +} + +func Test_EnvironmentVar_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from EnvironmentVar to EnvironmentVar via AssignProperties_To_EnvironmentVar & AssignProperties_From_EnvironmentVar returns original", + prop.ForAll(RunPropertyAssignmentTestForEnvironmentVar, EnvironmentVarGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForEnvironmentVar tests if a specific instance of EnvironmentVar can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForEnvironmentVar(subject EnvironmentVar) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.EnvironmentVar + err := copied.AssignProperties_To_EnvironmentVar(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual EnvironmentVar + err = actual.AssignProperties_From_EnvironmentVar(&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_EnvironmentVar_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 EnvironmentVar via JSON returns original", + prop.ForAll(RunJSONSerializationTestForEnvironmentVar, EnvironmentVarGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForEnvironmentVar runs a test to see if a specific instance of EnvironmentVar round trips to JSON and back losslessly +func RunJSONSerializationTestForEnvironmentVar(subject EnvironmentVar) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual EnvironmentVar + 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 EnvironmentVar instances for property testing - lazily instantiated by EnvironmentVarGenerator() +var environmentVarGenerator gopter.Gen + +// EnvironmentVarGenerator returns a generator of EnvironmentVar instances for property testing. +func EnvironmentVarGenerator() gopter.Gen { + if environmentVarGenerator != nil { + return environmentVarGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForEnvironmentVar(generators) + environmentVarGenerator = gen.Struct(reflect.TypeOf(EnvironmentVar{}), generators) + + return environmentVarGenerator +} + +// AddIndependentPropertyGeneratorsForEnvironmentVar is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForEnvironmentVar(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["SecretRef"] = gen.PtrOf(gen.AlphaString()) + gens["Value"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_EnvironmentVar_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from EnvironmentVar_STATUS to EnvironmentVar_STATUS via AssignProperties_To_EnvironmentVar_STATUS & AssignProperties_From_EnvironmentVar_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForEnvironmentVar_STATUS, EnvironmentVar_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForEnvironmentVar_STATUS tests if a specific instance of EnvironmentVar_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForEnvironmentVar_STATUS(subject EnvironmentVar_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 storage.EnvironmentVar_STATUS + err := copied.AssignProperties_To_EnvironmentVar_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual EnvironmentVar_STATUS + err = actual.AssignProperties_From_EnvironmentVar_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_EnvironmentVar_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 EnvironmentVar_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForEnvironmentVar_STATUS, EnvironmentVar_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForEnvironmentVar_STATUS runs a test to see if a specific instance of EnvironmentVar_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForEnvironmentVar_STATUS(subject EnvironmentVar_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual EnvironmentVar_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 EnvironmentVar_STATUS instances for property testing - lazily instantiated by +// EnvironmentVar_STATUSGenerator() +var environmentVar_STATUSGenerator gopter.Gen + +// EnvironmentVar_STATUSGenerator returns a generator of EnvironmentVar_STATUS instances for property testing. +func EnvironmentVar_STATUSGenerator() gopter.Gen { + if environmentVar_STATUSGenerator != nil { + return environmentVar_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForEnvironmentVar_STATUS(generators) + environmentVar_STATUSGenerator = gen.Struct(reflect.TypeOf(EnvironmentVar_STATUS{}), generators) + + return environmentVar_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForEnvironmentVar_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForEnvironmentVar_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["SecretRef"] = gen.PtrOf(gen.AlphaString()) + gens["Value"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ExtendedLocation_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ExtendedLocation to ExtendedLocation via AssignProperties_To_ExtendedLocation & AssignProperties_From_ExtendedLocation returns original", + prop.ForAll(RunPropertyAssignmentTestForExtendedLocation, ExtendedLocationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForExtendedLocation tests if a specific instance of ExtendedLocation can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForExtendedLocation(subject ExtendedLocation) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ExtendedLocation + err := copied.AssignProperties_To_ExtendedLocation(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ExtendedLocation + err = actual.AssignProperties_From_ExtendedLocation(&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_ExtendedLocation_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 ExtendedLocation via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExtendedLocation, ExtendedLocationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExtendedLocation runs a test to see if a specific instance of ExtendedLocation round trips to JSON and back losslessly +func RunJSONSerializationTestForExtendedLocation(subject ExtendedLocation) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExtendedLocation + 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 ExtendedLocation instances for property testing - lazily instantiated by ExtendedLocationGenerator() +var extendedLocationGenerator gopter.Gen + +// ExtendedLocationGenerator returns a generator of ExtendedLocation instances for property testing. +func ExtendedLocationGenerator() gopter.Gen { + if extendedLocationGenerator != nil { + return extendedLocationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExtendedLocation(generators) + extendedLocationGenerator = gen.Struct(reflect.TypeOf(ExtendedLocation{}), generators) + + return extendedLocationGenerator +} + +// AddIndependentPropertyGeneratorsForExtendedLocation is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForExtendedLocation(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.OneConstOf(ExtendedLocationType_CustomLocation)) +} + +func Test_ExtendedLocation_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ExtendedLocation_STATUS to ExtendedLocation_STATUS via AssignProperties_To_ExtendedLocation_STATUS & AssignProperties_From_ExtendedLocation_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForExtendedLocation_STATUS, ExtendedLocation_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForExtendedLocation_STATUS tests if a specific instance of ExtendedLocation_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForExtendedLocation_STATUS(subject ExtendedLocation_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 storage.ExtendedLocation_STATUS + err := copied.AssignProperties_To_ExtendedLocation_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ExtendedLocation_STATUS + err = actual.AssignProperties_From_ExtendedLocation_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_ExtendedLocation_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 ExtendedLocation_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExtendedLocation_STATUS, ExtendedLocation_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExtendedLocation_STATUS runs a test to see if a specific instance of ExtendedLocation_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForExtendedLocation_STATUS(subject ExtendedLocation_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExtendedLocation_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 ExtendedLocation_STATUS instances for property testing - lazily instantiated by +// ExtendedLocation_STATUSGenerator() +var extendedLocation_STATUSGenerator gopter.Gen + +// ExtendedLocation_STATUSGenerator returns a generator of ExtendedLocation_STATUS instances for property testing. +func ExtendedLocation_STATUSGenerator() gopter.Gen { + if extendedLocation_STATUSGenerator != nil { + return extendedLocation_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExtendedLocation_STATUS(generators) + extendedLocation_STATUSGenerator = gen.Struct(reflect.TypeOf(ExtendedLocation_STATUS{}), generators) + + return extendedLocation_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForExtendedLocation_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForExtendedLocation_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.OneConstOf(ExtendedLocationType_STATUS_CustomLocation)) +} + +func Test_HttpScaleRule_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from HttpScaleRule to HttpScaleRule via AssignProperties_To_HttpScaleRule & AssignProperties_From_HttpScaleRule returns original", + prop.ForAll(RunPropertyAssignmentTestForHttpScaleRule, HttpScaleRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForHttpScaleRule tests if a specific instance of HttpScaleRule can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForHttpScaleRule(subject HttpScaleRule) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.HttpScaleRule + err := copied.AssignProperties_To_HttpScaleRule(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual HttpScaleRule + err = actual.AssignProperties_From_HttpScaleRule(&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_HttpScaleRule_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 HttpScaleRule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHttpScaleRule, HttpScaleRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHttpScaleRule runs a test to see if a specific instance of HttpScaleRule round trips to JSON and back losslessly +func RunJSONSerializationTestForHttpScaleRule(subject HttpScaleRule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HttpScaleRule + 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 HttpScaleRule instances for property testing - lazily instantiated by HttpScaleRuleGenerator() +var httpScaleRuleGenerator gopter.Gen + +// HttpScaleRuleGenerator returns a generator of HttpScaleRule instances for property testing. +// We first initialize httpScaleRuleGenerator 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 HttpScaleRuleGenerator() gopter.Gen { + if httpScaleRuleGenerator != nil { + return httpScaleRuleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHttpScaleRule(generators) + httpScaleRuleGenerator = gen.Struct(reflect.TypeOf(HttpScaleRule{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHttpScaleRule(generators) + AddRelatedPropertyGeneratorsForHttpScaleRule(generators) + httpScaleRuleGenerator = gen.Struct(reflect.TypeOf(HttpScaleRule{}), generators) + + return httpScaleRuleGenerator +} + +// AddIndependentPropertyGeneratorsForHttpScaleRule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHttpScaleRule(gens map[string]gopter.Gen) { + gens["Metadata"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForHttpScaleRule is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHttpScaleRule(gens map[string]gopter.Gen) { + gens["Auth"] = gen.SliceOf(ScaleRuleAuthGenerator()) +} + +func Test_HttpScaleRule_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from HttpScaleRule_STATUS to HttpScaleRule_STATUS via AssignProperties_To_HttpScaleRule_STATUS & AssignProperties_From_HttpScaleRule_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForHttpScaleRule_STATUS, HttpScaleRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForHttpScaleRule_STATUS tests if a specific instance of HttpScaleRule_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForHttpScaleRule_STATUS(subject HttpScaleRule_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 storage.HttpScaleRule_STATUS + err := copied.AssignProperties_To_HttpScaleRule_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual HttpScaleRule_STATUS + err = actual.AssignProperties_From_HttpScaleRule_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_HttpScaleRule_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 HttpScaleRule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHttpScaleRule_STATUS, HttpScaleRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHttpScaleRule_STATUS runs a test to see if a specific instance of HttpScaleRule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForHttpScaleRule_STATUS(subject HttpScaleRule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HttpScaleRule_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 HttpScaleRule_STATUS instances for property testing - lazily instantiated by +// HttpScaleRule_STATUSGenerator() +var httpScaleRule_STATUSGenerator gopter.Gen + +// HttpScaleRule_STATUSGenerator returns a generator of HttpScaleRule_STATUS instances for property testing. +// We first initialize httpScaleRule_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 HttpScaleRule_STATUSGenerator() gopter.Gen { + if httpScaleRule_STATUSGenerator != nil { + return httpScaleRule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHttpScaleRule_STATUS(generators) + httpScaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(HttpScaleRule_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHttpScaleRule_STATUS(generators) + AddRelatedPropertyGeneratorsForHttpScaleRule_STATUS(generators) + httpScaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(HttpScaleRule_STATUS{}), generators) + + return httpScaleRule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForHttpScaleRule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHttpScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["Metadata"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForHttpScaleRule_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHttpScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["Auth"] = gen.SliceOf(ScaleRuleAuth_STATUSGenerator()) +} + +func Test_Ingress_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Ingress to Ingress via AssignProperties_To_Ingress & AssignProperties_From_Ingress returns original", + prop.ForAll(RunPropertyAssignmentTestForIngress, IngressGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIngress tests if a specific instance of Ingress can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIngress(subject Ingress) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.Ingress + err := copied.AssignProperties_To_Ingress(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Ingress + err = actual.AssignProperties_From_Ingress(&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_Ingress_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 Ingress via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIngress, IngressGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIngress runs a test to see if a specific instance of Ingress round trips to JSON and back losslessly +func RunJSONSerializationTestForIngress(subject Ingress) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Ingress + 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 Ingress instances for property testing - lazily instantiated by IngressGenerator() +var ingressGenerator gopter.Gen + +// IngressGenerator returns a generator of Ingress instances for property testing. +// We first initialize ingressGenerator 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 IngressGenerator() gopter.Gen { + if ingressGenerator != nil { + return ingressGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIngress(generators) + ingressGenerator = gen.Struct(reflect.TypeOf(Ingress{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIngress(generators) + AddRelatedPropertyGeneratorsForIngress(generators) + ingressGenerator = gen.Struct(reflect.TypeOf(Ingress{}), generators) + + return ingressGenerator +} + +// AddIndependentPropertyGeneratorsForIngress is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIngress(gens map[string]gopter.Gen) { + gens["AllowInsecure"] = gen.PtrOf(gen.Bool()) + gens["ClientCertificateMode"] = gen.PtrOf(gen.OneConstOf(Ingress_ClientCertificateMode_Accept, Ingress_ClientCertificateMode_Ignore, Ingress_ClientCertificateMode_Require)) + gens["ExposedPort"] = gen.PtrOf(gen.Int()) + gens["External"] = gen.PtrOf(gen.Bool()) + gens["TargetPort"] = gen.PtrOf(gen.Int()) + gens["Transport"] = gen.PtrOf(gen.OneConstOf( + Ingress_Transport_Auto, + Ingress_Transport_Http, + Ingress_Transport_Http2, + Ingress_Transport_Tcp)) +} + +// AddRelatedPropertyGeneratorsForIngress is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIngress(gens map[string]gopter.Gen) { + gens["AdditionalPortMappings"] = gen.SliceOf(IngressPortMappingGenerator()) + gens["CorsPolicy"] = gen.PtrOf(CorsPolicyGenerator()) + gens["CustomDomains"] = gen.SliceOf(CustomDomainGenerator()) + gens["IpSecurityRestrictions"] = gen.SliceOf(IpSecurityRestrictionRuleGenerator()) + gens["StickySessions"] = gen.PtrOf(Ingress_StickySessionsGenerator()) + gens["Traffic"] = gen.SliceOf(TrafficWeightGenerator()) +} + +func Test_IngressPortMapping_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IngressPortMapping to IngressPortMapping via AssignProperties_To_IngressPortMapping & AssignProperties_From_IngressPortMapping returns original", + prop.ForAll(RunPropertyAssignmentTestForIngressPortMapping, IngressPortMappingGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIngressPortMapping tests if a specific instance of IngressPortMapping can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIngressPortMapping(subject IngressPortMapping) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.IngressPortMapping + err := copied.AssignProperties_To_IngressPortMapping(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IngressPortMapping + err = actual.AssignProperties_From_IngressPortMapping(&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_IngressPortMapping_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 IngressPortMapping via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIngressPortMapping, IngressPortMappingGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIngressPortMapping runs a test to see if a specific instance of IngressPortMapping round trips to JSON and back losslessly +func RunJSONSerializationTestForIngressPortMapping(subject IngressPortMapping) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IngressPortMapping + 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 IngressPortMapping instances for property testing - lazily instantiated by IngressPortMappingGenerator() +var ingressPortMappingGenerator gopter.Gen + +// IngressPortMappingGenerator returns a generator of IngressPortMapping instances for property testing. +func IngressPortMappingGenerator() gopter.Gen { + if ingressPortMappingGenerator != nil { + return ingressPortMappingGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIngressPortMapping(generators) + ingressPortMappingGenerator = gen.Struct(reflect.TypeOf(IngressPortMapping{}), generators) + + return ingressPortMappingGenerator +} + +// AddIndependentPropertyGeneratorsForIngressPortMapping is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIngressPortMapping(gens map[string]gopter.Gen) { + gens["ExposedPort"] = gen.PtrOf(gen.Int()) + gens["External"] = gen.PtrOf(gen.Bool()) + gens["TargetPort"] = gen.PtrOf(gen.Int()) +} + +func Test_IngressPortMapping_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IngressPortMapping_STATUS to IngressPortMapping_STATUS via AssignProperties_To_IngressPortMapping_STATUS & AssignProperties_From_IngressPortMapping_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForIngressPortMapping_STATUS, IngressPortMapping_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIngressPortMapping_STATUS tests if a specific instance of IngressPortMapping_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIngressPortMapping_STATUS(subject IngressPortMapping_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 storage.IngressPortMapping_STATUS + err := copied.AssignProperties_To_IngressPortMapping_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IngressPortMapping_STATUS + err = actual.AssignProperties_From_IngressPortMapping_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_IngressPortMapping_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 IngressPortMapping_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIngressPortMapping_STATUS, IngressPortMapping_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIngressPortMapping_STATUS runs a test to see if a specific instance of IngressPortMapping_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIngressPortMapping_STATUS(subject IngressPortMapping_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IngressPortMapping_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 IngressPortMapping_STATUS instances for property testing - lazily instantiated by +// IngressPortMapping_STATUSGenerator() +var ingressPortMapping_STATUSGenerator gopter.Gen + +// IngressPortMapping_STATUSGenerator returns a generator of IngressPortMapping_STATUS instances for property testing. +func IngressPortMapping_STATUSGenerator() gopter.Gen { + if ingressPortMapping_STATUSGenerator != nil { + return ingressPortMapping_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIngressPortMapping_STATUS(generators) + ingressPortMapping_STATUSGenerator = gen.Struct(reflect.TypeOf(IngressPortMapping_STATUS{}), generators) + + return ingressPortMapping_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForIngressPortMapping_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIngressPortMapping_STATUS(gens map[string]gopter.Gen) { + gens["ExposedPort"] = gen.PtrOf(gen.Int()) + gens["External"] = gen.PtrOf(gen.Bool()) + gens["TargetPort"] = gen.PtrOf(gen.Int()) +} + +func Test_Ingress_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Ingress_STATUS to Ingress_STATUS via AssignProperties_To_Ingress_STATUS & AssignProperties_From_Ingress_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForIngress_STATUS, Ingress_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIngress_STATUS tests if a specific instance of Ingress_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIngress_STATUS(subject Ingress_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 storage.Ingress_STATUS + err := copied.AssignProperties_To_Ingress_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Ingress_STATUS + err = actual.AssignProperties_From_Ingress_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_Ingress_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 Ingress_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIngress_STATUS, Ingress_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIngress_STATUS runs a test to see if a specific instance of Ingress_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIngress_STATUS(subject Ingress_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Ingress_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 Ingress_STATUS instances for property testing - lazily instantiated by Ingress_STATUSGenerator() +var ingress_STATUSGenerator gopter.Gen + +// Ingress_STATUSGenerator returns a generator of Ingress_STATUS instances for property testing. +// We first initialize ingress_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 Ingress_STATUSGenerator() gopter.Gen { + if ingress_STATUSGenerator != nil { + return ingress_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIngress_STATUS(generators) + ingress_STATUSGenerator = gen.Struct(reflect.TypeOf(Ingress_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIngress_STATUS(generators) + AddRelatedPropertyGeneratorsForIngress_STATUS(generators) + ingress_STATUSGenerator = gen.Struct(reflect.TypeOf(Ingress_STATUS{}), generators) + + return ingress_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForIngress_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIngress_STATUS(gens map[string]gopter.Gen) { + gens["AllowInsecure"] = gen.PtrOf(gen.Bool()) + gens["ClientCertificateMode"] = gen.PtrOf(gen.OneConstOf(Ingress_ClientCertificateMode_STATUS_Accept, Ingress_ClientCertificateMode_STATUS_Ignore, Ingress_ClientCertificateMode_STATUS_Require)) + gens["ExposedPort"] = gen.PtrOf(gen.Int()) + gens["External"] = gen.PtrOf(gen.Bool()) + gens["Fqdn"] = gen.PtrOf(gen.AlphaString()) + gens["TargetPort"] = gen.PtrOf(gen.Int()) + gens["Transport"] = gen.PtrOf(gen.OneConstOf( + Ingress_Transport_STATUS_Auto, + Ingress_Transport_STATUS_Http, + Ingress_Transport_STATUS_Http2, + Ingress_Transport_STATUS_Tcp)) +} + +// AddRelatedPropertyGeneratorsForIngress_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIngress_STATUS(gens map[string]gopter.Gen) { + gens["AdditionalPortMappings"] = gen.SliceOf(IngressPortMapping_STATUSGenerator()) + gens["CorsPolicy"] = gen.PtrOf(CorsPolicy_STATUSGenerator()) + gens["CustomDomains"] = gen.SliceOf(CustomDomain_STATUSGenerator()) + gens["IpSecurityRestrictions"] = gen.SliceOf(IpSecurityRestrictionRule_STATUSGenerator()) + gens["StickySessions"] = gen.PtrOf(Ingress_StickySessions_STATUSGenerator()) + gens["Traffic"] = gen.SliceOf(TrafficWeight_STATUSGenerator()) +} + +func Test_Ingress_StickySessions_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Ingress_StickySessions to Ingress_StickySessions via AssignProperties_To_Ingress_StickySessions & AssignProperties_From_Ingress_StickySessions returns original", + prop.ForAll(RunPropertyAssignmentTestForIngress_StickySessions, Ingress_StickySessionsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIngress_StickySessions tests if a specific instance of Ingress_StickySessions can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIngress_StickySessions(subject Ingress_StickySessions) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.Ingress_StickySessions + err := copied.AssignProperties_To_Ingress_StickySessions(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Ingress_StickySessions + err = actual.AssignProperties_From_Ingress_StickySessions(&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_Ingress_StickySessions_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 Ingress_StickySessions via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIngress_StickySessions, Ingress_StickySessionsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIngress_StickySessions runs a test to see if a specific instance of Ingress_StickySessions round trips to JSON and back losslessly +func RunJSONSerializationTestForIngress_StickySessions(subject Ingress_StickySessions) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Ingress_StickySessions + 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 Ingress_StickySessions instances for property testing - lazily instantiated by +// Ingress_StickySessionsGenerator() +var ingress_StickySessionsGenerator gopter.Gen + +// Ingress_StickySessionsGenerator returns a generator of Ingress_StickySessions instances for property testing. +func Ingress_StickySessionsGenerator() gopter.Gen { + if ingress_StickySessionsGenerator != nil { + return ingress_StickySessionsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIngress_StickySessions(generators) + ingress_StickySessionsGenerator = gen.Struct(reflect.TypeOf(Ingress_StickySessions{}), generators) + + return ingress_StickySessionsGenerator +} + +// AddIndependentPropertyGeneratorsForIngress_StickySessions is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIngress_StickySessions(gens map[string]gopter.Gen) { + gens["Affinity"] = gen.PtrOf(gen.OneConstOf(Ingress_StickySessions_Affinity_None, Ingress_StickySessions_Affinity_Sticky)) +} + +func Test_Ingress_StickySessions_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Ingress_StickySessions_STATUS to Ingress_StickySessions_STATUS via AssignProperties_To_Ingress_StickySessions_STATUS & AssignProperties_From_Ingress_StickySessions_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForIngress_StickySessions_STATUS, Ingress_StickySessions_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIngress_StickySessions_STATUS tests if a specific instance of Ingress_StickySessions_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIngress_StickySessions_STATUS(subject Ingress_StickySessions_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 storage.Ingress_StickySessions_STATUS + err := copied.AssignProperties_To_Ingress_StickySessions_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Ingress_StickySessions_STATUS + err = actual.AssignProperties_From_Ingress_StickySessions_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_Ingress_StickySessions_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 Ingress_StickySessions_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIngress_StickySessions_STATUS, Ingress_StickySessions_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIngress_StickySessions_STATUS runs a test to see if a specific instance of Ingress_StickySessions_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIngress_StickySessions_STATUS(subject Ingress_StickySessions_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Ingress_StickySessions_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 Ingress_StickySessions_STATUS instances for property testing - lazily instantiated by +// Ingress_StickySessions_STATUSGenerator() +var ingress_StickySessions_STATUSGenerator gopter.Gen + +// Ingress_StickySessions_STATUSGenerator returns a generator of Ingress_StickySessions_STATUS instances for property testing. +func Ingress_StickySessions_STATUSGenerator() gopter.Gen { + if ingress_StickySessions_STATUSGenerator != nil { + return ingress_StickySessions_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIngress_StickySessions_STATUS(generators) + ingress_StickySessions_STATUSGenerator = gen.Struct(reflect.TypeOf(Ingress_StickySessions_STATUS{}), generators) + + return ingress_StickySessions_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForIngress_StickySessions_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIngress_StickySessions_STATUS(gens map[string]gopter.Gen) { + gens["Affinity"] = gen.PtrOf(gen.OneConstOf(Ingress_StickySessions_Affinity_STATUS_None, Ingress_StickySessions_Affinity_STATUS_Sticky)) +} + +func Test_IpSecurityRestrictionRule_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IpSecurityRestrictionRule to IpSecurityRestrictionRule via AssignProperties_To_IpSecurityRestrictionRule & AssignProperties_From_IpSecurityRestrictionRule returns original", + prop.ForAll(RunPropertyAssignmentTestForIpSecurityRestrictionRule, IpSecurityRestrictionRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIpSecurityRestrictionRule tests if a specific instance of IpSecurityRestrictionRule can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIpSecurityRestrictionRule(subject IpSecurityRestrictionRule) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.IpSecurityRestrictionRule + err := copied.AssignProperties_To_IpSecurityRestrictionRule(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IpSecurityRestrictionRule + err = actual.AssignProperties_From_IpSecurityRestrictionRule(&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_IpSecurityRestrictionRule_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 IpSecurityRestrictionRule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIpSecurityRestrictionRule, IpSecurityRestrictionRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIpSecurityRestrictionRule runs a test to see if a specific instance of IpSecurityRestrictionRule round trips to JSON and back losslessly +func RunJSONSerializationTestForIpSecurityRestrictionRule(subject IpSecurityRestrictionRule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IpSecurityRestrictionRule + 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 IpSecurityRestrictionRule instances for property testing - lazily instantiated by +// IpSecurityRestrictionRuleGenerator() +var ipSecurityRestrictionRuleGenerator gopter.Gen + +// IpSecurityRestrictionRuleGenerator returns a generator of IpSecurityRestrictionRule instances for property testing. +func IpSecurityRestrictionRuleGenerator() gopter.Gen { + if ipSecurityRestrictionRuleGenerator != nil { + return ipSecurityRestrictionRuleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIpSecurityRestrictionRule(generators) + ipSecurityRestrictionRuleGenerator = gen.Struct(reflect.TypeOf(IpSecurityRestrictionRule{}), generators) + + return ipSecurityRestrictionRuleGenerator +} + +// AddIndependentPropertyGeneratorsForIpSecurityRestrictionRule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIpSecurityRestrictionRule(gens map[string]gopter.Gen) { + gens["Action"] = gen.PtrOf(gen.OneConstOf(IpSecurityRestrictionRule_Action_Allow, IpSecurityRestrictionRule_Action_Deny)) + gens["Description"] = gen.PtrOf(gen.AlphaString()) + gens["IpAddressRange"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_IpSecurityRestrictionRule_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IpSecurityRestrictionRule_STATUS to IpSecurityRestrictionRule_STATUS via AssignProperties_To_IpSecurityRestrictionRule_STATUS & AssignProperties_From_IpSecurityRestrictionRule_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForIpSecurityRestrictionRule_STATUS, IpSecurityRestrictionRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIpSecurityRestrictionRule_STATUS tests if a specific instance of IpSecurityRestrictionRule_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIpSecurityRestrictionRule_STATUS(subject IpSecurityRestrictionRule_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 storage.IpSecurityRestrictionRule_STATUS + err := copied.AssignProperties_To_IpSecurityRestrictionRule_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IpSecurityRestrictionRule_STATUS + err = actual.AssignProperties_From_IpSecurityRestrictionRule_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_IpSecurityRestrictionRule_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 IpSecurityRestrictionRule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIpSecurityRestrictionRule_STATUS, IpSecurityRestrictionRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIpSecurityRestrictionRule_STATUS runs a test to see if a specific instance of IpSecurityRestrictionRule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIpSecurityRestrictionRule_STATUS(subject IpSecurityRestrictionRule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IpSecurityRestrictionRule_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 IpSecurityRestrictionRule_STATUS instances for property testing - lazily instantiated by +// IpSecurityRestrictionRule_STATUSGenerator() +var ipSecurityRestrictionRule_STATUSGenerator gopter.Gen + +// IpSecurityRestrictionRule_STATUSGenerator returns a generator of IpSecurityRestrictionRule_STATUS instances for property testing. +func IpSecurityRestrictionRule_STATUSGenerator() gopter.Gen { + if ipSecurityRestrictionRule_STATUSGenerator != nil { + return ipSecurityRestrictionRule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIpSecurityRestrictionRule_STATUS(generators) + ipSecurityRestrictionRule_STATUSGenerator = gen.Struct(reflect.TypeOf(IpSecurityRestrictionRule_STATUS{}), generators) + + return ipSecurityRestrictionRule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForIpSecurityRestrictionRule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIpSecurityRestrictionRule_STATUS(gens map[string]gopter.Gen) { + gens["Action"] = gen.PtrOf(gen.OneConstOf(IpSecurityRestrictionRule_Action_STATUS_Allow, IpSecurityRestrictionRule_Action_STATUS_Deny)) + gens["Description"] = gen.PtrOf(gen.AlphaString()) + gens["IpAddressRange"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedServiceIdentity_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedServiceIdentity to ManagedServiceIdentity via AssignProperties_To_ManagedServiceIdentity & AssignProperties_From_ManagedServiceIdentity returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedServiceIdentity, ManagedServiceIdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedServiceIdentity tests if a specific instance of ManagedServiceIdentity can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedServiceIdentity(subject ManagedServiceIdentity) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedServiceIdentity + err := copied.AssignProperties_To_ManagedServiceIdentity(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedServiceIdentity + err = actual.AssignProperties_From_ManagedServiceIdentity(&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_ManagedServiceIdentity_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 ManagedServiceIdentity via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedServiceIdentity, ManagedServiceIdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedServiceIdentity runs a test to see if a specific instance of ManagedServiceIdentity round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedServiceIdentity(subject ManagedServiceIdentity) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedServiceIdentity + 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 ManagedServiceIdentity instances for property testing - lazily instantiated by +// ManagedServiceIdentityGenerator() +var managedServiceIdentityGenerator gopter.Gen + +// ManagedServiceIdentityGenerator returns a generator of ManagedServiceIdentity instances for property testing. +// We first initialize managedServiceIdentityGenerator 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 ManagedServiceIdentityGenerator() gopter.Gen { + if managedServiceIdentityGenerator != nil { + return managedServiceIdentityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedServiceIdentity(generators) + managedServiceIdentityGenerator = gen.Struct(reflect.TypeOf(ManagedServiceIdentity{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedServiceIdentity(generators) + AddRelatedPropertyGeneratorsForManagedServiceIdentity(generators) + managedServiceIdentityGenerator = gen.Struct(reflect.TypeOf(ManagedServiceIdentity{}), generators) + + return managedServiceIdentityGenerator +} + +// AddIndependentPropertyGeneratorsForManagedServiceIdentity is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedServiceIdentity(gens map[string]gopter.Gen) { + gens["Type"] = gen.PtrOf(gen.OneConstOf( + ManagedServiceIdentityType_None, + ManagedServiceIdentityType_SystemAssigned, + ManagedServiceIdentityType_SystemAssignedUserAssigned, + ManagedServiceIdentityType_UserAssigned)) +} + +// AddRelatedPropertyGeneratorsForManagedServiceIdentity is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedServiceIdentity(gens map[string]gopter.Gen) { + gens["UserAssignedIdentities"] = gen.SliceOf(UserAssignedIdentityDetailsGenerator()) +} + +func Test_ManagedServiceIdentity_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedServiceIdentity_STATUS to ManagedServiceIdentity_STATUS via AssignProperties_To_ManagedServiceIdentity_STATUS & AssignProperties_From_ManagedServiceIdentity_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedServiceIdentity_STATUS, ManagedServiceIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedServiceIdentity_STATUS tests if a specific instance of ManagedServiceIdentity_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedServiceIdentity_STATUS(subject ManagedServiceIdentity_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 storage.ManagedServiceIdentity_STATUS + err := copied.AssignProperties_To_ManagedServiceIdentity_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedServiceIdentity_STATUS + err = actual.AssignProperties_From_ManagedServiceIdentity_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_ManagedServiceIdentity_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 ManagedServiceIdentity_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedServiceIdentity_STATUS, ManagedServiceIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedServiceIdentity_STATUS runs a test to see if a specific instance of ManagedServiceIdentity_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedServiceIdentity_STATUS(subject ManagedServiceIdentity_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedServiceIdentity_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 ManagedServiceIdentity_STATUS instances for property testing - lazily instantiated by +// ManagedServiceIdentity_STATUSGenerator() +var managedServiceIdentity_STATUSGenerator gopter.Gen + +// ManagedServiceIdentity_STATUSGenerator returns a generator of ManagedServiceIdentity_STATUS instances for property testing. +// We first initialize managedServiceIdentity_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 ManagedServiceIdentity_STATUSGenerator() gopter.Gen { + if managedServiceIdentity_STATUSGenerator != nil { + return managedServiceIdentity_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedServiceIdentity_STATUS(generators) + managedServiceIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedServiceIdentity_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedServiceIdentity_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedServiceIdentity_STATUS(generators) + managedServiceIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedServiceIdentity_STATUS{}), generators) + + return managedServiceIdentity_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedServiceIdentity_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedServiceIdentity_STATUS(gens map[string]gopter.Gen) { + gens["PrincipalId"] = gen.PtrOf(gen.AlphaString()) + gens["TenantId"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.OneConstOf( + ManagedServiceIdentityType_STATUS_None, + ManagedServiceIdentityType_STATUS_SystemAssigned, + ManagedServiceIdentityType_STATUS_SystemAssignedUserAssigned, + ManagedServiceIdentityType_STATUS_UserAssigned)) +} + +// AddRelatedPropertyGeneratorsForManagedServiceIdentity_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedServiceIdentity_STATUS(gens map[string]gopter.Gen) { + gens["UserAssignedIdentities"] = gen.MapOf( + gen.AlphaString(), + UserAssignedIdentity_STATUSGenerator()) +} + +func Test_QueueScaleRule_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from QueueScaleRule to QueueScaleRule via AssignProperties_To_QueueScaleRule & AssignProperties_From_QueueScaleRule returns original", + prop.ForAll(RunPropertyAssignmentTestForQueueScaleRule, QueueScaleRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForQueueScaleRule tests if a specific instance of QueueScaleRule can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForQueueScaleRule(subject QueueScaleRule) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.QueueScaleRule + err := copied.AssignProperties_To_QueueScaleRule(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual QueueScaleRule + err = actual.AssignProperties_From_QueueScaleRule(&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_QueueScaleRule_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 QueueScaleRule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForQueueScaleRule, QueueScaleRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForQueueScaleRule runs a test to see if a specific instance of QueueScaleRule round trips to JSON and back losslessly +func RunJSONSerializationTestForQueueScaleRule(subject QueueScaleRule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual QueueScaleRule + 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 QueueScaleRule instances for property testing - lazily instantiated by QueueScaleRuleGenerator() +var queueScaleRuleGenerator gopter.Gen + +// QueueScaleRuleGenerator returns a generator of QueueScaleRule instances for property testing. +// We first initialize queueScaleRuleGenerator 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 QueueScaleRuleGenerator() gopter.Gen { + if queueScaleRuleGenerator != nil { + return queueScaleRuleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForQueueScaleRule(generators) + queueScaleRuleGenerator = gen.Struct(reflect.TypeOf(QueueScaleRule{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForQueueScaleRule(generators) + AddRelatedPropertyGeneratorsForQueueScaleRule(generators) + queueScaleRuleGenerator = gen.Struct(reflect.TypeOf(QueueScaleRule{}), generators) + + return queueScaleRuleGenerator +} + +// AddIndependentPropertyGeneratorsForQueueScaleRule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForQueueScaleRule(gens map[string]gopter.Gen) { + gens["QueueLength"] = gen.PtrOf(gen.Int()) + gens["QueueName"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForQueueScaleRule is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForQueueScaleRule(gens map[string]gopter.Gen) { + gens["Auth"] = gen.SliceOf(ScaleRuleAuthGenerator()) +} + +func Test_QueueScaleRule_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from QueueScaleRule_STATUS to QueueScaleRule_STATUS via AssignProperties_To_QueueScaleRule_STATUS & AssignProperties_From_QueueScaleRule_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForQueueScaleRule_STATUS, QueueScaleRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForQueueScaleRule_STATUS tests if a specific instance of QueueScaleRule_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForQueueScaleRule_STATUS(subject QueueScaleRule_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 storage.QueueScaleRule_STATUS + err := copied.AssignProperties_To_QueueScaleRule_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual QueueScaleRule_STATUS + err = actual.AssignProperties_From_QueueScaleRule_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_QueueScaleRule_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 QueueScaleRule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForQueueScaleRule_STATUS, QueueScaleRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForQueueScaleRule_STATUS runs a test to see if a specific instance of QueueScaleRule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForQueueScaleRule_STATUS(subject QueueScaleRule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual QueueScaleRule_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 QueueScaleRule_STATUS instances for property testing - lazily instantiated by +// QueueScaleRule_STATUSGenerator() +var queueScaleRule_STATUSGenerator gopter.Gen + +// QueueScaleRule_STATUSGenerator returns a generator of QueueScaleRule_STATUS instances for property testing. +// We first initialize queueScaleRule_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 QueueScaleRule_STATUSGenerator() gopter.Gen { + if queueScaleRule_STATUSGenerator != nil { + return queueScaleRule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForQueueScaleRule_STATUS(generators) + queueScaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(QueueScaleRule_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForQueueScaleRule_STATUS(generators) + AddRelatedPropertyGeneratorsForQueueScaleRule_STATUS(generators) + queueScaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(QueueScaleRule_STATUS{}), generators) + + return queueScaleRule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForQueueScaleRule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForQueueScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["QueueLength"] = gen.PtrOf(gen.Int()) + gens["QueueName"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForQueueScaleRule_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForQueueScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["Auth"] = gen.SliceOf(ScaleRuleAuth_STATUSGenerator()) +} + +func Test_RegistryCredentials_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from RegistryCredentials to RegistryCredentials via AssignProperties_To_RegistryCredentials & AssignProperties_From_RegistryCredentials returns original", + prop.ForAll(RunPropertyAssignmentTestForRegistryCredentials, RegistryCredentialsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForRegistryCredentials tests if a specific instance of RegistryCredentials can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForRegistryCredentials(subject RegistryCredentials) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.RegistryCredentials + err := copied.AssignProperties_To_RegistryCredentials(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual RegistryCredentials + err = actual.AssignProperties_From_RegistryCredentials(&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_RegistryCredentials_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 RegistryCredentials via JSON returns original", + prop.ForAll(RunJSONSerializationTestForRegistryCredentials, RegistryCredentialsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForRegistryCredentials runs a test to see if a specific instance of RegistryCredentials round trips to JSON and back losslessly +func RunJSONSerializationTestForRegistryCredentials(subject RegistryCredentials) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual RegistryCredentials + 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 RegistryCredentials instances for property testing - lazily instantiated by +// RegistryCredentialsGenerator() +var registryCredentialsGenerator gopter.Gen + +// RegistryCredentialsGenerator returns a generator of RegistryCredentials instances for property testing. +func RegistryCredentialsGenerator() gopter.Gen { + if registryCredentialsGenerator != nil { + return registryCredentialsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForRegistryCredentials(generators) + registryCredentialsGenerator = gen.Struct(reflect.TypeOf(RegistryCredentials{}), generators) + + return registryCredentialsGenerator +} + +// AddIndependentPropertyGeneratorsForRegistryCredentials is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForRegistryCredentials(gens map[string]gopter.Gen) { + gens["PasswordSecretRef"] = gen.PtrOf(gen.AlphaString()) + gens["Server"] = gen.PtrOf(gen.AlphaString()) + gens["Username"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_RegistryCredentials_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from RegistryCredentials_STATUS to RegistryCredentials_STATUS via AssignProperties_To_RegistryCredentials_STATUS & AssignProperties_From_RegistryCredentials_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForRegistryCredentials_STATUS, RegistryCredentials_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForRegistryCredentials_STATUS tests if a specific instance of RegistryCredentials_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForRegistryCredentials_STATUS(subject RegistryCredentials_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 storage.RegistryCredentials_STATUS + err := copied.AssignProperties_To_RegistryCredentials_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual RegistryCredentials_STATUS + err = actual.AssignProperties_From_RegistryCredentials_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_RegistryCredentials_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 RegistryCredentials_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForRegistryCredentials_STATUS, RegistryCredentials_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForRegistryCredentials_STATUS runs a test to see if a specific instance of RegistryCredentials_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForRegistryCredentials_STATUS(subject RegistryCredentials_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual RegistryCredentials_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 RegistryCredentials_STATUS instances for property testing - lazily instantiated by +// RegistryCredentials_STATUSGenerator() +var registryCredentials_STATUSGenerator gopter.Gen + +// RegistryCredentials_STATUSGenerator returns a generator of RegistryCredentials_STATUS instances for property testing. +func RegistryCredentials_STATUSGenerator() gopter.Gen { + if registryCredentials_STATUSGenerator != nil { + return registryCredentials_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForRegistryCredentials_STATUS(generators) + registryCredentials_STATUSGenerator = gen.Struct(reflect.TypeOf(RegistryCredentials_STATUS{}), generators) + + return registryCredentials_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForRegistryCredentials_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForRegistryCredentials_STATUS(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(gen.AlphaString()) + gens["PasswordSecretRef"] = gen.PtrOf(gen.AlphaString()) + gens["Server"] = gen.PtrOf(gen.AlphaString()) + gens["Username"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Scale_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Scale to Scale via AssignProperties_To_Scale & AssignProperties_From_Scale returns original", + prop.ForAll(RunPropertyAssignmentTestForScale, ScaleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForScale tests if a specific instance of Scale can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForScale(subject Scale) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.Scale + err := copied.AssignProperties_To_Scale(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Scale + err = actual.AssignProperties_From_Scale(&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_Scale_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 Scale via JSON returns original", + prop.ForAll(RunJSONSerializationTestForScale, ScaleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForScale runs a test to see if a specific instance of Scale round trips to JSON and back losslessly +func RunJSONSerializationTestForScale(subject Scale) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Scale + 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 Scale instances for property testing - lazily instantiated by ScaleGenerator() +var scaleGenerator gopter.Gen + +// ScaleGenerator returns a generator of Scale instances for property testing. +// We first initialize scaleGenerator 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 ScaleGenerator() gopter.Gen { + if scaleGenerator != nil { + return scaleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForScale(generators) + scaleGenerator = gen.Struct(reflect.TypeOf(Scale{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForScale(generators) + AddRelatedPropertyGeneratorsForScale(generators) + scaleGenerator = gen.Struct(reflect.TypeOf(Scale{}), generators) + + return scaleGenerator +} + +// AddIndependentPropertyGeneratorsForScale is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForScale(gens map[string]gopter.Gen) { + gens["MaxReplicas"] = gen.PtrOf(gen.Int()) + gens["MinReplicas"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForScale is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForScale(gens map[string]gopter.Gen) { + gens["Rules"] = gen.SliceOf(ScaleRuleGenerator()) +} + +func Test_ScaleRule_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ScaleRule to ScaleRule via AssignProperties_To_ScaleRule & AssignProperties_From_ScaleRule returns original", + prop.ForAll(RunPropertyAssignmentTestForScaleRule, ScaleRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForScaleRule tests if a specific instance of ScaleRule can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForScaleRule(subject ScaleRule) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ScaleRule + err := copied.AssignProperties_To_ScaleRule(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ScaleRule + err = actual.AssignProperties_From_ScaleRule(&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_ScaleRule_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 ScaleRule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForScaleRule, ScaleRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForScaleRule runs a test to see if a specific instance of ScaleRule round trips to JSON and back losslessly +func RunJSONSerializationTestForScaleRule(subject ScaleRule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ScaleRule + 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 ScaleRule instances for property testing - lazily instantiated by ScaleRuleGenerator() +var scaleRuleGenerator gopter.Gen + +// ScaleRuleGenerator returns a generator of ScaleRule instances for property testing. +// We first initialize scaleRuleGenerator 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 ScaleRuleGenerator() gopter.Gen { + if scaleRuleGenerator != nil { + return scaleRuleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForScaleRule(generators) + scaleRuleGenerator = gen.Struct(reflect.TypeOf(ScaleRule{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForScaleRule(generators) + AddRelatedPropertyGeneratorsForScaleRule(generators) + scaleRuleGenerator = gen.Struct(reflect.TypeOf(ScaleRule{}), generators) + + return scaleRuleGenerator +} + +// AddIndependentPropertyGeneratorsForScaleRule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForScaleRule(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForScaleRule is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForScaleRule(gens map[string]gopter.Gen) { + gens["AzureQueue"] = gen.PtrOf(QueueScaleRuleGenerator()) + gens["Custom"] = gen.PtrOf(CustomScaleRuleGenerator()) + gens["Http"] = gen.PtrOf(HttpScaleRuleGenerator()) + gens["Tcp"] = gen.PtrOf(TcpScaleRuleGenerator()) +} + +func Test_ScaleRuleAuth_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ScaleRuleAuth to ScaleRuleAuth via AssignProperties_To_ScaleRuleAuth & AssignProperties_From_ScaleRuleAuth returns original", + prop.ForAll(RunPropertyAssignmentTestForScaleRuleAuth, ScaleRuleAuthGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForScaleRuleAuth tests if a specific instance of ScaleRuleAuth can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForScaleRuleAuth(subject ScaleRuleAuth) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ScaleRuleAuth + err := copied.AssignProperties_To_ScaleRuleAuth(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ScaleRuleAuth + err = actual.AssignProperties_From_ScaleRuleAuth(&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_ScaleRuleAuth_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 ScaleRuleAuth via JSON returns original", + prop.ForAll(RunJSONSerializationTestForScaleRuleAuth, ScaleRuleAuthGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForScaleRuleAuth runs a test to see if a specific instance of ScaleRuleAuth round trips to JSON and back losslessly +func RunJSONSerializationTestForScaleRuleAuth(subject ScaleRuleAuth) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ScaleRuleAuth + 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 ScaleRuleAuth instances for property testing - lazily instantiated by ScaleRuleAuthGenerator() +var scaleRuleAuthGenerator gopter.Gen + +// ScaleRuleAuthGenerator returns a generator of ScaleRuleAuth instances for property testing. +func ScaleRuleAuthGenerator() gopter.Gen { + if scaleRuleAuthGenerator != nil { + return scaleRuleAuthGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForScaleRuleAuth(generators) + scaleRuleAuthGenerator = gen.Struct(reflect.TypeOf(ScaleRuleAuth{}), generators) + + return scaleRuleAuthGenerator +} + +// AddIndependentPropertyGeneratorsForScaleRuleAuth is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForScaleRuleAuth(gens map[string]gopter.Gen) { + gens["SecretRef"] = gen.PtrOf(gen.AlphaString()) + gens["TriggerParameter"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ScaleRuleAuth_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ScaleRuleAuth_STATUS to ScaleRuleAuth_STATUS via AssignProperties_To_ScaleRuleAuth_STATUS & AssignProperties_From_ScaleRuleAuth_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForScaleRuleAuth_STATUS, ScaleRuleAuth_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForScaleRuleAuth_STATUS tests if a specific instance of ScaleRuleAuth_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForScaleRuleAuth_STATUS(subject ScaleRuleAuth_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 storage.ScaleRuleAuth_STATUS + err := copied.AssignProperties_To_ScaleRuleAuth_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ScaleRuleAuth_STATUS + err = actual.AssignProperties_From_ScaleRuleAuth_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_ScaleRuleAuth_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 ScaleRuleAuth_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForScaleRuleAuth_STATUS, ScaleRuleAuth_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForScaleRuleAuth_STATUS runs a test to see if a specific instance of ScaleRuleAuth_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForScaleRuleAuth_STATUS(subject ScaleRuleAuth_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ScaleRuleAuth_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 ScaleRuleAuth_STATUS instances for property testing - lazily instantiated by +// ScaleRuleAuth_STATUSGenerator() +var scaleRuleAuth_STATUSGenerator gopter.Gen + +// ScaleRuleAuth_STATUSGenerator returns a generator of ScaleRuleAuth_STATUS instances for property testing. +func ScaleRuleAuth_STATUSGenerator() gopter.Gen { + if scaleRuleAuth_STATUSGenerator != nil { + return scaleRuleAuth_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForScaleRuleAuth_STATUS(generators) + scaleRuleAuth_STATUSGenerator = gen.Struct(reflect.TypeOf(ScaleRuleAuth_STATUS{}), generators) + + return scaleRuleAuth_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForScaleRuleAuth_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForScaleRuleAuth_STATUS(gens map[string]gopter.Gen) { + gens["SecretRef"] = gen.PtrOf(gen.AlphaString()) + gens["TriggerParameter"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ScaleRule_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ScaleRule_STATUS to ScaleRule_STATUS via AssignProperties_To_ScaleRule_STATUS & AssignProperties_From_ScaleRule_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForScaleRule_STATUS, ScaleRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForScaleRule_STATUS tests if a specific instance of ScaleRule_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForScaleRule_STATUS(subject ScaleRule_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 storage.ScaleRule_STATUS + err := copied.AssignProperties_To_ScaleRule_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ScaleRule_STATUS + err = actual.AssignProperties_From_ScaleRule_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_ScaleRule_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 ScaleRule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForScaleRule_STATUS, ScaleRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForScaleRule_STATUS runs a test to see if a specific instance of ScaleRule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForScaleRule_STATUS(subject ScaleRule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ScaleRule_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 ScaleRule_STATUS instances for property testing - lazily instantiated by ScaleRule_STATUSGenerator() +var scaleRule_STATUSGenerator gopter.Gen + +// ScaleRule_STATUSGenerator returns a generator of ScaleRule_STATUS instances for property testing. +// We first initialize scaleRule_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 ScaleRule_STATUSGenerator() gopter.Gen { + if scaleRule_STATUSGenerator != nil { + return scaleRule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForScaleRule_STATUS(generators) + scaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(ScaleRule_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForScaleRule_STATUS(generators) + AddRelatedPropertyGeneratorsForScaleRule_STATUS(generators) + scaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(ScaleRule_STATUS{}), generators) + + return scaleRule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForScaleRule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForScaleRule_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["AzureQueue"] = gen.PtrOf(QueueScaleRule_STATUSGenerator()) + gens["Custom"] = gen.PtrOf(CustomScaleRule_STATUSGenerator()) + gens["Http"] = gen.PtrOf(HttpScaleRule_STATUSGenerator()) + gens["Tcp"] = gen.PtrOf(TcpScaleRule_STATUSGenerator()) +} + +func Test_Scale_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Scale_STATUS to Scale_STATUS via AssignProperties_To_Scale_STATUS & AssignProperties_From_Scale_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForScale_STATUS, Scale_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForScale_STATUS tests if a specific instance of Scale_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForScale_STATUS(subject Scale_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 storage.Scale_STATUS + err := copied.AssignProperties_To_Scale_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Scale_STATUS + err = actual.AssignProperties_From_Scale_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_Scale_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 Scale_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForScale_STATUS, Scale_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForScale_STATUS runs a test to see if a specific instance of Scale_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForScale_STATUS(subject Scale_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Scale_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 Scale_STATUS instances for property testing - lazily instantiated by Scale_STATUSGenerator() +var scale_STATUSGenerator gopter.Gen + +// Scale_STATUSGenerator returns a generator of Scale_STATUS instances for property testing. +// We first initialize scale_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 Scale_STATUSGenerator() gopter.Gen { + if scale_STATUSGenerator != nil { + return scale_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForScale_STATUS(generators) + scale_STATUSGenerator = gen.Struct(reflect.TypeOf(Scale_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForScale_STATUS(generators) + AddRelatedPropertyGeneratorsForScale_STATUS(generators) + scale_STATUSGenerator = gen.Struct(reflect.TypeOf(Scale_STATUS{}), generators) + + return scale_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForScale_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForScale_STATUS(gens map[string]gopter.Gen) { + gens["MaxReplicas"] = gen.PtrOf(gen.Int()) + gens["MinReplicas"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForScale_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForScale_STATUS(gens map[string]gopter.Gen) { + gens["Rules"] = gen.SliceOf(ScaleRule_STATUSGenerator()) +} + +func Test_Secret_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Secret to Secret via AssignProperties_To_Secret & AssignProperties_From_Secret returns original", + prop.ForAll(RunPropertyAssignmentTestForSecret, SecretGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForSecret tests if a specific instance of Secret can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForSecret(subject Secret) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.Secret + err := copied.AssignProperties_To_Secret(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Secret + err = actual.AssignProperties_From_Secret(&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_Secret_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 Secret via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSecret, SecretGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSecret runs a test to see if a specific instance of Secret round trips to JSON and back losslessly +func RunJSONSerializationTestForSecret(subject Secret) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Secret + 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 Secret instances for property testing - lazily instantiated by SecretGenerator() +var secretGenerator gopter.Gen + +// SecretGenerator returns a generator of Secret instances for property testing. +func SecretGenerator() gopter.Gen { + if secretGenerator != nil { + return secretGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForSecret(generators) + secretGenerator = gen.Struct(reflect.TypeOf(Secret{}), generators) + + return secretGenerator +} + +// AddIndependentPropertyGeneratorsForSecret is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForSecret(gens map[string]gopter.Gen) { + gens["KeyVaultUrl"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_SecretVolumeItem_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from SecretVolumeItem to SecretVolumeItem via AssignProperties_To_SecretVolumeItem & AssignProperties_From_SecretVolumeItem returns original", + prop.ForAll(RunPropertyAssignmentTestForSecretVolumeItem, SecretVolumeItemGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForSecretVolumeItem tests if a specific instance of SecretVolumeItem can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForSecretVolumeItem(subject SecretVolumeItem) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.SecretVolumeItem + err := copied.AssignProperties_To_SecretVolumeItem(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual SecretVolumeItem + err = actual.AssignProperties_From_SecretVolumeItem(&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_SecretVolumeItem_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 SecretVolumeItem via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSecretVolumeItem, SecretVolumeItemGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSecretVolumeItem runs a test to see if a specific instance of SecretVolumeItem round trips to JSON and back losslessly +func RunJSONSerializationTestForSecretVolumeItem(subject SecretVolumeItem) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual SecretVolumeItem + 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 SecretVolumeItem instances for property testing - lazily instantiated by SecretVolumeItemGenerator() +var secretVolumeItemGenerator gopter.Gen + +// SecretVolumeItemGenerator returns a generator of SecretVolumeItem instances for property testing. +func SecretVolumeItemGenerator() gopter.Gen { + if secretVolumeItemGenerator != nil { + return secretVolumeItemGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForSecretVolumeItem(generators) + secretVolumeItemGenerator = gen.Struct(reflect.TypeOf(SecretVolumeItem{}), generators) + + return secretVolumeItemGenerator +} + +// AddIndependentPropertyGeneratorsForSecretVolumeItem is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForSecretVolumeItem(gens map[string]gopter.Gen) { + gens["Path"] = gen.PtrOf(gen.AlphaString()) + gens["SecretRef"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_SecretVolumeItem_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from SecretVolumeItem_STATUS to SecretVolumeItem_STATUS via AssignProperties_To_SecretVolumeItem_STATUS & AssignProperties_From_SecretVolumeItem_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForSecretVolumeItem_STATUS, SecretVolumeItem_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForSecretVolumeItem_STATUS tests if a specific instance of SecretVolumeItem_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForSecretVolumeItem_STATUS(subject SecretVolumeItem_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 storage.SecretVolumeItem_STATUS + err := copied.AssignProperties_To_SecretVolumeItem_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual SecretVolumeItem_STATUS + err = actual.AssignProperties_From_SecretVolumeItem_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_SecretVolumeItem_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 SecretVolumeItem_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSecretVolumeItem_STATUS, SecretVolumeItem_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSecretVolumeItem_STATUS runs a test to see if a specific instance of SecretVolumeItem_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForSecretVolumeItem_STATUS(subject SecretVolumeItem_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual SecretVolumeItem_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 SecretVolumeItem_STATUS instances for property testing - lazily instantiated by +// SecretVolumeItem_STATUSGenerator() +var secretVolumeItem_STATUSGenerator gopter.Gen + +// SecretVolumeItem_STATUSGenerator returns a generator of SecretVolumeItem_STATUS instances for property testing. +func SecretVolumeItem_STATUSGenerator() gopter.Gen { + if secretVolumeItem_STATUSGenerator != nil { + return secretVolumeItem_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForSecretVolumeItem_STATUS(generators) + secretVolumeItem_STATUSGenerator = gen.Struct(reflect.TypeOf(SecretVolumeItem_STATUS{}), generators) + + return secretVolumeItem_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForSecretVolumeItem_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForSecretVolumeItem_STATUS(gens map[string]gopter.Gen) { + gens["Path"] = gen.PtrOf(gen.AlphaString()) + gens["SecretRef"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Secret_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Secret_STATUS to Secret_STATUS via AssignProperties_To_Secret_STATUS & AssignProperties_From_Secret_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForSecret_STATUS, Secret_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForSecret_STATUS tests if a specific instance of Secret_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForSecret_STATUS(subject Secret_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 storage.Secret_STATUS + err := copied.AssignProperties_To_Secret_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Secret_STATUS + err = actual.AssignProperties_From_Secret_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_Secret_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 Secret_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSecret_STATUS, Secret_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSecret_STATUS runs a test to see if a specific instance of Secret_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForSecret_STATUS(subject Secret_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Secret_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 Secret_STATUS instances for property testing - lazily instantiated by Secret_STATUSGenerator() +var secret_STATUSGenerator gopter.Gen + +// Secret_STATUSGenerator returns a generator of Secret_STATUS instances for property testing. +func Secret_STATUSGenerator() gopter.Gen { + if secret_STATUSGenerator != nil { + return secret_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForSecret_STATUS(generators) + secret_STATUSGenerator = gen.Struct(reflect.TypeOf(Secret_STATUS{}), generators) + + return secret_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForSecret_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForSecret_STATUS(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(gen.AlphaString()) + gens["KeyVaultUrl"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Service_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Service to Service via AssignProperties_To_Service & AssignProperties_From_Service returns original", + prop.ForAll(RunPropertyAssignmentTestForService, ServiceGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForService tests if a specific instance of Service can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForService(subject Service) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.Service + err := copied.AssignProperties_To_Service(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Service + err = actual.AssignProperties_From_Service(&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_Service_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 Service via JSON returns original", + prop.ForAll(RunJSONSerializationTestForService, ServiceGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForService runs a test to see if a specific instance of Service round trips to JSON and back losslessly +func RunJSONSerializationTestForService(subject Service) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Service + 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 Service instances for property testing - lazily instantiated by ServiceGenerator() +var serviceGenerator gopter.Gen + +// ServiceGenerator returns a generator of Service instances for property testing. +func ServiceGenerator() gopter.Gen { + if serviceGenerator != nil { + return serviceGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForService(generators) + serviceGenerator = gen.Struct(reflect.TypeOf(Service{}), generators) + + return serviceGenerator +} + +// AddIndependentPropertyGeneratorsForService is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForService(gens map[string]gopter.Gen) { + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ServiceBind_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ServiceBind to ServiceBind via AssignProperties_To_ServiceBind & AssignProperties_From_ServiceBind returns original", + prop.ForAll(RunPropertyAssignmentTestForServiceBind, ServiceBindGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForServiceBind tests if a specific instance of ServiceBind can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForServiceBind(subject ServiceBind) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ServiceBind + err := copied.AssignProperties_To_ServiceBind(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ServiceBind + err = actual.AssignProperties_From_ServiceBind(&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_ServiceBind_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 ServiceBind via JSON returns original", + prop.ForAll(RunJSONSerializationTestForServiceBind, ServiceBindGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForServiceBind runs a test to see if a specific instance of ServiceBind round trips to JSON and back losslessly +func RunJSONSerializationTestForServiceBind(subject ServiceBind) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ServiceBind + 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 ServiceBind instances for property testing - lazily instantiated by ServiceBindGenerator() +var serviceBindGenerator gopter.Gen + +// ServiceBindGenerator returns a generator of ServiceBind instances for property testing. +func ServiceBindGenerator() gopter.Gen { + if serviceBindGenerator != nil { + return serviceBindGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForServiceBind(generators) + serviceBindGenerator = gen.Struct(reflect.TypeOf(ServiceBind{}), generators) + + return serviceBindGenerator +} + +// AddIndependentPropertyGeneratorsForServiceBind is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForServiceBind(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ServiceBind_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ServiceBind_STATUS to ServiceBind_STATUS via AssignProperties_To_ServiceBind_STATUS & AssignProperties_From_ServiceBind_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForServiceBind_STATUS, ServiceBind_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForServiceBind_STATUS tests if a specific instance of ServiceBind_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForServiceBind_STATUS(subject ServiceBind_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 storage.ServiceBind_STATUS + err := copied.AssignProperties_To_ServiceBind_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ServiceBind_STATUS + err = actual.AssignProperties_From_ServiceBind_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_ServiceBind_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 ServiceBind_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForServiceBind_STATUS, ServiceBind_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForServiceBind_STATUS runs a test to see if a specific instance of ServiceBind_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForServiceBind_STATUS(subject ServiceBind_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ServiceBind_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 ServiceBind_STATUS instances for property testing - lazily instantiated by ServiceBind_STATUSGenerator() +var serviceBind_STATUSGenerator gopter.Gen + +// ServiceBind_STATUSGenerator returns a generator of ServiceBind_STATUS instances for property testing. +func ServiceBind_STATUSGenerator() gopter.Gen { + if serviceBind_STATUSGenerator != nil { + return serviceBind_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForServiceBind_STATUS(generators) + serviceBind_STATUSGenerator = gen.Struct(reflect.TypeOf(ServiceBind_STATUS{}), generators) + + return serviceBind_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForServiceBind_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForServiceBind_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["ServiceId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Service_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Service_STATUS to Service_STATUS via AssignProperties_To_Service_STATUS & AssignProperties_From_Service_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForService_STATUS, Service_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForService_STATUS tests if a specific instance of Service_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForService_STATUS(subject Service_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 storage.Service_STATUS + err := copied.AssignProperties_To_Service_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Service_STATUS + err = actual.AssignProperties_From_Service_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_Service_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 Service_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForService_STATUS, Service_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForService_STATUS runs a test to see if a specific instance of Service_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForService_STATUS(subject Service_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Service_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 Service_STATUS instances for property testing - lazily instantiated by Service_STATUSGenerator() +var service_STATUSGenerator gopter.Gen + +// Service_STATUSGenerator returns a generator of Service_STATUS instances for property testing. +func Service_STATUSGenerator() gopter.Gen { + if service_STATUSGenerator != nil { + return service_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForService_STATUS(generators) + service_STATUSGenerator = gen.Struct(reflect.TypeOf(Service_STATUS{}), generators) + + return service_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForService_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForService_STATUS(gens map[string]gopter.Gen) { + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_TcpScaleRule_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from TcpScaleRule to TcpScaleRule via AssignProperties_To_TcpScaleRule & AssignProperties_From_TcpScaleRule returns original", + prop.ForAll(RunPropertyAssignmentTestForTcpScaleRule, TcpScaleRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTcpScaleRule tests if a specific instance of TcpScaleRule can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTcpScaleRule(subject TcpScaleRule) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.TcpScaleRule + err := copied.AssignProperties_To_TcpScaleRule(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual TcpScaleRule + err = actual.AssignProperties_From_TcpScaleRule(&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_TcpScaleRule_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 TcpScaleRule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTcpScaleRule, TcpScaleRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTcpScaleRule runs a test to see if a specific instance of TcpScaleRule round trips to JSON and back losslessly +func RunJSONSerializationTestForTcpScaleRule(subject TcpScaleRule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TcpScaleRule + 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 TcpScaleRule instances for property testing - lazily instantiated by TcpScaleRuleGenerator() +var tcpScaleRuleGenerator gopter.Gen + +// TcpScaleRuleGenerator returns a generator of TcpScaleRule instances for property testing. +// We first initialize tcpScaleRuleGenerator 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 TcpScaleRuleGenerator() gopter.Gen { + if tcpScaleRuleGenerator != nil { + return tcpScaleRuleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTcpScaleRule(generators) + tcpScaleRuleGenerator = gen.Struct(reflect.TypeOf(TcpScaleRule{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTcpScaleRule(generators) + AddRelatedPropertyGeneratorsForTcpScaleRule(generators) + tcpScaleRuleGenerator = gen.Struct(reflect.TypeOf(TcpScaleRule{}), generators) + + return tcpScaleRuleGenerator +} + +// AddIndependentPropertyGeneratorsForTcpScaleRule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTcpScaleRule(gens map[string]gopter.Gen) { + gens["Metadata"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForTcpScaleRule is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTcpScaleRule(gens map[string]gopter.Gen) { + gens["Auth"] = gen.SliceOf(ScaleRuleAuthGenerator()) +} + +func Test_TcpScaleRule_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from TcpScaleRule_STATUS to TcpScaleRule_STATUS via AssignProperties_To_TcpScaleRule_STATUS & AssignProperties_From_TcpScaleRule_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForTcpScaleRule_STATUS, TcpScaleRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTcpScaleRule_STATUS tests if a specific instance of TcpScaleRule_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTcpScaleRule_STATUS(subject TcpScaleRule_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 storage.TcpScaleRule_STATUS + err := copied.AssignProperties_To_TcpScaleRule_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual TcpScaleRule_STATUS + err = actual.AssignProperties_From_TcpScaleRule_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_TcpScaleRule_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 TcpScaleRule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTcpScaleRule_STATUS, TcpScaleRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTcpScaleRule_STATUS runs a test to see if a specific instance of TcpScaleRule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTcpScaleRule_STATUS(subject TcpScaleRule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TcpScaleRule_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 TcpScaleRule_STATUS instances for property testing - lazily instantiated by +// TcpScaleRule_STATUSGenerator() +var tcpScaleRule_STATUSGenerator gopter.Gen + +// TcpScaleRule_STATUSGenerator returns a generator of TcpScaleRule_STATUS instances for property testing. +// We first initialize tcpScaleRule_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 TcpScaleRule_STATUSGenerator() gopter.Gen { + if tcpScaleRule_STATUSGenerator != nil { + return tcpScaleRule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTcpScaleRule_STATUS(generators) + tcpScaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(TcpScaleRule_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTcpScaleRule_STATUS(generators) + AddRelatedPropertyGeneratorsForTcpScaleRule_STATUS(generators) + tcpScaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(TcpScaleRule_STATUS{}), generators) + + return tcpScaleRule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTcpScaleRule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTcpScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["Metadata"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForTcpScaleRule_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTcpScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["Auth"] = gen.SliceOf(ScaleRuleAuth_STATUSGenerator()) +} + +func Test_Template_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Template to Template via AssignProperties_To_Template & AssignProperties_From_Template returns original", + prop.ForAll(RunPropertyAssignmentTestForTemplate, TemplateGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTemplate tests if a specific instance of Template can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTemplate(subject Template) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.Template + err := copied.AssignProperties_To_Template(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Template + err = actual.AssignProperties_From_Template(&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_Template_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 Template via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTemplate, TemplateGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTemplate runs a test to see if a specific instance of Template round trips to JSON and back losslessly +func RunJSONSerializationTestForTemplate(subject Template) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Template + 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 Template instances for property testing - lazily instantiated by TemplateGenerator() +var templateGenerator gopter.Gen + +// TemplateGenerator returns a generator of Template instances for property testing. +// We first initialize templateGenerator 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 TemplateGenerator() gopter.Gen { + if templateGenerator != nil { + return templateGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTemplate(generators) + templateGenerator = gen.Struct(reflect.TypeOf(Template{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTemplate(generators) + AddRelatedPropertyGeneratorsForTemplate(generators) + templateGenerator = gen.Struct(reflect.TypeOf(Template{}), generators) + + return templateGenerator +} + +// AddIndependentPropertyGeneratorsForTemplate is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTemplate(gens map[string]gopter.Gen) { + gens["RevisionSuffix"] = gen.PtrOf(gen.AlphaString()) + gens["TerminationGracePeriodSeconds"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForTemplate is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTemplate(gens map[string]gopter.Gen) { + gens["Containers"] = gen.SliceOf(ContainerGenerator()) + gens["InitContainers"] = gen.SliceOf(BaseContainerGenerator()) + gens["Scale"] = gen.PtrOf(ScaleGenerator()) + gens["ServiceBinds"] = gen.SliceOf(ServiceBindGenerator()) + gens["Volumes"] = gen.SliceOf(VolumeGenerator()) +} + +func Test_Template_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Template_STATUS to Template_STATUS via AssignProperties_To_Template_STATUS & AssignProperties_From_Template_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForTemplate_STATUS, Template_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTemplate_STATUS tests if a specific instance of Template_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTemplate_STATUS(subject Template_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 storage.Template_STATUS + err := copied.AssignProperties_To_Template_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Template_STATUS + err = actual.AssignProperties_From_Template_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_Template_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 Template_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTemplate_STATUS, Template_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTemplate_STATUS runs a test to see if a specific instance of Template_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTemplate_STATUS(subject Template_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Template_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 Template_STATUS instances for property testing - lazily instantiated by Template_STATUSGenerator() +var template_STATUSGenerator gopter.Gen + +// Template_STATUSGenerator returns a generator of Template_STATUS instances for property testing. +// We first initialize template_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 Template_STATUSGenerator() gopter.Gen { + if template_STATUSGenerator != nil { + return template_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTemplate_STATUS(generators) + template_STATUSGenerator = gen.Struct(reflect.TypeOf(Template_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTemplate_STATUS(generators) + AddRelatedPropertyGeneratorsForTemplate_STATUS(generators) + template_STATUSGenerator = gen.Struct(reflect.TypeOf(Template_STATUS{}), generators) + + return template_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTemplate_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTemplate_STATUS(gens map[string]gopter.Gen) { + gens["RevisionSuffix"] = gen.PtrOf(gen.AlphaString()) + gens["TerminationGracePeriodSeconds"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForTemplate_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTemplate_STATUS(gens map[string]gopter.Gen) { + gens["Containers"] = gen.SliceOf(Container_STATUSGenerator()) + gens["InitContainers"] = gen.SliceOf(BaseContainer_STATUSGenerator()) + gens["Scale"] = gen.PtrOf(Scale_STATUSGenerator()) + gens["ServiceBinds"] = gen.SliceOf(ServiceBind_STATUSGenerator()) + gens["Volumes"] = gen.SliceOf(Volume_STATUSGenerator()) +} + +func Test_TrafficWeight_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from TrafficWeight to TrafficWeight via AssignProperties_To_TrafficWeight & AssignProperties_From_TrafficWeight returns original", + prop.ForAll(RunPropertyAssignmentTestForTrafficWeight, TrafficWeightGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTrafficWeight tests if a specific instance of TrafficWeight can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTrafficWeight(subject TrafficWeight) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.TrafficWeight + err := copied.AssignProperties_To_TrafficWeight(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual TrafficWeight + err = actual.AssignProperties_From_TrafficWeight(&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_TrafficWeight_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 TrafficWeight via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTrafficWeight, TrafficWeightGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTrafficWeight runs a test to see if a specific instance of TrafficWeight round trips to JSON and back losslessly +func RunJSONSerializationTestForTrafficWeight(subject TrafficWeight) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TrafficWeight + 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 TrafficWeight instances for property testing - lazily instantiated by TrafficWeightGenerator() +var trafficWeightGenerator gopter.Gen + +// TrafficWeightGenerator returns a generator of TrafficWeight instances for property testing. +func TrafficWeightGenerator() gopter.Gen { + if trafficWeightGenerator != nil { + return trafficWeightGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTrafficWeight(generators) + trafficWeightGenerator = gen.Struct(reflect.TypeOf(TrafficWeight{}), generators) + + return trafficWeightGenerator +} + +// AddIndependentPropertyGeneratorsForTrafficWeight is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTrafficWeight(gens map[string]gopter.Gen) { + gens["Label"] = gen.PtrOf(gen.AlphaString()) + gens["LatestRevision"] = gen.PtrOf(gen.Bool()) + gens["RevisionName"] = gen.PtrOf(gen.AlphaString()) + gens["Weight"] = gen.PtrOf(gen.Int()) +} + +func Test_TrafficWeight_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from TrafficWeight_STATUS to TrafficWeight_STATUS via AssignProperties_To_TrafficWeight_STATUS & AssignProperties_From_TrafficWeight_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForTrafficWeight_STATUS, TrafficWeight_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTrafficWeight_STATUS tests if a specific instance of TrafficWeight_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTrafficWeight_STATUS(subject TrafficWeight_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 storage.TrafficWeight_STATUS + err := copied.AssignProperties_To_TrafficWeight_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual TrafficWeight_STATUS + err = actual.AssignProperties_From_TrafficWeight_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_TrafficWeight_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 TrafficWeight_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTrafficWeight_STATUS, TrafficWeight_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTrafficWeight_STATUS runs a test to see if a specific instance of TrafficWeight_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTrafficWeight_STATUS(subject TrafficWeight_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TrafficWeight_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 TrafficWeight_STATUS instances for property testing - lazily instantiated by +// TrafficWeight_STATUSGenerator() +var trafficWeight_STATUSGenerator gopter.Gen + +// TrafficWeight_STATUSGenerator returns a generator of TrafficWeight_STATUS instances for property testing. +func TrafficWeight_STATUSGenerator() gopter.Gen { + if trafficWeight_STATUSGenerator != nil { + return trafficWeight_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTrafficWeight_STATUS(generators) + trafficWeight_STATUSGenerator = gen.Struct(reflect.TypeOf(TrafficWeight_STATUS{}), generators) + + return trafficWeight_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTrafficWeight_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTrafficWeight_STATUS(gens map[string]gopter.Gen) { + gens["Label"] = gen.PtrOf(gen.AlphaString()) + gens["LatestRevision"] = gen.PtrOf(gen.Bool()) + gens["RevisionName"] = gen.PtrOf(gen.AlphaString()) + gens["Weight"] = gen.PtrOf(gen.Int()) +} + +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 storage.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 +} + +func Test_UserAssignedIdentity_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from UserAssignedIdentity_STATUS to UserAssignedIdentity_STATUS via AssignProperties_To_UserAssignedIdentity_STATUS & AssignProperties_From_UserAssignedIdentity_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForUserAssignedIdentity_STATUS, UserAssignedIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForUserAssignedIdentity_STATUS tests if a specific instance of UserAssignedIdentity_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForUserAssignedIdentity_STATUS(subject UserAssignedIdentity_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 storage.UserAssignedIdentity_STATUS + err := copied.AssignProperties_To_UserAssignedIdentity_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual UserAssignedIdentity_STATUS + err = actual.AssignProperties_From_UserAssignedIdentity_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_UserAssignedIdentity_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 UserAssignedIdentity_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUserAssignedIdentity_STATUS, UserAssignedIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUserAssignedIdentity_STATUS runs a test to see if a specific instance of UserAssignedIdentity_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForUserAssignedIdentity_STATUS(subject UserAssignedIdentity_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UserAssignedIdentity_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 UserAssignedIdentity_STATUS instances for property testing - lazily instantiated by +// UserAssignedIdentity_STATUSGenerator() +var userAssignedIdentity_STATUSGenerator gopter.Gen + +// UserAssignedIdentity_STATUSGenerator returns a generator of UserAssignedIdentity_STATUS instances for property testing. +func UserAssignedIdentity_STATUSGenerator() gopter.Gen { + if userAssignedIdentity_STATUSGenerator != nil { + return userAssignedIdentity_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForUserAssignedIdentity_STATUS(generators) + userAssignedIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(UserAssignedIdentity_STATUS{}), generators) + + return userAssignedIdentity_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForUserAssignedIdentity_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForUserAssignedIdentity_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["PrincipalId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Volume_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Volume to Volume via AssignProperties_To_Volume & AssignProperties_From_Volume returns original", + prop.ForAll(RunPropertyAssignmentTestForVolume, VolumeGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForVolume tests if a specific instance of Volume can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForVolume(subject Volume) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.Volume + err := copied.AssignProperties_To_Volume(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Volume + err = actual.AssignProperties_From_Volume(&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_Volume_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 Volume via JSON returns original", + prop.ForAll(RunJSONSerializationTestForVolume, VolumeGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForVolume runs a test to see if a specific instance of Volume round trips to JSON and back losslessly +func RunJSONSerializationTestForVolume(subject Volume) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Volume + 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 Volume instances for property testing - lazily instantiated by VolumeGenerator() +var volumeGenerator gopter.Gen + +// VolumeGenerator returns a generator of Volume instances for property testing. +// We first initialize volumeGenerator 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 VolumeGenerator() gopter.Gen { + if volumeGenerator != nil { + return volumeGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForVolume(generators) + volumeGenerator = gen.Struct(reflect.TypeOf(Volume{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForVolume(generators) + AddRelatedPropertyGeneratorsForVolume(generators) + volumeGenerator = gen.Struct(reflect.TypeOf(Volume{}), generators) + + return volumeGenerator +} + +// AddIndependentPropertyGeneratorsForVolume is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForVolume(gens map[string]gopter.Gen) { + gens["MountOptions"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["StorageName"] = gen.PtrOf(gen.AlphaString()) + gens["StorageType"] = gen.PtrOf(gen.OneConstOf(Volume_StorageType_AzureFile, Volume_StorageType_EmptyDir, Volume_StorageType_Secret)) +} + +// AddRelatedPropertyGeneratorsForVolume is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForVolume(gens map[string]gopter.Gen) { + gens["Secrets"] = gen.SliceOf(SecretVolumeItemGenerator()) +} + +func Test_VolumeMount_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from VolumeMount to VolumeMount via AssignProperties_To_VolumeMount & AssignProperties_From_VolumeMount returns original", + prop.ForAll(RunPropertyAssignmentTestForVolumeMount, VolumeMountGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForVolumeMount tests if a specific instance of VolumeMount can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForVolumeMount(subject VolumeMount) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.VolumeMount + err := copied.AssignProperties_To_VolumeMount(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual VolumeMount + err = actual.AssignProperties_From_VolumeMount(&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_VolumeMount_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 VolumeMount via JSON returns original", + prop.ForAll(RunJSONSerializationTestForVolumeMount, VolumeMountGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForVolumeMount runs a test to see if a specific instance of VolumeMount round trips to JSON and back losslessly +func RunJSONSerializationTestForVolumeMount(subject VolumeMount) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual VolumeMount + 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 VolumeMount instances for property testing - lazily instantiated by VolumeMountGenerator() +var volumeMountGenerator gopter.Gen + +// VolumeMountGenerator returns a generator of VolumeMount instances for property testing. +func VolumeMountGenerator() gopter.Gen { + if volumeMountGenerator != nil { + return volumeMountGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForVolumeMount(generators) + volumeMountGenerator = gen.Struct(reflect.TypeOf(VolumeMount{}), generators) + + return volumeMountGenerator +} + +// AddIndependentPropertyGeneratorsForVolumeMount is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForVolumeMount(gens map[string]gopter.Gen) { + gens["MountPath"] = gen.PtrOf(gen.AlphaString()) + gens["SubPath"] = gen.PtrOf(gen.AlphaString()) + gens["VolumeName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_VolumeMount_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from VolumeMount_STATUS to VolumeMount_STATUS via AssignProperties_To_VolumeMount_STATUS & AssignProperties_From_VolumeMount_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForVolumeMount_STATUS, VolumeMount_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForVolumeMount_STATUS tests if a specific instance of VolumeMount_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForVolumeMount_STATUS(subject VolumeMount_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 storage.VolumeMount_STATUS + err := copied.AssignProperties_To_VolumeMount_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual VolumeMount_STATUS + err = actual.AssignProperties_From_VolumeMount_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_VolumeMount_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 VolumeMount_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForVolumeMount_STATUS, VolumeMount_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForVolumeMount_STATUS runs a test to see if a specific instance of VolumeMount_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForVolumeMount_STATUS(subject VolumeMount_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual VolumeMount_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 VolumeMount_STATUS instances for property testing - lazily instantiated by VolumeMount_STATUSGenerator() +var volumeMount_STATUSGenerator gopter.Gen + +// VolumeMount_STATUSGenerator returns a generator of VolumeMount_STATUS instances for property testing. +func VolumeMount_STATUSGenerator() gopter.Gen { + if volumeMount_STATUSGenerator != nil { + return volumeMount_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForVolumeMount_STATUS(generators) + volumeMount_STATUSGenerator = gen.Struct(reflect.TypeOf(VolumeMount_STATUS{}), generators) + + return volumeMount_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForVolumeMount_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForVolumeMount_STATUS(gens map[string]gopter.Gen) { + gens["MountPath"] = gen.PtrOf(gen.AlphaString()) + gens["SubPath"] = gen.PtrOf(gen.AlphaString()) + gens["VolumeName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Volume_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Volume_STATUS to Volume_STATUS via AssignProperties_To_Volume_STATUS & AssignProperties_From_Volume_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForVolume_STATUS, Volume_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForVolume_STATUS tests if a specific instance of Volume_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForVolume_STATUS(subject Volume_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 storage.Volume_STATUS + err := copied.AssignProperties_To_Volume_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Volume_STATUS + err = actual.AssignProperties_From_Volume_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_Volume_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 Volume_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForVolume_STATUS, Volume_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForVolume_STATUS runs a test to see if a specific instance of Volume_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForVolume_STATUS(subject Volume_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Volume_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 Volume_STATUS instances for property testing - lazily instantiated by Volume_STATUSGenerator() +var volume_STATUSGenerator gopter.Gen + +// Volume_STATUSGenerator returns a generator of Volume_STATUS instances for property testing. +// We first initialize volume_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 Volume_STATUSGenerator() gopter.Gen { + if volume_STATUSGenerator != nil { + return volume_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForVolume_STATUS(generators) + volume_STATUSGenerator = gen.Struct(reflect.TypeOf(Volume_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForVolume_STATUS(generators) + AddRelatedPropertyGeneratorsForVolume_STATUS(generators) + volume_STATUSGenerator = gen.Struct(reflect.TypeOf(Volume_STATUS{}), generators) + + return volume_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForVolume_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForVolume_STATUS(gens map[string]gopter.Gen) { + gens["MountOptions"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["StorageName"] = gen.PtrOf(gen.AlphaString()) + gens["StorageType"] = gen.PtrOf(gen.OneConstOf(Volume_StorageType_STATUS_AzureFile, Volume_StorageType_STATUS_EmptyDir, Volume_StorageType_STATUS_Secret)) +} + +// AddRelatedPropertyGeneratorsForVolume_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForVolume_STATUS(gens map[string]gopter.Gen) { + gens["Secrets"] = gen.SliceOf(SecretVolumeItem_STATUSGenerator()) +} diff --git a/v2/api/app/v1api20240301/doc.go b/v2/api/app/v1api20240301/doc.go new file mode 100644 index 00000000000..d46d2c8ceea --- /dev/null +++ b/v2/api/app/v1api20240301/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 v1api20240301 contains API Schema definitions for the app v1api20240301 API group +// +groupName=app.azure.com +package v1api20240301 diff --git a/v2/api/app/v1api20240301/groupversion_info_gen.go b/v2/api/app/v1api20240301/groupversion_info_gen.go new file mode 100644 index 00000000000..80480cd6832 --- /dev/null +++ b/v2/api/app/v1api20240301/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 v1api20240301 contains API Schema definitions for the app v1api20240301 API group +// +kubebuilder:object:generate=true +// All object properties are optional by default, this will be overridden when needed: +// +kubebuilder:validation:Optional +// +groupName=app.azure.com +// +versionName=v1api20240301 +package v1api20240301 + +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: "app.azure.com", Version: "v1api20240301"} + + // 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/app/v1api20240301/job_types_gen.go b/v2/api/app/v1api20240301/job_types_gen.go new file mode 100644 index 00000000000..f092425f552 --- /dev/null +++ b/v2/api/app/v1api20240301/job_types_gen.go @@ -0,0 +1,4166 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20240301 + +import ( + "fmt" + arm "github.com/Azure/azure-service-operator/v2/api/app/v1api20240301/arm" + storage "github.com/Azure/azure-service-operator/v2/api/app/v1api20240301/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/Azure/azure-service-operator/v2/pkg/genruntime/configmaps" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/core" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/secrets" + "github.com/rotisserie/eris" + "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/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: /app/resource-manager/Microsoft.App/stable/2024-03-01/Jobs.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName} +type Job struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec Job_Spec `json:"spec,omitempty"` + Status Job_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &Job{} + +// GetConditions returns the conditions of the resource +func (job *Job) GetConditions() conditions.Conditions { + return job.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (job *Job) SetConditions(conditions conditions.Conditions) { job.Status.Conditions = conditions } + +var _ conversion.Convertible = &Job{} + +// ConvertFrom populates our Job from the provided hub Job +func (job *Job) ConvertFrom(hub conversion.Hub) error { + source, ok := hub.(*storage.Job) + if !ok { + return fmt.Errorf("expected app/v1api20240301/storage/Job but received %T instead", hub) + } + + return job.AssignProperties_From_Job(source) +} + +// ConvertTo populates the provided hub Job from our Job +func (job *Job) ConvertTo(hub conversion.Hub) error { + destination, ok := hub.(*storage.Job) + if !ok { + return fmt.Errorf("expected app/v1api20240301/storage/Job but received %T instead", hub) + } + + return job.AssignProperties_To_Job(destination) +} + +// +kubebuilder:webhook:path=/mutate-app-azure-com-v1api20240301-job,mutating=true,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=app.azure.com,resources=jobs,verbs=create;update,versions=v1api20240301,name=default.v1api20240301.jobs.app.azure.com,admissionReviewVersions=v1 + +var _ admission.Defaulter = &Job{} + +// Default applies defaults to the Job resource +func (job *Job) Default() { + job.defaultImpl() + var temp any = job + if runtimeDefaulter, ok := temp.(genruntime.Defaulter); ok { + runtimeDefaulter.CustomDefault() + } +} + +// defaultAzureName defaults the Azure name of the resource to the Kubernetes name +func (job *Job) defaultAzureName() { + if job.Spec.AzureName == "" { + job.Spec.AzureName = job.Name + } +} + +// defaultImpl applies the code generated defaults to the Job resource +func (job *Job) defaultImpl() { job.defaultAzureName() } + +var _ configmaps.Exporter = &Job{} + +// ConfigMapDestinationExpressions returns the Spec.OperatorSpec.ConfigMapExpressions property +func (job *Job) ConfigMapDestinationExpressions() []*core.DestinationExpression { + if job.Spec.OperatorSpec == nil { + return nil + } + return job.Spec.OperatorSpec.ConfigMapExpressions +} + +var _ secrets.Exporter = &Job{} + +// SecretDestinationExpressions returns the Spec.OperatorSpec.SecretExpressions property +func (job *Job) SecretDestinationExpressions() []*core.DestinationExpression { + if job.Spec.OperatorSpec == nil { + return nil + } + return job.Spec.OperatorSpec.SecretExpressions +} + +var _ genruntime.ImportableResource = &Job{} + +// InitializeSpec initializes the spec for this resource from the given status +func (job *Job) InitializeSpec(status genruntime.ConvertibleStatus) error { + if s, ok := status.(*Job_STATUS); ok { + return job.Spec.Initialize_From_Job_STATUS(s) + } + + return fmt.Errorf("expected Status of type Job_STATUS but received %T instead", status) +} + +var _ genruntime.KubernetesResource = &Job{} + +// AzureName returns the Azure name of the resource +func (job *Job) AzureName() string { + return job.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-03-01" +func (job Job) GetAPIVersion() string { + return "2024-03-01" +} + +// GetResourceScope returns the scope of the resource +func (job *Job) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (job *Job) GetSpec() genruntime.ConvertibleSpec { + return &job.Spec +} + +// GetStatus returns the status of this resource +func (job *Job) GetStatus() genruntime.ConvertibleStatus { + return &job.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (job *Job) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.App/jobs" +func (job *Job) GetType() string { + return "Microsoft.App/jobs" +} + +// NewEmptyStatus returns a new empty (blank) status +func (job *Job) NewEmptyStatus() genruntime.ConvertibleStatus { + return &Job_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (job *Job) Owner() *genruntime.ResourceReference { + if job.Spec.Owner == nil { + return nil + } + + group, kind := genruntime.LookupOwnerGroupKind(job.Spec) + return job.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (job *Job) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*Job_STATUS); ok { + job.Status = *st + return nil + } + + // Convert status to required version + var st Job_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return eris.Wrap(err, "failed to convert status") + } + + job.Status = st + return nil +} + +// +kubebuilder:webhook:path=/validate-app-azure-com-v1api20240301-job,mutating=false,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=app.azure.com,resources=jobs,verbs=create;update,versions=v1api20240301,name=validate.v1api20240301.jobs.app.azure.com,admissionReviewVersions=v1 + +var _ admission.Validator = &Job{} + +// ValidateCreate validates the creation of the resource +func (job *Job) ValidateCreate() (admission.Warnings, error) { + validations := job.createValidations() + var temp any = job + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.CreateValidations()...) + } + return genruntime.ValidateCreate(validations) +} + +// ValidateDelete validates the deletion of the resource +func (job *Job) ValidateDelete() (admission.Warnings, error) { + validations := job.deleteValidations() + var temp any = job + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.DeleteValidations()...) + } + return genruntime.ValidateDelete(validations) +} + +// ValidateUpdate validates an update of the resource +func (job *Job) ValidateUpdate(old runtime.Object) (admission.Warnings, error) { + validations := job.updateValidations() + var temp any = job + 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 (job *Job) createValidations() []func() (admission.Warnings, error) { + return []func() (admission.Warnings, error){job.validateResourceReferences, job.validateOwnerReference, job.validateSecretDestinations, job.validateConfigMapDestinations} +} + +// deleteValidations validates the deletion of the resource +func (job *Job) deleteValidations() []func() (admission.Warnings, error) { + return nil +} + +// updateValidations validates the update of the resource +func (job *Job) updateValidations() []func(old runtime.Object) (admission.Warnings, error) { + return []func(old runtime.Object) (admission.Warnings, error){ + func(old runtime.Object) (admission.Warnings, error) { + return job.validateResourceReferences() + }, + job.validateWriteOnceProperties, + func(old runtime.Object) (admission.Warnings, error) { + return job.validateOwnerReference() + }, + func(old runtime.Object) (admission.Warnings, error) { + return job.validateSecretDestinations() + }, + func(old runtime.Object) (admission.Warnings, error) { + return job.validateConfigMapDestinations() + }, + } +} + +// validateConfigMapDestinations validates there are no colliding genruntime.ConfigMapDestinations +func (job *Job) validateConfigMapDestinations() (admission.Warnings, error) { + if job.Spec.OperatorSpec == nil { + return nil, nil + } + return configmaps.ValidateDestinations(job, nil, job.Spec.OperatorSpec.ConfigMapExpressions) +} + +// validateOwnerReference validates the owner field +func (job *Job) validateOwnerReference() (admission.Warnings, error) { + return genruntime.ValidateOwner(job) +} + +// validateResourceReferences validates all resource references +func (job *Job) validateResourceReferences() (admission.Warnings, error) { + refs, err := reflecthelpers.FindResourceReferences(&job.Spec) + if err != nil { + return nil, err + } + return genruntime.ValidateResourceReferences(refs) +} + +// validateSecretDestinations validates there are no colliding genruntime.SecretDestination's +func (job *Job) validateSecretDestinations() (admission.Warnings, error) { + if job.Spec.OperatorSpec == nil { + return nil, nil + } + return secrets.ValidateDestinations(job, nil, job.Spec.OperatorSpec.SecretExpressions) +} + +// validateWriteOnceProperties validates all WriteOnce properties +func (job *Job) validateWriteOnceProperties(old runtime.Object) (admission.Warnings, error) { + oldObj, ok := old.(*Job) + if !ok { + return nil, nil + } + + return genruntime.ValidateWriteOnceProperties(oldObj, job) +} + +// AssignProperties_From_Job populates our Job from the provided source Job +func (job *Job) AssignProperties_From_Job(source *storage.Job) error { + + // ObjectMeta + job.ObjectMeta = *source.ObjectMeta.DeepCopy() + + // Spec + var spec Job_Spec + err := spec.AssignProperties_From_Job_Spec(&source.Spec) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Job_Spec() to populate field Spec") + } + job.Spec = spec + + // Status + var status Job_STATUS + err = status.AssignProperties_From_Job_STATUS(&source.Status) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Job_STATUS() to populate field Status") + } + job.Status = status + + // No error + return nil +} + +// AssignProperties_To_Job populates the provided destination Job from our Job +func (job *Job) AssignProperties_To_Job(destination *storage.Job) error { + + // ObjectMeta + destination.ObjectMeta = *job.ObjectMeta.DeepCopy() + + // Spec + var spec storage.Job_Spec + err := job.Spec.AssignProperties_To_Job_Spec(&spec) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Job_Spec() to populate field Spec") + } + destination.Spec = spec + + // Status + var status storage.Job_STATUS + err = job.Status.AssignProperties_To_Job_STATUS(&status) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Job_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 (job *Job) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: job.Spec.OriginalVersion(), + Kind: "Job", + } +} + +// +kubebuilder:object:root=true +// Generator information: +// - Generated from: /app/resource-manager/Microsoft.App/stable/2024-03-01/Jobs.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName} +type JobList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Job `json:"items"` +} + +type Job_Spec struct { + // +kubebuilder:validation:Pattern="^[-\\w\\._\\(\\)]+$" + // 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"` + + // Configuration: Container Apps Job configuration properties. + Configuration *JobConfiguration `json:"configuration,omitempty"` + + // EnvironmentReference: Resource ID of environment. + EnvironmentReference *genruntime.ResourceReference `armReference:"EnvironmentId" json:"environmentReference,omitempty"` + + // Identity: Managed identities needed by a container app job to interact with other Azure services to not maintain any + // secrets or credentials in code. + Identity *ManagedServiceIdentity `json:"identity,omitempty"` + + // +kubebuilder:validation:Required + // Location: The geo-location where the resource lives + Location *string `json:"location,omitempty"` + + // OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + // passed directly to Azure + OperatorSpec *JobOperatorSpec `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"` + + // Tags: Resource tags. + Tags map[string]string `json:"tags,omitempty"` + + // Template: Container Apps job definition. + Template *JobTemplate `json:"template,omitempty"` + + // WorkloadProfileName: Workload profile name to pin for container apps job execution. + WorkloadProfileName *string `json:"workloadProfileName,omitempty"` +} + +var _ genruntime.ARMTransformer = &Job_Spec{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (job *Job_Spec) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if job == nil { + return nil, nil + } + result := &arm.Job_Spec{} + + // Set property "Identity": + if job.Identity != nil { + identity_ARM, err := (*job.Identity).ConvertToARM(resolved) + if err != nil { + return nil, err + } + identity := *identity_ARM.(*arm.ManagedServiceIdentity) + result.Identity = &identity + } + + // Set property "Location": + if job.Location != nil { + location := *job.Location + result.Location = &location + } + + // Set property "Name": + result.Name = resolved.Name + + // Set property "Properties": + if job.Configuration != nil || + job.EnvironmentReference != nil || + job.Template != nil || + job.WorkloadProfileName != nil { + result.Properties = &arm.Job_Properties_Spec{} + } + if job.Configuration != nil { + configuration_ARM, err := (*job.Configuration).ConvertToARM(resolved) + if err != nil { + return nil, err + } + configuration := *configuration_ARM.(*arm.JobConfiguration) + result.Properties.Configuration = &configuration + } + if job.EnvironmentReference != nil { + environmentIdARMID, err := resolved.ResolvedReferences.Lookup(*job.EnvironmentReference) + if err != nil { + return nil, err + } + environmentId := environmentIdARMID + result.Properties.EnvironmentId = &environmentId + } + if job.Template != nil { + template_ARM, err := (*job.Template).ConvertToARM(resolved) + if err != nil { + return nil, err + } + template := *template_ARM.(*arm.JobTemplate) + result.Properties.Template = &template + } + if job.WorkloadProfileName != nil { + workloadProfileName := *job.WorkloadProfileName + result.Properties.WorkloadProfileName = &workloadProfileName + } + + // Set property "Tags": + if job.Tags != nil { + result.Tags = make(map[string]string, len(job.Tags)) + for key, value := range job.Tags { + result.Tags[key] = value + } + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (job *Job_Spec) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Job_Spec{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (job *Job_Spec) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Job_Spec) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Job_Spec, got %T", armInput) + } + + // Set property "AzureName": + job.SetAzureName(genruntime.ExtractKubernetesResourceNameFromARMName(typedInput.Name)) + + // Set property "Configuration": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Configuration != nil { + var configuration1 JobConfiguration + err := configuration1.PopulateFromARM(owner, *typedInput.Properties.Configuration) + if err != nil { + return err + } + configuration := configuration1 + job.Configuration = &configuration + } + } + + // no assignment for property "EnvironmentReference" + + // Set property "Identity": + if typedInput.Identity != nil { + var identity1 ManagedServiceIdentity + err := identity1.PopulateFromARM(owner, *typedInput.Identity) + if err != nil { + return err + } + identity := identity1 + job.Identity = &identity + } + + // Set property "Location": + if typedInput.Location != nil { + location := *typedInput.Location + job.Location = &location + } + + // no assignment for property "OperatorSpec" + + // Set property "Owner": + job.Owner = &genruntime.KnownResourceReference{ + Name: owner.Name, + ARMID: owner.ARMID, + } + + // Set property "Tags": + if typedInput.Tags != nil { + job.Tags = make(map[string]string, len(typedInput.Tags)) + for key, value := range typedInput.Tags { + job.Tags[key] = value + } + } + + // Set property "Template": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Template != nil { + var template1 JobTemplate + err := template1.PopulateFromARM(owner, *typedInput.Properties.Template) + if err != nil { + return err + } + template := template1 + job.Template = &template + } + } + + // Set property "WorkloadProfileName": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.WorkloadProfileName != nil { + workloadProfileName := *typedInput.Properties.WorkloadProfileName + job.WorkloadProfileName = &workloadProfileName + } + } + + // No error + return nil +} + +var _ genruntime.ConvertibleSpec = &Job_Spec{} + +// ConvertSpecFrom populates our Job_Spec from the provided source +func (job *Job_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + src, ok := source.(*storage.Job_Spec) + if ok { + // Populate our instance from source + return job.AssignProperties_From_Job_Spec(src) + } + + // Convert to an intermediate form + src = &storage.Job_Spec{} + err := src.ConvertSpecFrom(source) + if err != nil { + return eris.Wrap(err, "initial step of conversion in ConvertSpecFrom()") + } + + // Update our instance from src + err = job.AssignProperties_From_Job_Spec(src) + if err != nil { + return eris.Wrap(err, "final step of conversion in ConvertSpecFrom()") + } + + return nil +} + +// ConvertSpecTo populates the provided destination from our Job_Spec +func (job *Job_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + dst, ok := destination.(*storage.Job_Spec) + if ok { + // Populate destination from our instance + return job.AssignProperties_To_Job_Spec(dst) + } + + // Convert to an intermediate form + dst = &storage.Job_Spec{} + err := job.AssignProperties_To_Job_Spec(dst) + if err != nil { + return eris.Wrap(err, "initial step of conversion in ConvertSpecTo()") + } + + // Update dst from our instance + err = dst.ConvertSpecTo(destination) + if err != nil { + return eris.Wrap(err, "final step of conversion in ConvertSpecTo()") + } + + return nil +} + +// AssignProperties_From_Job_Spec populates our Job_Spec from the provided source Job_Spec +func (job *Job_Spec) AssignProperties_From_Job_Spec(source *storage.Job_Spec) error { + + // AzureName + job.AzureName = source.AzureName + + // Configuration + if source.Configuration != nil { + var configuration JobConfiguration + err := configuration.AssignProperties_From_JobConfiguration(source.Configuration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_JobConfiguration() to populate field Configuration") + } + job.Configuration = &configuration + } else { + job.Configuration = nil + } + + // EnvironmentReference + if source.EnvironmentReference != nil { + environmentReference := source.EnvironmentReference.Copy() + job.EnvironmentReference = &environmentReference + } else { + job.EnvironmentReference = nil + } + + // Identity + if source.Identity != nil { + var identity ManagedServiceIdentity + err := identity.AssignProperties_From_ManagedServiceIdentity(source.Identity) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ManagedServiceIdentity() to populate field Identity") + } + job.Identity = &identity + } else { + job.Identity = nil + } + + // Location + job.Location = genruntime.ClonePointerToString(source.Location) + + // OperatorSpec + if source.OperatorSpec != nil { + var operatorSpec JobOperatorSpec + err := operatorSpec.AssignProperties_From_JobOperatorSpec(source.OperatorSpec) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_JobOperatorSpec() to populate field OperatorSpec") + } + job.OperatorSpec = &operatorSpec + } else { + job.OperatorSpec = nil + } + + // Owner + if source.Owner != nil { + owner := source.Owner.Copy() + job.Owner = &owner + } else { + job.Owner = nil + } + + // Tags + job.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // Template + if source.Template != nil { + var template JobTemplate + err := template.AssignProperties_From_JobTemplate(source.Template) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_JobTemplate() to populate field Template") + } + job.Template = &template + } else { + job.Template = nil + } + + // WorkloadProfileName + job.WorkloadProfileName = genruntime.ClonePointerToString(source.WorkloadProfileName) + + // No error + return nil +} + +// AssignProperties_To_Job_Spec populates the provided destination Job_Spec from our Job_Spec +func (job *Job_Spec) AssignProperties_To_Job_Spec(destination *storage.Job_Spec) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AzureName + destination.AzureName = job.AzureName + + // Configuration + if job.Configuration != nil { + var configuration storage.JobConfiguration + err := job.Configuration.AssignProperties_To_JobConfiguration(&configuration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_JobConfiguration() to populate field Configuration") + } + destination.Configuration = &configuration + } else { + destination.Configuration = nil + } + + // EnvironmentReference + if job.EnvironmentReference != nil { + environmentReference := job.EnvironmentReference.Copy() + destination.EnvironmentReference = &environmentReference + } else { + destination.EnvironmentReference = nil + } + + // Identity + if job.Identity != nil { + var identity storage.ManagedServiceIdentity + err := job.Identity.AssignProperties_To_ManagedServiceIdentity(&identity) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ManagedServiceIdentity() to populate field Identity") + } + destination.Identity = &identity + } else { + destination.Identity = nil + } + + // Location + destination.Location = genruntime.ClonePointerToString(job.Location) + + // OperatorSpec + if job.OperatorSpec != nil { + var operatorSpec storage.JobOperatorSpec + err := job.OperatorSpec.AssignProperties_To_JobOperatorSpec(&operatorSpec) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_JobOperatorSpec() to populate field OperatorSpec") + } + destination.OperatorSpec = &operatorSpec + } else { + destination.OperatorSpec = nil + } + + // OriginalVersion + destination.OriginalVersion = job.OriginalVersion() + + // Owner + if job.Owner != nil { + owner := job.Owner.Copy() + destination.Owner = &owner + } else { + destination.Owner = nil + } + + // Tags + destination.Tags = genruntime.CloneMapOfStringToString(job.Tags) + + // Template + if job.Template != nil { + var template storage.JobTemplate + err := job.Template.AssignProperties_To_JobTemplate(&template) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_JobTemplate() to populate field Template") + } + destination.Template = &template + } else { + destination.Template = nil + } + + // WorkloadProfileName + destination.WorkloadProfileName = genruntime.ClonePointerToString(job.WorkloadProfileName) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_Job_STATUS populates our Job_Spec from the provided source Job_STATUS +func (job *Job_Spec) Initialize_From_Job_STATUS(source *Job_STATUS) error { + + // Configuration + if source.Configuration != nil { + var configuration JobConfiguration + err := configuration.Initialize_From_JobConfiguration_STATUS(source.Configuration) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_JobConfiguration_STATUS() to populate field Configuration") + } + job.Configuration = &configuration + } else { + job.Configuration = nil + } + + // EnvironmentReference + if source.EnvironmentId != nil { + environmentReference := genruntime.CreateResourceReferenceFromARMID(*source.EnvironmentId) + job.EnvironmentReference = &environmentReference + } else { + job.EnvironmentReference = nil + } + + // Identity + if source.Identity != nil { + var identity ManagedServiceIdentity + err := identity.Initialize_From_ManagedServiceIdentity_STATUS(source.Identity) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_ManagedServiceIdentity_STATUS() to populate field Identity") + } + job.Identity = &identity + } else { + job.Identity = nil + } + + // Location + job.Location = genruntime.ClonePointerToString(source.Location) + + // Tags + job.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // Template + if source.Template != nil { + var template JobTemplate + err := template.Initialize_From_JobTemplate_STATUS(source.Template) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_JobTemplate_STATUS() to populate field Template") + } + job.Template = &template + } else { + job.Template = nil + } + + // WorkloadProfileName + job.WorkloadProfileName = genruntime.ClonePointerToString(source.WorkloadProfileName) + + // No error + return nil +} + +// OriginalVersion returns the original API version used to create the resource. +func (job *Job_Spec) OriginalVersion() string { + return GroupVersion.Version +} + +// SetAzureName sets the Azure name of the resource +func (job *Job_Spec) SetAzureName(azureName string) { job.AzureName = azureName } + +// Container App Job +type Job_STATUS struct { + // Conditions: The observed state of the resource + Conditions []conditions.Condition `json:"conditions,omitempty"` + + // Configuration: Container Apps Job configuration properties. + Configuration *JobConfiguration_STATUS `json:"configuration,omitempty"` + + // EnvironmentId: Resource ID of environment. + EnvironmentId *string `json:"environmentId,omitempty"` + + // EventStreamEndpoint: The endpoint of the eventstream of the container apps job. + EventStreamEndpoint *string `json:"eventStreamEndpoint,omitempty"` + + // Id: Fully qualified resource ID for the resource. Ex - + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + Id *string `json:"id,omitempty"` + + // Identity: Managed identities needed by a container app job to interact with other Azure services to not maintain any + // secrets or credentials in code. + Identity *ManagedServiceIdentity_STATUS `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"` + + // OutboundIpAddresses: Outbound IP Addresses of a container apps job. + OutboundIpAddresses []string `json:"outboundIpAddresses,omitempty"` + + // ProvisioningState: Provisioning state of the Container Apps Job. + ProvisioningState *Job_Properties_ProvisioningState_STATUS `json:"provisioningState,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"` + + // Template: Container Apps job definition. + Template *JobTemplate_STATUS `json:"template,omitempty"` + + // Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + Type *string `json:"type,omitempty"` + + // WorkloadProfileName: Workload profile name to pin for container apps job execution. + WorkloadProfileName *string `json:"workloadProfileName,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &Job_STATUS{} + +// ConvertStatusFrom populates our Job_STATUS from the provided source +func (job *Job_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + src, ok := source.(*storage.Job_STATUS) + if ok { + // Populate our instance from source + return job.AssignProperties_From_Job_STATUS(src) + } + + // Convert to an intermediate form + src = &storage.Job_STATUS{} + err := src.ConvertStatusFrom(source) + if err != nil { + return eris.Wrap(err, "initial step of conversion in ConvertStatusFrom()") + } + + // Update our instance from src + err = job.AssignProperties_From_Job_STATUS(src) + if err != nil { + return eris.Wrap(err, "final step of conversion in ConvertStatusFrom()") + } + + return nil +} + +// ConvertStatusTo populates the provided destination from our Job_STATUS +func (job *Job_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + dst, ok := destination.(*storage.Job_STATUS) + if ok { + // Populate destination from our instance + return job.AssignProperties_To_Job_STATUS(dst) + } + + // Convert to an intermediate form + dst = &storage.Job_STATUS{} + err := job.AssignProperties_To_Job_STATUS(dst) + if err != nil { + return eris.Wrap(err, "initial step of conversion in ConvertStatusTo()") + } + + // Update dst from our instance + err = dst.ConvertStatusTo(destination) + if err != nil { + return eris.Wrap(err, "final step of conversion in ConvertStatusTo()") + } + + return nil +} + +var _ genruntime.FromARMConverter = &Job_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (job *Job_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Job_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (job *Job_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Job_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Job_STATUS, got %T", armInput) + } + + // no assignment for property "Conditions" + + // Set property "Configuration": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Configuration != nil { + var configuration1 JobConfiguration_STATUS + err := configuration1.PopulateFromARM(owner, *typedInput.Properties.Configuration) + if err != nil { + return err + } + configuration := configuration1 + job.Configuration = &configuration + } + } + + // Set property "EnvironmentId": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.EnvironmentId != nil { + environmentId := *typedInput.Properties.EnvironmentId + job.EnvironmentId = &environmentId + } + } + + // Set property "EventStreamEndpoint": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.EventStreamEndpoint != nil { + eventStreamEndpoint := *typedInput.Properties.EventStreamEndpoint + job.EventStreamEndpoint = &eventStreamEndpoint + } + } + + // Set property "Id": + if typedInput.Id != nil { + id := *typedInput.Id + job.Id = &id + } + + // Set property "Identity": + if typedInput.Identity != nil { + var identity1 ManagedServiceIdentity_STATUS + err := identity1.PopulateFromARM(owner, *typedInput.Identity) + if err != nil { + return err + } + identity := identity1 + job.Identity = &identity + } + + // Set property "Location": + if typedInput.Location != nil { + location := *typedInput.Location + job.Location = &location + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + job.Name = &name + } + + // Set property "OutboundIpAddresses": + // copying flattened property: + if typedInput.Properties != nil { + for _, item := range typedInput.Properties.OutboundIpAddresses { + job.OutboundIpAddresses = append(job.OutboundIpAddresses, item) + } + } + + // Set property "ProvisioningState": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ProvisioningState != nil { + var temp string + temp = string(*typedInput.Properties.ProvisioningState) + provisioningState := Job_Properties_ProvisioningState_STATUS(temp) + job.ProvisioningState = &provisioningState + } + } + + // Set property "SystemData": + if typedInput.SystemData != nil { + var systemData1 SystemData_STATUS + err := systemData1.PopulateFromARM(owner, *typedInput.SystemData) + if err != nil { + return err + } + systemData := systemData1 + job.SystemData = &systemData + } + + // Set property "Tags": + if typedInput.Tags != nil { + job.Tags = make(map[string]string, len(typedInput.Tags)) + for key, value := range typedInput.Tags { + job.Tags[key] = value + } + } + + // Set property "Template": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Template != nil { + var template1 JobTemplate_STATUS + err := template1.PopulateFromARM(owner, *typedInput.Properties.Template) + if err != nil { + return err + } + template := template1 + job.Template = &template + } + } + + // Set property "Type": + if typedInput.Type != nil { + typeVar := *typedInput.Type + job.Type = &typeVar + } + + // Set property "WorkloadProfileName": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.WorkloadProfileName != nil { + workloadProfileName := *typedInput.Properties.WorkloadProfileName + job.WorkloadProfileName = &workloadProfileName + } + } + + // No error + return nil +} + +// AssignProperties_From_Job_STATUS populates our Job_STATUS from the provided source Job_STATUS +func (job *Job_STATUS) AssignProperties_From_Job_STATUS(source *storage.Job_STATUS) error { + + // Conditions + job.Conditions = genruntime.CloneSliceOfCondition(source.Conditions) + + // Configuration + if source.Configuration != nil { + var configuration JobConfiguration_STATUS + err := configuration.AssignProperties_From_JobConfiguration_STATUS(source.Configuration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_JobConfiguration_STATUS() to populate field Configuration") + } + job.Configuration = &configuration + } else { + job.Configuration = nil + } + + // EnvironmentId + job.EnvironmentId = genruntime.ClonePointerToString(source.EnvironmentId) + + // EventStreamEndpoint + job.EventStreamEndpoint = genruntime.ClonePointerToString(source.EventStreamEndpoint) + + // Id + job.Id = genruntime.ClonePointerToString(source.Id) + + // Identity + if source.Identity != nil { + var identity ManagedServiceIdentity_STATUS + err := identity.AssignProperties_From_ManagedServiceIdentity_STATUS(source.Identity) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ManagedServiceIdentity_STATUS() to populate field Identity") + } + job.Identity = &identity + } else { + job.Identity = nil + } + + // Location + job.Location = genruntime.ClonePointerToString(source.Location) + + // Name + job.Name = genruntime.ClonePointerToString(source.Name) + + // OutboundIpAddresses + job.OutboundIpAddresses = genruntime.CloneSliceOfString(source.OutboundIpAddresses) + + // ProvisioningState + if source.ProvisioningState != nil { + provisioningState := *source.ProvisioningState + provisioningStateTemp := genruntime.ToEnum(provisioningState, job_Properties_ProvisioningState_STATUS_Values) + job.ProvisioningState = &provisioningStateTemp + } else { + job.ProvisioningState = nil + } + + // SystemData + if source.SystemData != nil { + var systemDatum SystemData_STATUS + err := systemDatum.AssignProperties_From_SystemData_STATUS(source.SystemData) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_SystemData_STATUS() to populate field SystemData") + } + job.SystemData = &systemDatum + } else { + job.SystemData = nil + } + + // Tags + job.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // Template + if source.Template != nil { + var template JobTemplate_STATUS + err := template.AssignProperties_From_JobTemplate_STATUS(source.Template) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_JobTemplate_STATUS() to populate field Template") + } + job.Template = &template + } else { + job.Template = nil + } + + // Type + job.Type = genruntime.ClonePointerToString(source.Type) + + // WorkloadProfileName + job.WorkloadProfileName = genruntime.ClonePointerToString(source.WorkloadProfileName) + + // No error + return nil +} + +// AssignProperties_To_Job_STATUS populates the provided destination Job_STATUS from our Job_STATUS +func (job *Job_STATUS) AssignProperties_To_Job_STATUS(destination *storage.Job_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Conditions + destination.Conditions = genruntime.CloneSliceOfCondition(job.Conditions) + + // Configuration + if job.Configuration != nil { + var configuration storage.JobConfiguration_STATUS + err := job.Configuration.AssignProperties_To_JobConfiguration_STATUS(&configuration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_JobConfiguration_STATUS() to populate field Configuration") + } + destination.Configuration = &configuration + } else { + destination.Configuration = nil + } + + // EnvironmentId + destination.EnvironmentId = genruntime.ClonePointerToString(job.EnvironmentId) + + // EventStreamEndpoint + destination.EventStreamEndpoint = genruntime.ClonePointerToString(job.EventStreamEndpoint) + + // Id + destination.Id = genruntime.ClonePointerToString(job.Id) + + // Identity + if job.Identity != nil { + var identity storage.ManagedServiceIdentity_STATUS + err := job.Identity.AssignProperties_To_ManagedServiceIdentity_STATUS(&identity) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ManagedServiceIdentity_STATUS() to populate field Identity") + } + destination.Identity = &identity + } else { + destination.Identity = nil + } + + // Location + destination.Location = genruntime.ClonePointerToString(job.Location) + + // Name + destination.Name = genruntime.ClonePointerToString(job.Name) + + // OutboundIpAddresses + destination.OutboundIpAddresses = genruntime.CloneSliceOfString(job.OutboundIpAddresses) + + // ProvisioningState + if job.ProvisioningState != nil { + provisioningState := string(*job.ProvisioningState) + destination.ProvisioningState = &provisioningState + } else { + destination.ProvisioningState = nil + } + + // SystemData + if job.SystemData != nil { + var systemDatum storage.SystemData_STATUS + err := job.SystemData.AssignProperties_To_SystemData_STATUS(&systemDatum) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_SystemData_STATUS() to populate field SystemData") + } + destination.SystemData = &systemDatum + } else { + destination.SystemData = nil + } + + // Tags + destination.Tags = genruntime.CloneMapOfStringToString(job.Tags) + + // Template + if job.Template != nil { + var template storage.JobTemplate_STATUS + err := job.Template.AssignProperties_To_JobTemplate_STATUS(&template) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_JobTemplate_STATUS() to populate field Template") + } + destination.Template = &template + } else { + destination.Template = nil + } + + // Type + destination.Type = genruntime.ClonePointerToString(job.Type) + + // WorkloadProfileName + destination.WorkloadProfileName = genruntime.ClonePointerToString(job.WorkloadProfileName) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +type Job_Properties_ProvisioningState_STATUS string + +const ( + Job_Properties_ProvisioningState_STATUS_Canceled = Job_Properties_ProvisioningState_STATUS("Canceled") + Job_Properties_ProvisioningState_STATUS_Deleting = Job_Properties_ProvisioningState_STATUS("Deleting") + Job_Properties_ProvisioningState_STATUS_Failed = Job_Properties_ProvisioningState_STATUS("Failed") + Job_Properties_ProvisioningState_STATUS_InProgress = Job_Properties_ProvisioningState_STATUS("InProgress") + Job_Properties_ProvisioningState_STATUS_Succeeded = Job_Properties_ProvisioningState_STATUS("Succeeded") +) + +// Mapping from string to Job_Properties_ProvisioningState_STATUS +var job_Properties_ProvisioningState_STATUS_Values = map[string]Job_Properties_ProvisioningState_STATUS{ + "canceled": Job_Properties_ProvisioningState_STATUS_Canceled, + "deleting": Job_Properties_ProvisioningState_STATUS_Deleting, + "failed": Job_Properties_ProvisioningState_STATUS_Failed, + "inprogress": Job_Properties_ProvisioningState_STATUS_InProgress, + "succeeded": Job_Properties_ProvisioningState_STATUS_Succeeded, +} + +// Non versioned Container Apps Job configuration properties +type JobConfiguration struct { + // EventTriggerConfig: Trigger configuration of an event driven job. + EventTriggerConfig *JobConfiguration_EventTriggerConfig `json:"eventTriggerConfig,omitempty"` + + // ManualTriggerConfig: Manual trigger configuration for a single execution job. Properties replicaCompletionCount and + // parallelism would be set to 1 by default + ManualTriggerConfig *JobConfiguration_ManualTriggerConfig `json:"manualTriggerConfig,omitempty"` + + // Registries: Collection of private container registry credentials used by a Container apps job + Registries []RegistryCredentials `json:"registries,omitempty"` + + // ReplicaRetryLimit: Maximum number of retries before failing the job. + ReplicaRetryLimit *int `json:"replicaRetryLimit,omitempty"` + + // +kubebuilder:validation:Required + // ReplicaTimeout: Maximum number of seconds a replica is allowed to run. + ReplicaTimeout *int `json:"replicaTimeout,omitempty"` + + // ScheduleTriggerConfig: Cron formatted repeating trigger schedule ("* * * * *") for cronjobs. Properties completions and + // parallelism would be set to 1 by default + ScheduleTriggerConfig *JobConfiguration_ScheduleTriggerConfig `json:"scheduleTriggerConfig,omitempty"` + + // Secrets: Collection of secrets used by a Container Apps Job + Secrets []Secret `json:"secrets,omitempty"` + + // +kubebuilder:validation:Required + // TriggerType: Trigger type of the job + TriggerType *JobConfiguration_TriggerType `json:"triggerType,omitempty"` +} + +var _ genruntime.ARMTransformer = &JobConfiguration{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (configuration *JobConfiguration) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if configuration == nil { + return nil, nil + } + result := &arm.JobConfiguration{} + + // Set property "EventTriggerConfig": + if configuration.EventTriggerConfig != nil { + eventTriggerConfig_ARM, err := (*configuration.EventTriggerConfig).ConvertToARM(resolved) + if err != nil { + return nil, err + } + eventTriggerConfig := *eventTriggerConfig_ARM.(*arm.JobConfiguration_EventTriggerConfig) + result.EventTriggerConfig = &eventTriggerConfig + } + + // Set property "ManualTriggerConfig": + if configuration.ManualTriggerConfig != nil { + manualTriggerConfig_ARM, err := (*configuration.ManualTriggerConfig).ConvertToARM(resolved) + if err != nil { + return nil, err + } + manualTriggerConfig := *manualTriggerConfig_ARM.(*arm.JobConfiguration_ManualTriggerConfig) + result.ManualTriggerConfig = &manualTriggerConfig + } + + // Set property "Registries": + for _, item := range configuration.Registries { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Registries = append(result.Registries, *item_ARM.(*arm.RegistryCredentials)) + } + + // Set property "ReplicaRetryLimit": + if configuration.ReplicaRetryLimit != nil { + replicaRetryLimit := *configuration.ReplicaRetryLimit + result.ReplicaRetryLimit = &replicaRetryLimit + } + + // Set property "ReplicaTimeout": + if configuration.ReplicaTimeout != nil { + replicaTimeout := *configuration.ReplicaTimeout + result.ReplicaTimeout = &replicaTimeout + } + + // Set property "ScheduleTriggerConfig": + if configuration.ScheduleTriggerConfig != nil { + scheduleTriggerConfig_ARM, err := (*configuration.ScheduleTriggerConfig).ConvertToARM(resolved) + if err != nil { + return nil, err + } + scheduleTriggerConfig := *scheduleTriggerConfig_ARM.(*arm.JobConfiguration_ScheduleTriggerConfig) + result.ScheduleTriggerConfig = &scheduleTriggerConfig + } + + // Set property "Secrets": + for _, item := range configuration.Secrets { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Secrets = append(result.Secrets, *item_ARM.(*arm.Secret)) + } + + // Set property "TriggerType": + if configuration.TriggerType != nil { + var temp string + temp = string(*configuration.TriggerType) + triggerType := arm.JobConfiguration_TriggerType(temp) + result.TriggerType = &triggerType + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (configuration *JobConfiguration) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.JobConfiguration{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (configuration *JobConfiguration) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.JobConfiguration) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.JobConfiguration, got %T", armInput) + } + + // Set property "EventTriggerConfig": + if typedInput.EventTriggerConfig != nil { + var eventTriggerConfig1 JobConfiguration_EventTriggerConfig + err := eventTriggerConfig1.PopulateFromARM(owner, *typedInput.EventTriggerConfig) + if err != nil { + return err + } + eventTriggerConfig := eventTriggerConfig1 + configuration.EventTriggerConfig = &eventTriggerConfig + } + + // Set property "ManualTriggerConfig": + if typedInput.ManualTriggerConfig != nil { + var manualTriggerConfig1 JobConfiguration_ManualTriggerConfig + err := manualTriggerConfig1.PopulateFromARM(owner, *typedInput.ManualTriggerConfig) + if err != nil { + return err + } + manualTriggerConfig := manualTriggerConfig1 + configuration.ManualTriggerConfig = &manualTriggerConfig + } + + // Set property "Registries": + for _, item := range typedInput.Registries { + var item1 RegistryCredentials + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + configuration.Registries = append(configuration.Registries, item1) + } + + // Set property "ReplicaRetryLimit": + if typedInput.ReplicaRetryLimit != nil { + replicaRetryLimit := *typedInput.ReplicaRetryLimit + configuration.ReplicaRetryLimit = &replicaRetryLimit + } + + // Set property "ReplicaTimeout": + if typedInput.ReplicaTimeout != nil { + replicaTimeout := *typedInput.ReplicaTimeout + configuration.ReplicaTimeout = &replicaTimeout + } + + // Set property "ScheduleTriggerConfig": + if typedInput.ScheduleTriggerConfig != nil { + var scheduleTriggerConfig1 JobConfiguration_ScheduleTriggerConfig + err := scheduleTriggerConfig1.PopulateFromARM(owner, *typedInput.ScheduleTriggerConfig) + if err != nil { + return err + } + scheduleTriggerConfig := scheduleTriggerConfig1 + configuration.ScheduleTriggerConfig = &scheduleTriggerConfig + } + + // Set property "Secrets": + for _, item := range typedInput.Secrets { + var item1 Secret + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + configuration.Secrets = append(configuration.Secrets, item1) + } + + // Set property "TriggerType": + if typedInput.TriggerType != nil { + var temp string + temp = string(*typedInput.TriggerType) + triggerType := JobConfiguration_TriggerType(temp) + configuration.TriggerType = &triggerType + } + + // No error + return nil +} + +// AssignProperties_From_JobConfiguration populates our JobConfiguration from the provided source JobConfiguration +func (configuration *JobConfiguration) AssignProperties_From_JobConfiguration(source *storage.JobConfiguration) error { + + // EventTriggerConfig + if source.EventTriggerConfig != nil { + var eventTriggerConfig JobConfiguration_EventTriggerConfig + err := eventTriggerConfig.AssignProperties_From_JobConfiguration_EventTriggerConfig(source.EventTriggerConfig) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_JobConfiguration_EventTriggerConfig() to populate field EventTriggerConfig") + } + configuration.EventTriggerConfig = &eventTriggerConfig + } else { + configuration.EventTriggerConfig = nil + } + + // ManualTriggerConfig + if source.ManualTriggerConfig != nil { + var manualTriggerConfig JobConfiguration_ManualTriggerConfig + err := manualTriggerConfig.AssignProperties_From_JobConfiguration_ManualTriggerConfig(source.ManualTriggerConfig) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_JobConfiguration_ManualTriggerConfig() to populate field ManualTriggerConfig") + } + configuration.ManualTriggerConfig = &manualTriggerConfig + } else { + configuration.ManualTriggerConfig = nil + } + + // Registries + if source.Registries != nil { + registryList := make([]RegistryCredentials, len(source.Registries)) + for registryIndex, registryItem := range source.Registries { + // Shadow the loop variable to avoid aliasing + registryItem := registryItem + var registry RegistryCredentials + err := registry.AssignProperties_From_RegistryCredentials(®istryItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_RegistryCredentials() to populate field Registries") + } + registryList[registryIndex] = registry + } + configuration.Registries = registryList + } else { + configuration.Registries = nil + } + + // ReplicaRetryLimit + configuration.ReplicaRetryLimit = genruntime.ClonePointerToInt(source.ReplicaRetryLimit) + + // ReplicaTimeout + configuration.ReplicaTimeout = genruntime.ClonePointerToInt(source.ReplicaTimeout) + + // ScheduleTriggerConfig + if source.ScheduleTriggerConfig != nil { + var scheduleTriggerConfig JobConfiguration_ScheduleTriggerConfig + err := scheduleTriggerConfig.AssignProperties_From_JobConfiguration_ScheduleTriggerConfig(source.ScheduleTriggerConfig) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_JobConfiguration_ScheduleTriggerConfig() to populate field ScheduleTriggerConfig") + } + configuration.ScheduleTriggerConfig = &scheduleTriggerConfig + } else { + configuration.ScheduleTriggerConfig = nil + } + + // Secrets + if source.Secrets != nil { + secretList := make([]Secret, len(source.Secrets)) + for secretIndex, secretItem := range source.Secrets { + // Shadow the loop variable to avoid aliasing + secretItem := secretItem + var secret Secret + err := secret.AssignProperties_From_Secret(&secretItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Secret() to populate field Secrets") + } + secretList[secretIndex] = secret + } + configuration.Secrets = secretList + } else { + configuration.Secrets = nil + } + + // TriggerType + if source.TriggerType != nil { + triggerType := *source.TriggerType + triggerTypeTemp := genruntime.ToEnum(triggerType, jobConfiguration_TriggerType_Values) + configuration.TriggerType = &triggerTypeTemp + } else { + configuration.TriggerType = nil + } + + // No error + return nil +} + +// AssignProperties_To_JobConfiguration populates the provided destination JobConfiguration from our JobConfiguration +func (configuration *JobConfiguration) AssignProperties_To_JobConfiguration(destination *storage.JobConfiguration) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // EventTriggerConfig + if configuration.EventTriggerConfig != nil { + var eventTriggerConfig storage.JobConfiguration_EventTriggerConfig + err := configuration.EventTriggerConfig.AssignProperties_To_JobConfiguration_EventTriggerConfig(&eventTriggerConfig) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_JobConfiguration_EventTriggerConfig() to populate field EventTriggerConfig") + } + destination.EventTriggerConfig = &eventTriggerConfig + } else { + destination.EventTriggerConfig = nil + } + + // ManualTriggerConfig + if configuration.ManualTriggerConfig != nil { + var manualTriggerConfig storage.JobConfiguration_ManualTriggerConfig + err := configuration.ManualTriggerConfig.AssignProperties_To_JobConfiguration_ManualTriggerConfig(&manualTriggerConfig) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_JobConfiguration_ManualTriggerConfig() to populate field ManualTriggerConfig") + } + destination.ManualTriggerConfig = &manualTriggerConfig + } else { + destination.ManualTriggerConfig = nil + } + + // Registries + if configuration.Registries != nil { + registryList := make([]storage.RegistryCredentials, len(configuration.Registries)) + for registryIndex, registryItem := range configuration.Registries { + // Shadow the loop variable to avoid aliasing + registryItem := registryItem + var registry storage.RegistryCredentials + err := registryItem.AssignProperties_To_RegistryCredentials(®istry) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_RegistryCredentials() to populate field Registries") + } + registryList[registryIndex] = registry + } + destination.Registries = registryList + } else { + destination.Registries = nil + } + + // ReplicaRetryLimit + destination.ReplicaRetryLimit = genruntime.ClonePointerToInt(configuration.ReplicaRetryLimit) + + // ReplicaTimeout + destination.ReplicaTimeout = genruntime.ClonePointerToInt(configuration.ReplicaTimeout) + + // ScheduleTriggerConfig + if configuration.ScheduleTriggerConfig != nil { + var scheduleTriggerConfig storage.JobConfiguration_ScheduleTriggerConfig + err := configuration.ScheduleTriggerConfig.AssignProperties_To_JobConfiguration_ScheduleTriggerConfig(&scheduleTriggerConfig) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_JobConfiguration_ScheduleTriggerConfig() to populate field ScheduleTriggerConfig") + } + destination.ScheduleTriggerConfig = &scheduleTriggerConfig + } else { + destination.ScheduleTriggerConfig = nil + } + + // Secrets + if configuration.Secrets != nil { + secretList := make([]storage.Secret, len(configuration.Secrets)) + for secretIndex, secretItem := range configuration.Secrets { + // Shadow the loop variable to avoid aliasing + secretItem := secretItem + var secret storage.Secret + err := secretItem.AssignProperties_To_Secret(&secret) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Secret() to populate field Secrets") + } + secretList[secretIndex] = secret + } + destination.Secrets = secretList + } else { + destination.Secrets = nil + } + + // TriggerType + if configuration.TriggerType != nil { + triggerType := string(*configuration.TriggerType) + destination.TriggerType = &triggerType + } else { + destination.TriggerType = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_JobConfiguration_STATUS populates our JobConfiguration from the provided source JobConfiguration_STATUS +func (configuration *JobConfiguration) Initialize_From_JobConfiguration_STATUS(source *JobConfiguration_STATUS) error { + + // EventTriggerConfig + if source.EventTriggerConfig != nil { + var eventTriggerConfig JobConfiguration_EventTriggerConfig + err := eventTriggerConfig.Initialize_From_JobConfiguration_EventTriggerConfig_STATUS(source.EventTriggerConfig) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_JobConfiguration_EventTriggerConfig_STATUS() to populate field EventTriggerConfig") + } + configuration.EventTriggerConfig = &eventTriggerConfig + } else { + configuration.EventTriggerConfig = nil + } + + // ManualTriggerConfig + if source.ManualTriggerConfig != nil { + var manualTriggerConfig JobConfiguration_ManualTriggerConfig + err := manualTriggerConfig.Initialize_From_JobConfiguration_ManualTriggerConfig_STATUS(source.ManualTriggerConfig) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_JobConfiguration_ManualTriggerConfig_STATUS() to populate field ManualTriggerConfig") + } + configuration.ManualTriggerConfig = &manualTriggerConfig + } else { + configuration.ManualTriggerConfig = nil + } + + // Registries + if source.Registries != nil { + registryList := make([]RegistryCredentials, len(source.Registries)) + for registryIndex, registryItem := range source.Registries { + // Shadow the loop variable to avoid aliasing + registryItem := registryItem + var registry RegistryCredentials + err := registry.Initialize_From_RegistryCredentials_STATUS(®istryItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_RegistryCredentials_STATUS() to populate field Registries") + } + registryList[registryIndex] = registry + } + configuration.Registries = registryList + } else { + configuration.Registries = nil + } + + // ReplicaRetryLimit + configuration.ReplicaRetryLimit = genruntime.ClonePointerToInt(source.ReplicaRetryLimit) + + // ReplicaTimeout + configuration.ReplicaTimeout = genruntime.ClonePointerToInt(source.ReplicaTimeout) + + // ScheduleTriggerConfig + if source.ScheduleTriggerConfig != nil { + var scheduleTriggerConfig JobConfiguration_ScheduleTriggerConfig + err := scheduleTriggerConfig.Initialize_From_JobConfiguration_ScheduleTriggerConfig_STATUS(source.ScheduleTriggerConfig) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_JobConfiguration_ScheduleTriggerConfig_STATUS() to populate field ScheduleTriggerConfig") + } + configuration.ScheduleTriggerConfig = &scheduleTriggerConfig + } else { + configuration.ScheduleTriggerConfig = nil + } + + // Secrets + if source.Secrets != nil { + secretList := make([]Secret, len(source.Secrets)) + for secretIndex, secretItem := range source.Secrets { + // Shadow the loop variable to avoid aliasing + secretItem := secretItem + var secret Secret + err := secret.Initialize_From_Secret_STATUS(&secretItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_Secret_STATUS() to populate field Secrets") + } + secretList[secretIndex] = secret + } + configuration.Secrets = secretList + } else { + configuration.Secrets = nil + } + + // TriggerType + if source.TriggerType != nil { + triggerType := genruntime.ToEnum(string(*source.TriggerType), jobConfiguration_TriggerType_Values) + configuration.TriggerType = &triggerType + } else { + configuration.TriggerType = nil + } + + // No error + return nil +} + +// Non versioned Container Apps Job configuration properties +type JobConfiguration_STATUS struct { + // EventTriggerConfig: Trigger configuration of an event driven job. + EventTriggerConfig *JobConfiguration_EventTriggerConfig_STATUS `json:"eventTriggerConfig,omitempty"` + + // ManualTriggerConfig: Manual trigger configuration for a single execution job. Properties replicaCompletionCount and + // parallelism would be set to 1 by default + ManualTriggerConfig *JobConfiguration_ManualTriggerConfig_STATUS `json:"manualTriggerConfig,omitempty"` + + // Registries: Collection of private container registry credentials used by a Container apps job + Registries []RegistryCredentials_STATUS `json:"registries,omitempty"` + + // ReplicaRetryLimit: Maximum number of retries before failing the job. + ReplicaRetryLimit *int `json:"replicaRetryLimit,omitempty"` + + // ReplicaTimeout: Maximum number of seconds a replica is allowed to run. + ReplicaTimeout *int `json:"replicaTimeout,omitempty"` + + // ScheduleTriggerConfig: Cron formatted repeating trigger schedule ("* * * * *") for cronjobs. Properties completions and + // parallelism would be set to 1 by default + ScheduleTriggerConfig *JobConfiguration_ScheduleTriggerConfig_STATUS `json:"scheduleTriggerConfig,omitempty"` + + // Secrets: Collection of secrets used by a Container Apps Job + Secrets []Secret_STATUS `json:"secrets,omitempty"` + + // TriggerType: Trigger type of the job + TriggerType *JobConfiguration_TriggerType_STATUS `json:"triggerType,omitempty"` +} + +var _ genruntime.FromARMConverter = &JobConfiguration_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (configuration *JobConfiguration_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.JobConfiguration_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (configuration *JobConfiguration_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.JobConfiguration_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.JobConfiguration_STATUS, got %T", armInput) + } + + // Set property "EventTriggerConfig": + if typedInput.EventTriggerConfig != nil { + var eventTriggerConfig1 JobConfiguration_EventTriggerConfig_STATUS + err := eventTriggerConfig1.PopulateFromARM(owner, *typedInput.EventTriggerConfig) + if err != nil { + return err + } + eventTriggerConfig := eventTriggerConfig1 + configuration.EventTriggerConfig = &eventTriggerConfig + } + + // Set property "ManualTriggerConfig": + if typedInput.ManualTriggerConfig != nil { + var manualTriggerConfig1 JobConfiguration_ManualTriggerConfig_STATUS + err := manualTriggerConfig1.PopulateFromARM(owner, *typedInput.ManualTriggerConfig) + if err != nil { + return err + } + manualTriggerConfig := manualTriggerConfig1 + configuration.ManualTriggerConfig = &manualTriggerConfig + } + + // Set property "Registries": + for _, item := range typedInput.Registries { + var item1 RegistryCredentials_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + configuration.Registries = append(configuration.Registries, item1) + } + + // Set property "ReplicaRetryLimit": + if typedInput.ReplicaRetryLimit != nil { + replicaRetryLimit := *typedInput.ReplicaRetryLimit + configuration.ReplicaRetryLimit = &replicaRetryLimit + } + + // Set property "ReplicaTimeout": + if typedInput.ReplicaTimeout != nil { + replicaTimeout := *typedInput.ReplicaTimeout + configuration.ReplicaTimeout = &replicaTimeout + } + + // Set property "ScheduleTriggerConfig": + if typedInput.ScheduleTriggerConfig != nil { + var scheduleTriggerConfig1 JobConfiguration_ScheduleTriggerConfig_STATUS + err := scheduleTriggerConfig1.PopulateFromARM(owner, *typedInput.ScheduleTriggerConfig) + if err != nil { + return err + } + scheduleTriggerConfig := scheduleTriggerConfig1 + configuration.ScheduleTriggerConfig = &scheduleTriggerConfig + } + + // Set property "Secrets": + for _, item := range typedInput.Secrets { + var item1 Secret_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + configuration.Secrets = append(configuration.Secrets, item1) + } + + // Set property "TriggerType": + if typedInput.TriggerType != nil { + var temp string + temp = string(*typedInput.TriggerType) + triggerType := JobConfiguration_TriggerType_STATUS(temp) + configuration.TriggerType = &triggerType + } + + // No error + return nil +} + +// AssignProperties_From_JobConfiguration_STATUS populates our JobConfiguration_STATUS from the provided source JobConfiguration_STATUS +func (configuration *JobConfiguration_STATUS) AssignProperties_From_JobConfiguration_STATUS(source *storage.JobConfiguration_STATUS) error { + + // EventTriggerConfig + if source.EventTriggerConfig != nil { + var eventTriggerConfig JobConfiguration_EventTriggerConfig_STATUS + err := eventTriggerConfig.AssignProperties_From_JobConfiguration_EventTriggerConfig_STATUS(source.EventTriggerConfig) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_JobConfiguration_EventTriggerConfig_STATUS() to populate field EventTriggerConfig") + } + configuration.EventTriggerConfig = &eventTriggerConfig + } else { + configuration.EventTriggerConfig = nil + } + + // ManualTriggerConfig + if source.ManualTriggerConfig != nil { + var manualTriggerConfig JobConfiguration_ManualTriggerConfig_STATUS + err := manualTriggerConfig.AssignProperties_From_JobConfiguration_ManualTriggerConfig_STATUS(source.ManualTriggerConfig) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_JobConfiguration_ManualTriggerConfig_STATUS() to populate field ManualTriggerConfig") + } + configuration.ManualTriggerConfig = &manualTriggerConfig + } else { + configuration.ManualTriggerConfig = nil + } + + // Registries + if source.Registries != nil { + registryList := make([]RegistryCredentials_STATUS, len(source.Registries)) + for registryIndex, registryItem := range source.Registries { + // Shadow the loop variable to avoid aliasing + registryItem := registryItem + var registry RegistryCredentials_STATUS + err := registry.AssignProperties_From_RegistryCredentials_STATUS(®istryItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_RegistryCredentials_STATUS() to populate field Registries") + } + registryList[registryIndex] = registry + } + configuration.Registries = registryList + } else { + configuration.Registries = nil + } + + // ReplicaRetryLimit + configuration.ReplicaRetryLimit = genruntime.ClonePointerToInt(source.ReplicaRetryLimit) + + // ReplicaTimeout + configuration.ReplicaTimeout = genruntime.ClonePointerToInt(source.ReplicaTimeout) + + // ScheduleTriggerConfig + if source.ScheduleTriggerConfig != nil { + var scheduleTriggerConfig JobConfiguration_ScheduleTriggerConfig_STATUS + err := scheduleTriggerConfig.AssignProperties_From_JobConfiguration_ScheduleTriggerConfig_STATUS(source.ScheduleTriggerConfig) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_JobConfiguration_ScheduleTriggerConfig_STATUS() to populate field ScheduleTriggerConfig") + } + configuration.ScheduleTriggerConfig = &scheduleTriggerConfig + } else { + configuration.ScheduleTriggerConfig = nil + } + + // Secrets + if source.Secrets != nil { + secretList := make([]Secret_STATUS, len(source.Secrets)) + for secretIndex, secretItem := range source.Secrets { + // Shadow the loop variable to avoid aliasing + secretItem := secretItem + var secret Secret_STATUS + err := secret.AssignProperties_From_Secret_STATUS(&secretItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Secret_STATUS() to populate field Secrets") + } + secretList[secretIndex] = secret + } + configuration.Secrets = secretList + } else { + configuration.Secrets = nil + } + + // TriggerType + if source.TriggerType != nil { + triggerType := *source.TriggerType + triggerTypeTemp := genruntime.ToEnum(triggerType, jobConfiguration_TriggerType_STATUS_Values) + configuration.TriggerType = &triggerTypeTemp + } else { + configuration.TriggerType = nil + } + + // No error + return nil +} + +// AssignProperties_To_JobConfiguration_STATUS populates the provided destination JobConfiguration_STATUS from our JobConfiguration_STATUS +func (configuration *JobConfiguration_STATUS) AssignProperties_To_JobConfiguration_STATUS(destination *storage.JobConfiguration_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // EventTriggerConfig + if configuration.EventTriggerConfig != nil { + var eventTriggerConfig storage.JobConfiguration_EventTriggerConfig_STATUS + err := configuration.EventTriggerConfig.AssignProperties_To_JobConfiguration_EventTriggerConfig_STATUS(&eventTriggerConfig) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_JobConfiguration_EventTriggerConfig_STATUS() to populate field EventTriggerConfig") + } + destination.EventTriggerConfig = &eventTriggerConfig + } else { + destination.EventTriggerConfig = nil + } + + // ManualTriggerConfig + if configuration.ManualTriggerConfig != nil { + var manualTriggerConfig storage.JobConfiguration_ManualTriggerConfig_STATUS + err := configuration.ManualTriggerConfig.AssignProperties_To_JobConfiguration_ManualTriggerConfig_STATUS(&manualTriggerConfig) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_JobConfiguration_ManualTriggerConfig_STATUS() to populate field ManualTriggerConfig") + } + destination.ManualTriggerConfig = &manualTriggerConfig + } else { + destination.ManualTriggerConfig = nil + } + + // Registries + if configuration.Registries != nil { + registryList := make([]storage.RegistryCredentials_STATUS, len(configuration.Registries)) + for registryIndex, registryItem := range configuration.Registries { + // Shadow the loop variable to avoid aliasing + registryItem := registryItem + var registry storage.RegistryCredentials_STATUS + err := registryItem.AssignProperties_To_RegistryCredentials_STATUS(®istry) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_RegistryCredentials_STATUS() to populate field Registries") + } + registryList[registryIndex] = registry + } + destination.Registries = registryList + } else { + destination.Registries = nil + } + + // ReplicaRetryLimit + destination.ReplicaRetryLimit = genruntime.ClonePointerToInt(configuration.ReplicaRetryLimit) + + // ReplicaTimeout + destination.ReplicaTimeout = genruntime.ClonePointerToInt(configuration.ReplicaTimeout) + + // ScheduleTriggerConfig + if configuration.ScheduleTriggerConfig != nil { + var scheduleTriggerConfig storage.JobConfiguration_ScheduleTriggerConfig_STATUS + err := configuration.ScheduleTriggerConfig.AssignProperties_To_JobConfiguration_ScheduleTriggerConfig_STATUS(&scheduleTriggerConfig) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_JobConfiguration_ScheduleTriggerConfig_STATUS() to populate field ScheduleTriggerConfig") + } + destination.ScheduleTriggerConfig = &scheduleTriggerConfig + } else { + destination.ScheduleTriggerConfig = nil + } + + // Secrets + if configuration.Secrets != nil { + secretList := make([]storage.Secret_STATUS, len(configuration.Secrets)) + for secretIndex, secretItem := range configuration.Secrets { + // Shadow the loop variable to avoid aliasing + secretItem := secretItem + var secret storage.Secret_STATUS + err := secretItem.AssignProperties_To_Secret_STATUS(&secret) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Secret_STATUS() to populate field Secrets") + } + secretList[secretIndex] = secret + } + destination.Secrets = secretList + } else { + destination.Secrets = nil + } + + // TriggerType + if configuration.TriggerType != nil { + triggerType := string(*configuration.TriggerType) + destination.TriggerType = &triggerType + } else { + destination.TriggerType = 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 JobOperatorSpec struct { + // ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions). + ConfigMapExpressions []*core.DestinationExpression `json:"configMapExpressions,omitempty"` + + // SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions). + SecretExpressions []*core.DestinationExpression `json:"secretExpressions,omitempty"` +} + +// AssignProperties_From_JobOperatorSpec populates our JobOperatorSpec from the provided source JobOperatorSpec +func (operator *JobOperatorSpec) AssignProperties_From_JobOperatorSpec(source *storage.JobOperatorSpec) error { + + // ConfigMapExpressions + if source.ConfigMapExpressions != nil { + configMapExpressionList := make([]*core.DestinationExpression, len(source.ConfigMapExpressions)) + for configMapExpressionIndex, configMapExpressionItem := range source.ConfigMapExpressions { + // Shadow the loop variable to avoid aliasing + configMapExpressionItem := configMapExpressionItem + if configMapExpressionItem != nil { + configMapExpression := *configMapExpressionItem.DeepCopy() + configMapExpressionList[configMapExpressionIndex] = &configMapExpression + } else { + configMapExpressionList[configMapExpressionIndex] = nil + } + } + operator.ConfigMapExpressions = configMapExpressionList + } else { + operator.ConfigMapExpressions = nil + } + + // SecretExpressions + if source.SecretExpressions != nil { + secretExpressionList := make([]*core.DestinationExpression, len(source.SecretExpressions)) + for secretExpressionIndex, secretExpressionItem := range source.SecretExpressions { + // Shadow the loop variable to avoid aliasing + secretExpressionItem := secretExpressionItem + if secretExpressionItem != nil { + secretExpression := *secretExpressionItem.DeepCopy() + secretExpressionList[secretExpressionIndex] = &secretExpression + } else { + secretExpressionList[secretExpressionIndex] = nil + } + } + operator.SecretExpressions = secretExpressionList + } else { + operator.SecretExpressions = nil + } + + // No error + return nil +} + +// AssignProperties_To_JobOperatorSpec populates the provided destination JobOperatorSpec from our JobOperatorSpec +func (operator *JobOperatorSpec) AssignProperties_To_JobOperatorSpec(destination *storage.JobOperatorSpec) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ConfigMapExpressions + if operator.ConfigMapExpressions != nil { + configMapExpressionList := make([]*core.DestinationExpression, len(operator.ConfigMapExpressions)) + for configMapExpressionIndex, configMapExpressionItem := range operator.ConfigMapExpressions { + // Shadow the loop variable to avoid aliasing + configMapExpressionItem := configMapExpressionItem + if configMapExpressionItem != nil { + configMapExpression := *configMapExpressionItem.DeepCopy() + configMapExpressionList[configMapExpressionIndex] = &configMapExpression + } else { + configMapExpressionList[configMapExpressionIndex] = nil + } + } + destination.ConfigMapExpressions = configMapExpressionList + } else { + destination.ConfigMapExpressions = nil + } + + // SecretExpressions + if operator.SecretExpressions != nil { + secretExpressionList := make([]*core.DestinationExpression, len(operator.SecretExpressions)) + for secretExpressionIndex, secretExpressionItem := range operator.SecretExpressions { + // Shadow the loop variable to avoid aliasing + secretExpressionItem := secretExpressionItem + if secretExpressionItem != nil { + secretExpression := *secretExpressionItem.DeepCopy() + secretExpressionList[secretExpressionIndex] = &secretExpression + } else { + secretExpressionList[secretExpressionIndex] = nil + } + } + destination.SecretExpressions = secretExpressionList + } else { + destination.SecretExpressions = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Container Apps Job versioned application definition. Defines the desired state of an immutable revision. Any changes to +// this section Will result in a new revision being created +type JobTemplate struct { + // Containers: List of container definitions for the Container App. + Containers []Container `json:"containers,omitempty"` + + // InitContainers: List of specialized containers that run before app containers. + InitContainers []BaseContainer `json:"initContainers,omitempty"` + + // Volumes: List of volume definitions for the Container App. + Volumes []Volume `json:"volumes,omitempty"` +} + +var _ genruntime.ARMTransformer = &JobTemplate{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (template *JobTemplate) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if template == nil { + return nil, nil + } + result := &arm.JobTemplate{} + + // Set property "Containers": + for _, item := range template.Containers { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Containers = append(result.Containers, *item_ARM.(*arm.Container)) + } + + // Set property "InitContainers": + for _, item := range template.InitContainers { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.InitContainers = append(result.InitContainers, *item_ARM.(*arm.BaseContainer)) + } + + // Set property "Volumes": + for _, item := range template.Volumes { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Volumes = append(result.Volumes, *item_ARM.(*arm.Volume)) + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (template *JobTemplate) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.JobTemplate{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (template *JobTemplate) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.JobTemplate) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.JobTemplate, got %T", armInput) + } + + // Set property "Containers": + for _, item := range typedInput.Containers { + var item1 Container + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + template.Containers = append(template.Containers, item1) + } + + // Set property "InitContainers": + for _, item := range typedInput.InitContainers { + var item1 BaseContainer + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + template.InitContainers = append(template.InitContainers, item1) + } + + // Set property "Volumes": + for _, item := range typedInput.Volumes { + var item1 Volume + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + template.Volumes = append(template.Volumes, item1) + } + + // No error + return nil +} + +// AssignProperties_From_JobTemplate populates our JobTemplate from the provided source JobTemplate +func (template *JobTemplate) AssignProperties_From_JobTemplate(source *storage.JobTemplate) error { + + // Containers + if source.Containers != nil { + containerList := make([]Container, len(source.Containers)) + for containerIndex, containerItem := range source.Containers { + // Shadow the loop variable to avoid aliasing + containerItem := containerItem + var container Container + err := container.AssignProperties_From_Container(&containerItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Container() to populate field Containers") + } + containerList[containerIndex] = container + } + template.Containers = containerList + } else { + template.Containers = nil + } + + // InitContainers + if source.InitContainers != nil { + initContainerList := make([]BaseContainer, len(source.InitContainers)) + for initContainerIndex, initContainerItem := range source.InitContainers { + // Shadow the loop variable to avoid aliasing + initContainerItem := initContainerItem + var initContainer BaseContainer + err := initContainer.AssignProperties_From_BaseContainer(&initContainerItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_BaseContainer() to populate field InitContainers") + } + initContainerList[initContainerIndex] = initContainer + } + template.InitContainers = initContainerList + } else { + template.InitContainers = nil + } + + // Volumes + if source.Volumes != nil { + volumeList := make([]Volume, len(source.Volumes)) + for volumeIndex, volumeItem := range source.Volumes { + // Shadow the loop variable to avoid aliasing + volumeItem := volumeItem + var volume Volume + err := volume.AssignProperties_From_Volume(&volumeItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Volume() to populate field Volumes") + } + volumeList[volumeIndex] = volume + } + template.Volumes = volumeList + } else { + template.Volumes = nil + } + + // No error + return nil +} + +// AssignProperties_To_JobTemplate populates the provided destination JobTemplate from our JobTemplate +func (template *JobTemplate) AssignProperties_To_JobTemplate(destination *storage.JobTemplate) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Containers + if template.Containers != nil { + containerList := make([]storage.Container, len(template.Containers)) + for containerIndex, containerItem := range template.Containers { + // Shadow the loop variable to avoid aliasing + containerItem := containerItem + var container storage.Container + err := containerItem.AssignProperties_To_Container(&container) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Container() to populate field Containers") + } + containerList[containerIndex] = container + } + destination.Containers = containerList + } else { + destination.Containers = nil + } + + // InitContainers + if template.InitContainers != nil { + initContainerList := make([]storage.BaseContainer, len(template.InitContainers)) + for initContainerIndex, initContainerItem := range template.InitContainers { + // Shadow the loop variable to avoid aliasing + initContainerItem := initContainerItem + var initContainer storage.BaseContainer + err := initContainerItem.AssignProperties_To_BaseContainer(&initContainer) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_BaseContainer() to populate field InitContainers") + } + initContainerList[initContainerIndex] = initContainer + } + destination.InitContainers = initContainerList + } else { + destination.InitContainers = nil + } + + // Volumes + if template.Volumes != nil { + volumeList := make([]storage.Volume, len(template.Volumes)) + for volumeIndex, volumeItem := range template.Volumes { + // Shadow the loop variable to avoid aliasing + volumeItem := volumeItem + var volume storage.Volume + err := volumeItem.AssignProperties_To_Volume(&volume) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Volume() to populate field Volumes") + } + volumeList[volumeIndex] = volume + } + destination.Volumes = volumeList + } else { + destination.Volumes = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_JobTemplate_STATUS populates our JobTemplate from the provided source JobTemplate_STATUS +func (template *JobTemplate) Initialize_From_JobTemplate_STATUS(source *JobTemplate_STATUS) error { + + // Containers + if source.Containers != nil { + containerList := make([]Container, len(source.Containers)) + for containerIndex, containerItem := range source.Containers { + // Shadow the loop variable to avoid aliasing + containerItem := containerItem + var container Container + err := container.Initialize_From_Container_STATUS(&containerItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_Container_STATUS() to populate field Containers") + } + containerList[containerIndex] = container + } + template.Containers = containerList + } else { + template.Containers = nil + } + + // InitContainers + if source.InitContainers != nil { + initContainerList := make([]BaseContainer, len(source.InitContainers)) + for initContainerIndex, initContainerItem := range source.InitContainers { + // Shadow the loop variable to avoid aliasing + initContainerItem := initContainerItem + var initContainer BaseContainer + err := initContainer.Initialize_From_BaseContainer_STATUS(&initContainerItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_BaseContainer_STATUS() to populate field InitContainers") + } + initContainerList[initContainerIndex] = initContainer + } + template.InitContainers = initContainerList + } else { + template.InitContainers = nil + } + + // Volumes + if source.Volumes != nil { + volumeList := make([]Volume, len(source.Volumes)) + for volumeIndex, volumeItem := range source.Volumes { + // Shadow the loop variable to avoid aliasing + volumeItem := volumeItem + var volume Volume + err := volume.Initialize_From_Volume_STATUS(&volumeItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_Volume_STATUS() to populate field Volumes") + } + volumeList[volumeIndex] = volume + } + template.Volumes = volumeList + } else { + template.Volumes = nil + } + + // No error + return nil +} + +// Container Apps Job versioned application definition. Defines the desired state of an immutable revision. Any changes to +// this section Will result in a new revision being created +type JobTemplate_STATUS struct { + // Containers: List of container definitions for the Container App. + Containers []Container_STATUS `json:"containers,omitempty"` + + // InitContainers: List of specialized containers that run before app containers. + InitContainers []BaseContainer_STATUS `json:"initContainers,omitempty"` + + // Volumes: List of volume definitions for the Container App. + Volumes []Volume_STATUS `json:"volumes,omitempty"` +} + +var _ genruntime.FromARMConverter = &JobTemplate_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (template *JobTemplate_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.JobTemplate_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (template *JobTemplate_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.JobTemplate_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.JobTemplate_STATUS, got %T", armInput) + } + + // Set property "Containers": + for _, item := range typedInput.Containers { + var item1 Container_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + template.Containers = append(template.Containers, item1) + } + + // Set property "InitContainers": + for _, item := range typedInput.InitContainers { + var item1 BaseContainer_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + template.InitContainers = append(template.InitContainers, item1) + } + + // Set property "Volumes": + for _, item := range typedInput.Volumes { + var item1 Volume_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + template.Volumes = append(template.Volumes, item1) + } + + // No error + return nil +} + +// AssignProperties_From_JobTemplate_STATUS populates our JobTemplate_STATUS from the provided source JobTemplate_STATUS +func (template *JobTemplate_STATUS) AssignProperties_From_JobTemplate_STATUS(source *storage.JobTemplate_STATUS) error { + + // Containers + if source.Containers != nil { + containerList := make([]Container_STATUS, len(source.Containers)) + for containerIndex, containerItem := range source.Containers { + // Shadow the loop variable to avoid aliasing + containerItem := containerItem + var container Container_STATUS + err := container.AssignProperties_From_Container_STATUS(&containerItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Container_STATUS() to populate field Containers") + } + containerList[containerIndex] = container + } + template.Containers = containerList + } else { + template.Containers = nil + } + + // InitContainers + if source.InitContainers != nil { + initContainerList := make([]BaseContainer_STATUS, len(source.InitContainers)) + for initContainerIndex, initContainerItem := range source.InitContainers { + // Shadow the loop variable to avoid aliasing + initContainerItem := initContainerItem + var initContainer BaseContainer_STATUS + err := initContainer.AssignProperties_From_BaseContainer_STATUS(&initContainerItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_BaseContainer_STATUS() to populate field InitContainers") + } + initContainerList[initContainerIndex] = initContainer + } + template.InitContainers = initContainerList + } else { + template.InitContainers = nil + } + + // Volumes + if source.Volumes != nil { + volumeList := make([]Volume_STATUS, len(source.Volumes)) + for volumeIndex, volumeItem := range source.Volumes { + // Shadow the loop variable to avoid aliasing + volumeItem := volumeItem + var volume Volume_STATUS + err := volume.AssignProperties_From_Volume_STATUS(&volumeItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Volume_STATUS() to populate field Volumes") + } + volumeList[volumeIndex] = volume + } + template.Volumes = volumeList + } else { + template.Volumes = nil + } + + // No error + return nil +} + +// AssignProperties_To_JobTemplate_STATUS populates the provided destination JobTemplate_STATUS from our JobTemplate_STATUS +func (template *JobTemplate_STATUS) AssignProperties_To_JobTemplate_STATUS(destination *storage.JobTemplate_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Containers + if template.Containers != nil { + containerList := make([]storage.Container_STATUS, len(template.Containers)) + for containerIndex, containerItem := range template.Containers { + // Shadow the loop variable to avoid aliasing + containerItem := containerItem + var container storage.Container_STATUS + err := containerItem.AssignProperties_To_Container_STATUS(&container) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Container_STATUS() to populate field Containers") + } + containerList[containerIndex] = container + } + destination.Containers = containerList + } else { + destination.Containers = nil + } + + // InitContainers + if template.InitContainers != nil { + initContainerList := make([]storage.BaseContainer_STATUS, len(template.InitContainers)) + for initContainerIndex, initContainerItem := range template.InitContainers { + // Shadow the loop variable to avoid aliasing + initContainerItem := initContainerItem + var initContainer storage.BaseContainer_STATUS + err := initContainerItem.AssignProperties_To_BaseContainer_STATUS(&initContainer) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_BaseContainer_STATUS() to populate field InitContainers") + } + initContainerList[initContainerIndex] = initContainer + } + destination.InitContainers = initContainerList + } else { + destination.InitContainers = nil + } + + // Volumes + if template.Volumes != nil { + volumeList := make([]storage.Volume_STATUS, len(template.Volumes)) + for volumeIndex, volumeItem := range template.Volumes { + // Shadow the loop variable to avoid aliasing + volumeItem := volumeItem + var volume storage.Volume_STATUS + err := volumeItem.AssignProperties_To_Volume_STATUS(&volume) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Volume_STATUS() to populate field Volumes") + } + volumeList[volumeIndex] = volume + } + destination.Volumes = volumeList + } else { + destination.Volumes = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +type JobConfiguration_EventTriggerConfig struct { + Parallelism *int `json:"parallelism,omitempty"` + ReplicaCompletionCount *int `json:"replicaCompletionCount,omitempty"` + + // Scale: Scaling configurations for event driven jobs. + Scale *JobScale `json:"scale,omitempty"` +} + +var _ genruntime.ARMTransformer = &JobConfiguration_EventTriggerConfig{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (config *JobConfiguration_EventTriggerConfig) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if config == nil { + return nil, nil + } + result := &arm.JobConfiguration_EventTriggerConfig{} + + // Set property "Parallelism": + if config.Parallelism != nil { + parallelism := *config.Parallelism + result.Parallelism = ¶llelism + } + + // Set property "ReplicaCompletionCount": + if config.ReplicaCompletionCount != nil { + replicaCompletionCount := *config.ReplicaCompletionCount + result.ReplicaCompletionCount = &replicaCompletionCount + } + + // Set property "Scale": + if config.Scale != nil { + scale_ARM, err := (*config.Scale).ConvertToARM(resolved) + if err != nil { + return nil, err + } + scale := *scale_ARM.(*arm.JobScale) + result.Scale = &scale + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (config *JobConfiguration_EventTriggerConfig) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.JobConfiguration_EventTriggerConfig{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (config *JobConfiguration_EventTriggerConfig) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.JobConfiguration_EventTriggerConfig) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.JobConfiguration_EventTriggerConfig, got %T", armInput) + } + + // Set property "Parallelism": + if typedInput.Parallelism != nil { + parallelism := *typedInput.Parallelism + config.Parallelism = ¶llelism + } + + // Set property "ReplicaCompletionCount": + if typedInput.ReplicaCompletionCount != nil { + replicaCompletionCount := *typedInput.ReplicaCompletionCount + config.ReplicaCompletionCount = &replicaCompletionCount + } + + // Set property "Scale": + if typedInput.Scale != nil { + var scale1 JobScale + err := scale1.PopulateFromARM(owner, *typedInput.Scale) + if err != nil { + return err + } + scale := scale1 + config.Scale = &scale + } + + // No error + return nil +} + +// AssignProperties_From_JobConfiguration_EventTriggerConfig populates our JobConfiguration_EventTriggerConfig from the provided source JobConfiguration_EventTriggerConfig +func (config *JobConfiguration_EventTriggerConfig) AssignProperties_From_JobConfiguration_EventTriggerConfig(source *storage.JobConfiguration_EventTriggerConfig) error { + + // Parallelism + config.Parallelism = genruntime.ClonePointerToInt(source.Parallelism) + + // ReplicaCompletionCount + config.ReplicaCompletionCount = genruntime.ClonePointerToInt(source.ReplicaCompletionCount) + + // Scale + if source.Scale != nil { + var scale JobScale + err := scale.AssignProperties_From_JobScale(source.Scale) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_JobScale() to populate field Scale") + } + config.Scale = &scale + } else { + config.Scale = nil + } + + // No error + return nil +} + +// AssignProperties_To_JobConfiguration_EventTriggerConfig populates the provided destination JobConfiguration_EventTriggerConfig from our JobConfiguration_EventTriggerConfig +func (config *JobConfiguration_EventTriggerConfig) AssignProperties_To_JobConfiguration_EventTriggerConfig(destination *storage.JobConfiguration_EventTriggerConfig) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Parallelism + destination.Parallelism = genruntime.ClonePointerToInt(config.Parallelism) + + // ReplicaCompletionCount + destination.ReplicaCompletionCount = genruntime.ClonePointerToInt(config.ReplicaCompletionCount) + + // Scale + if config.Scale != nil { + var scale storage.JobScale + err := config.Scale.AssignProperties_To_JobScale(&scale) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_JobScale() to populate field Scale") + } + destination.Scale = &scale + } else { + destination.Scale = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_JobConfiguration_EventTriggerConfig_STATUS populates our JobConfiguration_EventTriggerConfig from the provided source JobConfiguration_EventTriggerConfig_STATUS +func (config *JobConfiguration_EventTriggerConfig) Initialize_From_JobConfiguration_EventTriggerConfig_STATUS(source *JobConfiguration_EventTriggerConfig_STATUS) error { + + // Parallelism + config.Parallelism = genruntime.ClonePointerToInt(source.Parallelism) + + // ReplicaCompletionCount + config.ReplicaCompletionCount = genruntime.ClonePointerToInt(source.ReplicaCompletionCount) + + // Scale + if source.Scale != nil { + var scale JobScale + err := scale.Initialize_From_JobScale_STATUS(source.Scale) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_JobScale_STATUS() to populate field Scale") + } + config.Scale = &scale + } else { + config.Scale = nil + } + + // No error + return nil +} + +type JobConfiguration_EventTriggerConfig_STATUS struct { + Parallelism *int `json:"parallelism,omitempty"` + ReplicaCompletionCount *int `json:"replicaCompletionCount,omitempty"` + + // Scale: Scaling configurations for event driven jobs. + Scale *JobScale_STATUS `json:"scale,omitempty"` +} + +var _ genruntime.FromARMConverter = &JobConfiguration_EventTriggerConfig_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (config *JobConfiguration_EventTriggerConfig_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.JobConfiguration_EventTriggerConfig_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (config *JobConfiguration_EventTriggerConfig_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.JobConfiguration_EventTriggerConfig_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.JobConfiguration_EventTriggerConfig_STATUS, got %T", armInput) + } + + // Set property "Parallelism": + if typedInput.Parallelism != nil { + parallelism := *typedInput.Parallelism + config.Parallelism = ¶llelism + } + + // Set property "ReplicaCompletionCount": + if typedInput.ReplicaCompletionCount != nil { + replicaCompletionCount := *typedInput.ReplicaCompletionCount + config.ReplicaCompletionCount = &replicaCompletionCount + } + + // Set property "Scale": + if typedInput.Scale != nil { + var scale1 JobScale_STATUS + err := scale1.PopulateFromARM(owner, *typedInput.Scale) + if err != nil { + return err + } + scale := scale1 + config.Scale = &scale + } + + // No error + return nil +} + +// AssignProperties_From_JobConfiguration_EventTriggerConfig_STATUS populates our JobConfiguration_EventTriggerConfig_STATUS from the provided source JobConfiguration_EventTriggerConfig_STATUS +func (config *JobConfiguration_EventTriggerConfig_STATUS) AssignProperties_From_JobConfiguration_EventTriggerConfig_STATUS(source *storage.JobConfiguration_EventTriggerConfig_STATUS) error { + + // Parallelism + config.Parallelism = genruntime.ClonePointerToInt(source.Parallelism) + + // ReplicaCompletionCount + config.ReplicaCompletionCount = genruntime.ClonePointerToInt(source.ReplicaCompletionCount) + + // Scale + if source.Scale != nil { + var scale JobScale_STATUS + err := scale.AssignProperties_From_JobScale_STATUS(source.Scale) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_JobScale_STATUS() to populate field Scale") + } + config.Scale = &scale + } else { + config.Scale = nil + } + + // No error + return nil +} + +// AssignProperties_To_JobConfiguration_EventTriggerConfig_STATUS populates the provided destination JobConfiguration_EventTriggerConfig_STATUS from our JobConfiguration_EventTriggerConfig_STATUS +func (config *JobConfiguration_EventTriggerConfig_STATUS) AssignProperties_To_JobConfiguration_EventTriggerConfig_STATUS(destination *storage.JobConfiguration_EventTriggerConfig_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Parallelism + destination.Parallelism = genruntime.ClonePointerToInt(config.Parallelism) + + // ReplicaCompletionCount + destination.ReplicaCompletionCount = genruntime.ClonePointerToInt(config.ReplicaCompletionCount) + + // Scale + if config.Scale != nil { + var scale storage.JobScale_STATUS + err := config.Scale.AssignProperties_To_JobScale_STATUS(&scale) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_JobScale_STATUS() to populate field Scale") + } + destination.Scale = &scale + } else { + destination.Scale = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +type JobConfiguration_ManualTriggerConfig struct { + Parallelism *int `json:"parallelism,omitempty"` + ReplicaCompletionCount *int `json:"replicaCompletionCount,omitempty"` +} + +var _ genruntime.ARMTransformer = &JobConfiguration_ManualTriggerConfig{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (config *JobConfiguration_ManualTriggerConfig) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if config == nil { + return nil, nil + } + result := &arm.JobConfiguration_ManualTriggerConfig{} + + // Set property "Parallelism": + if config.Parallelism != nil { + parallelism := *config.Parallelism + result.Parallelism = ¶llelism + } + + // Set property "ReplicaCompletionCount": + if config.ReplicaCompletionCount != nil { + replicaCompletionCount := *config.ReplicaCompletionCount + result.ReplicaCompletionCount = &replicaCompletionCount + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (config *JobConfiguration_ManualTriggerConfig) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.JobConfiguration_ManualTriggerConfig{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (config *JobConfiguration_ManualTriggerConfig) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.JobConfiguration_ManualTriggerConfig) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.JobConfiguration_ManualTriggerConfig, got %T", armInput) + } + + // Set property "Parallelism": + if typedInput.Parallelism != nil { + parallelism := *typedInput.Parallelism + config.Parallelism = ¶llelism + } + + // Set property "ReplicaCompletionCount": + if typedInput.ReplicaCompletionCount != nil { + replicaCompletionCount := *typedInput.ReplicaCompletionCount + config.ReplicaCompletionCount = &replicaCompletionCount + } + + // No error + return nil +} + +// AssignProperties_From_JobConfiguration_ManualTriggerConfig populates our JobConfiguration_ManualTriggerConfig from the provided source JobConfiguration_ManualTriggerConfig +func (config *JobConfiguration_ManualTriggerConfig) AssignProperties_From_JobConfiguration_ManualTriggerConfig(source *storage.JobConfiguration_ManualTriggerConfig) error { + + // Parallelism + config.Parallelism = genruntime.ClonePointerToInt(source.Parallelism) + + // ReplicaCompletionCount + config.ReplicaCompletionCount = genruntime.ClonePointerToInt(source.ReplicaCompletionCount) + + // No error + return nil +} + +// AssignProperties_To_JobConfiguration_ManualTriggerConfig populates the provided destination JobConfiguration_ManualTriggerConfig from our JobConfiguration_ManualTriggerConfig +func (config *JobConfiguration_ManualTriggerConfig) AssignProperties_To_JobConfiguration_ManualTriggerConfig(destination *storage.JobConfiguration_ManualTriggerConfig) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Parallelism + destination.Parallelism = genruntime.ClonePointerToInt(config.Parallelism) + + // ReplicaCompletionCount + destination.ReplicaCompletionCount = genruntime.ClonePointerToInt(config.ReplicaCompletionCount) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_JobConfiguration_ManualTriggerConfig_STATUS populates our JobConfiguration_ManualTriggerConfig from the provided source JobConfiguration_ManualTriggerConfig_STATUS +func (config *JobConfiguration_ManualTriggerConfig) Initialize_From_JobConfiguration_ManualTriggerConfig_STATUS(source *JobConfiguration_ManualTriggerConfig_STATUS) error { + + // Parallelism + config.Parallelism = genruntime.ClonePointerToInt(source.Parallelism) + + // ReplicaCompletionCount + config.ReplicaCompletionCount = genruntime.ClonePointerToInt(source.ReplicaCompletionCount) + + // No error + return nil +} + +type JobConfiguration_ManualTriggerConfig_STATUS struct { + Parallelism *int `json:"parallelism,omitempty"` + ReplicaCompletionCount *int `json:"replicaCompletionCount,omitempty"` +} + +var _ genruntime.FromARMConverter = &JobConfiguration_ManualTriggerConfig_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (config *JobConfiguration_ManualTriggerConfig_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.JobConfiguration_ManualTriggerConfig_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (config *JobConfiguration_ManualTriggerConfig_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.JobConfiguration_ManualTriggerConfig_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.JobConfiguration_ManualTriggerConfig_STATUS, got %T", armInput) + } + + // Set property "Parallelism": + if typedInput.Parallelism != nil { + parallelism := *typedInput.Parallelism + config.Parallelism = ¶llelism + } + + // Set property "ReplicaCompletionCount": + if typedInput.ReplicaCompletionCount != nil { + replicaCompletionCount := *typedInput.ReplicaCompletionCount + config.ReplicaCompletionCount = &replicaCompletionCount + } + + // No error + return nil +} + +// AssignProperties_From_JobConfiguration_ManualTriggerConfig_STATUS populates our JobConfiguration_ManualTriggerConfig_STATUS from the provided source JobConfiguration_ManualTriggerConfig_STATUS +func (config *JobConfiguration_ManualTriggerConfig_STATUS) AssignProperties_From_JobConfiguration_ManualTriggerConfig_STATUS(source *storage.JobConfiguration_ManualTriggerConfig_STATUS) error { + + // Parallelism + config.Parallelism = genruntime.ClonePointerToInt(source.Parallelism) + + // ReplicaCompletionCount + config.ReplicaCompletionCount = genruntime.ClonePointerToInt(source.ReplicaCompletionCount) + + // No error + return nil +} + +// AssignProperties_To_JobConfiguration_ManualTriggerConfig_STATUS populates the provided destination JobConfiguration_ManualTriggerConfig_STATUS from our JobConfiguration_ManualTriggerConfig_STATUS +func (config *JobConfiguration_ManualTriggerConfig_STATUS) AssignProperties_To_JobConfiguration_ManualTriggerConfig_STATUS(destination *storage.JobConfiguration_ManualTriggerConfig_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Parallelism + destination.Parallelism = genruntime.ClonePointerToInt(config.Parallelism) + + // ReplicaCompletionCount + destination.ReplicaCompletionCount = genruntime.ClonePointerToInt(config.ReplicaCompletionCount) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +type JobConfiguration_ScheduleTriggerConfig struct { + // +kubebuilder:validation:Required + // CronExpression: Cron formatted repeating schedule ("* * * * *") of a Cron Job. + CronExpression *string `json:"cronExpression,omitempty"` + Parallelism *int `json:"parallelism,omitempty"` + ReplicaCompletionCount *int `json:"replicaCompletionCount,omitempty"` +} + +var _ genruntime.ARMTransformer = &JobConfiguration_ScheduleTriggerConfig{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (config *JobConfiguration_ScheduleTriggerConfig) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if config == nil { + return nil, nil + } + result := &arm.JobConfiguration_ScheduleTriggerConfig{} + + // Set property "CronExpression": + if config.CronExpression != nil { + cronExpression := *config.CronExpression + result.CronExpression = &cronExpression + } + + // Set property "Parallelism": + if config.Parallelism != nil { + parallelism := *config.Parallelism + result.Parallelism = ¶llelism + } + + // Set property "ReplicaCompletionCount": + if config.ReplicaCompletionCount != nil { + replicaCompletionCount := *config.ReplicaCompletionCount + result.ReplicaCompletionCount = &replicaCompletionCount + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (config *JobConfiguration_ScheduleTriggerConfig) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.JobConfiguration_ScheduleTriggerConfig{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (config *JobConfiguration_ScheduleTriggerConfig) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.JobConfiguration_ScheduleTriggerConfig) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.JobConfiguration_ScheduleTriggerConfig, got %T", armInput) + } + + // Set property "CronExpression": + if typedInput.CronExpression != nil { + cronExpression := *typedInput.CronExpression + config.CronExpression = &cronExpression + } + + // Set property "Parallelism": + if typedInput.Parallelism != nil { + parallelism := *typedInput.Parallelism + config.Parallelism = ¶llelism + } + + // Set property "ReplicaCompletionCount": + if typedInput.ReplicaCompletionCount != nil { + replicaCompletionCount := *typedInput.ReplicaCompletionCount + config.ReplicaCompletionCount = &replicaCompletionCount + } + + // No error + return nil +} + +// AssignProperties_From_JobConfiguration_ScheduleTriggerConfig populates our JobConfiguration_ScheduleTriggerConfig from the provided source JobConfiguration_ScheduleTriggerConfig +func (config *JobConfiguration_ScheduleTriggerConfig) AssignProperties_From_JobConfiguration_ScheduleTriggerConfig(source *storage.JobConfiguration_ScheduleTriggerConfig) error { + + // CronExpression + config.CronExpression = genruntime.ClonePointerToString(source.CronExpression) + + // Parallelism + config.Parallelism = genruntime.ClonePointerToInt(source.Parallelism) + + // ReplicaCompletionCount + config.ReplicaCompletionCount = genruntime.ClonePointerToInt(source.ReplicaCompletionCount) + + // No error + return nil +} + +// AssignProperties_To_JobConfiguration_ScheduleTriggerConfig populates the provided destination JobConfiguration_ScheduleTriggerConfig from our JobConfiguration_ScheduleTriggerConfig +func (config *JobConfiguration_ScheduleTriggerConfig) AssignProperties_To_JobConfiguration_ScheduleTriggerConfig(destination *storage.JobConfiguration_ScheduleTriggerConfig) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // CronExpression + destination.CronExpression = genruntime.ClonePointerToString(config.CronExpression) + + // Parallelism + destination.Parallelism = genruntime.ClonePointerToInt(config.Parallelism) + + // ReplicaCompletionCount + destination.ReplicaCompletionCount = genruntime.ClonePointerToInt(config.ReplicaCompletionCount) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_JobConfiguration_ScheduleTriggerConfig_STATUS populates our JobConfiguration_ScheduleTriggerConfig from the provided source JobConfiguration_ScheduleTriggerConfig_STATUS +func (config *JobConfiguration_ScheduleTriggerConfig) Initialize_From_JobConfiguration_ScheduleTriggerConfig_STATUS(source *JobConfiguration_ScheduleTriggerConfig_STATUS) error { + + // CronExpression + config.CronExpression = genruntime.ClonePointerToString(source.CronExpression) + + // Parallelism + config.Parallelism = genruntime.ClonePointerToInt(source.Parallelism) + + // ReplicaCompletionCount + config.ReplicaCompletionCount = genruntime.ClonePointerToInt(source.ReplicaCompletionCount) + + // No error + return nil +} + +type JobConfiguration_ScheduleTriggerConfig_STATUS struct { + // CronExpression: Cron formatted repeating schedule ("* * * * *") of a Cron Job. + CronExpression *string `json:"cronExpression,omitempty"` + Parallelism *int `json:"parallelism,omitempty"` + ReplicaCompletionCount *int `json:"replicaCompletionCount,omitempty"` +} + +var _ genruntime.FromARMConverter = &JobConfiguration_ScheduleTriggerConfig_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (config *JobConfiguration_ScheduleTriggerConfig_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.JobConfiguration_ScheduleTriggerConfig_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (config *JobConfiguration_ScheduleTriggerConfig_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.JobConfiguration_ScheduleTriggerConfig_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.JobConfiguration_ScheduleTriggerConfig_STATUS, got %T", armInput) + } + + // Set property "CronExpression": + if typedInput.CronExpression != nil { + cronExpression := *typedInput.CronExpression + config.CronExpression = &cronExpression + } + + // Set property "Parallelism": + if typedInput.Parallelism != nil { + parallelism := *typedInput.Parallelism + config.Parallelism = ¶llelism + } + + // Set property "ReplicaCompletionCount": + if typedInput.ReplicaCompletionCount != nil { + replicaCompletionCount := *typedInput.ReplicaCompletionCount + config.ReplicaCompletionCount = &replicaCompletionCount + } + + // No error + return nil +} + +// AssignProperties_From_JobConfiguration_ScheduleTriggerConfig_STATUS populates our JobConfiguration_ScheduleTriggerConfig_STATUS from the provided source JobConfiguration_ScheduleTriggerConfig_STATUS +func (config *JobConfiguration_ScheduleTriggerConfig_STATUS) AssignProperties_From_JobConfiguration_ScheduleTriggerConfig_STATUS(source *storage.JobConfiguration_ScheduleTriggerConfig_STATUS) error { + + // CronExpression + config.CronExpression = genruntime.ClonePointerToString(source.CronExpression) + + // Parallelism + config.Parallelism = genruntime.ClonePointerToInt(source.Parallelism) + + // ReplicaCompletionCount + config.ReplicaCompletionCount = genruntime.ClonePointerToInt(source.ReplicaCompletionCount) + + // No error + return nil +} + +// AssignProperties_To_JobConfiguration_ScheduleTriggerConfig_STATUS populates the provided destination JobConfiguration_ScheduleTriggerConfig_STATUS from our JobConfiguration_ScheduleTriggerConfig_STATUS +func (config *JobConfiguration_ScheduleTriggerConfig_STATUS) AssignProperties_To_JobConfiguration_ScheduleTriggerConfig_STATUS(destination *storage.JobConfiguration_ScheduleTriggerConfig_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // CronExpression + destination.CronExpression = genruntime.ClonePointerToString(config.CronExpression) + + // Parallelism + destination.Parallelism = genruntime.ClonePointerToInt(config.Parallelism) + + // ReplicaCompletionCount + destination.ReplicaCompletionCount = genruntime.ClonePointerToInt(config.ReplicaCompletionCount) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"Event","Manual","Schedule"} +type JobConfiguration_TriggerType string + +const ( + JobConfiguration_TriggerType_Event = JobConfiguration_TriggerType("Event") + JobConfiguration_TriggerType_Manual = JobConfiguration_TriggerType("Manual") + JobConfiguration_TriggerType_Schedule = JobConfiguration_TriggerType("Schedule") +) + +// Mapping from string to JobConfiguration_TriggerType +var jobConfiguration_TriggerType_Values = map[string]JobConfiguration_TriggerType{ + "event": JobConfiguration_TriggerType_Event, + "manual": JobConfiguration_TriggerType_Manual, + "schedule": JobConfiguration_TriggerType_Schedule, +} + +type JobConfiguration_TriggerType_STATUS string + +const ( + JobConfiguration_TriggerType_STATUS_Event = JobConfiguration_TriggerType_STATUS("Event") + JobConfiguration_TriggerType_STATUS_Manual = JobConfiguration_TriggerType_STATUS("Manual") + JobConfiguration_TriggerType_STATUS_Schedule = JobConfiguration_TriggerType_STATUS("Schedule") +) + +// Mapping from string to JobConfiguration_TriggerType_STATUS +var jobConfiguration_TriggerType_STATUS_Values = map[string]JobConfiguration_TriggerType_STATUS{ + "event": JobConfiguration_TriggerType_STATUS_Event, + "manual": JobConfiguration_TriggerType_STATUS_Manual, + "schedule": JobConfiguration_TriggerType_STATUS_Schedule, +} + +// Scaling configurations for event driven jobs. +type JobScale struct { + // MaxExecutions: Maximum number of job executions that are created for a trigger, default 100. + MaxExecutions *int `json:"maxExecutions,omitempty"` + + // MinExecutions: Minimum number of job executions that are created for a trigger, default 0 + MinExecutions *int `json:"minExecutions,omitempty"` + PollingInterval *int `json:"pollingInterval,omitempty"` + + // Rules: Scaling rules. + Rules []JobScaleRule `json:"rules,omitempty"` +} + +var _ genruntime.ARMTransformer = &JobScale{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (scale *JobScale) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if scale == nil { + return nil, nil + } + result := &arm.JobScale{} + + // Set property "MaxExecutions": + if scale.MaxExecutions != nil { + maxExecutions := *scale.MaxExecutions + result.MaxExecutions = &maxExecutions + } + + // Set property "MinExecutions": + if scale.MinExecutions != nil { + minExecutions := *scale.MinExecutions + result.MinExecutions = &minExecutions + } + + // Set property "PollingInterval": + if scale.PollingInterval != nil { + pollingInterval := *scale.PollingInterval + result.PollingInterval = &pollingInterval + } + + // Set property "Rules": + for _, item := range scale.Rules { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Rules = append(result.Rules, *item_ARM.(*arm.JobScaleRule)) + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (scale *JobScale) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.JobScale{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (scale *JobScale) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.JobScale) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.JobScale, got %T", armInput) + } + + // Set property "MaxExecutions": + if typedInput.MaxExecutions != nil { + maxExecutions := *typedInput.MaxExecutions + scale.MaxExecutions = &maxExecutions + } + + // Set property "MinExecutions": + if typedInput.MinExecutions != nil { + minExecutions := *typedInput.MinExecutions + scale.MinExecutions = &minExecutions + } + + // Set property "PollingInterval": + if typedInput.PollingInterval != nil { + pollingInterval := *typedInput.PollingInterval + scale.PollingInterval = &pollingInterval + } + + // Set property "Rules": + for _, item := range typedInput.Rules { + var item1 JobScaleRule + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + scale.Rules = append(scale.Rules, item1) + } + + // No error + return nil +} + +// AssignProperties_From_JobScale populates our JobScale from the provided source JobScale +func (scale *JobScale) AssignProperties_From_JobScale(source *storage.JobScale) error { + + // MaxExecutions + scale.MaxExecutions = genruntime.ClonePointerToInt(source.MaxExecutions) + + // MinExecutions + scale.MinExecutions = genruntime.ClonePointerToInt(source.MinExecutions) + + // PollingInterval + scale.PollingInterval = genruntime.ClonePointerToInt(source.PollingInterval) + + // Rules + if source.Rules != nil { + ruleList := make([]JobScaleRule, len(source.Rules)) + for ruleIndex, ruleItem := range source.Rules { + // Shadow the loop variable to avoid aliasing + ruleItem := ruleItem + var rule JobScaleRule + err := rule.AssignProperties_From_JobScaleRule(&ruleItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_JobScaleRule() to populate field Rules") + } + ruleList[ruleIndex] = rule + } + scale.Rules = ruleList + } else { + scale.Rules = nil + } + + // No error + return nil +} + +// AssignProperties_To_JobScale populates the provided destination JobScale from our JobScale +func (scale *JobScale) AssignProperties_To_JobScale(destination *storage.JobScale) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // MaxExecutions + destination.MaxExecutions = genruntime.ClonePointerToInt(scale.MaxExecutions) + + // MinExecutions + destination.MinExecutions = genruntime.ClonePointerToInt(scale.MinExecutions) + + // PollingInterval + destination.PollingInterval = genruntime.ClonePointerToInt(scale.PollingInterval) + + // Rules + if scale.Rules != nil { + ruleList := make([]storage.JobScaleRule, len(scale.Rules)) + for ruleIndex, ruleItem := range scale.Rules { + // Shadow the loop variable to avoid aliasing + ruleItem := ruleItem + var rule storage.JobScaleRule + err := ruleItem.AssignProperties_To_JobScaleRule(&rule) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_JobScaleRule() to populate field Rules") + } + ruleList[ruleIndex] = rule + } + destination.Rules = ruleList + } else { + destination.Rules = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_JobScale_STATUS populates our JobScale from the provided source JobScale_STATUS +func (scale *JobScale) Initialize_From_JobScale_STATUS(source *JobScale_STATUS) error { + + // MaxExecutions + scale.MaxExecutions = genruntime.ClonePointerToInt(source.MaxExecutions) + + // MinExecutions + scale.MinExecutions = genruntime.ClonePointerToInt(source.MinExecutions) + + // PollingInterval + scale.PollingInterval = genruntime.ClonePointerToInt(source.PollingInterval) + + // Rules + if source.Rules != nil { + ruleList := make([]JobScaleRule, len(source.Rules)) + for ruleIndex, ruleItem := range source.Rules { + // Shadow the loop variable to avoid aliasing + ruleItem := ruleItem + var rule JobScaleRule + err := rule.Initialize_From_JobScaleRule_STATUS(&ruleItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_JobScaleRule_STATUS() to populate field Rules") + } + ruleList[ruleIndex] = rule + } + scale.Rules = ruleList + } else { + scale.Rules = nil + } + + // No error + return nil +} + +// Scaling configurations for event driven jobs. +type JobScale_STATUS struct { + // MaxExecutions: Maximum number of job executions that are created for a trigger, default 100. + MaxExecutions *int `json:"maxExecutions,omitempty"` + + // MinExecutions: Minimum number of job executions that are created for a trigger, default 0 + MinExecutions *int `json:"minExecutions,omitempty"` + PollingInterval *int `json:"pollingInterval,omitempty"` + + // Rules: Scaling rules. + Rules []JobScaleRule_STATUS `json:"rules,omitempty"` +} + +var _ genruntime.FromARMConverter = &JobScale_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (scale *JobScale_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.JobScale_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (scale *JobScale_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.JobScale_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.JobScale_STATUS, got %T", armInput) + } + + // Set property "MaxExecutions": + if typedInput.MaxExecutions != nil { + maxExecutions := *typedInput.MaxExecutions + scale.MaxExecutions = &maxExecutions + } + + // Set property "MinExecutions": + if typedInput.MinExecutions != nil { + minExecutions := *typedInput.MinExecutions + scale.MinExecutions = &minExecutions + } + + // Set property "PollingInterval": + if typedInput.PollingInterval != nil { + pollingInterval := *typedInput.PollingInterval + scale.PollingInterval = &pollingInterval + } + + // Set property "Rules": + for _, item := range typedInput.Rules { + var item1 JobScaleRule_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + scale.Rules = append(scale.Rules, item1) + } + + // No error + return nil +} + +// AssignProperties_From_JobScale_STATUS populates our JobScale_STATUS from the provided source JobScale_STATUS +func (scale *JobScale_STATUS) AssignProperties_From_JobScale_STATUS(source *storage.JobScale_STATUS) error { + + // MaxExecutions + scale.MaxExecutions = genruntime.ClonePointerToInt(source.MaxExecutions) + + // MinExecutions + scale.MinExecutions = genruntime.ClonePointerToInt(source.MinExecutions) + + // PollingInterval + scale.PollingInterval = genruntime.ClonePointerToInt(source.PollingInterval) + + // Rules + if source.Rules != nil { + ruleList := make([]JobScaleRule_STATUS, len(source.Rules)) + for ruleIndex, ruleItem := range source.Rules { + // Shadow the loop variable to avoid aliasing + ruleItem := ruleItem + var rule JobScaleRule_STATUS + err := rule.AssignProperties_From_JobScaleRule_STATUS(&ruleItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_JobScaleRule_STATUS() to populate field Rules") + } + ruleList[ruleIndex] = rule + } + scale.Rules = ruleList + } else { + scale.Rules = nil + } + + // No error + return nil +} + +// AssignProperties_To_JobScale_STATUS populates the provided destination JobScale_STATUS from our JobScale_STATUS +func (scale *JobScale_STATUS) AssignProperties_To_JobScale_STATUS(destination *storage.JobScale_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // MaxExecutions + destination.MaxExecutions = genruntime.ClonePointerToInt(scale.MaxExecutions) + + // MinExecutions + destination.MinExecutions = genruntime.ClonePointerToInt(scale.MinExecutions) + + // PollingInterval + destination.PollingInterval = genruntime.ClonePointerToInt(scale.PollingInterval) + + // Rules + if scale.Rules != nil { + ruleList := make([]storage.JobScaleRule_STATUS, len(scale.Rules)) + for ruleIndex, ruleItem := range scale.Rules { + // Shadow the loop variable to avoid aliasing + ruleItem := ruleItem + var rule storage.JobScaleRule_STATUS + err := ruleItem.AssignProperties_To_JobScaleRule_STATUS(&rule) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_JobScaleRule_STATUS() to populate field Rules") + } + ruleList[ruleIndex] = rule + } + destination.Rules = ruleList + } else { + destination.Rules = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Scaling rule. +type JobScaleRule struct { + // Auth: Authentication secrets for the scale rule. + Auth []ScaleRuleAuth `json:"auth,omitempty"` + + // Metadata: Metadata properties to describe the scale rule. + Metadata map[string]v1.JSON `json:"metadata,omitempty"` + + // Name: Scale Rule Name + Name *string `json:"name,omitempty"` + + // Type: Type of the scale rule + // eg: azure-servicebus, redis etc. + Type *string `json:"type,omitempty"` +} + +var _ genruntime.ARMTransformer = &JobScaleRule{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (rule *JobScaleRule) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if rule == nil { + return nil, nil + } + result := &arm.JobScaleRule{} + + // Set property "Auth": + for _, item := range rule.Auth { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Auth = append(result.Auth, *item_ARM.(*arm.ScaleRuleAuth)) + } + + // Set property "Metadata": + if rule.Metadata != nil { + result.Metadata = make(map[string]v1.JSON, len(rule.Metadata)) + for key, value := range rule.Metadata { + result.Metadata[key] = *value.DeepCopy() + } + } + + // Set property "Name": + if rule.Name != nil { + name := *rule.Name + result.Name = &name + } + + // Set property "Type": + if rule.Type != nil { + typeVar := *rule.Type + result.Type = &typeVar + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (rule *JobScaleRule) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.JobScaleRule{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (rule *JobScaleRule) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.JobScaleRule) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.JobScaleRule, got %T", armInput) + } + + // Set property "Auth": + for _, item := range typedInput.Auth { + var item1 ScaleRuleAuth + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + rule.Auth = append(rule.Auth, item1) + } + + // Set property "Metadata": + if typedInput.Metadata != nil { + rule.Metadata = make(map[string]v1.JSON, len(typedInput.Metadata)) + for key, value := range typedInput.Metadata { + rule.Metadata[key] = *value.DeepCopy() + } + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + rule.Name = &name + } + + // Set property "Type": + if typedInput.Type != nil { + typeVar := *typedInput.Type + rule.Type = &typeVar + } + + // No error + return nil +} + +// AssignProperties_From_JobScaleRule populates our JobScaleRule from the provided source JobScaleRule +func (rule *JobScaleRule) AssignProperties_From_JobScaleRule(source *storage.JobScaleRule) error { + + // Auth + if source.Auth != nil { + authList := make([]ScaleRuleAuth, len(source.Auth)) + for authIndex, authItem := range source.Auth { + // Shadow the loop variable to avoid aliasing + authItem := authItem + var auth ScaleRuleAuth + err := auth.AssignProperties_From_ScaleRuleAuth(&authItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ScaleRuleAuth() to populate field Auth") + } + authList[authIndex] = auth + } + rule.Auth = authList + } else { + rule.Auth = nil + } + + // Metadata + if source.Metadata != nil { + metadatumMap := make(map[string]v1.JSON, len(source.Metadata)) + for metadatumKey, metadatumValue := range source.Metadata { + // Shadow the loop variable to avoid aliasing + metadatumValue := metadatumValue + metadatumMap[metadatumKey] = *metadatumValue.DeepCopy() + } + rule.Metadata = metadatumMap + } else { + rule.Metadata = nil + } + + // Name + rule.Name = genruntime.ClonePointerToString(source.Name) + + // Type + rule.Type = genruntime.ClonePointerToString(source.Type) + + // No error + return nil +} + +// AssignProperties_To_JobScaleRule populates the provided destination JobScaleRule from our JobScaleRule +func (rule *JobScaleRule) AssignProperties_To_JobScaleRule(destination *storage.JobScaleRule) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Auth + if rule.Auth != nil { + authList := make([]storage.ScaleRuleAuth, len(rule.Auth)) + for authIndex, authItem := range rule.Auth { + // Shadow the loop variable to avoid aliasing + authItem := authItem + var auth storage.ScaleRuleAuth + err := authItem.AssignProperties_To_ScaleRuleAuth(&auth) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ScaleRuleAuth() to populate field Auth") + } + authList[authIndex] = auth + } + destination.Auth = authList + } else { + destination.Auth = nil + } + + // Metadata + if rule.Metadata != nil { + metadatumMap := make(map[string]v1.JSON, len(rule.Metadata)) + for metadatumKey, metadatumValue := range rule.Metadata { + // Shadow the loop variable to avoid aliasing + metadatumValue := metadatumValue + metadatumMap[metadatumKey] = *metadatumValue.DeepCopy() + } + destination.Metadata = metadatumMap + } else { + destination.Metadata = nil + } + + // Name + destination.Name = genruntime.ClonePointerToString(rule.Name) + + // 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 +} + +// Initialize_From_JobScaleRule_STATUS populates our JobScaleRule from the provided source JobScaleRule_STATUS +func (rule *JobScaleRule) Initialize_From_JobScaleRule_STATUS(source *JobScaleRule_STATUS) error { + + // Auth + if source.Auth != nil { + authList := make([]ScaleRuleAuth, len(source.Auth)) + for authIndex, authItem := range source.Auth { + // Shadow the loop variable to avoid aliasing + authItem := authItem + var auth ScaleRuleAuth + err := auth.Initialize_From_ScaleRuleAuth_STATUS(&authItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_ScaleRuleAuth_STATUS() to populate field Auth") + } + authList[authIndex] = auth + } + rule.Auth = authList + } else { + rule.Auth = nil + } + + // Metadata + if source.Metadata != nil { + metadatumMap := make(map[string]v1.JSON, len(source.Metadata)) + for metadatumKey, metadatumValue := range source.Metadata { + // Shadow the loop variable to avoid aliasing + metadatumValue := metadatumValue + metadatumMap[metadatumKey] = *metadatumValue.DeepCopy() + } + rule.Metadata = metadatumMap + } else { + rule.Metadata = nil + } + + // Name + rule.Name = genruntime.ClonePointerToString(source.Name) + + // Type + rule.Type = genruntime.ClonePointerToString(source.Type) + + // No error + return nil +} + +// Scaling rule. +type JobScaleRule_STATUS struct { + // Auth: Authentication secrets for the scale rule. + Auth []ScaleRuleAuth_STATUS `json:"auth,omitempty"` + + // Metadata: Metadata properties to describe the scale rule. + Metadata map[string]v1.JSON `json:"metadata,omitempty"` + + // Name: Scale Rule Name + Name *string `json:"name,omitempty"` + + // Type: Type of the scale rule + // eg: azure-servicebus, redis etc. + Type *string `json:"type,omitempty"` +} + +var _ genruntime.FromARMConverter = &JobScaleRule_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (rule *JobScaleRule_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.JobScaleRule_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (rule *JobScaleRule_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.JobScaleRule_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.JobScaleRule_STATUS, got %T", armInput) + } + + // Set property "Auth": + for _, item := range typedInput.Auth { + var item1 ScaleRuleAuth_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + rule.Auth = append(rule.Auth, item1) + } + + // Set property "Metadata": + if typedInput.Metadata != nil { + rule.Metadata = make(map[string]v1.JSON, len(typedInput.Metadata)) + for key, value := range typedInput.Metadata { + rule.Metadata[key] = *value.DeepCopy() + } + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + rule.Name = &name + } + + // Set property "Type": + if typedInput.Type != nil { + typeVar := *typedInput.Type + rule.Type = &typeVar + } + + // No error + return nil +} + +// AssignProperties_From_JobScaleRule_STATUS populates our JobScaleRule_STATUS from the provided source JobScaleRule_STATUS +func (rule *JobScaleRule_STATUS) AssignProperties_From_JobScaleRule_STATUS(source *storage.JobScaleRule_STATUS) error { + + // Auth + if source.Auth != nil { + authList := make([]ScaleRuleAuth_STATUS, len(source.Auth)) + for authIndex, authItem := range source.Auth { + // Shadow the loop variable to avoid aliasing + authItem := authItem + var auth ScaleRuleAuth_STATUS + err := auth.AssignProperties_From_ScaleRuleAuth_STATUS(&authItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ScaleRuleAuth_STATUS() to populate field Auth") + } + authList[authIndex] = auth + } + rule.Auth = authList + } else { + rule.Auth = nil + } + + // Metadata + if source.Metadata != nil { + metadatumMap := make(map[string]v1.JSON, len(source.Metadata)) + for metadatumKey, metadatumValue := range source.Metadata { + // Shadow the loop variable to avoid aliasing + metadatumValue := metadatumValue + metadatumMap[metadatumKey] = *metadatumValue.DeepCopy() + } + rule.Metadata = metadatumMap + } else { + rule.Metadata = nil + } + + // Name + rule.Name = genruntime.ClonePointerToString(source.Name) + + // Type + rule.Type = genruntime.ClonePointerToString(source.Type) + + // No error + return nil +} + +// AssignProperties_To_JobScaleRule_STATUS populates the provided destination JobScaleRule_STATUS from our JobScaleRule_STATUS +func (rule *JobScaleRule_STATUS) AssignProperties_To_JobScaleRule_STATUS(destination *storage.JobScaleRule_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Auth + if rule.Auth != nil { + authList := make([]storage.ScaleRuleAuth_STATUS, len(rule.Auth)) + for authIndex, authItem := range rule.Auth { + // Shadow the loop variable to avoid aliasing + authItem := authItem + var auth storage.ScaleRuleAuth_STATUS + err := authItem.AssignProperties_To_ScaleRuleAuth_STATUS(&auth) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ScaleRuleAuth_STATUS() to populate field Auth") + } + authList[authIndex] = auth + } + destination.Auth = authList + } else { + destination.Auth = nil + } + + // Metadata + if rule.Metadata != nil { + metadatumMap := make(map[string]v1.JSON, len(rule.Metadata)) + for metadatumKey, metadatumValue := range rule.Metadata { + // Shadow the loop variable to avoid aliasing + metadatumValue := metadatumValue + metadatumMap[metadatumKey] = *metadatumValue.DeepCopy() + } + destination.Metadata = metadatumMap + } else { + destination.Metadata = nil + } + + // Name + destination.Name = genruntime.ClonePointerToString(rule.Name) + + // 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(&Job{}, &JobList{}) +} diff --git a/v2/api/app/v1api20240301/job_types_gen_test.go b/v2/api/app/v1api20240301/job_types_gen_test.go new file mode 100644 index 00000000000..e0202fbf8cf --- /dev/null +++ b/v2/api/app/v1api20240301/job_types_gen_test.go @@ -0,0 +1,2098 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20240301 + +import ( + "encoding/json" + storage "github.com/Azure/azure-service-operator/v2/api/app/v1api20240301/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_Job_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 Job to hub returns original", + prop.ForAll(RunResourceConversionTestForJob, JobGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunResourceConversionTestForJob tests if a specific instance of Job round trips to the hub storage version and back losslessly +func RunResourceConversionTestForJob(subject Job) string { + // Copy subject to make sure conversion doesn't modify it + copied := subject.DeepCopy() + + // Convert to our hub version + var hub storage.Job + err := copied.ConvertTo(&hub) + if err != nil { + return err.Error() + } + + // Convert from our hub version + var actual Job + 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_Job_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Job to Job via AssignProperties_To_Job & AssignProperties_From_Job returns original", + prop.ForAll(RunPropertyAssignmentTestForJob, JobGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForJob tests if a specific instance of Job can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForJob(subject Job) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.Job + err := copied.AssignProperties_To_Job(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Job + err = actual.AssignProperties_From_Job(&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_Job_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 Job via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJob, JobGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJob runs a test to see if a specific instance of Job round trips to JSON and back losslessly +func RunJSONSerializationTestForJob(subject Job) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Job + 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 Job instances for property testing - lazily instantiated by JobGenerator() +var jobGenerator gopter.Gen + +// JobGenerator returns a generator of Job instances for property testing. +func JobGenerator() gopter.Gen { + if jobGenerator != nil { + return jobGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForJob(generators) + jobGenerator = gen.Struct(reflect.TypeOf(Job{}), generators) + + return jobGenerator +} + +// AddRelatedPropertyGeneratorsForJob is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJob(gens map[string]gopter.Gen) { + gens["Spec"] = Job_SpecGenerator() + gens["Status"] = Job_STATUSGenerator() +} + +func Test_JobConfiguration_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from JobConfiguration to JobConfiguration via AssignProperties_To_JobConfiguration & AssignProperties_From_JobConfiguration returns original", + prop.ForAll(RunPropertyAssignmentTestForJobConfiguration, JobConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForJobConfiguration tests if a specific instance of JobConfiguration can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForJobConfiguration(subject JobConfiguration) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.JobConfiguration + err := copied.AssignProperties_To_JobConfiguration(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual JobConfiguration + err = actual.AssignProperties_From_JobConfiguration(&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_JobConfiguration_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 JobConfiguration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobConfiguration, JobConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobConfiguration runs a test to see if a specific instance of JobConfiguration round trips to JSON and back losslessly +func RunJSONSerializationTestForJobConfiguration(subject JobConfiguration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobConfiguration + 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 JobConfiguration instances for property testing - lazily instantiated by JobConfigurationGenerator() +var jobConfigurationGenerator gopter.Gen + +// JobConfigurationGenerator returns a generator of JobConfiguration instances for property testing. +// We first initialize jobConfigurationGenerator 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 JobConfigurationGenerator() gopter.Gen { + if jobConfigurationGenerator != nil { + return jobConfigurationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration(generators) + jobConfigurationGenerator = gen.Struct(reflect.TypeOf(JobConfiguration{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration(generators) + AddRelatedPropertyGeneratorsForJobConfiguration(generators) + jobConfigurationGenerator = gen.Struct(reflect.TypeOf(JobConfiguration{}), generators) + + return jobConfigurationGenerator +} + +// AddIndependentPropertyGeneratorsForJobConfiguration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobConfiguration(gens map[string]gopter.Gen) { + gens["ReplicaRetryLimit"] = gen.PtrOf(gen.Int()) + gens["ReplicaTimeout"] = gen.PtrOf(gen.Int()) + gens["TriggerType"] = gen.PtrOf(gen.OneConstOf(JobConfiguration_TriggerType_Event, JobConfiguration_TriggerType_Manual, JobConfiguration_TriggerType_Schedule)) +} + +// AddRelatedPropertyGeneratorsForJobConfiguration is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJobConfiguration(gens map[string]gopter.Gen) { + gens["EventTriggerConfig"] = gen.PtrOf(JobConfiguration_EventTriggerConfigGenerator()) + gens["ManualTriggerConfig"] = gen.PtrOf(JobConfiguration_ManualTriggerConfigGenerator()) + gens["Registries"] = gen.SliceOf(RegistryCredentialsGenerator()) + gens["ScheduleTriggerConfig"] = gen.PtrOf(JobConfiguration_ScheduleTriggerConfigGenerator()) + gens["Secrets"] = gen.SliceOf(SecretGenerator()) +} + +func Test_JobConfiguration_EventTriggerConfig_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from JobConfiguration_EventTriggerConfig to JobConfiguration_EventTriggerConfig via AssignProperties_To_JobConfiguration_EventTriggerConfig & AssignProperties_From_JobConfiguration_EventTriggerConfig returns original", + prop.ForAll(RunPropertyAssignmentTestForJobConfiguration_EventTriggerConfig, JobConfiguration_EventTriggerConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForJobConfiguration_EventTriggerConfig tests if a specific instance of JobConfiguration_EventTriggerConfig can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForJobConfiguration_EventTriggerConfig(subject JobConfiguration_EventTriggerConfig) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.JobConfiguration_EventTriggerConfig + err := copied.AssignProperties_To_JobConfiguration_EventTriggerConfig(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual JobConfiguration_EventTriggerConfig + err = actual.AssignProperties_From_JobConfiguration_EventTriggerConfig(&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_JobConfiguration_EventTriggerConfig_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 JobConfiguration_EventTriggerConfig via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobConfiguration_EventTriggerConfig, JobConfiguration_EventTriggerConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobConfiguration_EventTriggerConfig runs a test to see if a specific instance of JobConfiguration_EventTriggerConfig round trips to JSON and back losslessly +func RunJSONSerializationTestForJobConfiguration_EventTriggerConfig(subject JobConfiguration_EventTriggerConfig) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobConfiguration_EventTriggerConfig + 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 JobConfiguration_EventTriggerConfig instances for property testing - lazily instantiated by +// JobConfiguration_EventTriggerConfigGenerator() +var jobConfiguration_EventTriggerConfigGenerator gopter.Gen + +// JobConfiguration_EventTriggerConfigGenerator returns a generator of JobConfiguration_EventTriggerConfig instances for property testing. +// We first initialize jobConfiguration_EventTriggerConfigGenerator 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 JobConfiguration_EventTriggerConfigGenerator() gopter.Gen { + if jobConfiguration_EventTriggerConfigGenerator != nil { + return jobConfiguration_EventTriggerConfigGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration_EventTriggerConfig(generators) + jobConfiguration_EventTriggerConfigGenerator = gen.Struct(reflect.TypeOf(JobConfiguration_EventTriggerConfig{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration_EventTriggerConfig(generators) + AddRelatedPropertyGeneratorsForJobConfiguration_EventTriggerConfig(generators) + jobConfiguration_EventTriggerConfigGenerator = gen.Struct(reflect.TypeOf(JobConfiguration_EventTriggerConfig{}), generators) + + return jobConfiguration_EventTriggerConfigGenerator +} + +// AddIndependentPropertyGeneratorsForJobConfiguration_EventTriggerConfig is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobConfiguration_EventTriggerConfig(gens map[string]gopter.Gen) { + gens["Parallelism"] = gen.PtrOf(gen.Int()) + gens["ReplicaCompletionCount"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForJobConfiguration_EventTriggerConfig is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJobConfiguration_EventTriggerConfig(gens map[string]gopter.Gen) { + gens["Scale"] = gen.PtrOf(JobScaleGenerator()) +} + +func Test_JobConfiguration_EventTriggerConfig_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from JobConfiguration_EventTriggerConfig_STATUS to JobConfiguration_EventTriggerConfig_STATUS via AssignProperties_To_JobConfiguration_EventTriggerConfig_STATUS & AssignProperties_From_JobConfiguration_EventTriggerConfig_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForJobConfiguration_EventTriggerConfig_STATUS, JobConfiguration_EventTriggerConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForJobConfiguration_EventTriggerConfig_STATUS tests if a specific instance of JobConfiguration_EventTriggerConfig_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForJobConfiguration_EventTriggerConfig_STATUS(subject JobConfiguration_EventTriggerConfig_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 storage.JobConfiguration_EventTriggerConfig_STATUS + err := copied.AssignProperties_To_JobConfiguration_EventTriggerConfig_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual JobConfiguration_EventTriggerConfig_STATUS + err = actual.AssignProperties_From_JobConfiguration_EventTriggerConfig_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_JobConfiguration_EventTriggerConfig_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 JobConfiguration_EventTriggerConfig_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobConfiguration_EventTriggerConfig_STATUS, JobConfiguration_EventTriggerConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobConfiguration_EventTriggerConfig_STATUS runs a test to see if a specific instance of JobConfiguration_EventTriggerConfig_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForJobConfiguration_EventTriggerConfig_STATUS(subject JobConfiguration_EventTriggerConfig_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobConfiguration_EventTriggerConfig_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 JobConfiguration_EventTriggerConfig_STATUS instances for property testing - lazily instantiated by +// JobConfiguration_EventTriggerConfig_STATUSGenerator() +var jobConfiguration_EventTriggerConfig_STATUSGenerator gopter.Gen + +// JobConfiguration_EventTriggerConfig_STATUSGenerator returns a generator of JobConfiguration_EventTriggerConfig_STATUS instances for property testing. +// We first initialize jobConfiguration_EventTriggerConfig_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 JobConfiguration_EventTriggerConfig_STATUSGenerator() gopter.Gen { + if jobConfiguration_EventTriggerConfig_STATUSGenerator != nil { + return jobConfiguration_EventTriggerConfig_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration_EventTriggerConfig_STATUS(generators) + jobConfiguration_EventTriggerConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(JobConfiguration_EventTriggerConfig_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration_EventTriggerConfig_STATUS(generators) + AddRelatedPropertyGeneratorsForJobConfiguration_EventTriggerConfig_STATUS(generators) + jobConfiguration_EventTriggerConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(JobConfiguration_EventTriggerConfig_STATUS{}), generators) + + return jobConfiguration_EventTriggerConfig_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForJobConfiguration_EventTriggerConfig_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobConfiguration_EventTriggerConfig_STATUS(gens map[string]gopter.Gen) { + gens["Parallelism"] = gen.PtrOf(gen.Int()) + gens["ReplicaCompletionCount"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForJobConfiguration_EventTriggerConfig_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJobConfiguration_EventTriggerConfig_STATUS(gens map[string]gopter.Gen) { + gens["Scale"] = gen.PtrOf(JobScale_STATUSGenerator()) +} + +func Test_JobConfiguration_ManualTriggerConfig_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from JobConfiguration_ManualTriggerConfig to JobConfiguration_ManualTriggerConfig via AssignProperties_To_JobConfiguration_ManualTriggerConfig & AssignProperties_From_JobConfiguration_ManualTriggerConfig returns original", + prop.ForAll(RunPropertyAssignmentTestForJobConfiguration_ManualTriggerConfig, JobConfiguration_ManualTriggerConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForJobConfiguration_ManualTriggerConfig tests if a specific instance of JobConfiguration_ManualTriggerConfig can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForJobConfiguration_ManualTriggerConfig(subject JobConfiguration_ManualTriggerConfig) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.JobConfiguration_ManualTriggerConfig + err := copied.AssignProperties_To_JobConfiguration_ManualTriggerConfig(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual JobConfiguration_ManualTriggerConfig + err = actual.AssignProperties_From_JobConfiguration_ManualTriggerConfig(&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_JobConfiguration_ManualTriggerConfig_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 JobConfiguration_ManualTriggerConfig via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobConfiguration_ManualTriggerConfig, JobConfiguration_ManualTriggerConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobConfiguration_ManualTriggerConfig runs a test to see if a specific instance of JobConfiguration_ManualTriggerConfig round trips to JSON and back losslessly +func RunJSONSerializationTestForJobConfiguration_ManualTriggerConfig(subject JobConfiguration_ManualTriggerConfig) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobConfiguration_ManualTriggerConfig + 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 JobConfiguration_ManualTriggerConfig instances for property testing - lazily instantiated by +// JobConfiguration_ManualTriggerConfigGenerator() +var jobConfiguration_ManualTriggerConfigGenerator gopter.Gen + +// JobConfiguration_ManualTriggerConfigGenerator returns a generator of JobConfiguration_ManualTriggerConfig instances for property testing. +func JobConfiguration_ManualTriggerConfigGenerator() gopter.Gen { + if jobConfiguration_ManualTriggerConfigGenerator != nil { + return jobConfiguration_ManualTriggerConfigGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration_ManualTriggerConfig(generators) + jobConfiguration_ManualTriggerConfigGenerator = gen.Struct(reflect.TypeOf(JobConfiguration_ManualTriggerConfig{}), generators) + + return jobConfiguration_ManualTriggerConfigGenerator +} + +// AddIndependentPropertyGeneratorsForJobConfiguration_ManualTriggerConfig is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobConfiguration_ManualTriggerConfig(gens map[string]gopter.Gen) { + gens["Parallelism"] = gen.PtrOf(gen.Int()) + gens["ReplicaCompletionCount"] = gen.PtrOf(gen.Int()) +} + +func Test_JobConfiguration_ManualTriggerConfig_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from JobConfiguration_ManualTriggerConfig_STATUS to JobConfiguration_ManualTriggerConfig_STATUS via AssignProperties_To_JobConfiguration_ManualTriggerConfig_STATUS & AssignProperties_From_JobConfiguration_ManualTriggerConfig_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForJobConfiguration_ManualTriggerConfig_STATUS, JobConfiguration_ManualTriggerConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForJobConfiguration_ManualTriggerConfig_STATUS tests if a specific instance of JobConfiguration_ManualTriggerConfig_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForJobConfiguration_ManualTriggerConfig_STATUS(subject JobConfiguration_ManualTriggerConfig_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 storage.JobConfiguration_ManualTriggerConfig_STATUS + err := copied.AssignProperties_To_JobConfiguration_ManualTriggerConfig_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual JobConfiguration_ManualTriggerConfig_STATUS + err = actual.AssignProperties_From_JobConfiguration_ManualTriggerConfig_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_JobConfiguration_ManualTriggerConfig_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 JobConfiguration_ManualTriggerConfig_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobConfiguration_ManualTriggerConfig_STATUS, JobConfiguration_ManualTriggerConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobConfiguration_ManualTriggerConfig_STATUS runs a test to see if a specific instance of JobConfiguration_ManualTriggerConfig_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForJobConfiguration_ManualTriggerConfig_STATUS(subject JobConfiguration_ManualTriggerConfig_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobConfiguration_ManualTriggerConfig_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 JobConfiguration_ManualTriggerConfig_STATUS instances for property testing - lazily instantiated by +// JobConfiguration_ManualTriggerConfig_STATUSGenerator() +var jobConfiguration_ManualTriggerConfig_STATUSGenerator gopter.Gen + +// JobConfiguration_ManualTriggerConfig_STATUSGenerator returns a generator of JobConfiguration_ManualTriggerConfig_STATUS instances for property testing. +func JobConfiguration_ManualTriggerConfig_STATUSGenerator() gopter.Gen { + if jobConfiguration_ManualTriggerConfig_STATUSGenerator != nil { + return jobConfiguration_ManualTriggerConfig_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration_ManualTriggerConfig_STATUS(generators) + jobConfiguration_ManualTriggerConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(JobConfiguration_ManualTriggerConfig_STATUS{}), generators) + + return jobConfiguration_ManualTriggerConfig_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForJobConfiguration_ManualTriggerConfig_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobConfiguration_ManualTriggerConfig_STATUS(gens map[string]gopter.Gen) { + gens["Parallelism"] = gen.PtrOf(gen.Int()) + gens["ReplicaCompletionCount"] = gen.PtrOf(gen.Int()) +} + +func Test_JobConfiguration_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from JobConfiguration_STATUS to JobConfiguration_STATUS via AssignProperties_To_JobConfiguration_STATUS & AssignProperties_From_JobConfiguration_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForJobConfiguration_STATUS, JobConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForJobConfiguration_STATUS tests if a specific instance of JobConfiguration_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForJobConfiguration_STATUS(subject JobConfiguration_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 storage.JobConfiguration_STATUS + err := copied.AssignProperties_To_JobConfiguration_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual JobConfiguration_STATUS + err = actual.AssignProperties_From_JobConfiguration_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_JobConfiguration_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 JobConfiguration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobConfiguration_STATUS, JobConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobConfiguration_STATUS runs a test to see if a specific instance of JobConfiguration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForJobConfiguration_STATUS(subject JobConfiguration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobConfiguration_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 JobConfiguration_STATUS instances for property testing - lazily instantiated by +// JobConfiguration_STATUSGenerator() +var jobConfiguration_STATUSGenerator gopter.Gen + +// JobConfiguration_STATUSGenerator returns a generator of JobConfiguration_STATUS instances for property testing. +// We first initialize jobConfiguration_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 JobConfiguration_STATUSGenerator() gopter.Gen { + if jobConfiguration_STATUSGenerator != nil { + return jobConfiguration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration_STATUS(generators) + jobConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(JobConfiguration_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration_STATUS(generators) + AddRelatedPropertyGeneratorsForJobConfiguration_STATUS(generators) + jobConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(JobConfiguration_STATUS{}), generators) + + return jobConfiguration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForJobConfiguration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["ReplicaRetryLimit"] = gen.PtrOf(gen.Int()) + gens["ReplicaTimeout"] = gen.PtrOf(gen.Int()) + gens["TriggerType"] = gen.PtrOf(gen.OneConstOf(JobConfiguration_TriggerType_STATUS_Event, JobConfiguration_TriggerType_STATUS_Manual, JobConfiguration_TriggerType_STATUS_Schedule)) +} + +// AddRelatedPropertyGeneratorsForJobConfiguration_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJobConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["EventTriggerConfig"] = gen.PtrOf(JobConfiguration_EventTriggerConfig_STATUSGenerator()) + gens["ManualTriggerConfig"] = gen.PtrOf(JobConfiguration_ManualTriggerConfig_STATUSGenerator()) + gens["Registries"] = gen.SliceOf(RegistryCredentials_STATUSGenerator()) + gens["ScheduleTriggerConfig"] = gen.PtrOf(JobConfiguration_ScheduleTriggerConfig_STATUSGenerator()) + gens["Secrets"] = gen.SliceOf(Secret_STATUSGenerator()) +} + +func Test_JobConfiguration_ScheduleTriggerConfig_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from JobConfiguration_ScheduleTriggerConfig to JobConfiguration_ScheduleTriggerConfig via AssignProperties_To_JobConfiguration_ScheduleTriggerConfig & AssignProperties_From_JobConfiguration_ScheduleTriggerConfig returns original", + prop.ForAll(RunPropertyAssignmentTestForJobConfiguration_ScheduleTriggerConfig, JobConfiguration_ScheduleTriggerConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForJobConfiguration_ScheduleTriggerConfig tests if a specific instance of JobConfiguration_ScheduleTriggerConfig can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForJobConfiguration_ScheduleTriggerConfig(subject JobConfiguration_ScheduleTriggerConfig) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.JobConfiguration_ScheduleTriggerConfig + err := copied.AssignProperties_To_JobConfiguration_ScheduleTriggerConfig(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual JobConfiguration_ScheduleTriggerConfig + err = actual.AssignProperties_From_JobConfiguration_ScheduleTriggerConfig(&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_JobConfiguration_ScheduleTriggerConfig_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 JobConfiguration_ScheduleTriggerConfig via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobConfiguration_ScheduleTriggerConfig, JobConfiguration_ScheduleTriggerConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobConfiguration_ScheduleTriggerConfig runs a test to see if a specific instance of JobConfiguration_ScheduleTriggerConfig round trips to JSON and back losslessly +func RunJSONSerializationTestForJobConfiguration_ScheduleTriggerConfig(subject JobConfiguration_ScheduleTriggerConfig) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobConfiguration_ScheduleTriggerConfig + 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 JobConfiguration_ScheduleTriggerConfig instances for property testing - lazily instantiated by +// JobConfiguration_ScheduleTriggerConfigGenerator() +var jobConfiguration_ScheduleTriggerConfigGenerator gopter.Gen + +// JobConfiguration_ScheduleTriggerConfigGenerator returns a generator of JobConfiguration_ScheduleTriggerConfig instances for property testing. +func JobConfiguration_ScheduleTriggerConfigGenerator() gopter.Gen { + if jobConfiguration_ScheduleTriggerConfigGenerator != nil { + return jobConfiguration_ScheduleTriggerConfigGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration_ScheduleTriggerConfig(generators) + jobConfiguration_ScheduleTriggerConfigGenerator = gen.Struct(reflect.TypeOf(JobConfiguration_ScheduleTriggerConfig{}), generators) + + return jobConfiguration_ScheduleTriggerConfigGenerator +} + +// AddIndependentPropertyGeneratorsForJobConfiguration_ScheduleTriggerConfig is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobConfiguration_ScheduleTriggerConfig(gens map[string]gopter.Gen) { + gens["CronExpression"] = gen.PtrOf(gen.AlphaString()) + gens["Parallelism"] = gen.PtrOf(gen.Int()) + gens["ReplicaCompletionCount"] = gen.PtrOf(gen.Int()) +} + +func Test_JobConfiguration_ScheduleTriggerConfig_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from JobConfiguration_ScheduleTriggerConfig_STATUS to JobConfiguration_ScheduleTriggerConfig_STATUS via AssignProperties_To_JobConfiguration_ScheduleTriggerConfig_STATUS & AssignProperties_From_JobConfiguration_ScheduleTriggerConfig_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForJobConfiguration_ScheduleTriggerConfig_STATUS, JobConfiguration_ScheduleTriggerConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForJobConfiguration_ScheduleTriggerConfig_STATUS tests if a specific instance of JobConfiguration_ScheduleTriggerConfig_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForJobConfiguration_ScheduleTriggerConfig_STATUS(subject JobConfiguration_ScheduleTriggerConfig_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 storage.JobConfiguration_ScheduleTriggerConfig_STATUS + err := copied.AssignProperties_To_JobConfiguration_ScheduleTriggerConfig_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual JobConfiguration_ScheduleTriggerConfig_STATUS + err = actual.AssignProperties_From_JobConfiguration_ScheduleTriggerConfig_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_JobConfiguration_ScheduleTriggerConfig_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 JobConfiguration_ScheduleTriggerConfig_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobConfiguration_ScheduleTriggerConfig_STATUS, JobConfiguration_ScheduleTriggerConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobConfiguration_ScheduleTriggerConfig_STATUS runs a test to see if a specific instance of JobConfiguration_ScheduleTriggerConfig_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForJobConfiguration_ScheduleTriggerConfig_STATUS(subject JobConfiguration_ScheduleTriggerConfig_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobConfiguration_ScheduleTriggerConfig_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 JobConfiguration_ScheduleTriggerConfig_STATUS instances for property testing - lazily instantiated by +// JobConfiguration_ScheduleTriggerConfig_STATUSGenerator() +var jobConfiguration_ScheduleTriggerConfig_STATUSGenerator gopter.Gen + +// JobConfiguration_ScheduleTriggerConfig_STATUSGenerator returns a generator of JobConfiguration_ScheduleTriggerConfig_STATUS instances for property testing. +func JobConfiguration_ScheduleTriggerConfig_STATUSGenerator() gopter.Gen { + if jobConfiguration_ScheduleTriggerConfig_STATUSGenerator != nil { + return jobConfiguration_ScheduleTriggerConfig_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration_ScheduleTriggerConfig_STATUS(generators) + jobConfiguration_ScheduleTriggerConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(JobConfiguration_ScheduleTriggerConfig_STATUS{}), generators) + + return jobConfiguration_ScheduleTriggerConfig_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForJobConfiguration_ScheduleTriggerConfig_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobConfiguration_ScheduleTriggerConfig_STATUS(gens map[string]gopter.Gen) { + gens["CronExpression"] = gen.PtrOf(gen.AlphaString()) + gens["Parallelism"] = gen.PtrOf(gen.Int()) + gens["ReplicaCompletionCount"] = gen.PtrOf(gen.Int()) +} + +func Test_JobOperatorSpec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from JobOperatorSpec to JobOperatorSpec via AssignProperties_To_JobOperatorSpec & AssignProperties_From_JobOperatorSpec returns original", + prop.ForAll(RunPropertyAssignmentTestForJobOperatorSpec, JobOperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForJobOperatorSpec tests if a specific instance of JobOperatorSpec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForJobOperatorSpec(subject JobOperatorSpec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.JobOperatorSpec + err := copied.AssignProperties_To_JobOperatorSpec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual JobOperatorSpec + err = actual.AssignProperties_From_JobOperatorSpec(&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_JobOperatorSpec_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 JobOperatorSpec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobOperatorSpec, JobOperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobOperatorSpec runs a test to see if a specific instance of JobOperatorSpec round trips to JSON and back losslessly +func RunJSONSerializationTestForJobOperatorSpec(subject JobOperatorSpec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobOperatorSpec + 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 JobOperatorSpec instances for property testing - lazily instantiated by JobOperatorSpecGenerator() +var jobOperatorSpecGenerator gopter.Gen + +// JobOperatorSpecGenerator returns a generator of JobOperatorSpec instances for property testing. +func JobOperatorSpecGenerator() gopter.Gen { + if jobOperatorSpecGenerator != nil { + return jobOperatorSpecGenerator + } + + generators := make(map[string]gopter.Gen) + jobOperatorSpecGenerator = gen.Struct(reflect.TypeOf(JobOperatorSpec{}), generators) + + return jobOperatorSpecGenerator +} + +func Test_JobScale_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from JobScale to JobScale via AssignProperties_To_JobScale & AssignProperties_From_JobScale returns original", + prop.ForAll(RunPropertyAssignmentTestForJobScale, JobScaleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForJobScale tests if a specific instance of JobScale can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForJobScale(subject JobScale) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.JobScale + err := copied.AssignProperties_To_JobScale(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual JobScale + err = actual.AssignProperties_From_JobScale(&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_JobScale_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 JobScale via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobScale, JobScaleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobScale runs a test to see if a specific instance of JobScale round trips to JSON and back losslessly +func RunJSONSerializationTestForJobScale(subject JobScale) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobScale + 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 JobScale instances for property testing - lazily instantiated by JobScaleGenerator() +var jobScaleGenerator gopter.Gen + +// JobScaleGenerator returns a generator of JobScale instances for property testing. +// We first initialize jobScaleGenerator 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 JobScaleGenerator() gopter.Gen { + if jobScaleGenerator != nil { + return jobScaleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobScale(generators) + jobScaleGenerator = gen.Struct(reflect.TypeOf(JobScale{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobScale(generators) + AddRelatedPropertyGeneratorsForJobScale(generators) + jobScaleGenerator = gen.Struct(reflect.TypeOf(JobScale{}), generators) + + return jobScaleGenerator +} + +// AddIndependentPropertyGeneratorsForJobScale is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobScale(gens map[string]gopter.Gen) { + gens["MaxExecutions"] = gen.PtrOf(gen.Int()) + gens["MinExecutions"] = gen.PtrOf(gen.Int()) + gens["PollingInterval"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForJobScale is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJobScale(gens map[string]gopter.Gen) { + gens["Rules"] = gen.SliceOf(JobScaleRuleGenerator()) +} + +func Test_JobScaleRule_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from JobScaleRule to JobScaleRule via AssignProperties_To_JobScaleRule & AssignProperties_From_JobScaleRule returns original", + prop.ForAll(RunPropertyAssignmentTestForJobScaleRule, JobScaleRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForJobScaleRule tests if a specific instance of JobScaleRule can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForJobScaleRule(subject JobScaleRule) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.JobScaleRule + err := copied.AssignProperties_To_JobScaleRule(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual JobScaleRule + err = actual.AssignProperties_From_JobScaleRule(&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_JobScaleRule_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 JobScaleRule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobScaleRule, JobScaleRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobScaleRule runs a test to see if a specific instance of JobScaleRule round trips to JSON and back losslessly +func RunJSONSerializationTestForJobScaleRule(subject JobScaleRule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobScaleRule + 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 JobScaleRule instances for property testing - lazily instantiated by JobScaleRuleGenerator() +var jobScaleRuleGenerator gopter.Gen + +// JobScaleRuleGenerator returns a generator of JobScaleRule instances for property testing. +// We first initialize jobScaleRuleGenerator 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 JobScaleRuleGenerator() gopter.Gen { + if jobScaleRuleGenerator != nil { + return jobScaleRuleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobScaleRule(generators) + jobScaleRuleGenerator = gen.Struct(reflect.TypeOf(JobScaleRule{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobScaleRule(generators) + AddRelatedPropertyGeneratorsForJobScaleRule(generators) + jobScaleRuleGenerator = gen.Struct(reflect.TypeOf(JobScaleRule{}), generators) + + return jobScaleRuleGenerator +} + +// AddIndependentPropertyGeneratorsForJobScaleRule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobScaleRule(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForJobScaleRule is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJobScaleRule(gens map[string]gopter.Gen) { + gens["Auth"] = gen.SliceOf(ScaleRuleAuthGenerator()) +} + +func Test_JobScaleRule_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from JobScaleRule_STATUS to JobScaleRule_STATUS via AssignProperties_To_JobScaleRule_STATUS & AssignProperties_From_JobScaleRule_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForJobScaleRule_STATUS, JobScaleRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForJobScaleRule_STATUS tests if a specific instance of JobScaleRule_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForJobScaleRule_STATUS(subject JobScaleRule_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 storage.JobScaleRule_STATUS + err := copied.AssignProperties_To_JobScaleRule_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual JobScaleRule_STATUS + err = actual.AssignProperties_From_JobScaleRule_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_JobScaleRule_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 JobScaleRule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobScaleRule_STATUS, JobScaleRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobScaleRule_STATUS runs a test to see if a specific instance of JobScaleRule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForJobScaleRule_STATUS(subject JobScaleRule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobScaleRule_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 JobScaleRule_STATUS instances for property testing - lazily instantiated by +// JobScaleRule_STATUSGenerator() +var jobScaleRule_STATUSGenerator gopter.Gen + +// JobScaleRule_STATUSGenerator returns a generator of JobScaleRule_STATUS instances for property testing. +// We first initialize jobScaleRule_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 JobScaleRule_STATUSGenerator() gopter.Gen { + if jobScaleRule_STATUSGenerator != nil { + return jobScaleRule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobScaleRule_STATUS(generators) + jobScaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(JobScaleRule_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobScaleRule_STATUS(generators) + AddRelatedPropertyGeneratorsForJobScaleRule_STATUS(generators) + jobScaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(JobScaleRule_STATUS{}), generators) + + return jobScaleRule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForJobScaleRule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForJobScaleRule_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJobScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["Auth"] = gen.SliceOf(ScaleRuleAuth_STATUSGenerator()) +} + +func Test_JobScale_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from JobScale_STATUS to JobScale_STATUS via AssignProperties_To_JobScale_STATUS & AssignProperties_From_JobScale_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForJobScale_STATUS, JobScale_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForJobScale_STATUS tests if a specific instance of JobScale_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForJobScale_STATUS(subject JobScale_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 storage.JobScale_STATUS + err := copied.AssignProperties_To_JobScale_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual JobScale_STATUS + err = actual.AssignProperties_From_JobScale_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_JobScale_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 JobScale_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobScale_STATUS, JobScale_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobScale_STATUS runs a test to see if a specific instance of JobScale_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForJobScale_STATUS(subject JobScale_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobScale_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 JobScale_STATUS instances for property testing - lazily instantiated by JobScale_STATUSGenerator() +var jobScale_STATUSGenerator gopter.Gen + +// JobScale_STATUSGenerator returns a generator of JobScale_STATUS instances for property testing. +// We first initialize jobScale_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 JobScale_STATUSGenerator() gopter.Gen { + if jobScale_STATUSGenerator != nil { + return jobScale_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobScale_STATUS(generators) + jobScale_STATUSGenerator = gen.Struct(reflect.TypeOf(JobScale_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobScale_STATUS(generators) + AddRelatedPropertyGeneratorsForJobScale_STATUS(generators) + jobScale_STATUSGenerator = gen.Struct(reflect.TypeOf(JobScale_STATUS{}), generators) + + return jobScale_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForJobScale_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobScale_STATUS(gens map[string]gopter.Gen) { + gens["MaxExecutions"] = gen.PtrOf(gen.Int()) + gens["MinExecutions"] = gen.PtrOf(gen.Int()) + gens["PollingInterval"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForJobScale_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJobScale_STATUS(gens map[string]gopter.Gen) { + gens["Rules"] = gen.SliceOf(JobScaleRule_STATUSGenerator()) +} + +func Test_JobTemplate_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from JobTemplate to JobTemplate via AssignProperties_To_JobTemplate & AssignProperties_From_JobTemplate returns original", + prop.ForAll(RunPropertyAssignmentTestForJobTemplate, JobTemplateGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForJobTemplate tests if a specific instance of JobTemplate can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForJobTemplate(subject JobTemplate) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.JobTemplate + err := copied.AssignProperties_To_JobTemplate(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual JobTemplate + err = actual.AssignProperties_From_JobTemplate(&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_JobTemplate_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 JobTemplate via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobTemplate, JobTemplateGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobTemplate runs a test to see if a specific instance of JobTemplate round trips to JSON and back losslessly +func RunJSONSerializationTestForJobTemplate(subject JobTemplate) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobTemplate + 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 JobTemplate instances for property testing - lazily instantiated by JobTemplateGenerator() +var jobTemplateGenerator gopter.Gen + +// JobTemplateGenerator returns a generator of JobTemplate instances for property testing. +func JobTemplateGenerator() gopter.Gen { + if jobTemplateGenerator != nil { + return jobTemplateGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForJobTemplate(generators) + jobTemplateGenerator = gen.Struct(reflect.TypeOf(JobTemplate{}), generators) + + return jobTemplateGenerator +} + +// AddRelatedPropertyGeneratorsForJobTemplate is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJobTemplate(gens map[string]gopter.Gen) { + gens["Containers"] = gen.SliceOf(ContainerGenerator()) + gens["InitContainers"] = gen.SliceOf(BaseContainerGenerator()) + gens["Volumes"] = gen.SliceOf(VolumeGenerator()) +} + +func Test_JobTemplate_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from JobTemplate_STATUS to JobTemplate_STATUS via AssignProperties_To_JobTemplate_STATUS & AssignProperties_From_JobTemplate_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForJobTemplate_STATUS, JobTemplate_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForJobTemplate_STATUS tests if a specific instance of JobTemplate_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForJobTemplate_STATUS(subject JobTemplate_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 storage.JobTemplate_STATUS + err := copied.AssignProperties_To_JobTemplate_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual JobTemplate_STATUS + err = actual.AssignProperties_From_JobTemplate_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_JobTemplate_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 JobTemplate_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobTemplate_STATUS, JobTemplate_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobTemplate_STATUS runs a test to see if a specific instance of JobTemplate_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForJobTemplate_STATUS(subject JobTemplate_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobTemplate_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 JobTemplate_STATUS instances for property testing - lazily instantiated by JobTemplate_STATUSGenerator() +var jobTemplate_STATUSGenerator gopter.Gen + +// JobTemplate_STATUSGenerator returns a generator of JobTemplate_STATUS instances for property testing. +func JobTemplate_STATUSGenerator() gopter.Gen { + if jobTemplate_STATUSGenerator != nil { + return jobTemplate_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForJobTemplate_STATUS(generators) + jobTemplate_STATUSGenerator = gen.Struct(reflect.TypeOf(JobTemplate_STATUS{}), generators) + + return jobTemplate_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForJobTemplate_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJobTemplate_STATUS(gens map[string]gopter.Gen) { + gens["Containers"] = gen.SliceOf(Container_STATUSGenerator()) + gens["InitContainers"] = gen.SliceOf(BaseContainer_STATUSGenerator()) + gens["Volumes"] = gen.SliceOf(Volume_STATUSGenerator()) +} + +func Test_Job_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Job_STATUS to Job_STATUS via AssignProperties_To_Job_STATUS & AssignProperties_From_Job_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForJob_STATUS, Job_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForJob_STATUS tests if a specific instance of Job_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForJob_STATUS(subject Job_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 storage.Job_STATUS + err := copied.AssignProperties_To_Job_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Job_STATUS + err = actual.AssignProperties_From_Job_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_Job_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 Job_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJob_STATUS, Job_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJob_STATUS runs a test to see if a specific instance of Job_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForJob_STATUS(subject Job_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Job_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 Job_STATUS instances for property testing - lazily instantiated by Job_STATUSGenerator() +var job_STATUSGenerator gopter.Gen + +// Job_STATUSGenerator returns a generator of Job_STATUS instances for property testing. +// We first initialize job_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 Job_STATUSGenerator() gopter.Gen { + if job_STATUSGenerator != nil { + return job_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJob_STATUS(generators) + job_STATUSGenerator = gen.Struct(reflect.TypeOf(Job_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJob_STATUS(generators) + AddRelatedPropertyGeneratorsForJob_STATUS(generators) + job_STATUSGenerator = gen.Struct(reflect.TypeOf(Job_STATUS{}), generators) + + return job_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForJob_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJob_STATUS(gens map[string]gopter.Gen) { + gens["EnvironmentId"] = gen.PtrOf(gen.AlphaString()) + gens["EventStreamEndpoint"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["OutboundIpAddresses"] = gen.SliceOf(gen.AlphaString()) + gens["ProvisioningState"] = gen.PtrOf(gen.OneConstOf( + Job_Properties_ProvisioningState_STATUS_Canceled, + Job_Properties_ProvisioningState_STATUS_Deleting, + Job_Properties_ProvisioningState_STATUS_Failed, + Job_Properties_ProvisioningState_STATUS_InProgress, + Job_Properties_ProvisioningState_STATUS_Succeeded)) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) + gens["WorkloadProfileName"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForJob_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJob_STATUS(gens map[string]gopter.Gen) { + gens["Configuration"] = gen.PtrOf(JobConfiguration_STATUSGenerator()) + gens["Identity"] = gen.PtrOf(ManagedServiceIdentity_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) + gens["Template"] = gen.PtrOf(JobTemplate_STATUSGenerator()) +} + +func Test_Job_Spec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Job_Spec to Job_Spec via AssignProperties_To_Job_Spec & AssignProperties_From_Job_Spec returns original", + prop.ForAll(RunPropertyAssignmentTestForJob_Spec, Job_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForJob_Spec tests if a specific instance of Job_Spec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForJob_Spec(subject Job_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 storage.Job_Spec + err := copied.AssignProperties_To_Job_Spec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Job_Spec + err = actual.AssignProperties_From_Job_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_Job_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 Job_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJob_Spec, Job_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJob_Spec runs a test to see if a specific instance of Job_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForJob_Spec(subject Job_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Job_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 Job_Spec instances for property testing - lazily instantiated by Job_SpecGenerator() +var job_SpecGenerator gopter.Gen + +// Job_SpecGenerator returns a generator of Job_Spec instances for property testing. +// We first initialize job_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 Job_SpecGenerator() gopter.Gen { + if job_SpecGenerator != nil { + return job_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJob_Spec(generators) + job_SpecGenerator = gen.Struct(reflect.TypeOf(Job_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJob_Spec(generators) + AddRelatedPropertyGeneratorsForJob_Spec(generators) + job_SpecGenerator = gen.Struct(reflect.TypeOf(Job_Spec{}), generators) + + return job_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForJob_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJob_Spec(gens map[string]gopter.Gen) { + gens["AzureName"] = gen.AlphaString() + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["WorkloadProfileName"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForJob_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJob_Spec(gens map[string]gopter.Gen) { + gens["Configuration"] = gen.PtrOf(JobConfigurationGenerator()) + gens["Identity"] = gen.PtrOf(ManagedServiceIdentityGenerator()) + gens["OperatorSpec"] = gen.PtrOf(JobOperatorSpecGenerator()) + gens["Template"] = gen.PtrOf(JobTemplateGenerator()) +} diff --git a/v2/api/app/v1api20240301/managed_environment_types_gen.go b/v2/api/app/v1api20240301/managed_environment_types_gen.go new file mode 100644 index 00000000000..7633e9349d9 --- /dev/null +++ b/v2/api/app/v1api20240301/managed_environment_types_gen.go @@ -0,0 +1,4179 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20240301 + +import ( + "fmt" + arm "github.com/Azure/azure-service-operator/v2/api/app/v1api20240301/arm" + storage "github.com/Azure/azure-service-operator/v2/api/app/v1api20240301/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/Azure/azure-service-operator/v2/pkg/genruntime/configmaps" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/core" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/secrets" + "github.com/rotisserie/eris" + 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: /app/resource-manager/Microsoft.App/stable/2024-03-01/ManagedEnvironments.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName} +type ManagedEnvironment struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ManagedEnvironment_Spec `json:"spec,omitempty"` + Status ManagedEnvironment_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &ManagedEnvironment{} + +// GetConditions returns the conditions of the resource +func (environment *ManagedEnvironment) GetConditions() conditions.Conditions { + return environment.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (environment *ManagedEnvironment) SetConditions(conditions conditions.Conditions) { + environment.Status.Conditions = conditions +} + +var _ conversion.Convertible = &ManagedEnvironment{} + +// ConvertFrom populates our ManagedEnvironment from the provided hub ManagedEnvironment +func (environment *ManagedEnvironment) ConvertFrom(hub conversion.Hub) error { + source, ok := hub.(*storage.ManagedEnvironment) + if !ok { + return fmt.Errorf("expected app/v1api20240301/storage/ManagedEnvironment but received %T instead", hub) + } + + return environment.AssignProperties_From_ManagedEnvironment(source) +} + +// ConvertTo populates the provided hub ManagedEnvironment from our ManagedEnvironment +func (environment *ManagedEnvironment) ConvertTo(hub conversion.Hub) error { + destination, ok := hub.(*storage.ManagedEnvironment) + if !ok { + return fmt.Errorf("expected app/v1api20240301/storage/ManagedEnvironment but received %T instead", hub) + } + + return environment.AssignProperties_To_ManagedEnvironment(destination) +} + +// +kubebuilder:webhook:path=/mutate-app-azure-com-v1api20240301-managedenvironment,mutating=true,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=app.azure.com,resources=managedenvironments,verbs=create;update,versions=v1api20240301,name=default.v1api20240301.managedenvironments.app.azure.com,admissionReviewVersions=v1 + +var _ admission.Defaulter = &ManagedEnvironment{} + +// Default applies defaults to the ManagedEnvironment resource +func (environment *ManagedEnvironment) Default() { + environment.defaultImpl() + var temp any = environment + if runtimeDefaulter, ok := temp.(genruntime.Defaulter); ok { + runtimeDefaulter.CustomDefault() + } +} + +// defaultAzureName defaults the Azure name of the resource to the Kubernetes name +func (environment *ManagedEnvironment) defaultAzureName() { + if environment.Spec.AzureName == "" { + environment.Spec.AzureName = environment.Name + } +} + +// defaultImpl applies the code generated defaults to the ManagedEnvironment resource +func (environment *ManagedEnvironment) defaultImpl() { environment.defaultAzureName() } + +var _ configmaps.Exporter = &ManagedEnvironment{} + +// ConfigMapDestinationExpressions returns the Spec.OperatorSpec.ConfigMapExpressions property +func (environment *ManagedEnvironment) ConfigMapDestinationExpressions() []*core.DestinationExpression { + if environment.Spec.OperatorSpec == nil { + return nil + } + return environment.Spec.OperatorSpec.ConfigMapExpressions +} + +var _ secrets.Exporter = &ManagedEnvironment{} + +// SecretDestinationExpressions returns the Spec.OperatorSpec.SecretExpressions property +func (environment *ManagedEnvironment) SecretDestinationExpressions() []*core.DestinationExpression { + if environment.Spec.OperatorSpec == nil { + return nil + } + return environment.Spec.OperatorSpec.SecretExpressions +} + +var _ genruntime.ImportableResource = &ManagedEnvironment{} + +// InitializeSpec initializes the spec for this resource from the given status +func (environment *ManagedEnvironment) InitializeSpec(status genruntime.ConvertibleStatus) error { + if s, ok := status.(*ManagedEnvironment_STATUS); ok { + return environment.Spec.Initialize_From_ManagedEnvironment_STATUS(s) + } + + return fmt.Errorf("expected Status of type ManagedEnvironment_STATUS but received %T instead", status) +} + +var _ genruntime.KubernetesResource = &ManagedEnvironment{} + +// AzureName returns the Azure name of the resource +func (environment *ManagedEnvironment) AzureName() string { + return environment.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-03-01" +func (environment ManagedEnvironment) GetAPIVersion() string { + return "2024-03-01" +} + +// GetResourceScope returns the scope of the resource +func (environment *ManagedEnvironment) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (environment *ManagedEnvironment) GetSpec() genruntime.ConvertibleSpec { + return &environment.Spec +} + +// GetStatus returns the status of this resource +func (environment *ManagedEnvironment) GetStatus() genruntime.ConvertibleStatus { + return &environment.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (environment *ManagedEnvironment) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.App/managedEnvironments" +func (environment *ManagedEnvironment) GetType() string { + return "Microsoft.App/managedEnvironments" +} + +// NewEmptyStatus returns a new empty (blank) status +func (environment *ManagedEnvironment) NewEmptyStatus() genruntime.ConvertibleStatus { + return &ManagedEnvironment_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (environment *ManagedEnvironment) Owner() *genruntime.ResourceReference { + if environment.Spec.Owner == nil { + return nil + } + + group, kind := genruntime.LookupOwnerGroupKind(environment.Spec) + return environment.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (environment *ManagedEnvironment) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*ManagedEnvironment_STATUS); ok { + environment.Status = *st + return nil + } + + // Convert status to required version + var st ManagedEnvironment_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return eris.Wrap(err, "failed to convert status") + } + + environment.Status = st + return nil +} + +// +kubebuilder:webhook:path=/validate-app-azure-com-v1api20240301-managedenvironment,mutating=false,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=app.azure.com,resources=managedenvironments,verbs=create;update,versions=v1api20240301,name=validate.v1api20240301.managedenvironments.app.azure.com,admissionReviewVersions=v1 + +var _ admission.Validator = &ManagedEnvironment{} + +// ValidateCreate validates the creation of the resource +func (environment *ManagedEnvironment) ValidateCreate() (admission.Warnings, error) { + validations := environment.createValidations() + var temp any = environment + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.CreateValidations()...) + } + return genruntime.ValidateCreate(validations) +} + +// ValidateDelete validates the deletion of the resource +func (environment *ManagedEnvironment) ValidateDelete() (admission.Warnings, error) { + validations := environment.deleteValidations() + var temp any = environment + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.DeleteValidations()...) + } + return genruntime.ValidateDelete(validations) +} + +// ValidateUpdate validates an update of the resource +func (environment *ManagedEnvironment) ValidateUpdate(old runtime.Object) (admission.Warnings, error) { + validations := environment.updateValidations() + var temp any = environment + 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 (environment *ManagedEnvironment) createValidations() []func() (admission.Warnings, error) { + return []func() (admission.Warnings, error){environment.validateResourceReferences, environment.validateOwnerReference, environment.validateSecretDestinations, environment.validateConfigMapDestinations} +} + +// deleteValidations validates the deletion of the resource +func (environment *ManagedEnvironment) deleteValidations() []func() (admission.Warnings, error) { + return nil +} + +// updateValidations validates the update of the resource +func (environment *ManagedEnvironment) updateValidations() []func(old runtime.Object) (admission.Warnings, error) { + return []func(old runtime.Object) (admission.Warnings, error){ + func(old runtime.Object) (admission.Warnings, error) { + return environment.validateResourceReferences() + }, + environment.validateWriteOnceProperties, + func(old runtime.Object) (admission.Warnings, error) { + return environment.validateOwnerReference() + }, + func(old runtime.Object) (admission.Warnings, error) { + return environment.validateSecretDestinations() + }, + func(old runtime.Object) (admission.Warnings, error) { + return environment.validateConfigMapDestinations() + }, + } +} + +// validateConfigMapDestinations validates there are no colliding genruntime.ConfigMapDestinations +func (environment *ManagedEnvironment) validateConfigMapDestinations() (admission.Warnings, error) { + if environment.Spec.OperatorSpec == nil { + return nil, nil + } + return configmaps.ValidateDestinations(environment, nil, environment.Spec.OperatorSpec.ConfigMapExpressions) +} + +// validateOwnerReference validates the owner field +func (environment *ManagedEnvironment) validateOwnerReference() (admission.Warnings, error) { + return genruntime.ValidateOwner(environment) +} + +// validateResourceReferences validates all resource references +func (environment *ManagedEnvironment) validateResourceReferences() (admission.Warnings, error) { + refs, err := reflecthelpers.FindResourceReferences(&environment.Spec) + if err != nil { + return nil, err + } + return genruntime.ValidateResourceReferences(refs) +} + +// validateSecretDestinations validates there are no colliding genruntime.SecretDestination's +func (environment *ManagedEnvironment) validateSecretDestinations() (admission.Warnings, error) { + if environment.Spec.OperatorSpec == nil { + return nil, nil + } + return secrets.ValidateDestinations(environment, nil, environment.Spec.OperatorSpec.SecretExpressions) +} + +// validateWriteOnceProperties validates all WriteOnce properties +func (environment *ManagedEnvironment) validateWriteOnceProperties(old runtime.Object) (admission.Warnings, error) { + oldObj, ok := old.(*ManagedEnvironment) + if !ok { + return nil, nil + } + + return genruntime.ValidateWriteOnceProperties(oldObj, environment) +} + +// AssignProperties_From_ManagedEnvironment populates our ManagedEnvironment from the provided source ManagedEnvironment +func (environment *ManagedEnvironment) AssignProperties_From_ManagedEnvironment(source *storage.ManagedEnvironment) error { + + // ObjectMeta + environment.ObjectMeta = *source.ObjectMeta.DeepCopy() + + // Spec + var spec ManagedEnvironment_Spec + err := spec.AssignProperties_From_ManagedEnvironment_Spec(&source.Spec) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ManagedEnvironment_Spec() to populate field Spec") + } + environment.Spec = spec + + // Status + var status ManagedEnvironment_STATUS + err = status.AssignProperties_From_ManagedEnvironment_STATUS(&source.Status) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ManagedEnvironment_STATUS() to populate field Status") + } + environment.Status = status + + // No error + return nil +} + +// AssignProperties_To_ManagedEnvironment populates the provided destination ManagedEnvironment from our ManagedEnvironment +func (environment *ManagedEnvironment) AssignProperties_To_ManagedEnvironment(destination *storage.ManagedEnvironment) error { + + // ObjectMeta + destination.ObjectMeta = *environment.ObjectMeta.DeepCopy() + + // Spec + var spec storage.ManagedEnvironment_Spec + err := environment.Spec.AssignProperties_To_ManagedEnvironment_Spec(&spec) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ManagedEnvironment_Spec() to populate field Spec") + } + destination.Spec = spec + + // Status + var status storage.ManagedEnvironment_STATUS + err = environment.Status.AssignProperties_To_ManagedEnvironment_STATUS(&status) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ManagedEnvironment_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 (environment *ManagedEnvironment) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: environment.Spec.OriginalVersion(), + Kind: "ManagedEnvironment", + } +} + +// +kubebuilder:object:root=true +// Generator information: +// - Generated from: /app/resource-manager/Microsoft.App/stable/2024-03-01/ManagedEnvironments.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName} +type ManagedEnvironmentList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ManagedEnvironment `json:"items"` +} + +type ManagedEnvironment_Spec struct { + // AppLogsConfiguration: Cluster configuration which enables the log daemon to export app logs to configured destination. + AppLogsConfiguration *AppLogsConfiguration `json:"appLogsConfiguration,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"` + + // CustomDomainConfiguration: Custom domain configuration for the environment + CustomDomainConfiguration *CustomDomainConfiguration `json:"customDomainConfiguration,omitempty"` + + // DaprAIConnectionString: Application Insights connection string used by Dapr to export Service to Service communication + // telemetry + DaprAIConnectionString *genruntime.SecretReference `json:"daprAIConnectionString,omitempty"` + + // DaprAIInstrumentationKey: Azure Monitor instrumentation key used by Dapr to export Service to Service communication + // telemetry + DaprAIInstrumentationKey *genruntime.SecretReference `json:"daprAIInstrumentationKey,omitempty"` + + // InfrastructureResourceGroup: Name of the platform-managed resource group created for the Managed Environment to host + // infrastructure resources. If a subnet ID is provided, this resource group will be created in the same subscription as + // the subnet. + InfrastructureResourceGroup *string `json:"infrastructureResourceGroup,omitempty"` + + // Kind: Kind of the Environment. + Kind *string `json:"kind,omitempty"` + + // +kubebuilder:validation:Required + // Location: The geo-location where the resource lives + Location *string `json:"location,omitempty"` + + // OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + // passed directly to Azure + OperatorSpec *ManagedEnvironmentOperatorSpec `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"` + + // PeerAuthentication: Peer authentication settings for the Managed Environment + PeerAuthentication *ManagedEnvironment_Properties_PeerAuthentication_Spec `json:"peerAuthentication,omitempty"` + + // PeerTrafficConfiguration: Peer traffic settings for the Managed Environment + PeerTrafficConfiguration *ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec `json:"peerTrafficConfiguration,omitempty"` + + // Tags: Resource tags. + Tags map[string]string `json:"tags,omitempty"` + + // VnetConfiguration: Vnet configuration for the environment + VnetConfiguration *VnetConfiguration `json:"vnetConfiguration,omitempty"` + + // WorkloadProfiles: Workload profiles configured for the Managed Environment. + WorkloadProfiles []WorkloadProfile `json:"workloadProfiles,omitempty"` + + // ZoneRedundant: Whether or not this Managed Environment is zone-redundant. + ZoneRedundant *bool `json:"zoneRedundant,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedEnvironment_Spec{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (environment *ManagedEnvironment_Spec) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if environment == nil { + return nil, nil + } + result := &arm.ManagedEnvironment_Spec{} + + // Set property "Kind": + if environment.Kind != nil { + kind := *environment.Kind + result.Kind = &kind + } + + // Set property "Location": + if environment.Location != nil { + location := *environment.Location + result.Location = &location + } + + // Set property "Name": + result.Name = resolved.Name + + // Set property "Properties": + if environment.AppLogsConfiguration != nil || + environment.CustomDomainConfiguration != nil || + environment.DaprAIConnectionString != nil || + environment.DaprAIInstrumentationKey != nil || + environment.InfrastructureResourceGroup != nil || + environment.PeerAuthentication != nil || + environment.PeerTrafficConfiguration != nil || + environment.VnetConfiguration != nil || + environment.WorkloadProfiles != nil || + environment.ZoneRedundant != nil { + result.Properties = &arm.ManagedEnvironment_Properties_Spec{} + } + if environment.AppLogsConfiguration != nil { + appLogsConfiguration_ARM, err := (*environment.AppLogsConfiguration).ConvertToARM(resolved) + if err != nil { + return nil, err + } + appLogsConfiguration := *appLogsConfiguration_ARM.(*arm.AppLogsConfiguration) + result.Properties.AppLogsConfiguration = &appLogsConfiguration + } + if environment.CustomDomainConfiguration != nil { + customDomainConfiguration_ARM, err := (*environment.CustomDomainConfiguration).ConvertToARM(resolved) + if err != nil { + return nil, err + } + customDomainConfiguration := *customDomainConfiguration_ARM.(*arm.CustomDomainConfiguration) + result.Properties.CustomDomainConfiguration = &customDomainConfiguration + } + if environment.DaprAIConnectionString != nil { + daprAIConnectionStringSecret, err := resolved.ResolvedSecrets.Lookup(*environment.DaprAIConnectionString) + if err != nil { + return nil, eris.Wrap(err, "looking up secret for property DaprAIConnectionString") + } + daprAIConnectionString := daprAIConnectionStringSecret + result.Properties.DaprAIConnectionString = &daprAIConnectionString + } + if environment.DaprAIInstrumentationKey != nil { + daprAIInstrumentationKeySecret, err := resolved.ResolvedSecrets.Lookup(*environment.DaprAIInstrumentationKey) + if err != nil { + return nil, eris.Wrap(err, "looking up secret for property DaprAIInstrumentationKey") + } + daprAIInstrumentationKey := daprAIInstrumentationKeySecret + result.Properties.DaprAIInstrumentationKey = &daprAIInstrumentationKey + } + if environment.InfrastructureResourceGroup != nil { + infrastructureResourceGroup := *environment.InfrastructureResourceGroup + result.Properties.InfrastructureResourceGroup = &infrastructureResourceGroup + } + if environment.PeerAuthentication != nil { + peerAuthentication_ARM, err := (*environment.PeerAuthentication).ConvertToARM(resolved) + if err != nil { + return nil, err + } + peerAuthentication := *peerAuthentication_ARM.(*arm.ManagedEnvironment_Properties_PeerAuthentication_Spec) + result.Properties.PeerAuthentication = &peerAuthentication + } + if environment.PeerTrafficConfiguration != nil { + peerTrafficConfiguration_ARM, err := (*environment.PeerTrafficConfiguration).ConvertToARM(resolved) + if err != nil { + return nil, err + } + peerTrafficConfiguration := *peerTrafficConfiguration_ARM.(*arm.ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec) + result.Properties.PeerTrafficConfiguration = &peerTrafficConfiguration + } + if environment.VnetConfiguration != nil { + vnetConfiguration_ARM, err := (*environment.VnetConfiguration).ConvertToARM(resolved) + if err != nil { + return nil, err + } + vnetConfiguration := *vnetConfiguration_ARM.(*arm.VnetConfiguration) + result.Properties.VnetConfiguration = &vnetConfiguration + } + for _, item := range environment.WorkloadProfiles { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Properties.WorkloadProfiles = append(result.Properties.WorkloadProfiles, *item_ARM.(*arm.WorkloadProfile)) + } + if environment.ZoneRedundant != nil { + zoneRedundant := *environment.ZoneRedundant + result.Properties.ZoneRedundant = &zoneRedundant + } + + // Set property "Tags": + if environment.Tags != nil { + result.Tags = make(map[string]string, len(environment.Tags)) + for key, value := range environment.Tags { + result.Tags[key] = value + } + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (environment *ManagedEnvironment_Spec) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedEnvironment_Spec{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (environment *ManagedEnvironment_Spec) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedEnvironment_Spec) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedEnvironment_Spec, got %T", armInput) + } + + // Set property "AppLogsConfiguration": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.AppLogsConfiguration != nil { + var appLogsConfiguration1 AppLogsConfiguration + err := appLogsConfiguration1.PopulateFromARM(owner, *typedInput.Properties.AppLogsConfiguration) + if err != nil { + return err + } + appLogsConfiguration := appLogsConfiguration1 + environment.AppLogsConfiguration = &appLogsConfiguration + } + } + + // Set property "AzureName": + environment.SetAzureName(genruntime.ExtractKubernetesResourceNameFromARMName(typedInput.Name)) + + // Set property "CustomDomainConfiguration": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.CustomDomainConfiguration != nil { + var customDomainConfiguration1 CustomDomainConfiguration + err := customDomainConfiguration1.PopulateFromARM(owner, *typedInput.Properties.CustomDomainConfiguration) + if err != nil { + return err + } + customDomainConfiguration := customDomainConfiguration1 + environment.CustomDomainConfiguration = &customDomainConfiguration + } + } + + // no assignment for property "DaprAIConnectionString" + + // no assignment for property "DaprAIInstrumentationKey" + + // Set property "InfrastructureResourceGroup": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.InfrastructureResourceGroup != nil { + infrastructureResourceGroup := *typedInput.Properties.InfrastructureResourceGroup + environment.InfrastructureResourceGroup = &infrastructureResourceGroup + } + } + + // Set property "Kind": + if typedInput.Kind != nil { + kind := *typedInput.Kind + environment.Kind = &kind + } + + // Set property "Location": + if typedInput.Location != nil { + location := *typedInput.Location + environment.Location = &location + } + + // no assignment for property "OperatorSpec" + + // Set property "Owner": + environment.Owner = &genruntime.KnownResourceReference{ + Name: owner.Name, + ARMID: owner.ARMID, + } + + // Set property "PeerAuthentication": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.PeerAuthentication != nil { + var peerAuthentication1 ManagedEnvironment_Properties_PeerAuthentication_Spec + err := peerAuthentication1.PopulateFromARM(owner, *typedInput.Properties.PeerAuthentication) + if err != nil { + return err + } + peerAuthentication := peerAuthentication1 + environment.PeerAuthentication = &peerAuthentication + } + } + + // Set property "PeerTrafficConfiguration": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.PeerTrafficConfiguration != nil { + var peerTrafficConfiguration1 ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec + err := peerTrafficConfiguration1.PopulateFromARM(owner, *typedInput.Properties.PeerTrafficConfiguration) + if err != nil { + return err + } + peerTrafficConfiguration := peerTrafficConfiguration1 + environment.PeerTrafficConfiguration = &peerTrafficConfiguration + } + } + + // Set property "Tags": + if typedInput.Tags != nil { + environment.Tags = make(map[string]string, len(typedInput.Tags)) + for key, value := range typedInput.Tags { + environment.Tags[key] = value + } + } + + // Set property "VnetConfiguration": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.VnetConfiguration != nil { + var vnetConfiguration1 VnetConfiguration + err := vnetConfiguration1.PopulateFromARM(owner, *typedInput.Properties.VnetConfiguration) + if err != nil { + return err + } + vnetConfiguration := vnetConfiguration1 + environment.VnetConfiguration = &vnetConfiguration + } + } + + // Set property "WorkloadProfiles": + // copying flattened property: + if typedInput.Properties != nil { + for _, item := range typedInput.Properties.WorkloadProfiles { + var item1 WorkloadProfile + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + environment.WorkloadProfiles = append(environment.WorkloadProfiles, item1) + } + } + + // Set property "ZoneRedundant": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ZoneRedundant != nil { + zoneRedundant := *typedInput.Properties.ZoneRedundant + environment.ZoneRedundant = &zoneRedundant + } + } + + // No error + return nil +} + +var _ genruntime.ConvertibleSpec = &ManagedEnvironment_Spec{} + +// ConvertSpecFrom populates our ManagedEnvironment_Spec from the provided source +func (environment *ManagedEnvironment_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + src, ok := source.(*storage.ManagedEnvironment_Spec) + if ok { + // Populate our instance from source + return environment.AssignProperties_From_ManagedEnvironment_Spec(src) + } + + // Convert to an intermediate form + src = &storage.ManagedEnvironment_Spec{} + err := src.ConvertSpecFrom(source) + if err != nil { + return eris.Wrap(err, "initial step of conversion in ConvertSpecFrom()") + } + + // Update our instance from src + err = environment.AssignProperties_From_ManagedEnvironment_Spec(src) + if err != nil { + return eris.Wrap(err, "final step of conversion in ConvertSpecFrom()") + } + + return nil +} + +// ConvertSpecTo populates the provided destination from our ManagedEnvironment_Spec +func (environment *ManagedEnvironment_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + dst, ok := destination.(*storage.ManagedEnvironment_Spec) + if ok { + // Populate destination from our instance + return environment.AssignProperties_To_ManagedEnvironment_Spec(dst) + } + + // Convert to an intermediate form + dst = &storage.ManagedEnvironment_Spec{} + err := environment.AssignProperties_To_ManagedEnvironment_Spec(dst) + if err != nil { + return eris.Wrap(err, "initial step of conversion in ConvertSpecTo()") + } + + // Update dst from our instance + err = dst.ConvertSpecTo(destination) + if err != nil { + return eris.Wrap(err, "final step of conversion in ConvertSpecTo()") + } + + return nil +} + +// AssignProperties_From_ManagedEnvironment_Spec populates our ManagedEnvironment_Spec from the provided source ManagedEnvironment_Spec +func (environment *ManagedEnvironment_Spec) AssignProperties_From_ManagedEnvironment_Spec(source *storage.ManagedEnvironment_Spec) error { + + // AppLogsConfiguration + if source.AppLogsConfiguration != nil { + var appLogsConfiguration AppLogsConfiguration + err := appLogsConfiguration.AssignProperties_From_AppLogsConfiguration(source.AppLogsConfiguration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_AppLogsConfiguration() to populate field AppLogsConfiguration") + } + environment.AppLogsConfiguration = &appLogsConfiguration + } else { + environment.AppLogsConfiguration = nil + } + + // AzureName + environment.AzureName = source.AzureName + + // CustomDomainConfiguration + if source.CustomDomainConfiguration != nil { + var customDomainConfiguration CustomDomainConfiguration + err := customDomainConfiguration.AssignProperties_From_CustomDomainConfiguration(source.CustomDomainConfiguration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_CustomDomainConfiguration() to populate field CustomDomainConfiguration") + } + environment.CustomDomainConfiguration = &customDomainConfiguration + } else { + environment.CustomDomainConfiguration = nil + } + + // DaprAIConnectionString + if source.DaprAIConnectionString != nil { + daprAIConnectionString := source.DaprAIConnectionString.Copy() + environment.DaprAIConnectionString = &daprAIConnectionString + } else { + environment.DaprAIConnectionString = nil + } + + // DaprAIInstrumentationKey + if source.DaprAIInstrumentationKey != nil { + daprAIInstrumentationKey := source.DaprAIInstrumentationKey.Copy() + environment.DaprAIInstrumentationKey = &daprAIInstrumentationKey + } else { + environment.DaprAIInstrumentationKey = nil + } + + // InfrastructureResourceGroup + environment.InfrastructureResourceGroup = genruntime.ClonePointerToString(source.InfrastructureResourceGroup) + + // Kind + environment.Kind = genruntime.ClonePointerToString(source.Kind) + + // Location + environment.Location = genruntime.ClonePointerToString(source.Location) + + // OperatorSpec + if source.OperatorSpec != nil { + var operatorSpec ManagedEnvironmentOperatorSpec + err := operatorSpec.AssignProperties_From_ManagedEnvironmentOperatorSpec(source.OperatorSpec) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ManagedEnvironmentOperatorSpec() to populate field OperatorSpec") + } + environment.OperatorSpec = &operatorSpec + } else { + environment.OperatorSpec = nil + } + + // Owner + if source.Owner != nil { + owner := source.Owner.Copy() + environment.Owner = &owner + } else { + environment.Owner = nil + } + + // PeerAuthentication + if source.PeerAuthentication != nil { + var peerAuthentication ManagedEnvironment_Properties_PeerAuthentication_Spec + err := peerAuthentication.AssignProperties_From_ManagedEnvironment_Properties_PeerAuthentication_Spec(source.PeerAuthentication) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ManagedEnvironment_Properties_PeerAuthentication_Spec() to populate field PeerAuthentication") + } + environment.PeerAuthentication = &peerAuthentication + } else { + environment.PeerAuthentication = nil + } + + // PeerTrafficConfiguration + if source.PeerTrafficConfiguration != nil { + var peerTrafficConfiguration ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec + err := peerTrafficConfiguration.AssignProperties_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec(source.PeerTrafficConfiguration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec() to populate field PeerTrafficConfiguration") + } + environment.PeerTrafficConfiguration = &peerTrafficConfiguration + } else { + environment.PeerTrafficConfiguration = nil + } + + // Tags + environment.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // VnetConfiguration + if source.VnetConfiguration != nil { + var vnetConfiguration VnetConfiguration + err := vnetConfiguration.AssignProperties_From_VnetConfiguration(source.VnetConfiguration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_VnetConfiguration() to populate field VnetConfiguration") + } + environment.VnetConfiguration = &vnetConfiguration + } else { + environment.VnetConfiguration = nil + } + + // WorkloadProfiles + if source.WorkloadProfiles != nil { + workloadProfileList := make([]WorkloadProfile, len(source.WorkloadProfiles)) + for workloadProfileIndex, workloadProfileItem := range source.WorkloadProfiles { + // Shadow the loop variable to avoid aliasing + workloadProfileItem := workloadProfileItem + var workloadProfile WorkloadProfile + err := workloadProfile.AssignProperties_From_WorkloadProfile(&workloadProfileItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_WorkloadProfile() to populate field WorkloadProfiles") + } + workloadProfileList[workloadProfileIndex] = workloadProfile + } + environment.WorkloadProfiles = workloadProfileList + } else { + environment.WorkloadProfiles = nil + } + + // ZoneRedundant + if source.ZoneRedundant != nil { + zoneRedundant := *source.ZoneRedundant + environment.ZoneRedundant = &zoneRedundant + } else { + environment.ZoneRedundant = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedEnvironment_Spec populates the provided destination ManagedEnvironment_Spec from our ManagedEnvironment_Spec +func (environment *ManagedEnvironment_Spec) AssignProperties_To_ManagedEnvironment_Spec(destination *storage.ManagedEnvironment_Spec) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AppLogsConfiguration + if environment.AppLogsConfiguration != nil { + var appLogsConfiguration storage.AppLogsConfiguration + err := environment.AppLogsConfiguration.AssignProperties_To_AppLogsConfiguration(&appLogsConfiguration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_AppLogsConfiguration() to populate field AppLogsConfiguration") + } + destination.AppLogsConfiguration = &appLogsConfiguration + } else { + destination.AppLogsConfiguration = nil + } + + // AzureName + destination.AzureName = environment.AzureName + + // CustomDomainConfiguration + if environment.CustomDomainConfiguration != nil { + var customDomainConfiguration storage.CustomDomainConfiguration + err := environment.CustomDomainConfiguration.AssignProperties_To_CustomDomainConfiguration(&customDomainConfiguration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_CustomDomainConfiguration() to populate field CustomDomainConfiguration") + } + destination.CustomDomainConfiguration = &customDomainConfiguration + } else { + destination.CustomDomainConfiguration = nil + } + + // DaprAIConnectionString + if environment.DaprAIConnectionString != nil { + daprAIConnectionString := environment.DaprAIConnectionString.Copy() + destination.DaprAIConnectionString = &daprAIConnectionString + } else { + destination.DaprAIConnectionString = nil + } + + // DaprAIInstrumentationKey + if environment.DaprAIInstrumentationKey != nil { + daprAIInstrumentationKey := environment.DaprAIInstrumentationKey.Copy() + destination.DaprAIInstrumentationKey = &daprAIInstrumentationKey + } else { + destination.DaprAIInstrumentationKey = nil + } + + // InfrastructureResourceGroup + destination.InfrastructureResourceGroup = genruntime.ClonePointerToString(environment.InfrastructureResourceGroup) + + // Kind + destination.Kind = genruntime.ClonePointerToString(environment.Kind) + + // Location + destination.Location = genruntime.ClonePointerToString(environment.Location) + + // OperatorSpec + if environment.OperatorSpec != nil { + var operatorSpec storage.ManagedEnvironmentOperatorSpec + err := environment.OperatorSpec.AssignProperties_To_ManagedEnvironmentOperatorSpec(&operatorSpec) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ManagedEnvironmentOperatorSpec() to populate field OperatorSpec") + } + destination.OperatorSpec = &operatorSpec + } else { + destination.OperatorSpec = nil + } + + // OriginalVersion + destination.OriginalVersion = environment.OriginalVersion() + + // Owner + if environment.Owner != nil { + owner := environment.Owner.Copy() + destination.Owner = &owner + } else { + destination.Owner = nil + } + + // PeerAuthentication + if environment.PeerAuthentication != nil { + var peerAuthentication storage.ManagedEnvironment_Properties_PeerAuthentication_Spec + err := environment.PeerAuthentication.AssignProperties_To_ManagedEnvironment_Properties_PeerAuthentication_Spec(&peerAuthentication) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ManagedEnvironment_Properties_PeerAuthentication_Spec() to populate field PeerAuthentication") + } + destination.PeerAuthentication = &peerAuthentication + } else { + destination.PeerAuthentication = nil + } + + // PeerTrafficConfiguration + if environment.PeerTrafficConfiguration != nil { + var peerTrafficConfiguration storage.ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec + err := environment.PeerTrafficConfiguration.AssignProperties_To_ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec(&peerTrafficConfiguration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec() to populate field PeerTrafficConfiguration") + } + destination.PeerTrafficConfiguration = &peerTrafficConfiguration + } else { + destination.PeerTrafficConfiguration = nil + } + + // Tags + destination.Tags = genruntime.CloneMapOfStringToString(environment.Tags) + + // VnetConfiguration + if environment.VnetConfiguration != nil { + var vnetConfiguration storage.VnetConfiguration + err := environment.VnetConfiguration.AssignProperties_To_VnetConfiguration(&vnetConfiguration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_VnetConfiguration() to populate field VnetConfiguration") + } + destination.VnetConfiguration = &vnetConfiguration + } else { + destination.VnetConfiguration = nil + } + + // WorkloadProfiles + if environment.WorkloadProfiles != nil { + workloadProfileList := make([]storage.WorkloadProfile, len(environment.WorkloadProfiles)) + for workloadProfileIndex, workloadProfileItem := range environment.WorkloadProfiles { + // Shadow the loop variable to avoid aliasing + workloadProfileItem := workloadProfileItem + var workloadProfile storage.WorkloadProfile + err := workloadProfileItem.AssignProperties_To_WorkloadProfile(&workloadProfile) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_WorkloadProfile() to populate field WorkloadProfiles") + } + workloadProfileList[workloadProfileIndex] = workloadProfile + } + destination.WorkloadProfiles = workloadProfileList + } else { + destination.WorkloadProfiles = nil + } + + // ZoneRedundant + if environment.ZoneRedundant != nil { + zoneRedundant := *environment.ZoneRedundant + destination.ZoneRedundant = &zoneRedundant + } else { + destination.ZoneRedundant = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedEnvironment_STATUS populates our ManagedEnvironment_Spec from the provided source ManagedEnvironment_STATUS +func (environment *ManagedEnvironment_Spec) Initialize_From_ManagedEnvironment_STATUS(source *ManagedEnvironment_STATUS) error { + + // AppLogsConfiguration + if source.AppLogsConfiguration != nil { + var appLogsConfiguration AppLogsConfiguration + err := appLogsConfiguration.Initialize_From_AppLogsConfiguration_STATUS(source.AppLogsConfiguration) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_AppLogsConfiguration_STATUS() to populate field AppLogsConfiguration") + } + environment.AppLogsConfiguration = &appLogsConfiguration + } else { + environment.AppLogsConfiguration = nil + } + + // CustomDomainConfiguration + if source.CustomDomainConfiguration != nil { + var customDomainConfiguration CustomDomainConfiguration + err := customDomainConfiguration.Initialize_From_CustomDomainConfiguration_STATUS(source.CustomDomainConfiguration) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_CustomDomainConfiguration_STATUS() to populate field CustomDomainConfiguration") + } + environment.CustomDomainConfiguration = &customDomainConfiguration + } else { + environment.CustomDomainConfiguration = nil + } + + // InfrastructureResourceGroup + environment.InfrastructureResourceGroup = genruntime.ClonePointerToString(source.InfrastructureResourceGroup) + + // Kind + environment.Kind = genruntime.ClonePointerToString(source.Kind) + + // Location + environment.Location = genruntime.ClonePointerToString(source.Location) + + // PeerAuthentication + if source.PeerAuthentication != nil { + var peerAuthentication ManagedEnvironment_Properties_PeerAuthentication_Spec + err := peerAuthentication.Initialize_From_ManagedEnvironment_Properties_PeerAuthentication_STATUS(source.PeerAuthentication) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_ManagedEnvironment_Properties_PeerAuthentication_STATUS() to populate field PeerAuthentication") + } + environment.PeerAuthentication = &peerAuthentication + } else { + environment.PeerAuthentication = nil + } + + // PeerTrafficConfiguration + if source.PeerTrafficConfiguration != nil { + var peerTrafficConfiguration ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec + err := peerTrafficConfiguration.Initialize_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS(source.PeerTrafficConfiguration) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS() to populate field PeerTrafficConfiguration") + } + environment.PeerTrafficConfiguration = &peerTrafficConfiguration + } else { + environment.PeerTrafficConfiguration = nil + } + + // Tags + environment.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // VnetConfiguration + if source.VnetConfiguration != nil { + var vnetConfiguration VnetConfiguration + err := vnetConfiguration.Initialize_From_VnetConfiguration_STATUS(source.VnetConfiguration) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_VnetConfiguration_STATUS() to populate field VnetConfiguration") + } + environment.VnetConfiguration = &vnetConfiguration + } else { + environment.VnetConfiguration = nil + } + + // WorkloadProfiles + if source.WorkloadProfiles != nil { + workloadProfileList := make([]WorkloadProfile, len(source.WorkloadProfiles)) + for workloadProfileIndex, workloadProfileItem := range source.WorkloadProfiles { + // Shadow the loop variable to avoid aliasing + workloadProfileItem := workloadProfileItem + var workloadProfile WorkloadProfile + err := workloadProfile.Initialize_From_WorkloadProfile_STATUS(&workloadProfileItem) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_WorkloadProfile_STATUS() to populate field WorkloadProfiles") + } + workloadProfileList[workloadProfileIndex] = workloadProfile + } + environment.WorkloadProfiles = workloadProfileList + } else { + environment.WorkloadProfiles = nil + } + + // ZoneRedundant + if source.ZoneRedundant != nil { + zoneRedundant := *source.ZoneRedundant + environment.ZoneRedundant = &zoneRedundant + } else { + environment.ZoneRedundant = nil + } + + // No error + return nil +} + +// OriginalVersion returns the original API version used to create the resource. +func (environment *ManagedEnvironment_Spec) OriginalVersion() string { + return GroupVersion.Version +} + +// SetAzureName sets the Azure name of the resource +func (environment *ManagedEnvironment_Spec) SetAzureName(azureName string) { + environment.AzureName = azureName +} + +// An environment for hosting container apps +type ManagedEnvironment_STATUS struct { + // AppLogsConfiguration: Cluster configuration which enables the log daemon to export app logs to configured destination. + AppLogsConfiguration *AppLogsConfiguration_STATUS `json:"appLogsConfiguration,omitempty"` + + // Conditions: The observed state of the resource + Conditions []conditions.Condition `json:"conditions,omitempty"` + + // CustomDomainConfiguration: Custom domain configuration for the environment + CustomDomainConfiguration *CustomDomainConfiguration_STATUS `json:"customDomainConfiguration,omitempty"` + + // DaprConfiguration: The configuration of Dapr component. + DaprConfiguration *DaprConfiguration_STATUS `json:"daprConfiguration,omitempty"` + + // DefaultDomain: Default Domain Name for the cluster + DefaultDomain *string `json:"defaultDomain,omitempty"` + + // DeploymentErrors: Any errors that occurred during deployment or deployment validation + DeploymentErrors *string `json:"deploymentErrors,omitempty"` + + // EventStreamEndpoint: The endpoint of the eventstream of the Environment. + EventStreamEndpoint *string `json:"eventStreamEndpoint,omitempty"` + + // Id: Fully qualified resource ID for the resource. Ex - + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + Id *string `json:"id,omitempty"` + + // InfrastructureResourceGroup: Name of the platform-managed resource group created for the Managed Environment to host + // infrastructure resources. If a subnet ID is provided, this resource group will be created in the same subscription as + // the subnet. + InfrastructureResourceGroup *string `json:"infrastructureResourceGroup,omitempty"` + + // KedaConfiguration: The configuration of Keda component. + KedaConfiguration *KedaConfiguration_STATUS `json:"kedaConfiguration,omitempty"` + + // Kind: Kind of the Environment. + Kind *string `json:"kind,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"` + + // PeerAuthentication: Peer authentication settings for the Managed Environment + PeerAuthentication *ManagedEnvironment_Properties_PeerAuthentication_STATUS `json:"peerAuthentication,omitempty"` + + // PeerTrafficConfiguration: Peer traffic settings for the Managed Environment + PeerTrafficConfiguration *ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS `json:"peerTrafficConfiguration,omitempty"` + + // ProvisioningState: Provisioning state of the Environment. + ProvisioningState *ManagedEnvironment_Properties_ProvisioningState_STATUS `json:"provisioningState,omitempty"` + + // StaticIp: Static IP of the Environment + StaticIp *string `json:"staticIp,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"` + + // VnetConfiguration: Vnet configuration for the environment + VnetConfiguration *VnetConfiguration_STATUS `json:"vnetConfiguration,omitempty"` + + // WorkloadProfiles: Workload profiles configured for the Managed Environment. + WorkloadProfiles []WorkloadProfile_STATUS `json:"workloadProfiles,omitempty"` + + // ZoneRedundant: Whether or not this Managed Environment is zone-redundant. + ZoneRedundant *bool `json:"zoneRedundant,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &ManagedEnvironment_STATUS{} + +// ConvertStatusFrom populates our ManagedEnvironment_STATUS from the provided source +func (environment *ManagedEnvironment_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + src, ok := source.(*storage.ManagedEnvironment_STATUS) + if ok { + // Populate our instance from source + return environment.AssignProperties_From_ManagedEnvironment_STATUS(src) + } + + // Convert to an intermediate form + src = &storage.ManagedEnvironment_STATUS{} + err := src.ConvertStatusFrom(source) + if err != nil { + return eris.Wrap(err, "initial step of conversion in ConvertStatusFrom()") + } + + // Update our instance from src + err = environment.AssignProperties_From_ManagedEnvironment_STATUS(src) + if err != nil { + return eris.Wrap(err, "final step of conversion in ConvertStatusFrom()") + } + + return nil +} + +// ConvertStatusTo populates the provided destination from our ManagedEnvironment_STATUS +func (environment *ManagedEnvironment_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + dst, ok := destination.(*storage.ManagedEnvironment_STATUS) + if ok { + // Populate destination from our instance + return environment.AssignProperties_To_ManagedEnvironment_STATUS(dst) + } + + // Convert to an intermediate form + dst = &storage.ManagedEnvironment_STATUS{} + err := environment.AssignProperties_To_ManagedEnvironment_STATUS(dst) + if err != nil { + return eris.Wrap(err, "initial step of conversion in ConvertStatusTo()") + } + + // Update dst from our instance + err = dst.ConvertStatusTo(destination) + if err != nil { + return eris.Wrap(err, "final step of conversion in ConvertStatusTo()") + } + + return nil +} + +var _ genruntime.FromARMConverter = &ManagedEnvironment_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (environment *ManagedEnvironment_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedEnvironment_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (environment *ManagedEnvironment_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedEnvironment_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedEnvironment_STATUS, got %T", armInput) + } + + // Set property "AppLogsConfiguration": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.AppLogsConfiguration != nil { + var appLogsConfiguration1 AppLogsConfiguration_STATUS + err := appLogsConfiguration1.PopulateFromARM(owner, *typedInput.Properties.AppLogsConfiguration) + if err != nil { + return err + } + appLogsConfiguration := appLogsConfiguration1 + environment.AppLogsConfiguration = &appLogsConfiguration + } + } + + // no assignment for property "Conditions" + + // Set property "CustomDomainConfiguration": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.CustomDomainConfiguration != nil { + var customDomainConfiguration1 CustomDomainConfiguration_STATUS + err := customDomainConfiguration1.PopulateFromARM(owner, *typedInput.Properties.CustomDomainConfiguration) + if err != nil { + return err + } + customDomainConfiguration := customDomainConfiguration1 + environment.CustomDomainConfiguration = &customDomainConfiguration + } + } + + // Set property "DaprConfiguration": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.DaprConfiguration != nil { + var daprConfiguration1 DaprConfiguration_STATUS + err := daprConfiguration1.PopulateFromARM(owner, *typedInput.Properties.DaprConfiguration) + if err != nil { + return err + } + daprConfiguration := daprConfiguration1 + environment.DaprConfiguration = &daprConfiguration + } + } + + // Set property "DefaultDomain": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.DefaultDomain != nil { + defaultDomain := *typedInput.Properties.DefaultDomain + environment.DefaultDomain = &defaultDomain + } + } + + // Set property "DeploymentErrors": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.DeploymentErrors != nil { + deploymentErrors := *typedInput.Properties.DeploymentErrors + environment.DeploymentErrors = &deploymentErrors + } + } + + // Set property "EventStreamEndpoint": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.EventStreamEndpoint != nil { + eventStreamEndpoint := *typedInput.Properties.EventStreamEndpoint + environment.EventStreamEndpoint = &eventStreamEndpoint + } + } + + // Set property "Id": + if typedInput.Id != nil { + id := *typedInput.Id + environment.Id = &id + } + + // Set property "InfrastructureResourceGroup": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.InfrastructureResourceGroup != nil { + infrastructureResourceGroup := *typedInput.Properties.InfrastructureResourceGroup + environment.InfrastructureResourceGroup = &infrastructureResourceGroup + } + } + + // Set property "KedaConfiguration": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.KedaConfiguration != nil { + var kedaConfiguration1 KedaConfiguration_STATUS + err := kedaConfiguration1.PopulateFromARM(owner, *typedInput.Properties.KedaConfiguration) + if err != nil { + return err + } + kedaConfiguration := kedaConfiguration1 + environment.KedaConfiguration = &kedaConfiguration + } + } + + // Set property "Kind": + if typedInput.Kind != nil { + kind := *typedInput.Kind + environment.Kind = &kind + } + + // Set property "Location": + if typedInput.Location != nil { + location := *typedInput.Location + environment.Location = &location + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + environment.Name = &name + } + + // Set property "PeerAuthentication": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.PeerAuthentication != nil { + var peerAuthentication1 ManagedEnvironment_Properties_PeerAuthentication_STATUS + err := peerAuthentication1.PopulateFromARM(owner, *typedInput.Properties.PeerAuthentication) + if err != nil { + return err + } + peerAuthentication := peerAuthentication1 + environment.PeerAuthentication = &peerAuthentication + } + } + + // Set property "PeerTrafficConfiguration": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.PeerTrafficConfiguration != nil { + var peerTrafficConfiguration1 ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS + err := peerTrafficConfiguration1.PopulateFromARM(owner, *typedInput.Properties.PeerTrafficConfiguration) + if err != nil { + return err + } + peerTrafficConfiguration := peerTrafficConfiguration1 + environment.PeerTrafficConfiguration = &peerTrafficConfiguration + } + } + + // Set property "ProvisioningState": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ProvisioningState != nil { + var temp string + temp = string(*typedInput.Properties.ProvisioningState) + provisioningState := ManagedEnvironment_Properties_ProvisioningState_STATUS(temp) + environment.ProvisioningState = &provisioningState + } + } + + // Set property "StaticIp": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.StaticIp != nil { + staticIp := *typedInput.Properties.StaticIp + environment.StaticIp = &staticIp + } + } + + // Set property "SystemData": + if typedInput.SystemData != nil { + var systemData1 SystemData_STATUS + err := systemData1.PopulateFromARM(owner, *typedInput.SystemData) + if err != nil { + return err + } + systemData := systemData1 + environment.SystemData = &systemData + } + + // Set property "Tags": + if typedInput.Tags != nil { + environment.Tags = make(map[string]string, len(typedInput.Tags)) + for key, value := range typedInput.Tags { + environment.Tags[key] = value + } + } + + // Set property "Type": + if typedInput.Type != nil { + typeVar := *typedInput.Type + environment.Type = &typeVar + } + + // Set property "VnetConfiguration": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.VnetConfiguration != nil { + var vnetConfiguration1 VnetConfiguration_STATUS + err := vnetConfiguration1.PopulateFromARM(owner, *typedInput.Properties.VnetConfiguration) + if err != nil { + return err + } + vnetConfiguration := vnetConfiguration1 + environment.VnetConfiguration = &vnetConfiguration + } + } + + // Set property "WorkloadProfiles": + // copying flattened property: + if typedInput.Properties != nil { + for _, item := range typedInput.Properties.WorkloadProfiles { + var item1 WorkloadProfile_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + environment.WorkloadProfiles = append(environment.WorkloadProfiles, item1) + } + } + + // Set property "ZoneRedundant": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ZoneRedundant != nil { + zoneRedundant := *typedInput.Properties.ZoneRedundant + environment.ZoneRedundant = &zoneRedundant + } + } + + // No error + return nil +} + +// AssignProperties_From_ManagedEnvironment_STATUS populates our ManagedEnvironment_STATUS from the provided source ManagedEnvironment_STATUS +func (environment *ManagedEnvironment_STATUS) AssignProperties_From_ManagedEnvironment_STATUS(source *storage.ManagedEnvironment_STATUS) error { + + // AppLogsConfiguration + if source.AppLogsConfiguration != nil { + var appLogsConfiguration AppLogsConfiguration_STATUS + err := appLogsConfiguration.AssignProperties_From_AppLogsConfiguration_STATUS(source.AppLogsConfiguration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_AppLogsConfiguration_STATUS() to populate field AppLogsConfiguration") + } + environment.AppLogsConfiguration = &appLogsConfiguration + } else { + environment.AppLogsConfiguration = nil + } + + // Conditions + environment.Conditions = genruntime.CloneSliceOfCondition(source.Conditions) + + // CustomDomainConfiguration + if source.CustomDomainConfiguration != nil { + var customDomainConfiguration CustomDomainConfiguration_STATUS + err := customDomainConfiguration.AssignProperties_From_CustomDomainConfiguration_STATUS(source.CustomDomainConfiguration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_CustomDomainConfiguration_STATUS() to populate field CustomDomainConfiguration") + } + environment.CustomDomainConfiguration = &customDomainConfiguration + } else { + environment.CustomDomainConfiguration = nil + } + + // DaprConfiguration + if source.DaprConfiguration != nil { + var daprConfiguration DaprConfiguration_STATUS + err := daprConfiguration.AssignProperties_From_DaprConfiguration_STATUS(source.DaprConfiguration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_DaprConfiguration_STATUS() to populate field DaprConfiguration") + } + environment.DaprConfiguration = &daprConfiguration + } else { + environment.DaprConfiguration = nil + } + + // DefaultDomain + environment.DefaultDomain = genruntime.ClonePointerToString(source.DefaultDomain) + + // DeploymentErrors + environment.DeploymentErrors = genruntime.ClonePointerToString(source.DeploymentErrors) + + // EventStreamEndpoint + environment.EventStreamEndpoint = genruntime.ClonePointerToString(source.EventStreamEndpoint) + + // Id + environment.Id = genruntime.ClonePointerToString(source.Id) + + // InfrastructureResourceGroup + environment.InfrastructureResourceGroup = genruntime.ClonePointerToString(source.InfrastructureResourceGroup) + + // KedaConfiguration + if source.KedaConfiguration != nil { + var kedaConfiguration KedaConfiguration_STATUS + err := kedaConfiguration.AssignProperties_From_KedaConfiguration_STATUS(source.KedaConfiguration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_KedaConfiguration_STATUS() to populate field KedaConfiguration") + } + environment.KedaConfiguration = &kedaConfiguration + } else { + environment.KedaConfiguration = nil + } + + // Kind + environment.Kind = genruntime.ClonePointerToString(source.Kind) + + // Location + environment.Location = genruntime.ClonePointerToString(source.Location) + + // Name + environment.Name = genruntime.ClonePointerToString(source.Name) + + // PeerAuthentication + if source.PeerAuthentication != nil { + var peerAuthentication ManagedEnvironment_Properties_PeerAuthentication_STATUS + err := peerAuthentication.AssignProperties_From_ManagedEnvironment_Properties_PeerAuthentication_STATUS(source.PeerAuthentication) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ManagedEnvironment_Properties_PeerAuthentication_STATUS() to populate field PeerAuthentication") + } + environment.PeerAuthentication = &peerAuthentication + } else { + environment.PeerAuthentication = nil + } + + // PeerTrafficConfiguration + if source.PeerTrafficConfiguration != nil { + var peerTrafficConfiguration ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS + err := peerTrafficConfiguration.AssignProperties_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS(source.PeerTrafficConfiguration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS() to populate field PeerTrafficConfiguration") + } + environment.PeerTrafficConfiguration = &peerTrafficConfiguration + } else { + environment.PeerTrafficConfiguration = nil + } + + // ProvisioningState + if source.ProvisioningState != nil { + provisioningState := *source.ProvisioningState + provisioningStateTemp := genruntime.ToEnum(provisioningState, managedEnvironment_Properties_ProvisioningState_STATUS_Values) + environment.ProvisioningState = &provisioningStateTemp + } else { + environment.ProvisioningState = nil + } + + // StaticIp + environment.StaticIp = genruntime.ClonePointerToString(source.StaticIp) + + // SystemData + if source.SystemData != nil { + var systemDatum SystemData_STATUS + err := systemDatum.AssignProperties_From_SystemData_STATUS(source.SystemData) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_SystemData_STATUS() to populate field SystemData") + } + environment.SystemData = &systemDatum + } else { + environment.SystemData = nil + } + + // Tags + environment.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // Type + environment.Type = genruntime.ClonePointerToString(source.Type) + + // VnetConfiguration + if source.VnetConfiguration != nil { + var vnetConfiguration VnetConfiguration_STATUS + err := vnetConfiguration.AssignProperties_From_VnetConfiguration_STATUS(source.VnetConfiguration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_VnetConfiguration_STATUS() to populate field VnetConfiguration") + } + environment.VnetConfiguration = &vnetConfiguration + } else { + environment.VnetConfiguration = nil + } + + // WorkloadProfiles + if source.WorkloadProfiles != nil { + workloadProfileList := make([]WorkloadProfile_STATUS, len(source.WorkloadProfiles)) + for workloadProfileIndex, workloadProfileItem := range source.WorkloadProfiles { + // Shadow the loop variable to avoid aliasing + workloadProfileItem := workloadProfileItem + var workloadProfile WorkloadProfile_STATUS + err := workloadProfile.AssignProperties_From_WorkloadProfile_STATUS(&workloadProfileItem) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_WorkloadProfile_STATUS() to populate field WorkloadProfiles") + } + workloadProfileList[workloadProfileIndex] = workloadProfile + } + environment.WorkloadProfiles = workloadProfileList + } else { + environment.WorkloadProfiles = nil + } + + // ZoneRedundant + if source.ZoneRedundant != nil { + zoneRedundant := *source.ZoneRedundant + environment.ZoneRedundant = &zoneRedundant + } else { + environment.ZoneRedundant = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedEnvironment_STATUS populates the provided destination ManagedEnvironment_STATUS from our ManagedEnvironment_STATUS +func (environment *ManagedEnvironment_STATUS) AssignProperties_To_ManagedEnvironment_STATUS(destination *storage.ManagedEnvironment_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AppLogsConfiguration + if environment.AppLogsConfiguration != nil { + var appLogsConfiguration storage.AppLogsConfiguration_STATUS + err := environment.AppLogsConfiguration.AssignProperties_To_AppLogsConfiguration_STATUS(&appLogsConfiguration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_AppLogsConfiguration_STATUS() to populate field AppLogsConfiguration") + } + destination.AppLogsConfiguration = &appLogsConfiguration + } else { + destination.AppLogsConfiguration = nil + } + + // Conditions + destination.Conditions = genruntime.CloneSliceOfCondition(environment.Conditions) + + // CustomDomainConfiguration + if environment.CustomDomainConfiguration != nil { + var customDomainConfiguration storage.CustomDomainConfiguration_STATUS + err := environment.CustomDomainConfiguration.AssignProperties_To_CustomDomainConfiguration_STATUS(&customDomainConfiguration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_CustomDomainConfiguration_STATUS() to populate field CustomDomainConfiguration") + } + destination.CustomDomainConfiguration = &customDomainConfiguration + } else { + destination.CustomDomainConfiguration = nil + } + + // DaprConfiguration + if environment.DaprConfiguration != nil { + var daprConfiguration storage.DaprConfiguration_STATUS + err := environment.DaprConfiguration.AssignProperties_To_DaprConfiguration_STATUS(&daprConfiguration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_DaprConfiguration_STATUS() to populate field DaprConfiguration") + } + destination.DaprConfiguration = &daprConfiguration + } else { + destination.DaprConfiguration = nil + } + + // DefaultDomain + destination.DefaultDomain = genruntime.ClonePointerToString(environment.DefaultDomain) + + // DeploymentErrors + destination.DeploymentErrors = genruntime.ClonePointerToString(environment.DeploymentErrors) + + // EventStreamEndpoint + destination.EventStreamEndpoint = genruntime.ClonePointerToString(environment.EventStreamEndpoint) + + // Id + destination.Id = genruntime.ClonePointerToString(environment.Id) + + // InfrastructureResourceGroup + destination.InfrastructureResourceGroup = genruntime.ClonePointerToString(environment.InfrastructureResourceGroup) + + // KedaConfiguration + if environment.KedaConfiguration != nil { + var kedaConfiguration storage.KedaConfiguration_STATUS + err := environment.KedaConfiguration.AssignProperties_To_KedaConfiguration_STATUS(&kedaConfiguration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_KedaConfiguration_STATUS() to populate field KedaConfiguration") + } + destination.KedaConfiguration = &kedaConfiguration + } else { + destination.KedaConfiguration = nil + } + + // Kind + destination.Kind = genruntime.ClonePointerToString(environment.Kind) + + // Location + destination.Location = genruntime.ClonePointerToString(environment.Location) + + // Name + destination.Name = genruntime.ClonePointerToString(environment.Name) + + // PeerAuthentication + if environment.PeerAuthentication != nil { + var peerAuthentication storage.ManagedEnvironment_Properties_PeerAuthentication_STATUS + err := environment.PeerAuthentication.AssignProperties_To_ManagedEnvironment_Properties_PeerAuthentication_STATUS(&peerAuthentication) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ManagedEnvironment_Properties_PeerAuthentication_STATUS() to populate field PeerAuthentication") + } + destination.PeerAuthentication = &peerAuthentication + } else { + destination.PeerAuthentication = nil + } + + // PeerTrafficConfiguration + if environment.PeerTrafficConfiguration != nil { + var peerTrafficConfiguration storage.ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS + err := environment.PeerTrafficConfiguration.AssignProperties_To_ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS(&peerTrafficConfiguration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS() to populate field PeerTrafficConfiguration") + } + destination.PeerTrafficConfiguration = &peerTrafficConfiguration + } else { + destination.PeerTrafficConfiguration = nil + } + + // ProvisioningState + if environment.ProvisioningState != nil { + provisioningState := string(*environment.ProvisioningState) + destination.ProvisioningState = &provisioningState + } else { + destination.ProvisioningState = nil + } + + // StaticIp + destination.StaticIp = genruntime.ClonePointerToString(environment.StaticIp) + + // SystemData + if environment.SystemData != nil { + var systemDatum storage.SystemData_STATUS + err := environment.SystemData.AssignProperties_To_SystemData_STATUS(&systemDatum) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_SystemData_STATUS() to populate field SystemData") + } + destination.SystemData = &systemDatum + } else { + destination.SystemData = nil + } + + // Tags + destination.Tags = genruntime.CloneMapOfStringToString(environment.Tags) + + // Type + destination.Type = genruntime.ClonePointerToString(environment.Type) + + // VnetConfiguration + if environment.VnetConfiguration != nil { + var vnetConfiguration storage.VnetConfiguration_STATUS + err := environment.VnetConfiguration.AssignProperties_To_VnetConfiguration_STATUS(&vnetConfiguration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_VnetConfiguration_STATUS() to populate field VnetConfiguration") + } + destination.VnetConfiguration = &vnetConfiguration + } else { + destination.VnetConfiguration = nil + } + + // WorkloadProfiles + if environment.WorkloadProfiles != nil { + workloadProfileList := make([]storage.WorkloadProfile_STATUS, len(environment.WorkloadProfiles)) + for workloadProfileIndex, workloadProfileItem := range environment.WorkloadProfiles { + // Shadow the loop variable to avoid aliasing + workloadProfileItem := workloadProfileItem + var workloadProfile storage.WorkloadProfile_STATUS + err := workloadProfileItem.AssignProperties_To_WorkloadProfile_STATUS(&workloadProfile) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_WorkloadProfile_STATUS() to populate field WorkloadProfiles") + } + workloadProfileList[workloadProfileIndex] = workloadProfile + } + destination.WorkloadProfiles = workloadProfileList + } else { + destination.WorkloadProfiles = nil + } + + // ZoneRedundant + if environment.ZoneRedundant != nil { + zoneRedundant := *environment.ZoneRedundant + destination.ZoneRedundant = &zoneRedundant + } else { + destination.ZoneRedundant = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Configuration of application logs +type AppLogsConfiguration struct { + // Destination: Logs destination, can be 'log-analytics', 'azure-monitor' or 'none' + Destination *string `json:"destination,omitempty"` + + // LogAnalyticsConfiguration: Log Analytics configuration, must only be provided when destination is configured as + // 'log-analytics' + LogAnalyticsConfiguration *LogAnalyticsConfiguration `json:"logAnalyticsConfiguration,omitempty"` +} + +var _ genruntime.ARMTransformer = &AppLogsConfiguration{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (configuration *AppLogsConfiguration) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if configuration == nil { + return nil, nil + } + result := &arm.AppLogsConfiguration{} + + // Set property "Destination": + if configuration.Destination != nil { + destination := *configuration.Destination + result.Destination = &destination + } + + // Set property "LogAnalyticsConfiguration": + if configuration.LogAnalyticsConfiguration != nil { + logAnalyticsConfiguration_ARM, err := (*configuration.LogAnalyticsConfiguration).ConvertToARM(resolved) + if err != nil { + return nil, err + } + logAnalyticsConfiguration := *logAnalyticsConfiguration_ARM.(*arm.LogAnalyticsConfiguration) + result.LogAnalyticsConfiguration = &logAnalyticsConfiguration + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (configuration *AppLogsConfiguration) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AppLogsConfiguration{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (configuration *AppLogsConfiguration) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AppLogsConfiguration) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AppLogsConfiguration, got %T", armInput) + } + + // Set property "Destination": + if typedInput.Destination != nil { + destination := *typedInput.Destination + configuration.Destination = &destination + } + + // Set property "LogAnalyticsConfiguration": + if typedInput.LogAnalyticsConfiguration != nil { + var logAnalyticsConfiguration1 LogAnalyticsConfiguration + err := logAnalyticsConfiguration1.PopulateFromARM(owner, *typedInput.LogAnalyticsConfiguration) + if err != nil { + return err + } + logAnalyticsConfiguration := logAnalyticsConfiguration1 + configuration.LogAnalyticsConfiguration = &logAnalyticsConfiguration + } + + // No error + return nil +} + +// AssignProperties_From_AppLogsConfiguration populates our AppLogsConfiguration from the provided source AppLogsConfiguration +func (configuration *AppLogsConfiguration) AssignProperties_From_AppLogsConfiguration(source *storage.AppLogsConfiguration) error { + + // Destination + configuration.Destination = genruntime.ClonePointerToString(source.Destination) + + // LogAnalyticsConfiguration + if source.LogAnalyticsConfiguration != nil { + var logAnalyticsConfiguration LogAnalyticsConfiguration + err := logAnalyticsConfiguration.AssignProperties_From_LogAnalyticsConfiguration(source.LogAnalyticsConfiguration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_LogAnalyticsConfiguration() to populate field LogAnalyticsConfiguration") + } + configuration.LogAnalyticsConfiguration = &logAnalyticsConfiguration + } else { + configuration.LogAnalyticsConfiguration = nil + } + + // No error + return nil +} + +// AssignProperties_To_AppLogsConfiguration populates the provided destination AppLogsConfiguration from our AppLogsConfiguration +func (configuration *AppLogsConfiguration) AssignProperties_To_AppLogsConfiguration(destination *storage.AppLogsConfiguration) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Destination + destination.Destination = genruntime.ClonePointerToString(configuration.Destination) + + // LogAnalyticsConfiguration + if configuration.LogAnalyticsConfiguration != nil { + var logAnalyticsConfiguration storage.LogAnalyticsConfiguration + err := configuration.LogAnalyticsConfiguration.AssignProperties_To_LogAnalyticsConfiguration(&logAnalyticsConfiguration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_LogAnalyticsConfiguration() to populate field LogAnalyticsConfiguration") + } + destination.LogAnalyticsConfiguration = &logAnalyticsConfiguration + } else { + destination.LogAnalyticsConfiguration = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_AppLogsConfiguration_STATUS populates our AppLogsConfiguration from the provided source AppLogsConfiguration_STATUS +func (configuration *AppLogsConfiguration) Initialize_From_AppLogsConfiguration_STATUS(source *AppLogsConfiguration_STATUS) error { + + // Destination + configuration.Destination = genruntime.ClonePointerToString(source.Destination) + + // LogAnalyticsConfiguration + if source.LogAnalyticsConfiguration != nil { + var logAnalyticsConfiguration LogAnalyticsConfiguration + err := logAnalyticsConfiguration.Initialize_From_LogAnalyticsConfiguration_STATUS(source.LogAnalyticsConfiguration) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_LogAnalyticsConfiguration_STATUS() to populate field LogAnalyticsConfiguration") + } + configuration.LogAnalyticsConfiguration = &logAnalyticsConfiguration + } else { + configuration.LogAnalyticsConfiguration = nil + } + + // No error + return nil +} + +// Configuration of application logs +type AppLogsConfiguration_STATUS struct { + // Destination: Logs destination, can be 'log-analytics', 'azure-monitor' or 'none' + Destination *string `json:"destination,omitempty"` + + // LogAnalyticsConfiguration: Log Analytics configuration, must only be provided when destination is configured as + // 'log-analytics' + LogAnalyticsConfiguration *LogAnalyticsConfiguration_STATUS `json:"logAnalyticsConfiguration,omitempty"` +} + +var _ genruntime.FromARMConverter = &AppLogsConfiguration_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (configuration *AppLogsConfiguration_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AppLogsConfiguration_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (configuration *AppLogsConfiguration_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AppLogsConfiguration_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AppLogsConfiguration_STATUS, got %T", armInput) + } + + // Set property "Destination": + if typedInput.Destination != nil { + destination := *typedInput.Destination + configuration.Destination = &destination + } + + // Set property "LogAnalyticsConfiguration": + if typedInput.LogAnalyticsConfiguration != nil { + var logAnalyticsConfiguration1 LogAnalyticsConfiguration_STATUS + err := logAnalyticsConfiguration1.PopulateFromARM(owner, *typedInput.LogAnalyticsConfiguration) + if err != nil { + return err + } + logAnalyticsConfiguration := logAnalyticsConfiguration1 + configuration.LogAnalyticsConfiguration = &logAnalyticsConfiguration + } + + // No error + return nil +} + +// AssignProperties_From_AppLogsConfiguration_STATUS populates our AppLogsConfiguration_STATUS from the provided source AppLogsConfiguration_STATUS +func (configuration *AppLogsConfiguration_STATUS) AssignProperties_From_AppLogsConfiguration_STATUS(source *storage.AppLogsConfiguration_STATUS) error { + + // Destination + configuration.Destination = genruntime.ClonePointerToString(source.Destination) + + // LogAnalyticsConfiguration + if source.LogAnalyticsConfiguration != nil { + var logAnalyticsConfiguration LogAnalyticsConfiguration_STATUS + err := logAnalyticsConfiguration.AssignProperties_From_LogAnalyticsConfiguration_STATUS(source.LogAnalyticsConfiguration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_LogAnalyticsConfiguration_STATUS() to populate field LogAnalyticsConfiguration") + } + configuration.LogAnalyticsConfiguration = &logAnalyticsConfiguration + } else { + configuration.LogAnalyticsConfiguration = nil + } + + // No error + return nil +} + +// AssignProperties_To_AppLogsConfiguration_STATUS populates the provided destination AppLogsConfiguration_STATUS from our AppLogsConfiguration_STATUS +func (configuration *AppLogsConfiguration_STATUS) AssignProperties_To_AppLogsConfiguration_STATUS(destination *storage.AppLogsConfiguration_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Destination + destination.Destination = genruntime.ClonePointerToString(configuration.Destination) + + // LogAnalyticsConfiguration + if configuration.LogAnalyticsConfiguration != nil { + var logAnalyticsConfiguration storage.LogAnalyticsConfiguration_STATUS + err := configuration.LogAnalyticsConfiguration.AssignProperties_To_LogAnalyticsConfiguration_STATUS(&logAnalyticsConfiguration) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_LogAnalyticsConfiguration_STATUS() to populate field LogAnalyticsConfiguration") + } + destination.LogAnalyticsConfiguration = &logAnalyticsConfiguration + } else { + destination.LogAnalyticsConfiguration = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Configuration properties for apps environment custom domain +type CustomDomainConfiguration struct { + // CertificatePassword: Certificate password + CertificatePassword *genruntime.SecretReference `json:"certificatePassword,omitempty"` + + // CertificateValue: PFX or PEM blob + CertificateValue *genruntime.SecretReference `json:"certificateValue,omitempty"` + + // DnsSuffix: Dns suffix for the environment domain + DnsSuffix *string `json:"dnsSuffix,omitempty"` +} + +var _ genruntime.ARMTransformer = &CustomDomainConfiguration{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (configuration *CustomDomainConfiguration) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if configuration == nil { + return nil, nil + } + result := &arm.CustomDomainConfiguration{} + + // Set property "CertificatePassword": + if configuration.CertificatePassword != nil { + certificatePasswordSecret, err := resolved.ResolvedSecrets.Lookup(*configuration.CertificatePassword) + if err != nil { + return nil, eris.Wrap(err, "looking up secret for property CertificatePassword") + } + certificatePassword := certificatePasswordSecret + result.CertificatePassword = &certificatePassword + } + + // Set property "CertificateValue": + if configuration.CertificateValue != nil { + certificateValueSecret, err := resolved.ResolvedSecrets.Lookup(*configuration.CertificateValue) + if err != nil { + return nil, eris.Wrap(err, "looking up secret for property CertificateValue") + } + certificateValue := certificateValueSecret + result.CertificateValue = &certificateValue + } + + // Set property "DnsSuffix": + if configuration.DnsSuffix != nil { + dnsSuffix := *configuration.DnsSuffix + result.DnsSuffix = &dnsSuffix + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (configuration *CustomDomainConfiguration) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.CustomDomainConfiguration{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (configuration *CustomDomainConfiguration) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.CustomDomainConfiguration) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.CustomDomainConfiguration, got %T", armInput) + } + + // no assignment for property "CertificatePassword" + + // no assignment for property "CertificateValue" + + // Set property "DnsSuffix": + if typedInput.DnsSuffix != nil { + dnsSuffix := *typedInput.DnsSuffix + configuration.DnsSuffix = &dnsSuffix + } + + // No error + return nil +} + +// AssignProperties_From_CustomDomainConfiguration populates our CustomDomainConfiguration from the provided source CustomDomainConfiguration +func (configuration *CustomDomainConfiguration) AssignProperties_From_CustomDomainConfiguration(source *storage.CustomDomainConfiguration) error { + + // CertificatePassword + if source.CertificatePassword != nil { + certificatePassword := source.CertificatePassword.Copy() + configuration.CertificatePassword = &certificatePassword + } else { + configuration.CertificatePassword = nil + } + + // CertificateValue + if source.CertificateValue != nil { + certificateValue := source.CertificateValue.Copy() + configuration.CertificateValue = &certificateValue + } else { + configuration.CertificateValue = nil + } + + // DnsSuffix + configuration.DnsSuffix = genruntime.ClonePointerToString(source.DnsSuffix) + + // No error + return nil +} + +// AssignProperties_To_CustomDomainConfiguration populates the provided destination CustomDomainConfiguration from our CustomDomainConfiguration +func (configuration *CustomDomainConfiguration) AssignProperties_To_CustomDomainConfiguration(destination *storage.CustomDomainConfiguration) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // CertificatePassword + if configuration.CertificatePassword != nil { + certificatePassword := configuration.CertificatePassword.Copy() + destination.CertificatePassword = &certificatePassword + } else { + destination.CertificatePassword = nil + } + + // CertificateValue + if configuration.CertificateValue != nil { + certificateValue := configuration.CertificateValue.Copy() + destination.CertificateValue = &certificateValue + } else { + destination.CertificateValue = nil + } + + // DnsSuffix + destination.DnsSuffix = genruntime.ClonePointerToString(configuration.DnsSuffix) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_CustomDomainConfiguration_STATUS populates our CustomDomainConfiguration from the provided source CustomDomainConfiguration_STATUS +func (configuration *CustomDomainConfiguration) Initialize_From_CustomDomainConfiguration_STATUS(source *CustomDomainConfiguration_STATUS) error { + + // DnsSuffix + configuration.DnsSuffix = genruntime.ClonePointerToString(source.DnsSuffix) + + // No error + return nil +} + +// Configuration properties for apps environment custom domain +type CustomDomainConfiguration_STATUS struct { + // CustomDomainVerificationId: Id used to verify domain name ownership + CustomDomainVerificationId *string `json:"customDomainVerificationId,omitempty"` + + // DnsSuffix: Dns suffix for the environment domain + DnsSuffix *string `json:"dnsSuffix,omitempty"` + + // ExpirationDate: Certificate expiration date. + ExpirationDate *string `json:"expirationDate,omitempty"` + + // SubjectName: Subject name of the certificate. + SubjectName *string `json:"subjectName,omitempty"` + + // Thumbprint: Certificate thumbprint. + Thumbprint *string `json:"thumbprint,omitempty"` +} + +var _ genruntime.FromARMConverter = &CustomDomainConfiguration_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (configuration *CustomDomainConfiguration_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.CustomDomainConfiguration_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (configuration *CustomDomainConfiguration_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.CustomDomainConfiguration_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.CustomDomainConfiguration_STATUS, got %T", armInput) + } + + // Set property "CustomDomainVerificationId": + if typedInput.CustomDomainVerificationId != nil { + customDomainVerificationId := *typedInput.CustomDomainVerificationId + configuration.CustomDomainVerificationId = &customDomainVerificationId + } + + // Set property "DnsSuffix": + if typedInput.DnsSuffix != nil { + dnsSuffix := *typedInput.DnsSuffix + configuration.DnsSuffix = &dnsSuffix + } + + // Set property "ExpirationDate": + if typedInput.ExpirationDate != nil { + expirationDate := *typedInput.ExpirationDate + configuration.ExpirationDate = &expirationDate + } + + // Set property "SubjectName": + if typedInput.SubjectName != nil { + subjectName := *typedInput.SubjectName + configuration.SubjectName = &subjectName + } + + // Set property "Thumbprint": + if typedInput.Thumbprint != nil { + thumbprint := *typedInput.Thumbprint + configuration.Thumbprint = &thumbprint + } + + // No error + return nil +} + +// AssignProperties_From_CustomDomainConfiguration_STATUS populates our CustomDomainConfiguration_STATUS from the provided source CustomDomainConfiguration_STATUS +func (configuration *CustomDomainConfiguration_STATUS) AssignProperties_From_CustomDomainConfiguration_STATUS(source *storage.CustomDomainConfiguration_STATUS) error { + + // CustomDomainVerificationId + configuration.CustomDomainVerificationId = genruntime.ClonePointerToString(source.CustomDomainVerificationId) + + // DnsSuffix + configuration.DnsSuffix = genruntime.ClonePointerToString(source.DnsSuffix) + + // ExpirationDate + configuration.ExpirationDate = genruntime.ClonePointerToString(source.ExpirationDate) + + // SubjectName + configuration.SubjectName = genruntime.ClonePointerToString(source.SubjectName) + + // Thumbprint + configuration.Thumbprint = genruntime.ClonePointerToString(source.Thumbprint) + + // No error + return nil +} + +// AssignProperties_To_CustomDomainConfiguration_STATUS populates the provided destination CustomDomainConfiguration_STATUS from our CustomDomainConfiguration_STATUS +func (configuration *CustomDomainConfiguration_STATUS) AssignProperties_To_CustomDomainConfiguration_STATUS(destination *storage.CustomDomainConfiguration_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // CustomDomainVerificationId + destination.CustomDomainVerificationId = genruntime.ClonePointerToString(configuration.CustomDomainVerificationId) + + // DnsSuffix + destination.DnsSuffix = genruntime.ClonePointerToString(configuration.DnsSuffix) + + // ExpirationDate + destination.ExpirationDate = genruntime.ClonePointerToString(configuration.ExpirationDate) + + // SubjectName + destination.SubjectName = genruntime.ClonePointerToString(configuration.SubjectName) + + // Thumbprint + destination.Thumbprint = genruntime.ClonePointerToString(configuration.Thumbprint) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Configuration properties Dapr component +type DaprConfiguration_STATUS struct { + // Version: The version of Dapr + Version *string `json:"version,omitempty"` +} + +var _ genruntime.FromARMConverter = &DaprConfiguration_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (configuration *DaprConfiguration_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.DaprConfiguration_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (configuration *DaprConfiguration_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.DaprConfiguration_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.DaprConfiguration_STATUS, got %T", armInput) + } + + // Set property "Version": + if typedInput.Version != nil { + version := *typedInput.Version + configuration.Version = &version + } + + // No error + return nil +} + +// AssignProperties_From_DaprConfiguration_STATUS populates our DaprConfiguration_STATUS from the provided source DaprConfiguration_STATUS +func (configuration *DaprConfiguration_STATUS) AssignProperties_From_DaprConfiguration_STATUS(source *storage.DaprConfiguration_STATUS) error { + + // Version + configuration.Version = genruntime.ClonePointerToString(source.Version) + + // No error + return nil +} + +// AssignProperties_To_DaprConfiguration_STATUS populates the provided destination DaprConfiguration_STATUS from our DaprConfiguration_STATUS +func (configuration *DaprConfiguration_STATUS) AssignProperties_To_DaprConfiguration_STATUS(destination *storage.DaprConfiguration_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Version + destination.Version = genruntime.ClonePointerToString(configuration.Version) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Configuration properties Keda component +type KedaConfiguration_STATUS struct { + // Version: The version of Keda + Version *string `json:"version,omitempty"` +} + +var _ genruntime.FromARMConverter = &KedaConfiguration_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (configuration *KedaConfiguration_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.KedaConfiguration_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (configuration *KedaConfiguration_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.KedaConfiguration_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.KedaConfiguration_STATUS, got %T", armInput) + } + + // Set property "Version": + if typedInput.Version != nil { + version := *typedInput.Version + configuration.Version = &version + } + + // No error + return nil +} + +// AssignProperties_From_KedaConfiguration_STATUS populates our KedaConfiguration_STATUS from the provided source KedaConfiguration_STATUS +func (configuration *KedaConfiguration_STATUS) AssignProperties_From_KedaConfiguration_STATUS(source *storage.KedaConfiguration_STATUS) error { + + // Version + configuration.Version = genruntime.ClonePointerToString(source.Version) + + // No error + return nil +} + +// AssignProperties_To_KedaConfiguration_STATUS populates the provided destination KedaConfiguration_STATUS from our KedaConfiguration_STATUS +func (configuration *KedaConfiguration_STATUS) AssignProperties_To_KedaConfiguration_STATUS(destination *storage.KedaConfiguration_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Version + destination.Version = genruntime.ClonePointerToString(configuration.Version) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +type ManagedEnvironment_Properties_PeerAuthentication_Spec struct { + // Mtls: Mutual TLS authentication settings for the Managed Environment + Mtls *Mtls `json:"mtls,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedEnvironment_Properties_PeerAuthentication_Spec{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (authentication *ManagedEnvironment_Properties_PeerAuthentication_Spec) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if authentication == nil { + return nil, nil + } + result := &arm.ManagedEnvironment_Properties_PeerAuthentication_Spec{} + + // Set property "Mtls": + if authentication.Mtls != nil { + mtls_ARM, err := (*authentication.Mtls).ConvertToARM(resolved) + if err != nil { + return nil, err + } + mtls := *mtls_ARM.(*arm.Mtls) + result.Mtls = &mtls + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (authentication *ManagedEnvironment_Properties_PeerAuthentication_Spec) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedEnvironment_Properties_PeerAuthentication_Spec{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (authentication *ManagedEnvironment_Properties_PeerAuthentication_Spec) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedEnvironment_Properties_PeerAuthentication_Spec) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedEnvironment_Properties_PeerAuthentication_Spec, got %T", armInput) + } + + // Set property "Mtls": + if typedInput.Mtls != nil { + var mtls1 Mtls + err := mtls1.PopulateFromARM(owner, *typedInput.Mtls) + if err != nil { + return err + } + mtls := mtls1 + authentication.Mtls = &mtls + } + + // No error + return nil +} + +// AssignProperties_From_ManagedEnvironment_Properties_PeerAuthentication_Spec populates our ManagedEnvironment_Properties_PeerAuthentication_Spec from the provided source ManagedEnvironment_Properties_PeerAuthentication_Spec +func (authentication *ManagedEnvironment_Properties_PeerAuthentication_Spec) AssignProperties_From_ManagedEnvironment_Properties_PeerAuthentication_Spec(source *storage.ManagedEnvironment_Properties_PeerAuthentication_Spec) error { + + // Mtls + if source.Mtls != nil { + var mtl Mtls + err := mtl.AssignProperties_From_Mtls(source.Mtls) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Mtls() to populate field Mtls") + } + authentication.Mtls = &mtl + } else { + authentication.Mtls = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedEnvironment_Properties_PeerAuthentication_Spec populates the provided destination ManagedEnvironment_Properties_PeerAuthentication_Spec from our ManagedEnvironment_Properties_PeerAuthentication_Spec +func (authentication *ManagedEnvironment_Properties_PeerAuthentication_Spec) AssignProperties_To_ManagedEnvironment_Properties_PeerAuthentication_Spec(destination *storage.ManagedEnvironment_Properties_PeerAuthentication_Spec) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Mtls + if authentication.Mtls != nil { + var mtl storage.Mtls + err := authentication.Mtls.AssignProperties_To_Mtls(&mtl) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Mtls() to populate field Mtls") + } + destination.Mtls = &mtl + } else { + destination.Mtls = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedEnvironment_Properties_PeerAuthentication_STATUS populates our ManagedEnvironment_Properties_PeerAuthentication_Spec from the provided source ManagedEnvironment_Properties_PeerAuthentication_STATUS +func (authentication *ManagedEnvironment_Properties_PeerAuthentication_Spec) Initialize_From_ManagedEnvironment_Properties_PeerAuthentication_STATUS(source *ManagedEnvironment_Properties_PeerAuthentication_STATUS) error { + + // Mtls + if source.Mtls != nil { + var mtl Mtls + err := mtl.Initialize_From_Mtls_STATUS(source.Mtls) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_Mtls_STATUS() to populate field Mtls") + } + authentication.Mtls = &mtl + } else { + authentication.Mtls = nil + } + + // No error + return nil +} + +type ManagedEnvironment_Properties_PeerAuthentication_STATUS struct { + // Mtls: Mutual TLS authentication settings for the Managed Environment + Mtls *Mtls_STATUS `json:"mtls,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedEnvironment_Properties_PeerAuthentication_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (authentication *ManagedEnvironment_Properties_PeerAuthentication_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedEnvironment_Properties_PeerAuthentication_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (authentication *ManagedEnvironment_Properties_PeerAuthentication_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedEnvironment_Properties_PeerAuthentication_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedEnvironment_Properties_PeerAuthentication_STATUS, got %T", armInput) + } + + // Set property "Mtls": + if typedInput.Mtls != nil { + var mtls1 Mtls_STATUS + err := mtls1.PopulateFromARM(owner, *typedInput.Mtls) + if err != nil { + return err + } + mtls := mtls1 + authentication.Mtls = &mtls + } + + // No error + return nil +} + +// AssignProperties_From_ManagedEnvironment_Properties_PeerAuthentication_STATUS populates our ManagedEnvironment_Properties_PeerAuthentication_STATUS from the provided source ManagedEnvironment_Properties_PeerAuthentication_STATUS +func (authentication *ManagedEnvironment_Properties_PeerAuthentication_STATUS) AssignProperties_From_ManagedEnvironment_Properties_PeerAuthentication_STATUS(source *storage.ManagedEnvironment_Properties_PeerAuthentication_STATUS) error { + + // Mtls + if source.Mtls != nil { + var mtl Mtls_STATUS + err := mtl.AssignProperties_From_Mtls_STATUS(source.Mtls) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_Mtls_STATUS() to populate field Mtls") + } + authentication.Mtls = &mtl + } else { + authentication.Mtls = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedEnvironment_Properties_PeerAuthentication_STATUS populates the provided destination ManagedEnvironment_Properties_PeerAuthentication_STATUS from our ManagedEnvironment_Properties_PeerAuthentication_STATUS +func (authentication *ManagedEnvironment_Properties_PeerAuthentication_STATUS) AssignProperties_To_ManagedEnvironment_Properties_PeerAuthentication_STATUS(destination *storage.ManagedEnvironment_Properties_PeerAuthentication_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Mtls + if authentication.Mtls != nil { + var mtl storage.Mtls_STATUS + err := authentication.Mtls.AssignProperties_To_Mtls_STATUS(&mtl) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_Mtls_STATUS() to populate field Mtls") + } + destination.Mtls = &mtl + } else { + destination.Mtls = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +type ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec struct { + // Encryption: Peer traffic encryption settings for the Managed Environment + Encryption *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec `json:"encryption,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (configuration *ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if configuration == nil { + return nil, nil + } + result := &arm.ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec{} + + // Set property "Encryption": + if configuration.Encryption != nil { + encryption_ARM, err := (*configuration.Encryption).ConvertToARM(resolved) + if err != nil { + return nil, err + } + encryption := *encryption_ARM.(*arm.ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec) + result.Encryption = &encryption + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (configuration *ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (configuration *ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec, got %T", armInput) + } + + // Set property "Encryption": + if typedInput.Encryption != nil { + var encryption1 ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec + err := encryption1.PopulateFromARM(owner, *typedInput.Encryption) + if err != nil { + return err + } + encryption := encryption1 + configuration.Encryption = &encryption + } + + // No error + return nil +} + +// AssignProperties_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec populates our ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec from the provided source ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec +func (configuration *ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec) AssignProperties_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec(source *storage.ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec) error { + + // Encryption + if source.Encryption != nil { + var encryption ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec + err := encryption.AssignProperties_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec(source.Encryption) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec() to populate field Encryption") + } + configuration.Encryption = &encryption + } else { + configuration.Encryption = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec populates the provided destination ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec from our ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec +func (configuration *ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec) AssignProperties_To_ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec(destination *storage.ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Encryption + if configuration.Encryption != nil { + var encryption storage.ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec + err := configuration.Encryption.AssignProperties_To_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec(&encryption) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec() to populate field Encryption") + } + destination.Encryption = &encryption + } else { + destination.Encryption = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS populates our ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec from the provided source ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS +func (configuration *ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec) Initialize_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS(source *ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS) error { + + // Encryption + if source.Encryption != nil { + var encryption ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec + err := encryption.Initialize_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS(source.Encryption) + if err != nil { + return eris.Wrap(err, "calling Initialize_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS() to populate field Encryption") + } + configuration.Encryption = &encryption + } else { + configuration.Encryption = nil + } + + // No error + return nil +} + +type ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS struct { + // Encryption: Peer traffic encryption settings for the Managed Environment + Encryption *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS `json:"encryption,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (configuration *ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (configuration *ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS, got %T", armInput) + } + + // Set property "Encryption": + if typedInput.Encryption != nil { + var encryption1 ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS + err := encryption1.PopulateFromARM(owner, *typedInput.Encryption) + if err != nil { + return err + } + encryption := encryption1 + configuration.Encryption = &encryption + } + + // No error + return nil +} + +// AssignProperties_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS populates our ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS from the provided source ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS +func (configuration *ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS) AssignProperties_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS(source *storage.ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS) error { + + // Encryption + if source.Encryption != nil { + var encryption ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS + err := encryption.AssignProperties_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS(source.Encryption) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS() to populate field Encryption") + } + configuration.Encryption = &encryption + } else { + configuration.Encryption = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS populates the provided destination ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS from our ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS +func (configuration *ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS) AssignProperties_To_ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS(destination *storage.ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Encryption + if configuration.Encryption != nil { + var encryption storage.ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS + err := configuration.Encryption.AssignProperties_To_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS(&encryption) + if err != nil { + return eris.Wrap(err, "calling AssignProperties_To_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS() to populate field Encryption") + } + destination.Encryption = &encryption + } else { + destination.Encryption = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +type ManagedEnvironment_Properties_ProvisioningState_STATUS string + +const ( + ManagedEnvironment_Properties_ProvisioningState_STATUS_Canceled = ManagedEnvironment_Properties_ProvisioningState_STATUS("Canceled") + ManagedEnvironment_Properties_ProvisioningState_STATUS_Failed = ManagedEnvironment_Properties_ProvisioningState_STATUS("Failed") + ManagedEnvironment_Properties_ProvisioningState_STATUS_InfrastructureSetupComplete = ManagedEnvironment_Properties_ProvisioningState_STATUS("InfrastructureSetupComplete") + ManagedEnvironment_Properties_ProvisioningState_STATUS_InfrastructureSetupInProgress = ManagedEnvironment_Properties_ProvisioningState_STATUS("InfrastructureSetupInProgress") + ManagedEnvironment_Properties_ProvisioningState_STATUS_InitializationInProgress = ManagedEnvironment_Properties_ProvisioningState_STATUS("InitializationInProgress") + ManagedEnvironment_Properties_ProvisioningState_STATUS_ScheduledForDelete = ManagedEnvironment_Properties_ProvisioningState_STATUS("ScheduledForDelete") + ManagedEnvironment_Properties_ProvisioningState_STATUS_Succeeded = ManagedEnvironment_Properties_ProvisioningState_STATUS("Succeeded") + ManagedEnvironment_Properties_ProvisioningState_STATUS_UpgradeFailed = ManagedEnvironment_Properties_ProvisioningState_STATUS("UpgradeFailed") + ManagedEnvironment_Properties_ProvisioningState_STATUS_UpgradeRequested = ManagedEnvironment_Properties_ProvisioningState_STATUS("UpgradeRequested") + ManagedEnvironment_Properties_ProvisioningState_STATUS_Waiting = ManagedEnvironment_Properties_ProvisioningState_STATUS("Waiting") +) + +// Mapping from string to ManagedEnvironment_Properties_ProvisioningState_STATUS +var managedEnvironment_Properties_ProvisioningState_STATUS_Values = map[string]ManagedEnvironment_Properties_ProvisioningState_STATUS{ + "canceled": ManagedEnvironment_Properties_ProvisioningState_STATUS_Canceled, + "failed": ManagedEnvironment_Properties_ProvisioningState_STATUS_Failed, + "infrastructuresetupcomplete": ManagedEnvironment_Properties_ProvisioningState_STATUS_InfrastructureSetupComplete, + "infrastructuresetupinprogress": ManagedEnvironment_Properties_ProvisioningState_STATUS_InfrastructureSetupInProgress, + "initializationinprogress": ManagedEnvironment_Properties_ProvisioningState_STATUS_InitializationInProgress, + "scheduledfordelete": ManagedEnvironment_Properties_ProvisioningState_STATUS_ScheduledForDelete, + "succeeded": ManagedEnvironment_Properties_ProvisioningState_STATUS_Succeeded, + "upgradefailed": ManagedEnvironment_Properties_ProvisioningState_STATUS_UpgradeFailed, + "upgraderequested": ManagedEnvironment_Properties_ProvisioningState_STATUS_UpgradeRequested, + "waiting": ManagedEnvironment_Properties_ProvisioningState_STATUS_Waiting, +} + +// Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure +type ManagedEnvironmentOperatorSpec struct { + // ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions). + ConfigMapExpressions []*core.DestinationExpression `json:"configMapExpressions,omitempty"` + + // SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions). + SecretExpressions []*core.DestinationExpression `json:"secretExpressions,omitempty"` +} + +// AssignProperties_From_ManagedEnvironmentOperatorSpec populates our ManagedEnvironmentOperatorSpec from the provided source ManagedEnvironmentOperatorSpec +func (operator *ManagedEnvironmentOperatorSpec) AssignProperties_From_ManagedEnvironmentOperatorSpec(source *storage.ManagedEnvironmentOperatorSpec) error { + + // ConfigMapExpressions + if source.ConfigMapExpressions != nil { + configMapExpressionList := make([]*core.DestinationExpression, len(source.ConfigMapExpressions)) + for configMapExpressionIndex, configMapExpressionItem := range source.ConfigMapExpressions { + // Shadow the loop variable to avoid aliasing + configMapExpressionItem := configMapExpressionItem + if configMapExpressionItem != nil { + configMapExpression := *configMapExpressionItem.DeepCopy() + configMapExpressionList[configMapExpressionIndex] = &configMapExpression + } else { + configMapExpressionList[configMapExpressionIndex] = nil + } + } + operator.ConfigMapExpressions = configMapExpressionList + } else { + operator.ConfigMapExpressions = nil + } + + // SecretExpressions + if source.SecretExpressions != nil { + secretExpressionList := make([]*core.DestinationExpression, len(source.SecretExpressions)) + for secretExpressionIndex, secretExpressionItem := range source.SecretExpressions { + // Shadow the loop variable to avoid aliasing + secretExpressionItem := secretExpressionItem + if secretExpressionItem != nil { + secretExpression := *secretExpressionItem.DeepCopy() + secretExpressionList[secretExpressionIndex] = &secretExpression + } else { + secretExpressionList[secretExpressionIndex] = nil + } + } + operator.SecretExpressions = secretExpressionList + } else { + operator.SecretExpressions = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedEnvironmentOperatorSpec populates the provided destination ManagedEnvironmentOperatorSpec from our ManagedEnvironmentOperatorSpec +func (operator *ManagedEnvironmentOperatorSpec) AssignProperties_To_ManagedEnvironmentOperatorSpec(destination *storage.ManagedEnvironmentOperatorSpec) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ConfigMapExpressions + if operator.ConfigMapExpressions != nil { + configMapExpressionList := make([]*core.DestinationExpression, len(operator.ConfigMapExpressions)) + for configMapExpressionIndex, configMapExpressionItem := range operator.ConfigMapExpressions { + // Shadow the loop variable to avoid aliasing + configMapExpressionItem := configMapExpressionItem + if configMapExpressionItem != nil { + configMapExpression := *configMapExpressionItem.DeepCopy() + configMapExpressionList[configMapExpressionIndex] = &configMapExpression + } else { + configMapExpressionList[configMapExpressionIndex] = nil + } + } + destination.ConfigMapExpressions = configMapExpressionList + } else { + destination.ConfigMapExpressions = nil + } + + // SecretExpressions + if operator.SecretExpressions != nil { + secretExpressionList := make([]*core.DestinationExpression, len(operator.SecretExpressions)) + for secretExpressionIndex, secretExpressionItem := range operator.SecretExpressions { + // Shadow the loop variable to avoid aliasing + secretExpressionItem := secretExpressionItem + if secretExpressionItem != nil { + secretExpression := *secretExpressionItem.DeepCopy() + secretExpressionList[secretExpressionIndex] = &secretExpression + } else { + secretExpressionList[secretExpressionIndex] = nil + } + } + destination.SecretExpressions = secretExpressionList + } else { + destination.SecretExpressions = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Configuration properties for apps environment to join a Virtual Network +type VnetConfiguration struct { + // DockerBridgeCidr: CIDR notation IP range assigned to the Docker bridge, network. Must not overlap with any other + // provided IP ranges. + DockerBridgeCidr *string `json:"dockerBridgeCidr,omitempty"` + + // InfrastructureSubnetReference: Resource ID of a subnet for infrastructure components. Must not overlap with any other + // provided IP ranges. + InfrastructureSubnetReference *genruntime.ResourceReference `armReference:"InfrastructureSubnetId" json:"infrastructureSubnetReference,omitempty"` + + // Internal: Boolean indicating the environment only has an internal load balancer. These environments do not have a public + // static IP resource. They must provide infrastructureSubnetId if enabling this property + Internal *bool `json:"internal,omitempty"` + + // PlatformReservedCidr: IP range in CIDR notation that can be reserved for environment infrastructure IP addresses. Must + // not overlap with any other provided IP ranges. + PlatformReservedCidr *string `json:"platformReservedCidr,omitempty"` + + // PlatformReservedDnsIP: An IP address from the IP range defined by platformReservedCidr that will be reserved for the + // internal DNS server. + PlatformReservedDnsIP *string `json:"platformReservedDnsIP,omitempty"` +} + +var _ genruntime.ARMTransformer = &VnetConfiguration{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (configuration *VnetConfiguration) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if configuration == nil { + return nil, nil + } + result := &arm.VnetConfiguration{} + + // Set property "DockerBridgeCidr": + if configuration.DockerBridgeCidr != nil { + dockerBridgeCidr := *configuration.DockerBridgeCidr + result.DockerBridgeCidr = &dockerBridgeCidr + } + + // Set property "InfrastructureSubnetId": + if configuration.InfrastructureSubnetReference != nil { + infrastructureSubnetReferenceARMID, err := resolved.ResolvedReferences.Lookup(*configuration.InfrastructureSubnetReference) + if err != nil { + return nil, err + } + infrastructureSubnetReference := infrastructureSubnetReferenceARMID + result.InfrastructureSubnetId = &infrastructureSubnetReference + } + + // Set property "Internal": + if configuration.Internal != nil { + internal := *configuration.Internal + result.Internal = &internal + } + + // Set property "PlatformReservedCidr": + if configuration.PlatformReservedCidr != nil { + platformReservedCidr := *configuration.PlatformReservedCidr + result.PlatformReservedCidr = &platformReservedCidr + } + + // Set property "PlatformReservedDnsIP": + if configuration.PlatformReservedDnsIP != nil { + platformReservedDnsIP := *configuration.PlatformReservedDnsIP + result.PlatformReservedDnsIP = &platformReservedDnsIP + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (configuration *VnetConfiguration) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.VnetConfiguration{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (configuration *VnetConfiguration) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.VnetConfiguration) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.VnetConfiguration, got %T", armInput) + } + + // Set property "DockerBridgeCidr": + if typedInput.DockerBridgeCidr != nil { + dockerBridgeCidr := *typedInput.DockerBridgeCidr + configuration.DockerBridgeCidr = &dockerBridgeCidr + } + + // no assignment for property "InfrastructureSubnetReference" + + // Set property "Internal": + if typedInput.Internal != nil { + internal := *typedInput.Internal + configuration.Internal = &internal + } + + // Set property "PlatformReservedCidr": + if typedInput.PlatformReservedCidr != nil { + platformReservedCidr := *typedInput.PlatformReservedCidr + configuration.PlatformReservedCidr = &platformReservedCidr + } + + // Set property "PlatformReservedDnsIP": + if typedInput.PlatformReservedDnsIP != nil { + platformReservedDnsIP := *typedInput.PlatformReservedDnsIP + configuration.PlatformReservedDnsIP = &platformReservedDnsIP + } + + // No error + return nil +} + +// AssignProperties_From_VnetConfiguration populates our VnetConfiguration from the provided source VnetConfiguration +func (configuration *VnetConfiguration) AssignProperties_From_VnetConfiguration(source *storage.VnetConfiguration) error { + + // DockerBridgeCidr + configuration.DockerBridgeCidr = genruntime.ClonePointerToString(source.DockerBridgeCidr) + + // InfrastructureSubnetReference + if source.InfrastructureSubnetReference != nil { + infrastructureSubnetReference := source.InfrastructureSubnetReference.Copy() + configuration.InfrastructureSubnetReference = &infrastructureSubnetReference + } else { + configuration.InfrastructureSubnetReference = nil + } + + // Internal + if source.Internal != nil { + internal := *source.Internal + configuration.Internal = &internal + } else { + configuration.Internal = nil + } + + // PlatformReservedCidr + configuration.PlatformReservedCidr = genruntime.ClonePointerToString(source.PlatformReservedCidr) + + // PlatformReservedDnsIP + configuration.PlatformReservedDnsIP = genruntime.ClonePointerToString(source.PlatformReservedDnsIP) + + // No error + return nil +} + +// AssignProperties_To_VnetConfiguration populates the provided destination VnetConfiguration from our VnetConfiguration +func (configuration *VnetConfiguration) AssignProperties_To_VnetConfiguration(destination *storage.VnetConfiguration) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // DockerBridgeCidr + destination.DockerBridgeCidr = genruntime.ClonePointerToString(configuration.DockerBridgeCidr) + + // InfrastructureSubnetReference + if configuration.InfrastructureSubnetReference != nil { + infrastructureSubnetReference := configuration.InfrastructureSubnetReference.Copy() + destination.InfrastructureSubnetReference = &infrastructureSubnetReference + } else { + destination.InfrastructureSubnetReference = nil + } + + // Internal + if configuration.Internal != nil { + internal := *configuration.Internal + destination.Internal = &internal + } else { + destination.Internal = nil + } + + // PlatformReservedCidr + destination.PlatformReservedCidr = genruntime.ClonePointerToString(configuration.PlatformReservedCidr) + + // PlatformReservedDnsIP + destination.PlatformReservedDnsIP = genruntime.ClonePointerToString(configuration.PlatformReservedDnsIP) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_VnetConfiguration_STATUS populates our VnetConfiguration from the provided source VnetConfiguration_STATUS +func (configuration *VnetConfiguration) Initialize_From_VnetConfiguration_STATUS(source *VnetConfiguration_STATUS) error { + + // DockerBridgeCidr + configuration.DockerBridgeCidr = genruntime.ClonePointerToString(source.DockerBridgeCidr) + + // InfrastructureSubnetReference + if source.InfrastructureSubnetId != nil { + infrastructureSubnetReference := genruntime.CreateResourceReferenceFromARMID(*source.InfrastructureSubnetId) + configuration.InfrastructureSubnetReference = &infrastructureSubnetReference + } else { + configuration.InfrastructureSubnetReference = nil + } + + // Internal + if source.Internal != nil { + internal := *source.Internal + configuration.Internal = &internal + } else { + configuration.Internal = nil + } + + // PlatformReservedCidr + configuration.PlatformReservedCidr = genruntime.ClonePointerToString(source.PlatformReservedCidr) + + // PlatformReservedDnsIP + configuration.PlatformReservedDnsIP = genruntime.ClonePointerToString(source.PlatformReservedDnsIP) + + // No error + return nil +} + +// Configuration properties for apps environment to join a Virtual Network +type VnetConfiguration_STATUS struct { + // DockerBridgeCidr: CIDR notation IP range assigned to the Docker bridge, network. Must not overlap with any other + // provided IP ranges. + DockerBridgeCidr *string `json:"dockerBridgeCidr,omitempty"` + + // InfrastructureSubnetId: Resource ID of a subnet for infrastructure components. Must not overlap with any other provided + // IP ranges. + InfrastructureSubnetId *string `json:"infrastructureSubnetId,omitempty"` + + // Internal: Boolean indicating the environment only has an internal load balancer. These environments do not have a public + // static IP resource. They must provide infrastructureSubnetId if enabling this property + Internal *bool `json:"internal,omitempty"` + + // PlatformReservedCidr: IP range in CIDR notation that can be reserved for environment infrastructure IP addresses. Must + // not overlap with any other provided IP ranges. + PlatformReservedCidr *string `json:"platformReservedCidr,omitempty"` + + // PlatformReservedDnsIP: An IP address from the IP range defined by platformReservedCidr that will be reserved for the + // internal DNS server. + PlatformReservedDnsIP *string `json:"platformReservedDnsIP,omitempty"` +} + +var _ genruntime.FromARMConverter = &VnetConfiguration_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (configuration *VnetConfiguration_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.VnetConfiguration_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (configuration *VnetConfiguration_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.VnetConfiguration_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.VnetConfiguration_STATUS, got %T", armInput) + } + + // Set property "DockerBridgeCidr": + if typedInput.DockerBridgeCidr != nil { + dockerBridgeCidr := *typedInput.DockerBridgeCidr + configuration.DockerBridgeCidr = &dockerBridgeCidr + } + + // Set property "InfrastructureSubnetId": + if typedInput.InfrastructureSubnetId != nil { + infrastructureSubnetId := *typedInput.InfrastructureSubnetId + configuration.InfrastructureSubnetId = &infrastructureSubnetId + } + + // Set property "Internal": + if typedInput.Internal != nil { + internal := *typedInput.Internal + configuration.Internal = &internal + } + + // Set property "PlatformReservedCidr": + if typedInput.PlatformReservedCidr != nil { + platformReservedCidr := *typedInput.PlatformReservedCidr + configuration.PlatformReservedCidr = &platformReservedCidr + } + + // Set property "PlatformReservedDnsIP": + if typedInput.PlatformReservedDnsIP != nil { + platformReservedDnsIP := *typedInput.PlatformReservedDnsIP + configuration.PlatformReservedDnsIP = &platformReservedDnsIP + } + + // No error + return nil +} + +// AssignProperties_From_VnetConfiguration_STATUS populates our VnetConfiguration_STATUS from the provided source VnetConfiguration_STATUS +func (configuration *VnetConfiguration_STATUS) AssignProperties_From_VnetConfiguration_STATUS(source *storage.VnetConfiguration_STATUS) error { + + // DockerBridgeCidr + configuration.DockerBridgeCidr = genruntime.ClonePointerToString(source.DockerBridgeCidr) + + // InfrastructureSubnetId + configuration.InfrastructureSubnetId = genruntime.ClonePointerToString(source.InfrastructureSubnetId) + + // Internal + if source.Internal != nil { + internal := *source.Internal + configuration.Internal = &internal + } else { + configuration.Internal = nil + } + + // PlatformReservedCidr + configuration.PlatformReservedCidr = genruntime.ClonePointerToString(source.PlatformReservedCidr) + + // PlatformReservedDnsIP + configuration.PlatformReservedDnsIP = genruntime.ClonePointerToString(source.PlatformReservedDnsIP) + + // No error + return nil +} + +// AssignProperties_To_VnetConfiguration_STATUS populates the provided destination VnetConfiguration_STATUS from our VnetConfiguration_STATUS +func (configuration *VnetConfiguration_STATUS) AssignProperties_To_VnetConfiguration_STATUS(destination *storage.VnetConfiguration_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // DockerBridgeCidr + destination.DockerBridgeCidr = genruntime.ClonePointerToString(configuration.DockerBridgeCidr) + + // InfrastructureSubnetId + destination.InfrastructureSubnetId = genruntime.ClonePointerToString(configuration.InfrastructureSubnetId) + + // Internal + if configuration.Internal != nil { + internal := *configuration.Internal + destination.Internal = &internal + } else { + destination.Internal = nil + } + + // PlatformReservedCidr + destination.PlatformReservedCidr = genruntime.ClonePointerToString(configuration.PlatformReservedCidr) + + // PlatformReservedDnsIP + destination.PlatformReservedDnsIP = genruntime.ClonePointerToString(configuration.PlatformReservedDnsIP) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Workload profile to scope container app execution. +type WorkloadProfile struct { + // MaximumCount: The maximum capacity. + MaximumCount *int `json:"maximumCount,omitempty"` + + // MinimumCount: The minimum capacity. + MinimumCount *int `json:"minimumCount,omitempty"` + + // +kubebuilder:validation:Required + // Name: Workload profile type for the workloads to run on. + Name *string `json:"name,omitempty"` + + // +kubebuilder:validation:Required + // WorkloadProfileType: Workload profile type for the workloads to run on. + WorkloadProfileType *string `json:"workloadProfileType,omitempty"` +} + +var _ genruntime.ARMTransformer = &WorkloadProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *WorkloadProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.WorkloadProfile{} + + // Set property "MaximumCount": + if profile.MaximumCount != nil { + maximumCount := *profile.MaximumCount + result.MaximumCount = &maximumCount + } + + // Set property "MinimumCount": + if profile.MinimumCount != nil { + minimumCount := *profile.MinimumCount + result.MinimumCount = &minimumCount + } + + // Set property "Name": + if profile.Name != nil { + name := *profile.Name + result.Name = &name + } + + // Set property "WorkloadProfileType": + if profile.WorkloadProfileType != nil { + workloadProfileType := *profile.WorkloadProfileType + result.WorkloadProfileType = &workloadProfileType + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *WorkloadProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.WorkloadProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *WorkloadProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.WorkloadProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.WorkloadProfile, got %T", armInput) + } + + // Set property "MaximumCount": + if typedInput.MaximumCount != nil { + maximumCount := *typedInput.MaximumCount + profile.MaximumCount = &maximumCount + } + + // Set property "MinimumCount": + if typedInput.MinimumCount != nil { + minimumCount := *typedInput.MinimumCount + profile.MinimumCount = &minimumCount + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + profile.Name = &name + } + + // Set property "WorkloadProfileType": + if typedInput.WorkloadProfileType != nil { + workloadProfileType := *typedInput.WorkloadProfileType + profile.WorkloadProfileType = &workloadProfileType + } + + // No error + return nil +} + +// AssignProperties_From_WorkloadProfile populates our WorkloadProfile from the provided source WorkloadProfile +func (profile *WorkloadProfile) AssignProperties_From_WorkloadProfile(source *storage.WorkloadProfile) error { + + // MaximumCount + profile.MaximumCount = genruntime.ClonePointerToInt(source.MaximumCount) + + // MinimumCount + profile.MinimumCount = genruntime.ClonePointerToInt(source.MinimumCount) + + // Name + profile.Name = genruntime.ClonePointerToString(source.Name) + + // WorkloadProfileType + profile.WorkloadProfileType = genruntime.ClonePointerToString(source.WorkloadProfileType) + + // No error + return nil +} + +// AssignProperties_To_WorkloadProfile populates the provided destination WorkloadProfile from our WorkloadProfile +func (profile *WorkloadProfile) AssignProperties_To_WorkloadProfile(destination *storage.WorkloadProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // MaximumCount + destination.MaximumCount = genruntime.ClonePointerToInt(profile.MaximumCount) + + // MinimumCount + destination.MinimumCount = genruntime.ClonePointerToInt(profile.MinimumCount) + + // Name + destination.Name = genruntime.ClonePointerToString(profile.Name) + + // WorkloadProfileType + destination.WorkloadProfileType = genruntime.ClonePointerToString(profile.WorkloadProfileType) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_WorkloadProfile_STATUS populates our WorkloadProfile from the provided source WorkloadProfile_STATUS +func (profile *WorkloadProfile) Initialize_From_WorkloadProfile_STATUS(source *WorkloadProfile_STATUS) error { + + // MaximumCount + profile.MaximumCount = genruntime.ClonePointerToInt(source.MaximumCount) + + // MinimumCount + profile.MinimumCount = genruntime.ClonePointerToInt(source.MinimumCount) + + // Name + profile.Name = genruntime.ClonePointerToString(source.Name) + + // WorkloadProfileType + profile.WorkloadProfileType = genruntime.ClonePointerToString(source.WorkloadProfileType) + + // No error + return nil +} + +// Workload profile to scope container app execution. +type WorkloadProfile_STATUS struct { + // MaximumCount: The maximum capacity. + MaximumCount *int `json:"maximumCount,omitempty"` + + // MinimumCount: The minimum capacity. + MinimumCount *int `json:"minimumCount,omitempty"` + + // Name: Workload profile type for the workloads to run on. + Name *string `json:"name,omitempty"` + + // WorkloadProfileType: Workload profile type for the workloads to run on. + WorkloadProfileType *string `json:"workloadProfileType,omitempty"` +} + +var _ genruntime.FromARMConverter = &WorkloadProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *WorkloadProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.WorkloadProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *WorkloadProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.WorkloadProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.WorkloadProfile_STATUS, got %T", armInput) + } + + // Set property "MaximumCount": + if typedInput.MaximumCount != nil { + maximumCount := *typedInput.MaximumCount + profile.MaximumCount = &maximumCount + } + + // Set property "MinimumCount": + if typedInput.MinimumCount != nil { + minimumCount := *typedInput.MinimumCount + profile.MinimumCount = &minimumCount + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + profile.Name = &name + } + + // Set property "WorkloadProfileType": + if typedInput.WorkloadProfileType != nil { + workloadProfileType := *typedInput.WorkloadProfileType + profile.WorkloadProfileType = &workloadProfileType + } + + // No error + return nil +} + +// AssignProperties_From_WorkloadProfile_STATUS populates our WorkloadProfile_STATUS from the provided source WorkloadProfile_STATUS +func (profile *WorkloadProfile_STATUS) AssignProperties_From_WorkloadProfile_STATUS(source *storage.WorkloadProfile_STATUS) error { + + // MaximumCount + profile.MaximumCount = genruntime.ClonePointerToInt(source.MaximumCount) + + // MinimumCount + profile.MinimumCount = genruntime.ClonePointerToInt(source.MinimumCount) + + // Name + profile.Name = genruntime.ClonePointerToString(source.Name) + + // WorkloadProfileType + profile.WorkloadProfileType = genruntime.ClonePointerToString(source.WorkloadProfileType) + + // No error + return nil +} + +// AssignProperties_To_WorkloadProfile_STATUS populates the provided destination WorkloadProfile_STATUS from our WorkloadProfile_STATUS +func (profile *WorkloadProfile_STATUS) AssignProperties_To_WorkloadProfile_STATUS(destination *storage.WorkloadProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // MaximumCount + destination.MaximumCount = genruntime.ClonePointerToInt(profile.MaximumCount) + + // MinimumCount + destination.MinimumCount = genruntime.ClonePointerToInt(profile.MinimumCount) + + // Name + destination.Name = genruntime.ClonePointerToString(profile.Name) + + // WorkloadProfileType + destination.WorkloadProfileType = genruntime.ClonePointerToString(profile.WorkloadProfileType) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Log Analytics configuration, must only be provided when destination is configured as 'log-analytics' +type LogAnalyticsConfiguration struct { + // CustomerId: Log analytics customer id + CustomerId *string `json:"customerId,omitempty"` + + // SharedKey: Log analytics customer key + SharedKey *genruntime.SecretReference `json:"sharedKey,omitempty"` +} + +var _ genruntime.ARMTransformer = &LogAnalyticsConfiguration{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (configuration *LogAnalyticsConfiguration) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if configuration == nil { + return nil, nil + } + result := &arm.LogAnalyticsConfiguration{} + + // Set property "CustomerId": + if configuration.CustomerId != nil { + customerId := *configuration.CustomerId + result.CustomerId = &customerId + } + + // Set property "SharedKey": + if configuration.SharedKey != nil { + sharedKeySecret, err := resolved.ResolvedSecrets.Lookup(*configuration.SharedKey) + if err != nil { + return nil, eris.Wrap(err, "looking up secret for property SharedKey") + } + sharedKey := sharedKeySecret + result.SharedKey = &sharedKey + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (configuration *LogAnalyticsConfiguration) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.LogAnalyticsConfiguration{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (configuration *LogAnalyticsConfiguration) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.LogAnalyticsConfiguration) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.LogAnalyticsConfiguration, got %T", armInput) + } + + // Set property "CustomerId": + if typedInput.CustomerId != nil { + customerId := *typedInput.CustomerId + configuration.CustomerId = &customerId + } + + // no assignment for property "SharedKey" + + // No error + return nil +} + +// AssignProperties_From_LogAnalyticsConfiguration populates our LogAnalyticsConfiguration from the provided source LogAnalyticsConfiguration +func (configuration *LogAnalyticsConfiguration) AssignProperties_From_LogAnalyticsConfiguration(source *storage.LogAnalyticsConfiguration) error { + + // CustomerId + configuration.CustomerId = genruntime.ClonePointerToString(source.CustomerId) + + // SharedKey + if source.SharedKey != nil { + sharedKey := source.SharedKey.Copy() + configuration.SharedKey = &sharedKey + } else { + configuration.SharedKey = nil + } + + // No error + return nil +} + +// AssignProperties_To_LogAnalyticsConfiguration populates the provided destination LogAnalyticsConfiguration from our LogAnalyticsConfiguration +func (configuration *LogAnalyticsConfiguration) AssignProperties_To_LogAnalyticsConfiguration(destination *storage.LogAnalyticsConfiguration) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // CustomerId + destination.CustomerId = genruntime.ClonePointerToString(configuration.CustomerId) + + // SharedKey + if configuration.SharedKey != nil { + sharedKey := configuration.SharedKey.Copy() + destination.SharedKey = &sharedKey + } else { + destination.SharedKey = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_LogAnalyticsConfiguration_STATUS populates our LogAnalyticsConfiguration from the provided source LogAnalyticsConfiguration_STATUS +func (configuration *LogAnalyticsConfiguration) Initialize_From_LogAnalyticsConfiguration_STATUS(source *LogAnalyticsConfiguration_STATUS) error { + + // CustomerId + configuration.CustomerId = genruntime.ClonePointerToString(source.CustomerId) + + // No error + return nil +} + +// Log Analytics configuration, must only be provided when destination is configured as 'log-analytics' +type LogAnalyticsConfiguration_STATUS struct { + // CustomerId: Log analytics customer id + CustomerId *string `json:"customerId,omitempty"` +} + +var _ genruntime.FromARMConverter = &LogAnalyticsConfiguration_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (configuration *LogAnalyticsConfiguration_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.LogAnalyticsConfiguration_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (configuration *LogAnalyticsConfiguration_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.LogAnalyticsConfiguration_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.LogAnalyticsConfiguration_STATUS, got %T", armInput) + } + + // Set property "CustomerId": + if typedInput.CustomerId != nil { + customerId := *typedInput.CustomerId + configuration.CustomerId = &customerId + } + + // No error + return nil +} + +// AssignProperties_From_LogAnalyticsConfiguration_STATUS populates our LogAnalyticsConfiguration_STATUS from the provided source LogAnalyticsConfiguration_STATUS +func (configuration *LogAnalyticsConfiguration_STATUS) AssignProperties_From_LogAnalyticsConfiguration_STATUS(source *storage.LogAnalyticsConfiguration_STATUS) error { + + // CustomerId + configuration.CustomerId = genruntime.ClonePointerToString(source.CustomerId) + + // No error + return nil +} + +// AssignProperties_To_LogAnalyticsConfiguration_STATUS populates the provided destination LogAnalyticsConfiguration_STATUS from our LogAnalyticsConfiguration_STATUS +func (configuration *LogAnalyticsConfiguration_STATUS) AssignProperties_To_LogAnalyticsConfiguration_STATUS(destination *storage.LogAnalyticsConfiguration_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // CustomerId + destination.CustomerId = genruntime.ClonePointerToString(configuration.CustomerId) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +type ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec struct { + // Enabled: Boolean indicating whether the peer traffic encryption is enabled + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (encryption *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if encryption == nil { + return nil, nil + } + result := &arm.ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec{} + + // Set property "Enabled": + if encryption.Enabled != nil { + enabled := *encryption.Enabled + result.Enabled = &enabled + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (encryption *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (encryption *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + encryption.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec populates our ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec from the provided source ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec +func (encryption *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec) AssignProperties_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec(source *storage.ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + encryption.Enabled = &enabled + } else { + encryption.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec populates the provided destination ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec from our ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec +func (encryption *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec) AssignProperties_To_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec(destination *storage.ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if encryption.Enabled != nil { + enabled := *encryption.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS populates our ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec from the provided source ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS +func (encryption *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec) Initialize_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS(source *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + encryption.Enabled = &enabled + } else { + encryption.Enabled = nil + } + + // No error + return nil +} + +type ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS struct { + // Enabled: Boolean indicating whether the peer traffic encryption is enabled + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (encryption *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (encryption *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + encryption.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS populates our ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS from the provided source ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS +func (encryption *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS) AssignProperties_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS(source *storage.ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + encryption.Enabled = &enabled + } else { + encryption.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS populates the provided destination ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS from our ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS +func (encryption *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS) AssignProperties_To_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS(destination *storage.ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if encryption.Enabled != nil { + enabled := *encryption.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Configuration properties for mutual TLS authentication +type Mtls struct { + // Enabled: Boolean indicating whether the mutual TLS authentication is enabled + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.ARMTransformer = &Mtls{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (mtls *Mtls) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if mtls == nil { + return nil, nil + } + result := &arm.Mtls{} + + // Set property "Enabled": + if mtls.Enabled != nil { + enabled := *mtls.Enabled + result.Enabled = &enabled + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (mtls *Mtls) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Mtls{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (mtls *Mtls) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Mtls) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Mtls, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + mtls.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_Mtls populates our Mtls from the provided source Mtls +func (mtls *Mtls) AssignProperties_From_Mtls(source *storage.Mtls) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + mtls.Enabled = &enabled + } else { + mtls.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_Mtls populates the provided destination Mtls from our Mtls +func (mtls *Mtls) AssignProperties_To_Mtls(destination *storage.Mtls) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if mtls.Enabled != nil { + enabled := *mtls.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_Mtls_STATUS populates our Mtls from the provided source Mtls_STATUS +func (mtls *Mtls) Initialize_From_Mtls_STATUS(source *Mtls_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + mtls.Enabled = &enabled + } else { + mtls.Enabled = nil + } + + // No error + return nil +} + +// Configuration properties for mutual TLS authentication +type Mtls_STATUS struct { + // Enabled: Boolean indicating whether the mutual TLS authentication is enabled + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.FromARMConverter = &Mtls_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (mtls *Mtls_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Mtls_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (mtls *Mtls_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Mtls_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Mtls_STATUS, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + mtls.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_Mtls_STATUS populates our Mtls_STATUS from the provided source Mtls_STATUS +func (mtls *Mtls_STATUS) AssignProperties_From_Mtls_STATUS(source *storage.Mtls_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + mtls.Enabled = &enabled + } else { + mtls.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_Mtls_STATUS populates the provided destination Mtls_STATUS from our Mtls_STATUS +func (mtls *Mtls_STATUS) AssignProperties_To_Mtls_STATUS(destination *storage.Mtls_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if mtls.Enabled != nil { + enabled := *mtls.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +func init() { + SchemeBuilder.Register(&ManagedEnvironment{}, &ManagedEnvironmentList{}) +} diff --git a/v2/api/app/v1api20240301/managed_environment_types_gen_test.go b/v2/api/app/v1api20240301/managed_environment_types_gen_test.go new file mode 100644 index 00000000000..733e1109044 --- /dev/null +++ b/v2/api/app/v1api20240301/managed_environment_types_gen_test.go @@ -0,0 +1,2642 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20240301 + +import ( + "encoding/json" + storage "github.com/Azure/azure-service-operator/v2/api/app/v1api20240301/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_AppLogsConfiguration_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AppLogsConfiguration to AppLogsConfiguration via AssignProperties_To_AppLogsConfiguration & AssignProperties_From_AppLogsConfiguration returns original", + prop.ForAll(RunPropertyAssignmentTestForAppLogsConfiguration, AppLogsConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAppLogsConfiguration tests if a specific instance of AppLogsConfiguration can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAppLogsConfiguration(subject AppLogsConfiguration) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AppLogsConfiguration + err := copied.AssignProperties_To_AppLogsConfiguration(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AppLogsConfiguration + err = actual.AssignProperties_From_AppLogsConfiguration(&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_AppLogsConfiguration_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 AppLogsConfiguration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAppLogsConfiguration, AppLogsConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAppLogsConfiguration runs a test to see if a specific instance of AppLogsConfiguration round trips to JSON and back losslessly +func RunJSONSerializationTestForAppLogsConfiguration(subject AppLogsConfiguration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AppLogsConfiguration + 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 AppLogsConfiguration instances for property testing - lazily instantiated by +// AppLogsConfigurationGenerator() +var appLogsConfigurationGenerator gopter.Gen + +// AppLogsConfigurationGenerator returns a generator of AppLogsConfiguration instances for property testing. +// We first initialize appLogsConfigurationGenerator 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 AppLogsConfigurationGenerator() gopter.Gen { + if appLogsConfigurationGenerator != nil { + return appLogsConfigurationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAppLogsConfiguration(generators) + appLogsConfigurationGenerator = gen.Struct(reflect.TypeOf(AppLogsConfiguration{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAppLogsConfiguration(generators) + AddRelatedPropertyGeneratorsForAppLogsConfiguration(generators) + appLogsConfigurationGenerator = gen.Struct(reflect.TypeOf(AppLogsConfiguration{}), generators) + + return appLogsConfigurationGenerator +} + +// AddIndependentPropertyGeneratorsForAppLogsConfiguration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAppLogsConfiguration(gens map[string]gopter.Gen) { + gens["Destination"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForAppLogsConfiguration is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAppLogsConfiguration(gens map[string]gopter.Gen) { + gens["LogAnalyticsConfiguration"] = gen.PtrOf(LogAnalyticsConfigurationGenerator()) +} + +func Test_AppLogsConfiguration_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AppLogsConfiguration_STATUS to AppLogsConfiguration_STATUS via AssignProperties_To_AppLogsConfiguration_STATUS & AssignProperties_From_AppLogsConfiguration_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAppLogsConfiguration_STATUS, AppLogsConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAppLogsConfiguration_STATUS tests if a specific instance of AppLogsConfiguration_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAppLogsConfiguration_STATUS(subject AppLogsConfiguration_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 storage.AppLogsConfiguration_STATUS + err := copied.AssignProperties_To_AppLogsConfiguration_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AppLogsConfiguration_STATUS + err = actual.AssignProperties_From_AppLogsConfiguration_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_AppLogsConfiguration_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 AppLogsConfiguration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAppLogsConfiguration_STATUS, AppLogsConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAppLogsConfiguration_STATUS runs a test to see if a specific instance of AppLogsConfiguration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAppLogsConfiguration_STATUS(subject AppLogsConfiguration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AppLogsConfiguration_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 AppLogsConfiguration_STATUS instances for property testing - lazily instantiated by +// AppLogsConfiguration_STATUSGenerator() +var appLogsConfiguration_STATUSGenerator gopter.Gen + +// AppLogsConfiguration_STATUSGenerator returns a generator of AppLogsConfiguration_STATUS instances for property testing. +// We first initialize appLogsConfiguration_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 AppLogsConfiguration_STATUSGenerator() gopter.Gen { + if appLogsConfiguration_STATUSGenerator != nil { + return appLogsConfiguration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAppLogsConfiguration_STATUS(generators) + appLogsConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(AppLogsConfiguration_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAppLogsConfiguration_STATUS(generators) + AddRelatedPropertyGeneratorsForAppLogsConfiguration_STATUS(generators) + appLogsConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(AppLogsConfiguration_STATUS{}), generators) + + return appLogsConfiguration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAppLogsConfiguration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAppLogsConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["Destination"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForAppLogsConfiguration_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAppLogsConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["LogAnalyticsConfiguration"] = gen.PtrOf(LogAnalyticsConfiguration_STATUSGenerator()) +} + +func Test_CustomDomainConfiguration_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from CustomDomainConfiguration to CustomDomainConfiguration via AssignProperties_To_CustomDomainConfiguration & AssignProperties_From_CustomDomainConfiguration returns original", + prop.ForAll(RunPropertyAssignmentTestForCustomDomainConfiguration, CustomDomainConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForCustomDomainConfiguration tests if a specific instance of CustomDomainConfiguration can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForCustomDomainConfiguration(subject CustomDomainConfiguration) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.CustomDomainConfiguration + err := copied.AssignProperties_To_CustomDomainConfiguration(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual CustomDomainConfiguration + err = actual.AssignProperties_From_CustomDomainConfiguration(&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_CustomDomainConfiguration_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 CustomDomainConfiguration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCustomDomainConfiguration, CustomDomainConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCustomDomainConfiguration runs a test to see if a specific instance of CustomDomainConfiguration round trips to JSON and back losslessly +func RunJSONSerializationTestForCustomDomainConfiguration(subject CustomDomainConfiguration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CustomDomainConfiguration + 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 CustomDomainConfiguration instances for property testing - lazily instantiated by +// CustomDomainConfigurationGenerator() +var customDomainConfigurationGenerator gopter.Gen + +// CustomDomainConfigurationGenerator returns a generator of CustomDomainConfiguration instances for property testing. +func CustomDomainConfigurationGenerator() gopter.Gen { + if customDomainConfigurationGenerator != nil { + return customDomainConfigurationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomDomainConfiguration(generators) + customDomainConfigurationGenerator = gen.Struct(reflect.TypeOf(CustomDomainConfiguration{}), generators) + + return customDomainConfigurationGenerator +} + +// AddIndependentPropertyGeneratorsForCustomDomainConfiguration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCustomDomainConfiguration(gens map[string]gopter.Gen) { + gens["DnsSuffix"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_CustomDomainConfiguration_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from CustomDomainConfiguration_STATUS to CustomDomainConfiguration_STATUS via AssignProperties_To_CustomDomainConfiguration_STATUS & AssignProperties_From_CustomDomainConfiguration_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForCustomDomainConfiguration_STATUS, CustomDomainConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForCustomDomainConfiguration_STATUS tests if a specific instance of CustomDomainConfiguration_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForCustomDomainConfiguration_STATUS(subject CustomDomainConfiguration_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 storage.CustomDomainConfiguration_STATUS + err := copied.AssignProperties_To_CustomDomainConfiguration_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual CustomDomainConfiguration_STATUS + err = actual.AssignProperties_From_CustomDomainConfiguration_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_CustomDomainConfiguration_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 CustomDomainConfiguration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCustomDomainConfiguration_STATUS, CustomDomainConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCustomDomainConfiguration_STATUS runs a test to see if a specific instance of CustomDomainConfiguration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForCustomDomainConfiguration_STATUS(subject CustomDomainConfiguration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CustomDomainConfiguration_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 CustomDomainConfiguration_STATUS instances for property testing - lazily instantiated by +// CustomDomainConfiguration_STATUSGenerator() +var customDomainConfiguration_STATUSGenerator gopter.Gen + +// CustomDomainConfiguration_STATUSGenerator returns a generator of CustomDomainConfiguration_STATUS instances for property testing. +func CustomDomainConfiguration_STATUSGenerator() gopter.Gen { + if customDomainConfiguration_STATUSGenerator != nil { + return customDomainConfiguration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomDomainConfiguration_STATUS(generators) + customDomainConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(CustomDomainConfiguration_STATUS{}), generators) + + return customDomainConfiguration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForCustomDomainConfiguration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCustomDomainConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["CustomDomainVerificationId"] = gen.PtrOf(gen.AlphaString()) + gens["DnsSuffix"] = gen.PtrOf(gen.AlphaString()) + gens["ExpirationDate"] = gen.PtrOf(gen.AlphaString()) + gens["SubjectName"] = gen.PtrOf(gen.AlphaString()) + gens["Thumbprint"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_DaprConfiguration_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from DaprConfiguration_STATUS to DaprConfiguration_STATUS via AssignProperties_To_DaprConfiguration_STATUS & AssignProperties_From_DaprConfiguration_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForDaprConfiguration_STATUS, DaprConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForDaprConfiguration_STATUS tests if a specific instance of DaprConfiguration_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForDaprConfiguration_STATUS(subject DaprConfiguration_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 storage.DaprConfiguration_STATUS + err := copied.AssignProperties_To_DaprConfiguration_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual DaprConfiguration_STATUS + err = actual.AssignProperties_From_DaprConfiguration_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_DaprConfiguration_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 DaprConfiguration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDaprConfiguration_STATUS, DaprConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDaprConfiguration_STATUS runs a test to see if a specific instance of DaprConfiguration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForDaprConfiguration_STATUS(subject DaprConfiguration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DaprConfiguration_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 DaprConfiguration_STATUS instances for property testing - lazily instantiated by +// DaprConfiguration_STATUSGenerator() +var daprConfiguration_STATUSGenerator gopter.Gen + +// DaprConfiguration_STATUSGenerator returns a generator of DaprConfiguration_STATUS instances for property testing. +func DaprConfiguration_STATUSGenerator() gopter.Gen { + if daprConfiguration_STATUSGenerator != nil { + return daprConfiguration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDaprConfiguration_STATUS(generators) + daprConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(DaprConfiguration_STATUS{}), generators) + + return daprConfiguration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForDaprConfiguration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDaprConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["Version"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_KedaConfiguration_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from KedaConfiguration_STATUS to KedaConfiguration_STATUS via AssignProperties_To_KedaConfiguration_STATUS & AssignProperties_From_KedaConfiguration_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForKedaConfiguration_STATUS, KedaConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForKedaConfiguration_STATUS tests if a specific instance of KedaConfiguration_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForKedaConfiguration_STATUS(subject KedaConfiguration_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 storage.KedaConfiguration_STATUS + err := copied.AssignProperties_To_KedaConfiguration_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual KedaConfiguration_STATUS + err = actual.AssignProperties_From_KedaConfiguration_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_KedaConfiguration_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 KedaConfiguration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForKedaConfiguration_STATUS, KedaConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForKedaConfiguration_STATUS runs a test to see if a specific instance of KedaConfiguration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForKedaConfiguration_STATUS(subject KedaConfiguration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual KedaConfiguration_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 KedaConfiguration_STATUS instances for property testing - lazily instantiated by +// KedaConfiguration_STATUSGenerator() +var kedaConfiguration_STATUSGenerator gopter.Gen + +// KedaConfiguration_STATUSGenerator returns a generator of KedaConfiguration_STATUS instances for property testing. +func KedaConfiguration_STATUSGenerator() gopter.Gen { + if kedaConfiguration_STATUSGenerator != nil { + return kedaConfiguration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForKedaConfiguration_STATUS(generators) + kedaConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(KedaConfiguration_STATUS{}), generators) + + return kedaConfiguration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForKedaConfiguration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForKedaConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["Version"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_LogAnalyticsConfiguration_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from LogAnalyticsConfiguration to LogAnalyticsConfiguration via AssignProperties_To_LogAnalyticsConfiguration & AssignProperties_From_LogAnalyticsConfiguration returns original", + prop.ForAll(RunPropertyAssignmentTestForLogAnalyticsConfiguration, LogAnalyticsConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForLogAnalyticsConfiguration tests if a specific instance of LogAnalyticsConfiguration can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForLogAnalyticsConfiguration(subject LogAnalyticsConfiguration) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.LogAnalyticsConfiguration + err := copied.AssignProperties_To_LogAnalyticsConfiguration(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual LogAnalyticsConfiguration + err = actual.AssignProperties_From_LogAnalyticsConfiguration(&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_LogAnalyticsConfiguration_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 LogAnalyticsConfiguration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLogAnalyticsConfiguration, LogAnalyticsConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLogAnalyticsConfiguration runs a test to see if a specific instance of LogAnalyticsConfiguration round trips to JSON and back losslessly +func RunJSONSerializationTestForLogAnalyticsConfiguration(subject LogAnalyticsConfiguration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual LogAnalyticsConfiguration + 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 LogAnalyticsConfiguration instances for property testing - lazily instantiated by +// LogAnalyticsConfigurationGenerator() +var logAnalyticsConfigurationGenerator gopter.Gen + +// LogAnalyticsConfigurationGenerator returns a generator of LogAnalyticsConfiguration instances for property testing. +func LogAnalyticsConfigurationGenerator() gopter.Gen { + if logAnalyticsConfigurationGenerator != nil { + return logAnalyticsConfigurationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLogAnalyticsConfiguration(generators) + logAnalyticsConfigurationGenerator = gen.Struct(reflect.TypeOf(LogAnalyticsConfiguration{}), generators) + + return logAnalyticsConfigurationGenerator +} + +// AddIndependentPropertyGeneratorsForLogAnalyticsConfiguration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLogAnalyticsConfiguration(gens map[string]gopter.Gen) { + gens["CustomerId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_LogAnalyticsConfiguration_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from LogAnalyticsConfiguration_STATUS to LogAnalyticsConfiguration_STATUS via AssignProperties_To_LogAnalyticsConfiguration_STATUS & AssignProperties_From_LogAnalyticsConfiguration_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForLogAnalyticsConfiguration_STATUS, LogAnalyticsConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForLogAnalyticsConfiguration_STATUS tests if a specific instance of LogAnalyticsConfiguration_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForLogAnalyticsConfiguration_STATUS(subject LogAnalyticsConfiguration_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 storage.LogAnalyticsConfiguration_STATUS + err := copied.AssignProperties_To_LogAnalyticsConfiguration_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual LogAnalyticsConfiguration_STATUS + err = actual.AssignProperties_From_LogAnalyticsConfiguration_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_LogAnalyticsConfiguration_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 LogAnalyticsConfiguration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLogAnalyticsConfiguration_STATUS, LogAnalyticsConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLogAnalyticsConfiguration_STATUS runs a test to see if a specific instance of LogAnalyticsConfiguration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForLogAnalyticsConfiguration_STATUS(subject LogAnalyticsConfiguration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual LogAnalyticsConfiguration_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 LogAnalyticsConfiguration_STATUS instances for property testing - lazily instantiated by +// LogAnalyticsConfiguration_STATUSGenerator() +var logAnalyticsConfiguration_STATUSGenerator gopter.Gen + +// LogAnalyticsConfiguration_STATUSGenerator returns a generator of LogAnalyticsConfiguration_STATUS instances for property testing. +func LogAnalyticsConfiguration_STATUSGenerator() gopter.Gen { + if logAnalyticsConfiguration_STATUSGenerator != nil { + return logAnalyticsConfiguration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLogAnalyticsConfiguration_STATUS(generators) + logAnalyticsConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(LogAnalyticsConfiguration_STATUS{}), generators) + + return logAnalyticsConfiguration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForLogAnalyticsConfiguration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLogAnalyticsConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["CustomerId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedEnvironment_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 ManagedEnvironment to hub returns original", + prop.ForAll(RunResourceConversionTestForManagedEnvironment, ManagedEnvironmentGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunResourceConversionTestForManagedEnvironment tests if a specific instance of ManagedEnvironment round trips to the hub storage version and back losslessly +func RunResourceConversionTestForManagedEnvironment(subject ManagedEnvironment) string { + // Copy subject to make sure conversion doesn't modify it + copied := subject.DeepCopy() + + // Convert to our hub version + var hub storage.ManagedEnvironment + err := copied.ConvertTo(&hub) + if err != nil { + return err.Error() + } + + // Convert from our hub version + var actual ManagedEnvironment + 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_ManagedEnvironment_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedEnvironment to ManagedEnvironment via AssignProperties_To_ManagedEnvironment & AssignProperties_From_ManagedEnvironment returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedEnvironment, ManagedEnvironmentGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedEnvironment tests if a specific instance of ManagedEnvironment can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedEnvironment(subject ManagedEnvironment) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedEnvironment + err := copied.AssignProperties_To_ManagedEnvironment(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedEnvironment + err = actual.AssignProperties_From_ManagedEnvironment(&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_ManagedEnvironment_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 ManagedEnvironment via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedEnvironment, ManagedEnvironmentGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedEnvironment runs a test to see if a specific instance of ManagedEnvironment round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedEnvironment(subject ManagedEnvironment) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedEnvironment + 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 ManagedEnvironment instances for property testing - lazily instantiated by ManagedEnvironmentGenerator() +var managedEnvironmentGenerator gopter.Gen + +// ManagedEnvironmentGenerator returns a generator of ManagedEnvironment instances for property testing. +func ManagedEnvironmentGenerator() gopter.Gen { + if managedEnvironmentGenerator != nil { + return managedEnvironmentGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedEnvironment(generators) + managedEnvironmentGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment{}), generators) + + return managedEnvironmentGenerator +} + +// AddRelatedPropertyGeneratorsForManagedEnvironment is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedEnvironment(gens map[string]gopter.Gen) { + gens["Spec"] = ManagedEnvironment_SpecGenerator() + gens["Status"] = ManagedEnvironment_STATUSGenerator() +} + +func Test_ManagedEnvironmentOperatorSpec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedEnvironmentOperatorSpec to ManagedEnvironmentOperatorSpec via AssignProperties_To_ManagedEnvironmentOperatorSpec & AssignProperties_From_ManagedEnvironmentOperatorSpec returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedEnvironmentOperatorSpec, ManagedEnvironmentOperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedEnvironmentOperatorSpec tests if a specific instance of ManagedEnvironmentOperatorSpec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedEnvironmentOperatorSpec(subject ManagedEnvironmentOperatorSpec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedEnvironmentOperatorSpec + err := copied.AssignProperties_To_ManagedEnvironmentOperatorSpec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedEnvironmentOperatorSpec + err = actual.AssignProperties_From_ManagedEnvironmentOperatorSpec(&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_ManagedEnvironmentOperatorSpec_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 ManagedEnvironmentOperatorSpec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedEnvironmentOperatorSpec, ManagedEnvironmentOperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedEnvironmentOperatorSpec runs a test to see if a specific instance of ManagedEnvironmentOperatorSpec round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedEnvironmentOperatorSpec(subject ManagedEnvironmentOperatorSpec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedEnvironmentOperatorSpec + 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 ManagedEnvironmentOperatorSpec instances for property testing - lazily instantiated by +// ManagedEnvironmentOperatorSpecGenerator() +var managedEnvironmentOperatorSpecGenerator gopter.Gen + +// ManagedEnvironmentOperatorSpecGenerator returns a generator of ManagedEnvironmentOperatorSpec instances for property testing. +func ManagedEnvironmentOperatorSpecGenerator() gopter.Gen { + if managedEnvironmentOperatorSpecGenerator != nil { + return managedEnvironmentOperatorSpecGenerator + } + + generators := make(map[string]gopter.Gen) + managedEnvironmentOperatorSpecGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironmentOperatorSpec{}), generators) + + return managedEnvironmentOperatorSpecGenerator +} + +func Test_ManagedEnvironment_Properties_PeerAuthentication_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedEnvironment_Properties_PeerAuthentication_STATUS to ManagedEnvironment_Properties_PeerAuthentication_STATUS via AssignProperties_To_ManagedEnvironment_Properties_PeerAuthentication_STATUS & AssignProperties_From_ManagedEnvironment_Properties_PeerAuthentication_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedEnvironment_Properties_PeerAuthentication_STATUS, ManagedEnvironment_Properties_PeerAuthentication_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedEnvironment_Properties_PeerAuthentication_STATUS tests if a specific instance of ManagedEnvironment_Properties_PeerAuthentication_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedEnvironment_Properties_PeerAuthentication_STATUS(subject ManagedEnvironment_Properties_PeerAuthentication_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 storage.ManagedEnvironment_Properties_PeerAuthentication_STATUS + err := copied.AssignProperties_To_ManagedEnvironment_Properties_PeerAuthentication_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedEnvironment_Properties_PeerAuthentication_STATUS + err = actual.AssignProperties_From_ManagedEnvironment_Properties_PeerAuthentication_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_ManagedEnvironment_Properties_PeerAuthentication_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 ManagedEnvironment_Properties_PeerAuthentication_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedEnvironment_Properties_PeerAuthentication_STATUS, ManagedEnvironment_Properties_PeerAuthentication_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedEnvironment_Properties_PeerAuthentication_STATUS runs a test to see if a specific instance of ManagedEnvironment_Properties_PeerAuthentication_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedEnvironment_Properties_PeerAuthentication_STATUS(subject ManagedEnvironment_Properties_PeerAuthentication_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedEnvironment_Properties_PeerAuthentication_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 ManagedEnvironment_Properties_PeerAuthentication_STATUS instances for property testing - lazily +// instantiated by ManagedEnvironment_Properties_PeerAuthentication_STATUSGenerator() +var managedEnvironment_Properties_PeerAuthentication_STATUSGenerator gopter.Gen + +// ManagedEnvironment_Properties_PeerAuthentication_STATUSGenerator returns a generator of ManagedEnvironment_Properties_PeerAuthentication_STATUS instances for property testing. +func ManagedEnvironment_Properties_PeerAuthentication_STATUSGenerator() gopter.Gen { + if managedEnvironment_Properties_PeerAuthentication_STATUSGenerator != nil { + return managedEnvironment_Properties_PeerAuthentication_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerAuthentication_STATUS(generators) + managedEnvironment_Properties_PeerAuthentication_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_Properties_PeerAuthentication_STATUS{}), generators) + + return managedEnvironment_Properties_PeerAuthentication_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerAuthentication_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerAuthentication_STATUS(gens map[string]gopter.Gen) { + gens["Mtls"] = gen.PtrOf(Mtls_STATUSGenerator()) +} + +func Test_ManagedEnvironment_Properties_PeerAuthentication_Spec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedEnvironment_Properties_PeerAuthentication_Spec to ManagedEnvironment_Properties_PeerAuthentication_Spec via AssignProperties_To_ManagedEnvironment_Properties_PeerAuthentication_Spec & AssignProperties_From_ManagedEnvironment_Properties_PeerAuthentication_Spec returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedEnvironment_Properties_PeerAuthentication_Spec, ManagedEnvironment_Properties_PeerAuthentication_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedEnvironment_Properties_PeerAuthentication_Spec tests if a specific instance of ManagedEnvironment_Properties_PeerAuthentication_Spec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedEnvironment_Properties_PeerAuthentication_Spec(subject ManagedEnvironment_Properties_PeerAuthentication_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 storage.ManagedEnvironment_Properties_PeerAuthentication_Spec + err := copied.AssignProperties_To_ManagedEnvironment_Properties_PeerAuthentication_Spec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedEnvironment_Properties_PeerAuthentication_Spec + err = actual.AssignProperties_From_ManagedEnvironment_Properties_PeerAuthentication_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_ManagedEnvironment_Properties_PeerAuthentication_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 ManagedEnvironment_Properties_PeerAuthentication_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedEnvironment_Properties_PeerAuthentication_Spec, ManagedEnvironment_Properties_PeerAuthentication_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedEnvironment_Properties_PeerAuthentication_Spec runs a test to see if a specific instance of ManagedEnvironment_Properties_PeerAuthentication_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedEnvironment_Properties_PeerAuthentication_Spec(subject ManagedEnvironment_Properties_PeerAuthentication_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedEnvironment_Properties_PeerAuthentication_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 ManagedEnvironment_Properties_PeerAuthentication_Spec instances for property testing - lazily +// instantiated by ManagedEnvironment_Properties_PeerAuthentication_SpecGenerator() +var managedEnvironment_Properties_PeerAuthentication_SpecGenerator gopter.Gen + +// ManagedEnvironment_Properties_PeerAuthentication_SpecGenerator returns a generator of ManagedEnvironment_Properties_PeerAuthentication_Spec instances for property testing. +func ManagedEnvironment_Properties_PeerAuthentication_SpecGenerator() gopter.Gen { + if managedEnvironment_Properties_PeerAuthentication_SpecGenerator != nil { + return managedEnvironment_Properties_PeerAuthentication_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerAuthentication_Spec(generators) + managedEnvironment_Properties_PeerAuthentication_SpecGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_Properties_PeerAuthentication_Spec{}), generators) + + return managedEnvironment_Properties_PeerAuthentication_SpecGenerator +} + +// AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerAuthentication_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerAuthentication_Spec(gens map[string]gopter.Gen) { + gens["Mtls"] = gen.PtrOf(MtlsGenerator()) +} + +func Test_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS to ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS via AssignProperties_To_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS & AssignProperties_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS, ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS tests if a specific instance of ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS(subject ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_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 storage.ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS + err := copied.AssignProperties_To_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS + err = actual.AssignProperties_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_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_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_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 ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS, ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS runs a test to see if a specific instance of ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS(subject ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_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 ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS instances for property testing +// - lazily instantiated by ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUSGenerator() +var managedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUSGenerator gopter.Gen + +// ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUSGenerator returns a generator of ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS instances for property testing. +func ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUSGenerator() gopter.Gen { + if managedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUSGenerator != nil { + return managedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS(generators) + managedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS{}), generators) + + return managedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec to ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec via AssignProperties_To_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec & AssignProperties_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec, ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec tests if a specific instance of ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec(subject ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_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 storage.ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec + err := copied.AssignProperties_To_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec + err = actual.AssignProperties_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_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_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_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 ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec, ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec runs a test to see if a specific instance of ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec(subject ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_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 ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec instances for property testing - +// lazily instantiated by ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_SpecGenerator() +var managedEnvironment_Properties_PeerTrafficConfiguration_Encryption_SpecGenerator gopter.Gen + +// ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_SpecGenerator returns a generator of ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec instances for property testing. +func ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_SpecGenerator() gopter.Gen { + if managedEnvironment_Properties_PeerTrafficConfiguration_Encryption_SpecGenerator != nil { + return managedEnvironment_Properties_PeerTrafficConfiguration_Encryption_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec(generators) + managedEnvironment_Properties_PeerTrafficConfiguration_Encryption_SpecGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec{}), generators) + + return managedEnvironment_Properties_PeerTrafficConfiguration_Encryption_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS to ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS via AssignProperties_To_ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS & AssignProperties_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS, ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS tests if a specific instance of ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS(subject ManagedEnvironment_Properties_PeerTrafficConfiguration_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 storage.ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS + err := copied.AssignProperties_To_ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS + err = actual.AssignProperties_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_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_ManagedEnvironment_Properties_PeerTrafficConfiguration_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 ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS, ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS runs a test to see if a specific instance of ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS(subject ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedEnvironment_Properties_PeerTrafficConfiguration_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 ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS instances for property testing - lazily +// instantiated by ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUSGenerator() +var managedEnvironment_Properties_PeerTrafficConfiguration_STATUSGenerator gopter.Gen + +// ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUSGenerator returns a generator of ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS instances for property testing. +func ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUSGenerator() gopter.Gen { + if managedEnvironment_Properties_PeerTrafficConfiguration_STATUSGenerator != nil { + return managedEnvironment_Properties_PeerTrafficConfiguration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS(generators) + managedEnvironment_Properties_PeerTrafficConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS{}), generators) + + return managedEnvironment_Properties_PeerTrafficConfiguration_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["Encryption"] = gen.PtrOf(ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUSGenerator()) +} + +func Test_ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec to ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec via AssignProperties_To_ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec & AssignProperties_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Spec, ManagedEnvironment_Properties_PeerTrafficConfiguration_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Spec tests if a specific instance of ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Spec(subject ManagedEnvironment_Properties_PeerTrafficConfiguration_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 storage.ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec + err := copied.AssignProperties_To_ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec + err = actual.AssignProperties_From_ManagedEnvironment_Properties_PeerTrafficConfiguration_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_ManagedEnvironment_Properties_PeerTrafficConfiguration_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 ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Spec, ManagedEnvironment_Properties_PeerTrafficConfiguration_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Spec runs a test to see if a specific instance of ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Spec(subject ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedEnvironment_Properties_PeerTrafficConfiguration_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 ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec instances for property testing - lazily +// instantiated by ManagedEnvironment_Properties_PeerTrafficConfiguration_SpecGenerator() +var managedEnvironment_Properties_PeerTrafficConfiguration_SpecGenerator gopter.Gen + +// ManagedEnvironment_Properties_PeerTrafficConfiguration_SpecGenerator returns a generator of ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec instances for property testing. +func ManagedEnvironment_Properties_PeerTrafficConfiguration_SpecGenerator() gopter.Gen { + if managedEnvironment_Properties_PeerTrafficConfiguration_SpecGenerator != nil { + return managedEnvironment_Properties_PeerTrafficConfiguration_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_Spec(generators) + managedEnvironment_Properties_PeerTrafficConfiguration_SpecGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec{}), generators) + + return managedEnvironment_Properties_PeerTrafficConfiguration_SpecGenerator +} + +// AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_Spec(gens map[string]gopter.Gen) { + gens["Encryption"] = gen.PtrOf(ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_SpecGenerator()) +} + +func Test_ManagedEnvironment_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedEnvironment_STATUS to ManagedEnvironment_STATUS via AssignProperties_To_ManagedEnvironment_STATUS & AssignProperties_From_ManagedEnvironment_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedEnvironment_STATUS, ManagedEnvironment_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedEnvironment_STATUS tests if a specific instance of ManagedEnvironment_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedEnvironment_STATUS(subject ManagedEnvironment_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 storage.ManagedEnvironment_STATUS + err := copied.AssignProperties_To_ManagedEnvironment_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedEnvironment_STATUS + err = actual.AssignProperties_From_ManagedEnvironment_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_ManagedEnvironment_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 ManagedEnvironment_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedEnvironment_STATUS, ManagedEnvironment_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedEnvironment_STATUS runs a test to see if a specific instance of ManagedEnvironment_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedEnvironment_STATUS(subject ManagedEnvironment_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedEnvironment_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 ManagedEnvironment_STATUS instances for property testing - lazily instantiated by +// ManagedEnvironment_STATUSGenerator() +var managedEnvironment_STATUSGenerator gopter.Gen + +// ManagedEnvironment_STATUSGenerator returns a generator of ManagedEnvironment_STATUS instances for property testing. +// We first initialize managedEnvironment_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 ManagedEnvironment_STATUSGenerator() gopter.Gen { + if managedEnvironment_STATUSGenerator != nil { + return managedEnvironment_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedEnvironment_STATUS(generators) + managedEnvironment_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedEnvironment_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedEnvironment_STATUS(generators) + managedEnvironment_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_STATUS{}), generators) + + return managedEnvironment_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedEnvironment_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedEnvironment_STATUS(gens map[string]gopter.Gen) { + gens["DefaultDomain"] = gen.PtrOf(gen.AlphaString()) + gens["DeploymentErrors"] = gen.PtrOf(gen.AlphaString()) + gens["EventStreamEndpoint"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["InfrastructureResourceGroup"] = gen.PtrOf(gen.AlphaString()) + gens["Kind"] = gen.PtrOf(gen.AlphaString()) + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["ProvisioningState"] = gen.PtrOf(gen.OneConstOf( + ManagedEnvironment_Properties_ProvisioningState_STATUS_Canceled, + ManagedEnvironment_Properties_ProvisioningState_STATUS_Failed, + ManagedEnvironment_Properties_ProvisioningState_STATUS_InfrastructureSetupComplete, + ManagedEnvironment_Properties_ProvisioningState_STATUS_InfrastructureSetupInProgress, + ManagedEnvironment_Properties_ProvisioningState_STATUS_InitializationInProgress, + ManagedEnvironment_Properties_ProvisioningState_STATUS_ScheduledForDelete, + ManagedEnvironment_Properties_ProvisioningState_STATUS_Succeeded, + ManagedEnvironment_Properties_ProvisioningState_STATUS_UpgradeFailed, + ManagedEnvironment_Properties_ProvisioningState_STATUS_UpgradeRequested, + ManagedEnvironment_Properties_ProvisioningState_STATUS_Waiting)) + gens["StaticIp"] = gen.PtrOf(gen.AlphaString()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) + gens["ZoneRedundant"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForManagedEnvironment_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedEnvironment_STATUS(gens map[string]gopter.Gen) { + gens["AppLogsConfiguration"] = gen.PtrOf(AppLogsConfiguration_STATUSGenerator()) + gens["CustomDomainConfiguration"] = gen.PtrOf(CustomDomainConfiguration_STATUSGenerator()) + gens["DaprConfiguration"] = gen.PtrOf(DaprConfiguration_STATUSGenerator()) + gens["KedaConfiguration"] = gen.PtrOf(KedaConfiguration_STATUSGenerator()) + gens["PeerAuthentication"] = gen.PtrOf(ManagedEnvironment_Properties_PeerAuthentication_STATUSGenerator()) + gens["PeerTrafficConfiguration"] = gen.PtrOf(ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) + gens["VnetConfiguration"] = gen.PtrOf(VnetConfiguration_STATUSGenerator()) + gens["WorkloadProfiles"] = gen.SliceOf(WorkloadProfile_STATUSGenerator()) +} + +func Test_ManagedEnvironment_Spec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedEnvironment_Spec to ManagedEnvironment_Spec via AssignProperties_To_ManagedEnvironment_Spec & AssignProperties_From_ManagedEnvironment_Spec returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedEnvironment_Spec, ManagedEnvironment_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedEnvironment_Spec tests if a specific instance of ManagedEnvironment_Spec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedEnvironment_Spec(subject ManagedEnvironment_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 storage.ManagedEnvironment_Spec + err := copied.AssignProperties_To_ManagedEnvironment_Spec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedEnvironment_Spec + err = actual.AssignProperties_From_ManagedEnvironment_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_ManagedEnvironment_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 ManagedEnvironment_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedEnvironment_Spec, ManagedEnvironment_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedEnvironment_Spec runs a test to see if a specific instance of ManagedEnvironment_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedEnvironment_Spec(subject ManagedEnvironment_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedEnvironment_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 ManagedEnvironment_Spec instances for property testing - lazily instantiated by +// ManagedEnvironment_SpecGenerator() +var managedEnvironment_SpecGenerator gopter.Gen + +// ManagedEnvironment_SpecGenerator returns a generator of ManagedEnvironment_Spec instances for property testing. +// We first initialize managedEnvironment_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 ManagedEnvironment_SpecGenerator() gopter.Gen { + if managedEnvironment_SpecGenerator != nil { + return managedEnvironment_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedEnvironment_Spec(generators) + managedEnvironment_SpecGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedEnvironment_Spec(generators) + AddRelatedPropertyGeneratorsForManagedEnvironment_Spec(generators) + managedEnvironment_SpecGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_Spec{}), generators) + + return managedEnvironment_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForManagedEnvironment_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedEnvironment_Spec(gens map[string]gopter.Gen) { + gens["AzureName"] = gen.AlphaString() + gens["InfrastructureResourceGroup"] = gen.PtrOf(gen.AlphaString()) + gens["Kind"] = gen.PtrOf(gen.AlphaString()) + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["ZoneRedundant"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForManagedEnvironment_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedEnvironment_Spec(gens map[string]gopter.Gen) { + gens["AppLogsConfiguration"] = gen.PtrOf(AppLogsConfigurationGenerator()) + gens["CustomDomainConfiguration"] = gen.PtrOf(CustomDomainConfigurationGenerator()) + gens["OperatorSpec"] = gen.PtrOf(ManagedEnvironmentOperatorSpecGenerator()) + gens["PeerAuthentication"] = gen.PtrOf(ManagedEnvironment_Properties_PeerAuthentication_SpecGenerator()) + gens["PeerTrafficConfiguration"] = gen.PtrOf(ManagedEnvironment_Properties_PeerTrafficConfiguration_SpecGenerator()) + gens["VnetConfiguration"] = gen.PtrOf(VnetConfigurationGenerator()) + gens["WorkloadProfiles"] = gen.SliceOf(WorkloadProfileGenerator()) +} + +func Test_Mtls_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Mtls to Mtls via AssignProperties_To_Mtls & AssignProperties_From_Mtls returns original", + prop.ForAll(RunPropertyAssignmentTestForMtls, MtlsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForMtls tests if a specific instance of Mtls can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForMtls(subject Mtls) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.Mtls + err := copied.AssignProperties_To_Mtls(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Mtls + err = actual.AssignProperties_From_Mtls(&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_Mtls_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 Mtls via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMtls, MtlsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMtls runs a test to see if a specific instance of Mtls round trips to JSON and back losslessly +func RunJSONSerializationTestForMtls(subject Mtls) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Mtls + 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 Mtls instances for property testing - lazily instantiated by MtlsGenerator() +var mtlsGenerator gopter.Gen + +// MtlsGenerator returns a generator of Mtls instances for property testing. +func MtlsGenerator() gopter.Gen { + if mtlsGenerator != nil { + return mtlsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMtls(generators) + mtlsGenerator = gen.Struct(reflect.TypeOf(Mtls{}), generators) + + return mtlsGenerator +} + +// AddIndependentPropertyGeneratorsForMtls is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMtls(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_Mtls_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Mtls_STATUS to Mtls_STATUS via AssignProperties_To_Mtls_STATUS & AssignProperties_From_Mtls_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForMtls_STATUS, Mtls_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForMtls_STATUS tests if a specific instance of Mtls_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForMtls_STATUS(subject Mtls_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 storage.Mtls_STATUS + err := copied.AssignProperties_To_Mtls_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Mtls_STATUS + err = actual.AssignProperties_From_Mtls_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_Mtls_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 Mtls_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMtls_STATUS, Mtls_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMtls_STATUS runs a test to see if a specific instance of Mtls_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForMtls_STATUS(subject Mtls_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Mtls_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 Mtls_STATUS instances for property testing - lazily instantiated by Mtls_STATUSGenerator() +var mtls_STATUSGenerator gopter.Gen + +// Mtls_STATUSGenerator returns a generator of Mtls_STATUS instances for property testing. +func Mtls_STATUSGenerator() gopter.Gen { + if mtls_STATUSGenerator != nil { + return mtls_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMtls_STATUS(generators) + mtls_STATUSGenerator = gen.Struct(reflect.TypeOf(Mtls_STATUS{}), generators) + + return mtls_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForMtls_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMtls_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_VnetConfiguration_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from VnetConfiguration to VnetConfiguration via AssignProperties_To_VnetConfiguration & AssignProperties_From_VnetConfiguration returns original", + prop.ForAll(RunPropertyAssignmentTestForVnetConfiguration, VnetConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForVnetConfiguration tests if a specific instance of VnetConfiguration can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForVnetConfiguration(subject VnetConfiguration) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.VnetConfiguration + err := copied.AssignProperties_To_VnetConfiguration(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual VnetConfiguration + err = actual.AssignProperties_From_VnetConfiguration(&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_VnetConfiguration_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 VnetConfiguration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForVnetConfiguration, VnetConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForVnetConfiguration runs a test to see if a specific instance of VnetConfiguration round trips to JSON and back losslessly +func RunJSONSerializationTestForVnetConfiguration(subject VnetConfiguration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual VnetConfiguration + 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 VnetConfiguration instances for property testing - lazily instantiated by VnetConfigurationGenerator() +var vnetConfigurationGenerator gopter.Gen + +// VnetConfigurationGenerator returns a generator of VnetConfiguration instances for property testing. +func VnetConfigurationGenerator() gopter.Gen { + if vnetConfigurationGenerator != nil { + return vnetConfigurationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForVnetConfiguration(generators) + vnetConfigurationGenerator = gen.Struct(reflect.TypeOf(VnetConfiguration{}), generators) + + return vnetConfigurationGenerator +} + +// AddIndependentPropertyGeneratorsForVnetConfiguration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForVnetConfiguration(gens map[string]gopter.Gen) { + gens["DockerBridgeCidr"] = gen.PtrOf(gen.AlphaString()) + gens["Internal"] = gen.PtrOf(gen.Bool()) + gens["PlatformReservedCidr"] = gen.PtrOf(gen.AlphaString()) + gens["PlatformReservedDnsIP"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_VnetConfiguration_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from VnetConfiguration_STATUS to VnetConfiguration_STATUS via AssignProperties_To_VnetConfiguration_STATUS & AssignProperties_From_VnetConfiguration_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForVnetConfiguration_STATUS, VnetConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForVnetConfiguration_STATUS tests if a specific instance of VnetConfiguration_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForVnetConfiguration_STATUS(subject VnetConfiguration_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 storage.VnetConfiguration_STATUS + err := copied.AssignProperties_To_VnetConfiguration_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual VnetConfiguration_STATUS + err = actual.AssignProperties_From_VnetConfiguration_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_VnetConfiguration_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 VnetConfiguration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForVnetConfiguration_STATUS, VnetConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForVnetConfiguration_STATUS runs a test to see if a specific instance of VnetConfiguration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForVnetConfiguration_STATUS(subject VnetConfiguration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual VnetConfiguration_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 VnetConfiguration_STATUS instances for property testing - lazily instantiated by +// VnetConfiguration_STATUSGenerator() +var vnetConfiguration_STATUSGenerator gopter.Gen + +// VnetConfiguration_STATUSGenerator returns a generator of VnetConfiguration_STATUS instances for property testing. +func VnetConfiguration_STATUSGenerator() gopter.Gen { + if vnetConfiguration_STATUSGenerator != nil { + return vnetConfiguration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForVnetConfiguration_STATUS(generators) + vnetConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(VnetConfiguration_STATUS{}), generators) + + return vnetConfiguration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForVnetConfiguration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForVnetConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["DockerBridgeCidr"] = gen.PtrOf(gen.AlphaString()) + gens["InfrastructureSubnetId"] = gen.PtrOf(gen.AlphaString()) + gens["Internal"] = gen.PtrOf(gen.Bool()) + gens["PlatformReservedCidr"] = gen.PtrOf(gen.AlphaString()) + gens["PlatformReservedDnsIP"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_WorkloadProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from WorkloadProfile to WorkloadProfile via AssignProperties_To_WorkloadProfile & AssignProperties_From_WorkloadProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForWorkloadProfile, WorkloadProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForWorkloadProfile tests if a specific instance of WorkloadProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForWorkloadProfile(subject WorkloadProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.WorkloadProfile + err := copied.AssignProperties_To_WorkloadProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual WorkloadProfile + err = actual.AssignProperties_From_WorkloadProfile(&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_WorkloadProfile_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 WorkloadProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForWorkloadProfile, WorkloadProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForWorkloadProfile runs a test to see if a specific instance of WorkloadProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForWorkloadProfile(subject WorkloadProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual WorkloadProfile + 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 WorkloadProfile instances for property testing - lazily instantiated by WorkloadProfileGenerator() +var workloadProfileGenerator gopter.Gen + +// WorkloadProfileGenerator returns a generator of WorkloadProfile instances for property testing. +func WorkloadProfileGenerator() gopter.Gen { + if workloadProfileGenerator != nil { + return workloadProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForWorkloadProfile(generators) + workloadProfileGenerator = gen.Struct(reflect.TypeOf(WorkloadProfile{}), generators) + + return workloadProfileGenerator +} + +// AddIndependentPropertyGeneratorsForWorkloadProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForWorkloadProfile(gens map[string]gopter.Gen) { + gens["MaximumCount"] = gen.PtrOf(gen.Int()) + gens["MinimumCount"] = gen.PtrOf(gen.Int()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["WorkloadProfileType"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_WorkloadProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from WorkloadProfile_STATUS to WorkloadProfile_STATUS via AssignProperties_To_WorkloadProfile_STATUS & AssignProperties_From_WorkloadProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForWorkloadProfile_STATUS, WorkloadProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForWorkloadProfile_STATUS tests if a specific instance of WorkloadProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForWorkloadProfile_STATUS(subject WorkloadProfile_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 storage.WorkloadProfile_STATUS + err := copied.AssignProperties_To_WorkloadProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual WorkloadProfile_STATUS + err = actual.AssignProperties_From_WorkloadProfile_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_WorkloadProfile_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 WorkloadProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForWorkloadProfile_STATUS, WorkloadProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForWorkloadProfile_STATUS runs a test to see if a specific instance of WorkloadProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForWorkloadProfile_STATUS(subject WorkloadProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual WorkloadProfile_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 WorkloadProfile_STATUS instances for property testing - lazily instantiated by +// WorkloadProfile_STATUSGenerator() +var workloadProfile_STATUSGenerator gopter.Gen + +// WorkloadProfile_STATUSGenerator returns a generator of WorkloadProfile_STATUS instances for property testing. +func WorkloadProfile_STATUSGenerator() gopter.Gen { + if workloadProfile_STATUSGenerator != nil { + return workloadProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForWorkloadProfile_STATUS(generators) + workloadProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(WorkloadProfile_STATUS{}), generators) + + return workloadProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForWorkloadProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForWorkloadProfile_STATUS(gens map[string]gopter.Gen) { + gens["MaximumCount"] = gen.PtrOf(gen.Int()) + gens["MinimumCount"] = gen.PtrOf(gen.Int()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["WorkloadProfileType"] = gen.PtrOf(gen.AlphaString()) +} diff --git a/v2/api/app/v1api20240301/storage/auth_config_types_gen.go b/v2/api/app/v1api20240301/storage/auth_config_types_gen.go new file mode 100644 index 00000000000..da591eec9af --- /dev/null +++ b/v2/api/app/v1api20240301/storage/auth_config_types_gen.go @@ -0,0 +1,944 @@ +// 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/Azure/azure-service-operator/v2/pkg/genruntime/configmaps" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/core" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/secrets" + "github.com/rotisserie/eris" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// +kubebuilder:rbac:groups=app.azure.com,resources=authconfigs,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=app.azure.com,resources={authconfigs/status,authconfigs/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 v1api20240301.AuthConfig +// Generator information: +// - Generated from: /app/resource-manager/Microsoft.App/stable/2024-03-01/AuthConfigs.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/authConfigs/{authConfigName} +type AuthConfig struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec AuthConfig_Spec `json:"spec,omitempty"` + Status AuthConfig_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &AuthConfig{} + +// GetConditions returns the conditions of the resource +func (config *AuthConfig) GetConditions() conditions.Conditions { + return config.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (config *AuthConfig) SetConditions(conditions conditions.Conditions) { + config.Status.Conditions = conditions +} + +var _ configmaps.Exporter = &AuthConfig{} + +// ConfigMapDestinationExpressions returns the Spec.OperatorSpec.ConfigMapExpressions property +func (config *AuthConfig) ConfigMapDestinationExpressions() []*core.DestinationExpression { + if config.Spec.OperatorSpec == nil { + return nil + } + return config.Spec.OperatorSpec.ConfigMapExpressions +} + +var _ secrets.Exporter = &AuthConfig{} + +// SecretDestinationExpressions returns the Spec.OperatorSpec.SecretExpressions property +func (config *AuthConfig) SecretDestinationExpressions() []*core.DestinationExpression { + if config.Spec.OperatorSpec == nil { + return nil + } + return config.Spec.OperatorSpec.SecretExpressions +} + +var _ genruntime.KubernetesResource = &AuthConfig{} + +// AzureName returns the Azure name of the resource +func (config *AuthConfig) AzureName() string { + return config.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-03-01" +func (config AuthConfig) GetAPIVersion() string { + return "2024-03-01" +} + +// GetResourceScope returns the scope of the resource +func (config *AuthConfig) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (config *AuthConfig) GetSpec() genruntime.ConvertibleSpec { + return &config.Spec +} + +// GetStatus returns the status of this resource +func (config *AuthConfig) GetStatus() genruntime.ConvertibleStatus { + return &config.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (config *AuthConfig) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.App/containerApps/authConfigs" +func (config *AuthConfig) GetType() string { + return "Microsoft.App/containerApps/authConfigs" +} + +// NewEmptyStatus returns a new empty (blank) status +func (config *AuthConfig) NewEmptyStatus() genruntime.ConvertibleStatus { + return &AuthConfig_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (config *AuthConfig) Owner() *genruntime.ResourceReference { + if config.Spec.Owner == nil { + return nil + } + + group, kind := genruntime.LookupOwnerGroupKind(config.Spec) + return config.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (config *AuthConfig) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*AuthConfig_STATUS); ok { + config.Status = *st + return nil + } + + // Convert status to required version + var st AuthConfig_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return eris.Wrap(err, "failed to convert status") + } + + config.Status = st + return nil +} + +// Hub marks that this AuthConfig is the hub type for conversion +func (config *AuthConfig) Hub() {} + +// OriginalGVK returns a GroupValueKind for the original API version used to create the resource +func (config *AuthConfig) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: config.Spec.OriginalVersion, + Kind: "AuthConfig", + } +} + +// +kubebuilder:object:root=true +// Storage version of v1api20240301.AuthConfig +// Generator information: +// - Generated from: /app/resource-manager/Microsoft.App/stable/2024-03-01/AuthConfigs.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/authConfigs/{authConfigName} +type AuthConfigList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []AuthConfig `json:"items"` +} + +// Storage version of v1api20240301.APIVersion +// +kubebuilder:validation:Enum={"2024-03-01"} +type APIVersion string + +const APIVersion_Value = APIVersion("2024-03-01") + +// Storage version of v1api20240301.AuthConfig_Spec +type AuthConfig_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"` + EncryptionSettings *EncryptionSettings `json:"encryptionSettings,omitempty"` + GlobalValidation *GlobalValidation `json:"globalValidation,omitempty"` + HttpSettings *HttpSettings `json:"httpSettings,omitempty"` + IdentityProviders *IdentityProviders `json:"identityProviders,omitempty"` + Login *Login `json:"login,omitempty"` + OperatorSpec *AuthConfigOperatorSpec `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 app.azure.com/ContainerApp resource + Owner *genruntime.KnownResourceReference `group:"app.azure.com" json:"owner,omitempty" kind:"ContainerApp"` + Platform *AuthPlatform `json:"platform,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +var _ genruntime.ConvertibleSpec = &AuthConfig_Spec{} + +// ConvertSpecFrom populates our AuthConfig_Spec from the provided source +func (config *AuthConfig_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + if source == config { + return eris.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return source.ConvertSpecTo(config) +} + +// ConvertSpecTo populates the provided destination from our AuthConfig_Spec +func (config *AuthConfig_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + if destination == config { + return eris.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return destination.ConvertSpecFrom(config) +} + +// Storage version of v1api20240301.AuthConfig_STATUS +type AuthConfig_STATUS struct { + Conditions []conditions.Condition `json:"conditions,omitempty"` + EncryptionSettings *EncryptionSettings_STATUS `json:"encryptionSettings,omitempty"` + GlobalValidation *GlobalValidation_STATUS `json:"globalValidation,omitempty"` + HttpSettings *HttpSettings_STATUS `json:"httpSettings,omitempty"` + Id *string `json:"id,omitempty"` + IdentityProviders *IdentityProviders_STATUS `json:"identityProviders,omitempty"` + Login *Login_STATUS `json:"login,omitempty"` + Name *string `json:"name,omitempty"` + Platform *AuthPlatform_STATUS `json:"platform,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + Type *string `json:"type,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &AuthConfig_STATUS{} + +// ConvertStatusFrom populates our AuthConfig_STATUS from the provided source +func (config *AuthConfig_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + if source == config { + return eris.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return source.ConvertStatusTo(config) +} + +// ConvertStatusTo populates the provided destination from our AuthConfig_STATUS +func (config *AuthConfig_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + if destination == config { + return eris.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return destination.ConvertStatusFrom(config) +} + +// Storage version of v1api20240301.AuthConfigOperatorSpec +// Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure +type AuthConfigOperatorSpec struct { + ConfigMapExpressions []*core.DestinationExpression `json:"configMapExpressions,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SecretExpressions []*core.DestinationExpression `json:"secretExpressions,omitempty"` +} + +// Storage version of v1api20240301.AuthPlatform +// The configuration settings of the platform of ContainerApp Service Authentication/Authorization. +type AuthPlatform struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + RuntimeVersion *string `json:"runtimeVersion,omitempty"` +} + +// Storage version of v1api20240301.AuthPlatform_STATUS +// The configuration settings of the platform of ContainerApp Service Authentication/Authorization. +type AuthPlatform_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + RuntimeVersion *string `json:"runtimeVersion,omitempty"` +} + +// Storage version of v1api20240301.EncryptionSettings +// The configuration settings of the secrets references of encryption key and signing key for ContainerApp Service +// Authentication/Authorization. +type EncryptionSettings struct { + ContainerAppAuthEncryptionSecretName *string `json:"containerAppAuthEncryptionSecretName,omitempty"` + ContainerAppAuthSigningSecretName *string `json:"containerAppAuthSigningSecretName,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.EncryptionSettings_STATUS +// The configuration settings of the secrets references of encryption key and signing key for ContainerApp Service +// Authentication/Authorization. +type EncryptionSettings_STATUS struct { + ContainerAppAuthEncryptionSecretName *string `json:"containerAppAuthEncryptionSecretName,omitempty"` + ContainerAppAuthSigningSecretName *string `json:"containerAppAuthSigningSecretName,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.GlobalValidation +// The configuration settings that determines the validation flow of users using ContainerApp Service +// Authentication/Authorization. +type GlobalValidation struct { + ExcludedPaths []string `json:"excludedPaths,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + RedirectToProvider *string `json:"redirectToProvider,omitempty"` + UnauthenticatedClientAction *string `json:"unauthenticatedClientAction,omitempty"` +} + +// Storage version of v1api20240301.GlobalValidation_STATUS +// The configuration settings that determines the validation flow of users using ContainerApp Service +// Authentication/Authorization. +type GlobalValidation_STATUS struct { + ExcludedPaths []string `json:"excludedPaths,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + RedirectToProvider *string `json:"redirectToProvider,omitempty"` + UnauthenticatedClientAction *string `json:"unauthenticatedClientAction,omitempty"` +} + +// Storage version of v1api20240301.HttpSettings +// The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp +// Service Authentication/Authorization. +type HttpSettings struct { + ForwardProxy *ForwardProxy `json:"forwardProxy,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + RequireHttps *bool `json:"requireHttps,omitempty"` + Routes *HttpSettingsRoutes `json:"routes,omitempty"` +} + +// Storage version of v1api20240301.HttpSettings_STATUS +// The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp +// Service Authentication/Authorization. +type HttpSettings_STATUS struct { + ForwardProxy *ForwardProxy_STATUS `json:"forwardProxy,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + RequireHttps *bool `json:"requireHttps,omitempty"` + Routes *HttpSettingsRoutes_STATUS `json:"routes,omitempty"` +} + +// Storage version of v1api20240301.IdentityProviders +// The configuration settings of each of the identity providers used to configure ContainerApp Service +// Authentication/Authorization. +type IdentityProviders struct { + Apple *Apple `json:"apple,omitempty"` + AzureActiveDirectory *AzureActiveDirectory `json:"azureActiveDirectory,omitempty"` + AzureStaticWebApps *AzureStaticWebApps `json:"azureStaticWebApps,omitempty"` + CustomOpenIdConnectProviders map[string]CustomOpenIdConnectProvider `json:"customOpenIdConnectProviders,omitempty"` + Facebook *Facebook `json:"facebook,omitempty"` + GitHub *GitHub `json:"gitHub,omitempty"` + Google *Google `json:"google,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Twitter *Twitter `json:"twitter,omitempty"` +} + +// Storage version of v1api20240301.IdentityProviders_STATUS +// The configuration settings of each of the identity providers used to configure ContainerApp Service +// Authentication/Authorization. +type IdentityProviders_STATUS struct { + Apple *Apple_STATUS `json:"apple,omitempty"` + AzureActiveDirectory *AzureActiveDirectory_STATUS `json:"azureActiveDirectory,omitempty"` + AzureStaticWebApps *AzureStaticWebApps_STATUS `json:"azureStaticWebApps,omitempty"` + CustomOpenIdConnectProviders map[string]CustomOpenIdConnectProvider_STATUS `json:"customOpenIdConnectProviders,omitempty"` + Facebook *Facebook_STATUS `json:"facebook,omitempty"` + GitHub *GitHub_STATUS `json:"gitHub,omitempty"` + Google *Google_STATUS `json:"google,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Twitter *Twitter_STATUS `json:"twitter,omitempty"` +} + +// Storage version of v1api20240301.Login +// The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization. +type Login struct { + AllowedExternalRedirectUrls []string `json:"allowedExternalRedirectUrls,omitempty"` + CookieExpiration *CookieExpiration `json:"cookieExpiration,omitempty"` + Nonce *Nonce `json:"nonce,omitempty"` + PreserveUrlFragmentsForLogins *bool `json:"preserveUrlFragmentsForLogins,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Routes *LoginRoutes `json:"routes,omitempty"` + TokenStore *TokenStore `json:"tokenStore,omitempty"` +} + +// Storage version of v1api20240301.Login_STATUS +// The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization. +type Login_STATUS struct { + AllowedExternalRedirectUrls []string `json:"allowedExternalRedirectUrls,omitempty"` + CookieExpiration *CookieExpiration_STATUS `json:"cookieExpiration,omitempty"` + Nonce *Nonce_STATUS `json:"nonce,omitempty"` + PreserveUrlFragmentsForLogins *bool `json:"preserveUrlFragmentsForLogins,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Routes *LoginRoutes_STATUS `json:"routes,omitempty"` + TokenStore *TokenStore_STATUS `json:"tokenStore,omitempty"` +} + +// Storage version of v1api20240301.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 v1api20240301.Apple +// The configuration settings of the Apple provider. +type Apple struct { + Enabled *bool `json:"enabled,omitempty"` + Login *LoginScopes `json:"login,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Registration *AppleRegistration `json:"registration,omitempty"` +} + +// Storage version of v1api20240301.Apple_STATUS +// The configuration settings of the Apple provider. +type Apple_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + Login *LoginScopes_STATUS `json:"login,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Registration *AppleRegistration_STATUS `json:"registration,omitempty"` +} + +// Storage version of v1api20240301.AzureActiveDirectory +// The configuration settings of the Azure Active directory provider. +type AzureActiveDirectory struct { + Enabled *bool `json:"enabled,omitempty"` + IsAutoProvisioned *bool `json:"isAutoProvisioned,omitempty"` + Login *AzureActiveDirectoryLogin `json:"login,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Registration *AzureActiveDirectoryRegistration `json:"registration,omitempty"` + Validation *AzureActiveDirectoryValidation `json:"validation,omitempty"` +} + +// Storage version of v1api20240301.AzureActiveDirectory_STATUS +// The configuration settings of the Azure Active directory provider. +type AzureActiveDirectory_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + IsAutoProvisioned *bool `json:"isAutoProvisioned,omitempty"` + Login *AzureActiveDirectoryLogin_STATUS `json:"login,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Registration *AzureActiveDirectoryRegistration_STATUS `json:"registration,omitempty"` + Validation *AzureActiveDirectoryValidation_STATUS `json:"validation,omitempty"` +} + +// Storage version of v1api20240301.AzureStaticWebApps +// The configuration settings of the Azure Static Web Apps provider. +type AzureStaticWebApps struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Registration *AzureStaticWebAppsRegistration `json:"registration,omitempty"` +} + +// Storage version of v1api20240301.AzureStaticWebApps_STATUS +// The configuration settings of the Azure Static Web Apps provider. +type AzureStaticWebApps_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Registration *AzureStaticWebAppsRegistration_STATUS `json:"registration,omitempty"` +} + +// Storage version of v1api20240301.CookieExpiration +// The configuration settings of the session cookie's expiration. +type CookieExpiration struct { + Convention *string `json:"convention,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + TimeToExpiration *string `json:"timeToExpiration,omitempty"` +} + +// Storage version of v1api20240301.CookieExpiration_STATUS +// The configuration settings of the session cookie's expiration. +type CookieExpiration_STATUS struct { + Convention *string `json:"convention,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + TimeToExpiration *string `json:"timeToExpiration,omitempty"` +} + +// Storage version of v1api20240301.CustomOpenIdConnectProvider +// The configuration settings of the custom Open ID Connect provider. +type CustomOpenIdConnectProvider struct { + Enabled *bool `json:"enabled,omitempty"` + Login *OpenIdConnectLogin `json:"login,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Registration *OpenIdConnectRegistration `json:"registration,omitempty"` +} + +// Storage version of v1api20240301.CustomOpenIdConnectProvider_STATUS +// The configuration settings of the custom Open ID Connect provider. +type CustomOpenIdConnectProvider_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + Login *OpenIdConnectLogin_STATUS `json:"login,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Registration *OpenIdConnectRegistration_STATUS `json:"registration,omitempty"` +} + +// Storage version of v1api20240301.Facebook +// The configuration settings of the Facebook provider. +type Facebook struct { + Enabled *bool `json:"enabled,omitempty"` + GraphApiVersion *string `json:"graphApiVersion,omitempty"` + Login *LoginScopes `json:"login,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Registration *AppRegistration `json:"registration,omitempty"` +} + +// Storage version of v1api20240301.Facebook_STATUS +// The configuration settings of the Facebook provider. +type Facebook_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + GraphApiVersion *string `json:"graphApiVersion,omitempty"` + Login *LoginScopes_STATUS `json:"login,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Registration *AppRegistration_STATUS `json:"registration,omitempty"` +} + +// Storage version of v1api20240301.ForwardProxy +// The configuration settings of a forward proxy used to make the requests. +type ForwardProxy struct { + Convention *string `json:"convention,omitempty"` + CustomHostHeaderName *string `json:"customHostHeaderName,omitempty"` + CustomProtoHeaderName *string `json:"customProtoHeaderName,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.ForwardProxy_STATUS +// The configuration settings of a forward proxy used to make the requests. +type ForwardProxy_STATUS struct { + Convention *string `json:"convention,omitempty"` + CustomHostHeaderName *string `json:"customHostHeaderName,omitempty"` + CustomProtoHeaderName *string `json:"customProtoHeaderName,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.GitHub +// The configuration settings of the GitHub provider. +type GitHub struct { + Enabled *bool `json:"enabled,omitempty"` + Login *LoginScopes `json:"login,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Registration *ClientRegistration `json:"registration,omitempty"` +} + +// Storage version of v1api20240301.GitHub_STATUS +// The configuration settings of the GitHub provider. +type GitHub_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + Login *LoginScopes_STATUS `json:"login,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Registration *ClientRegistration_STATUS `json:"registration,omitempty"` +} + +// Storage version of v1api20240301.Google +// The configuration settings of the Google provider. +type Google struct { + Enabled *bool `json:"enabled,omitempty"` + Login *LoginScopes `json:"login,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Registration *ClientRegistration `json:"registration,omitempty"` + Validation *AllowedAudiencesValidation `json:"validation,omitempty"` +} + +// Storage version of v1api20240301.Google_STATUS +// The configuration settings of the Google provider. +type Google_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + Login *LoginScopes_STATUS `json:"login,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Registration *ClientRegistration_STATUS `json:"registration,omitempty"` + Validation *AllowedAudiencesValidation_STATUS `json:"validation,omitempty"` +} + +// Storage version of v1api20240301.HttpSettingsRoutes +// The configuration settings of the paths HTTP requests. +type HttpSettingsRoutes struct { + ApiPrefix *string `json:"apiPrefix,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.HttpSettingsRoutes_STATUS +// The configuration settings of the paths HTTP requests. +type HttpSettingsRoutes_STATUS struct { + ApiPrefix *string `json:"apiPrefix,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.LoginRoutes +// The routes that specify the endpoints used for login and logout requests. +type LoginRoutes struct { + LogoutEndpoint *string `json:"logoutEndpoint,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.LoginRoutes_STATUS +// The routes that specify the endpoints used for login and logout requests. +type LoginRoutes_STATUS struct { + LogoutEndpoint *string `json:"logoutEndpoint,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.Nonce +// The configuration settings of the nonce used in the login flow. +type Nonce struct { + NonceExpirationInterval *string `json:"nonceExpirationInterval,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ValidateNonce *bool `json:"validateNonce,omitempty"` +} + +// Storage version of v1api20240301.Nonce_STATUS +// The configuration settings of the nonce used in the login flow. +type Nonce_STATUS struct { + NonceExpirationInterval *string `json:"nonceExpirationInterval,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ValidateNonce *bool `json:"validateNonce,omitempty"` +} + +// Storage version of v1api20240301.TokenStore +// The configuration settings of the token store. +type TokenStore struct { + AzureBlobStorage *BlobStorageTokenStore `json:"azureBlobStorage,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + TokenRefreshExtensionHours *float64 `json:"tokenRefreshExtensionHours,omitempty"` +} + +// Storage version of v1api20240301.TokenStore_STATUS +// The configuration settings of the token store. +type TokenStore_STATUS struct { + AzureBlobStorage *BlobStorageTokenStore_STATUS `json:"azureBlobStorage,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + TokenRefreshExtensionHours *float64 `json:"tokenRefreshExtensionHours,omitempty"` +} + +// Storage version of v1api20240301.Twitter +// The configuration settings of the Twitter provider. +type Twitter struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Registration *TwitterRegistration `json:"registration,omitempty"` +} + +// Storage version of v1api20240301.Twitter_STATUS +// The configuration settings of the Twitter provider. +type Twitter_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Registration *TwitterRegistration_STATUS `json:"registration,omitempty"` +} + +// Storage version of v1api20240301.AllowedAudiencesValidation +// The configuration settings of the Allowed Audiences validation flow. +type AllowedAudiencesValidation struct { + AllowedAudiences []string `json:"allowedAudiences,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.AllowedAudiencesValidation_STATUS +// The configuration settings of the Allowed Audiences validation flow. +type AllowedAudiencesValidation_STATUS struct { + AllowedAudiences []string `json:"allowedAudiences,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.AppleRegistration +// The configuration settings of the registration for the Apple provider +type AppleRegistration struct { + ClientId *string `json:"clientId,omitempty"` + ClientSecretSettingName *string `json:"clientSecretSettingName,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.AppleRegistration_STATUS +// The configuration settings of the registration for the Apple provider +type AppleRegistration_STATUS struct { + ClientId *string `json:"clientId,omitempty"` + ClientSecretSettingName *string `json:"clientSecretSettingName,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.AppRegistration +// The configuration settings of the app registration for providers that have app ids and app secrets +type AppRegistration struct { + AppId *string `json:"appId,omitempty"` + AppSecretSettingName *string `json:"appSecretSettingName,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.AppRegistration_STATUS +// The configuration settings of the app registration for providers that have app ids and app secrets +type AppRegistration_STATUS struct { + AppId *string `json:"appId,omitempty"` + AppSecretSettingName *string `json:"appSecretSettingName,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.AzureActiveDirectoryLogin +// The configuration settings of the Azure Active Directory login flow. +type AzureActiveDirectoryLogin struct { + DisableWWWAuthenticate *bool `json:"disableWWWAuthenticate,omitempty"` + LoginParameters []string `json:"loginParameters,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.AzureActiveDirectoryLogin_STATUS +// The configuration settings of the Azure Active Directory login flow. +type AzureActiveDirectoryLogin_STATUS struct { + DisableWWWAuthenticate *bool `json:"disableWWWAuthenticate,omitempty"` + LoginParameters []string `json:"loginParameters,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.AzureActiveDirectoryRegistration +// The configuration settings of the Azure Active Directory app registration. +type AzureActiveDirectoryRegistration struct { + ClientId *string `json:"clientId,omitempty"` + ClientSecretCertificateIssuer *string `json:"clientSecretCertificateIssuer,omitempty"` + ClientSecretCertificateSubjectAlternativeName *string `json:"clientSecretCertificateSubjectAlternativeName,omitempty"` + ClientSecretCertificateThumbprint *string `json:"clientSecretCertificateThumbprint,omitempty"` + ClientSecretSettingName *string `json:"clientSecretSettingName,omitempty"` + OpenIdIssuer *string `json:"openIdIssuer,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.AzureActiveDirectoryRegistration_STATUS +// The configuration settings of the Azure Active Directory app registration. +type AzureActiveDirectoryRegistration_STATUS struct { + ClientId *string `json:"clientId,omitempty"` + ClientSecretCertificateIssuer *string `json:"clientSecretCertificateIssuer,omitempty"` + ClientSecretCertificateSubjectAlternativeName *string `json:"clientSecretCertificateSubjectAlternativeName,omitempty"` + ClientSecretCertificateThumbprint *string `json:"clientSecretCertificateThumbprint,omitempty"` + ClientSecretSettingName *string `json:"clientSecretSettingName,omitempty"` + OpenIdIssuer *string `json:"openIdIssuer,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.AzureActiveDirectoryValidation +// The configuration settings of the Azure Active Directory token validation flow. +type AzureActiveDirectoryValidation struct { + AllowedAudiences []string `json:"allowedAudiences,omitempty"` + DefaultAuthorizationPolicy *DefaultAuthorizationPolicy `json:"defaultAuthorizationPolicy,omitempty"` + JwtClaimChecks *JwtClaimChecks `json:"jwtClaimChecks,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.AzureActiveDirectoryValidation_STATUS +// The configuration settings of the Azure Active Directory token validation flow. +type AzureActiveDirectoryValidation_STATUS struct { + AllowedAudiences []string `json:"allowedAudiences,omitempty"` + DefaultAuthorizationPolicy *DefaultAuthorizationPolicy_STATUS `json:"defaultAuthorizationPolicy,omitempty"` + JwtClaimChecks *JwtClaimChecks_STATUS `json:"jwtClaimChecks,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.AzureStaticWebAppsRegistration +// The configuration settings of the registration for the Azure Static Web Apps provider +type AzureStaticWebAppsRegistration struct { + ClientId *string `json:"clientId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.AzureStaticWebAppsRegistration_STATUS +// The configuration settings of the registration for the Azure Static Web Apps provider +type AzureStaticWebAppsRegistration_STATUS struct { + ClientId *string `json:"clientId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.BlobStorageTokenStore +// The configuration settings of the storage of the tokens if blob storage is used. +type BlobStorageTokenStore struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SasUrlSettingName *string `json:"sasUrlSettingName,omitempty"` +} + +// Storage version of v1api20240301.BlobStorageTokenStore_STATUS +// The configuration settings of the storage of the tokens if blob storage is used. +type BlobStorageTokenStore_STATUS struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SasUrlSettingName *string `json:"sasUrlSettingName,omitempty"` +} + +// Storage version of v1api20240301.ClientRegistration +// The configuration settings of the app registration for providers that have client ids and client secrets +type ClientRegistration struct { + ClientId *string `json:"clientId,omitempty"` + ClientSecretSettingName *string `json:"clientSecretSettingName,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.ClientRegistration_STATUS +// The configuration settings of the app registration for providers that have client ids and client secrets +type ClientRegistration_STATUS struct { + ClientId *string `json:"clientId,omitempty"` + ClientSecretSettingName *string `json:"clientSecretSettingName,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.LoginScopes +// The configuration settings of the login flow, including the scopes that should be requested. +type LoginScopes struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Scopes []string `json:"scopes,omitempty"` +} + +// Storage version of v1api20240301.LoginScopes_STATUS +// The configuration settings of the login flow, including the scopes that should be requested. +type LoginScopes_STATUS struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Scopes []string `json:"scopes,omitempty"` +} + +// Storage version of v1api20240301.OpenIdConnectLogin +// The configuration settings of the login flow of the custom Open ID Connect provider. +type OpenIdConnectLogin struct { + NameClaimType *string `json:"nameClaimType,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Scopes []string `json:"scopes,omitempty"` +} + +// Storage version of v1api20240301.OpenIdConnectLogin_STATUS +// The configuration settings of the login flow of the custom Open ID Connect provider. +type OpenIdConnectLogin_STATUS struct { + NameClaimType *string `json:"nameClaimType,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Scopes []string `json:"scopes,omitempty"` +} + +// Storage version of v1api20240301.OpenIdConnectRegistration +// The configuration settings of the app registration for the custom Open ID Connect provider. +type OpenIdConnectRegistration struct { + ClientCredential *OpenIdConnectClientCredential `json:"clientCredential,omitempty"` + ClientId *string `json:"clientId,omitempty"` + OpenIdConnectConfiguration *OpenIdConnectConfig `json:"openIdConnectConfiguration,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.OpenIdConnectRegistration_STATUS +// The configuration settings of the app registration for the custom Open ID Connect provider. +type OpenIdConnectRegistration_STATUS struct { + ClientCredential *OpenIdConnectClientCredential_STATUS `json:"clientCredential,omitempty"` + ClientId *string `json:"clientId,omitempty"` + OpenIdConnectConfiguration *OpenIdConnectConfig_STATUS `json:"openIdConnectConfiguration,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.TwitterRegistration +// The configuration settings of the app registration for the Twitter provider. +type TwitterRegistration struct { + ConsumerKey *string `json:"consumerKey,omitempty"` + ConsumerSecretSettingName *string `json:"consumerSecretSettingName,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.TwitterRegistration_STATUS +// The configuration settings of the app registration for the Twitter provider. +type TwitterRegistration_STATUS struct { + ConsumerKey *string `json:"consumerKey,omitempty"` + ConsumerSecretSettingName *string `json:"consumerSecretSettingName,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.DefaultAuthorizationPolicy +// The configuration settings of the Azure Active Directory default authorization policy. +type DefaultAuthorizationPolicy struct { + AllowedApplications []string `json:"allowedApplications,omitempty"` + AllowedPrincipals *AllowedPrincipals `json:"allowedPrincipals,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.DefaultAuthorizationPolicy_STATUS +// The configuration settings of the Azure Active Directory default authorization policy. +type DefaultAuthorizationPolicy_STATUS struct { + AllowedApplications []string `json:"allowedApplications,omitempty"` + AllowedPrincipals *AllowedPrincipals_STATUS `json:"allowedPrincipals,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.JwtClaimChecks +// The configuration settings of the checks that should be made while validating the JWT Claims. +type JwtClaimChecks struct { + AllowedClientApplications []string `json:"allowedClientApplications,omitempty"` + AllowedGroups []string `json:"allowedGroups,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.JwtClaimChecks_STATUS +// The configuration settings of the checks that should be made while validating the JWT Claims. +type JwtClaimChecks_STATUS struct { + AllowedClientApplications []string `json:"allowedClientApplications,omitempty"` + AllowedGroups []string `json:"allowedGroups,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.OpenIdConnectClientCredential +// The authentication client credentials of the custom Open ID Connect provider. +type OpenIdConnectClientCredential struct { + ClientSecretSettingName *string `json:"clientSecretSettingName,omitempty"` + Method *string `json:"method,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.OpenIdConnectClientCredential_STATUS +// The authentication client credentials of the custom Open ID Connect provider. +type OpenIdConnectClientCredential_STATUS struct { + ClientSecretSettingName *string `json:"clientSecretSettingName,omitempty"` + Method *string `json:"method,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.OpenIdConnectConfig +// The configuration settings of the endpoints used for the custom Open ID Connect provider. +type OpenIdConnectConfig struct { + AuthorizationEndpoint *string `json:"authorizationEndpoint,omitempty"` + CertificationUri *string `json:"certificationUri,omitempty"` + Issuer *string `json:"issuer,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + TokenEndpoint *string `json:"tokenEndpoint,omitempty"` + WellKnownOpenIdConfiguration *string `json:"wellKnownOpenIdConfiguration,omitempty"` +} + +// Storage version of v1api20240301.OpenIdConnectConfig_STATUS +// The configuration settings of the endpoints used for the custom Open ID Connect provider. +type OpenIdConnectConfig_STATUS struct { + AuthorizationEndpoint *string `json:"authorizationEndpoint,omitempty"` + CertificationUri *string `json:"certificationUri,omitempty"` + Issuer *string `json:"issuer,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + TokenEndpoint *string `json:"tokenEndpoint,omitempty"` + WellKnownOpenIdConfiguration *string `json:"wellKnownOpenIdConfiguration,omitempty"` +} + +// Storage version of v1api20240301.AllowedPrincipals +// The configuration settings of the Azure Active Directory allowed principals. +type AllowedPrincipals struct { + Groups []string `json:"groups,omitempty"` + Identities []string `json:"identities,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.AllowedPrincipals_STATUS +// The configuration settings of the Azure Active Directory allowed principals. +type AllowedPrincipals_STATUS struct { + Groups []string `json:"groups,omitempty"` + Identities []string `json:"identities,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +func init() { + SchemeBuilder.Register(&AuthConfig{}, &AuthConfigList{}) +} diff --git a/v2/api/app/v1api20240301/storage/auth_config_types_gen_test.go b/v2/api/app/v1api20240301/storage/auth_config_types_gen_test.go new file mode 100644 index 00000000000..87c02e6e709 --- /dev/null +++ b/v2/api/app/v1api20240301/storage/auth_config_types_gen_test.go @@ -0,0 +1,5461 @@ +// 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_AllowedAudiencesValidation_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 AllowedAudiencesValidation via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAllowedAudiencesValidation, AllowedAudiencesValidationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAllowedAudiencesValidation runs a test to see if a specific instance of AllowedAudiencesValidation round trips to JSON and back losslessly +func RunJSONSerializationTestForAllowedAudiencesValidation(subject AllowedAudiencesValidation) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AllowedAudiencesValidation + 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 AllowedAudiencesValidation instances for property testing - lazily instantiated by +// AllowedAudiencesValidationGenerator() +var allowedAudiencesValidationGenerator gopter.Gen + +// AllowedAudiencesValidationGenerator returns a generator of AllowedAudiencesValidation instances for property testing. +func AllowedAudiencesValidationGenerator() gopter.Gen { + if allowedAudiencesValidationGenerator != nil { + return allowedAudiencesValidationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAllowedAudiencesValidation(generators) + allowedAudiencesValidationGenerator = gen.Struct(reflect.TypeOf(AllowedAudiencesValidation{}), generators) + + return allowedAudiencesValidationGenerator +} + +// AddIndependentPropertyGeneratorsForAllowedAudiencesValidation is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAllowedAudiencesValidation(gens map[string]gopter.Gen) { + gens["AllowedAudiences"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_AllowedAudiencesValidation_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 AllowedAudiencesValidation_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAllowedAudiencesValidation_STATUS, AllowedAudiencesValidation_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAllowedAudiencesValidation_STATUS runs a test to see if a specific instance of AllowedAudiencesValidation_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAllowedAudiencesValidation_STATUS(subject AllowedAudiencesValidation_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AllowedAudiencesValidation_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 AllowedAudiencesValidation_STATUS instances for property testing - lazily instantiated by +// AllowedAudiencesValidation_STATUSGenerator() +var allowedAudiencesValidation_STATUSGenerator gopter.Gen + +// AllowedAudiencesValidation_STATUSGenerator returns a generator of AllowedAudiencesValidation_STATUS instances for property testing. +func AllowedAudiencesValidation_STATUSGenerator() gopter.Gen { + if allowedAudiencesValidation_STATUSGenerator != nil { + return allowedAudiencesValidation_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAllowedAudiencesValidation_STATUS(generators) + allowedAudiencesValidation_STATUSGenerator = gen.Struct(reflect.TypeOf(AllowedAudiencesValidation_STATUS{}), generators) + + return allowedAudiencesValidation_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAllowedAudiencesValidation_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAllowedAudiencesValidation_STATUS(gens map[string]gopter.Gen) { + gens["AllowedAudiences"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_AllowedPrincipals_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 AllowedPrincipals via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAllowedPrincipals, AllowedPrincipalsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAllowedPrincipals runs a test to see if a specific instance of AllowedPrincipals round trips to JSON and back losslessly +func RunJSONSerializationTestForAllowedPrincipals(subject AllowedPrincipals) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AllowedPrincipals + 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 AllowedPrincipals instances for property testing - lazily instantiated by AllowedPrincipalsGenerator() +var allowedPrincipalsGenerator gopter.Gen + +// AllowedPrincipalsGenerator returns a generator of AllowedPrincipals instances for property testing. +func AllowedPrincipalsGenerator() gopter.Gen { + if allowedPrincipalsGenerator != nil { + return allowedPrincipalsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAllowedPrincipals(generators) + allowedPrincipalsGenerator = gen.Struct(reflect.TypeOf(AllowedPrincipals{}), generators) + + return allowedPrincipalsGenerator +} + +// AddIndependentPropertyGeneratorsForAllowedPrincipals is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAllowedPrincipals(gens map[string]gopter.Gen) { + gens["Groups"] = gen.SliceOf(gen.AlphaString()) + gens["Identities"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_AllowedPrincipals_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 AllowedPrincipals_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAllowedPrincipals_STATUS, AllowedPrincipals_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAllowedPrincipals_STATUS runs a test to see if a specific instance of AllowedPrincipals_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAllowedPrincipals_STATUS(subject AllowedPrincipals_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AllowedPrincipals_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 AllowedPrincipals_STATUS instances for property testing - lazily instantiated by +// AllowedPrincipals_STATUSGenerator() +var allowedPrincipals_STATUSGenerator gopter.Gen + +// AllowedPrincipals_STATUSGenerator returns a generator of AllowedPrincipals_STATUS instances for property testing. +func AllowedPrincipals_STATUSGenerator() gopter.Gen { + if allowedPrincipals_STATUSGenerator != nil { + return allowedPrincipals_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAllowedPrincipals_STATUS(generators) + allowedPrincipals_STATUSGenerator = gen.Struct(reflect.TypeOf(AllowedPrincipals_STATUS{}), generators) + + return allowedPrincipals_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAllowedPrincipals_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAllowedPrincipals_STATUS(gens map[string]gopter.Gen) { + gens["Groups"] = gen.SliceOf(gen.AlphaString()) + gens["Identities"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_AppRegistration_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 AppRegistration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAppRegistration, AppRegistrationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAppRegistration runs a test to see if a specific instance of AppRegistration round trips to JSON and back losslessly +func RunJSONSerializationTestForAppRegistration(subject AppRegistration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AppRegistration + 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 AppRegistration instances for property testing - lazily instantiated by AppRegistrationGenerator() +var appRegistrationGenerator gopter.Gen + +// AppRegistrationGenerator returns a generator of AppRegistration instances for property testing. +func AppRegistrationGenerator() gopter.Gen { + if appRegistrationGenerator != nil { + return appRegistrationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAppRegistration(generators) + appRegistrationGenerator = gen.Struct(reflect.TypeOf(AppRegistration{}), generators) + + return appRegistrationGenerator +} + +// AddIndependentPropertyGeneratorsForAppRegistration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAppRegistration(gens map[string]gopter.Gen) { + gens["AppId"] = gen.PtrOf(gen.AlphaString()) + gens["AppSecretSettingName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_AppRegistration_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 AppRegistration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAppRegistration_STATUS, AppRegistration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAppRegistration_STATUS runs a test to see if a specific instance of AppRegistration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAppRegistration_STATUS(subject AppRegistration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AppRegistration_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 AppRegistration_STATUS instances for property testing - lazily instantiated by +// AppRegistration_STATUSGenerator() +var appRegistration_STATUSGenerator gopter.Gen + +// AppRegistration_STATUSGenerator returns a generator of AppRegistration_STATUS instances for property testing. +func AppRegistration_STATUSGenerator() gopter.Gen { + if appRegistration_STATUSGenerator != nil { + return appRegistration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAppRegistration_STATUS(generators) + appRegistration_STATUSGenerator = gen.Struct(reflect.TypeOf(AppRegistration_STATUS{}), generators) + + return appRegistration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAppRegistration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAppRegistration_STATUS(gens map[string]gopter.Gen) { + gens["AppId"] = gen.PtrOf(gen.AlphaString()) + gens["AppSecretSettingName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Apple_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 Apple via JSON returns original", + prop.ForAll(RunJSONSerializationTestForApple, AppleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForApple runs a test to see if a specific instance of Apple round trips to JSON and back losslessly +func RunJSONSerializationTestForApple(subject Apple) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Apple + 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 Apple instances for property testing - lazily instantiated by AppleGenerator() +var appleGenerator gopter.Gen + +// AppleGenerator returns a generator of Apple instances for property testing. +// We first initialize appleGenerator 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 AppleGenerator() gopter.Gen { + if appleGenerator != nil { + return appleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForApple(generators) + appleGenerator = gen.Struct(reflect.TypeOf(Apple{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForApple(generators) + AddRelatedPropertyGeneratorsForApple(generators) + appleGenerator = gen.Struct(reflect.TypeOf(Apple{}), generators) + + return appleGenerator +} + +// AddIndependentPropertyGeneratorsForApple is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForApple(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForApple is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForApple(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(LoginScopesGenerator()) + gens["Registration"] = gen.PtrOf(AppleRegistrationGenerator()) +} + +func Test_AppleRegistration_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 AppleRegistration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAppleRegistration, AppleRegistrationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAppleRegistration runs a test to see if a specific instance of AppleRegistration round trips to JSON and back losslessly +func RunJSONSerializationTestForAppleRegistration(subject AppleRegistration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AppleRegistration + 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 AppleRegistration instances for property testing - lazily instantiated by AppleRegistrationGenerator() +var appleRegistrationGenerator gopter.Gen + +// AppleRegistrationGenerator returns a generator of AppleRegistration instances for property testing. +func AppleRegistrationGenerator() gopter.Gen { + if appleRegistrationGenerator != nil { + return appleRegistrationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAppleRegistration(generators) + appleRegistrationGenerator = gen.Struct(reflect.TypeOf(AppleRegistration{}), generators) + + return appleRegistrationGenerator +} + +// AddIndependentPropertyGeneratorsForAppleRegistration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAppleRegistration(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretSettingName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_AppleRegistration_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 AppleRegistration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAppleRegistration_STATUS, AppleRegistration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAppleRegistration_STATUS runs a test to see if a specific instance of AppleRegistration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAppleRegistration_STATUS(subject AppleRegistration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AppleRegistration_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 AppleRegistration_STATUS instances for property testing - lazily instantiated by +// AppleRegistration_STATUSGenerator() +var appleRegistration_STATUSGenerator gopter.Gen + +// AppleRegistration_STATUSGenerator returns a generator of AppleRegistration_STATUS instances for property testing. +func AppleRegistration_STATUSGenerator() gopter.Gen { + if appleRegistration_STATUSGenerator != nil { + return appleRegistration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAppleRegistration_STATUS(generators) + appleRegistration_STATUSGenerator = gen.Struct(reflect.TypeOf(AppleRegistration_STATUS{}), generators) + + return appleRegistration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAppleRegistration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAppleRegistration_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretSettingName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Apple_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 Apple_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForApple_STATUS, Apple_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForApple_STATUS runs a test to see if a specific instance of Apple_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForApple_STATUS(subject Apple_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Apple_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 Apple_STATUS instances for property testing - lazily instantiated by Apple_STATUSGenerator() +var apple_STATUSGenerator gopter.Gen + +// Apple_STATUSGenerator returns a generator of Apple_STATUS instances for property testing. +// We first initialize apple_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 Apple_STATUSGenerator() gopter.Gen { + if apple_STATUSGenerator != nil { + return apple_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForApple_STATUS(generators) + apple_STATUSGenerator = gen.Struct(reflect.TypeOf(Apple_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForApple_STATUS(generators) + AddRelatedPropertyGeneratorsForApple_STATUS(generators) + apple_STATUSGenerator = gen.Struct(reflect.TypeOf(Apple_STATUS{}), generators) + + return apple_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForApple_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForApple_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForApple_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForApple_STATUS(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(LoginScopes_STATUSGenerator()) + gens["Registration"] = gen.PtrOf(AppleRegistration_STATUSGenerator()) +} + +func Test_AuthConfig_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 AuthConfig via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAuthConfig, AuthConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAuthConfig runs a test to see if a specific instance of AuthConfig round trips to JSON and back losslessly +func RunJSONSerializationTestForAuthConfig(subject AuthConfig) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AuthConfig + 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 AuthConfig instances for property testing - lazily instantiated by AuthConfigGenerator() +var authConfigGenerator gopter.Gen + +// AuthConfigGenerator returns a generator of AuthConfig instances for property testing. +func AuthConfigGenerator() gopter.Gen { + if authConfigGenerator != nil { + return authConfigGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForAuthConfig(generators) + authConfigGenerator = gen.Struct(reflect.TypeOf(AuthConfig{}), generators) + + return authConfigGenerator +} + +// AddRelatedPropertyGeneratorsForAuthConfig is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAuthConfig(gens map[string]gopter.Gen) { + gens["Spec"] = AuthConfig_SpecGenerator() + gens["Status"] = AuthConfig_STATUSGenerator() +} + +func Test_AuthConfigOperatorSpec_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 AuthConfigOperatorSpec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAuthConfigOperatorSpec, AuthConfigOperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAuthConfigOperatorSpec runs a test to see if a specific instance of AuthConfigOperatorSpec round trips to JSON and back losslessly +func RunJSONSerializationTestForAuthConfigOperatorSpec(subject AuthConfigOperatorSpec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AuthConfigOperatorSpec + 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 AuthConfigOperatorSpec instances for property testing - lazily instantiated by +// AuthConfigOperatorSpecGenerator() +var authConfigOperatorSpecGenerator gopter.Gen + +// AuthConfigOperatorSpecGenerator returns a generator of AuthConfigOperatorSpec instances for property testing. +func AuthConfigOperatorSpecGenerator() gopter.Gen { + if authConfigOperatorSpecGenerator != nil { + return authConfigOperatorSpecGenerator + } + + generators := make(map[string]gopter.Gen) + authConfigOperatorSpecGenerator = gen.Struct(reflect.TypeOf(AuthConfigOperatorSpec{}), generators) + + return authConfigOperatorSpecGenerator +} + +func Test_AuthConfig_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 AuthConfig_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAuthConfig_STATUS, AuthConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAuthConfig_STATUS runs a test to see if a specific instance of AuthConfig_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAuthConfig_STATUS(subject AuthConfig_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AuthConfig_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 AuthConfig_STATUS instances for property testing - lazily instantiated by AuthConfig_STATUSGenerator() +var authConfig_STATUSGenerator gopter.Gen + +// AuthConfig_STATUSGenerator returns a generator of AuthConfig_STATUS instances for property testing. +// We first initialize authConfig_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 AuthConfig_STATUSGenerator() gopter.Gen { + if authConfig_STATUSGenerator != nil { + return authConfig_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAuthConfig_STATUS(generators) + authConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(AuthConfig_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAuthConfig_STATUS(generators) + AddRelatedPropertyGeneratorsForAuthConfig_STATUS(generators) + authConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(AuthConfig_STATUS{}), generators) + + return authConfig_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAuthConfig_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAuthConfig_STATUS(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForAuthConfig_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAuthConfig_STATUS(gens map[string]gopter.Gen) { + gens["EncryptionSettings"] = gen.PtrOf(EncryptionSettings_STATUSGenerator()) + gens["GlobalValidation"] = gen.PtrOf(GlobalValidation_STATUSGenerator()) + gens["HttpSettings"] = gen.PtrOf(HttpSettings_STATUSGenerator()) + gens["IdentityProviders"] = gen.PtrOf(IdentityProviders_STATUSGenerator()) + gens["Login"] = gen.PtrOf(Login_STATUSGenerator()) + gens["Platform"] = gen.PtrOf(AuthPlatform_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} + +func Test_AuthConfig_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 AuthConfig_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAuthConfig_Spec, AuthConfig_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAuthConfig_Spec runs a test to see if a specific instance of AuthConfig_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForAuthConfig_Spec(subject AuthConfig_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AuthConfig_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 AuthConfig_Spec instances for property testing - lazily instantiated by AuthConfig_SpecGenerator() +var authConfig_SpecGenerator gopter.Gen + +// AuthConfig_SpecGenerator returns a generator of AuthConfig_Spec instances for property testing. +// We first initialize authConfig_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 AuthConfig_SpecGenerator() gopter.Gen { + if authConfig_SpecGenerator != nil { + return authConfig_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAuthConfig_Spec(generators) + authConfig_SpecGenerator = gen.Struct(reflect.TypeOf(AuthConfig_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAuthConfig_Spec(generators) + AddRelatedPropertyGeneratorsForAuthConfig_Spec(generators) + authConfig_SpecGenerator = gen.Struct(reflect.TypeOf(AuthConfig_Spec{}), generators) + + return authConfig_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForAuthConfig_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAuthConfig_Spec(gens map[string]gopter.Gen) { + gens["AzureName"] = gen.AlphaString() + gens["OriginalVersion"] = gen.AlphaString() +} + +// AddRelatedPropertyGeneratorsForAuthConfig_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAuthConfig_Spec(gens map[string]gopter.Gen) { + gens["EncryptionSettings"] = gen.PtrOf(EncryptionSettingsGenerator()) + gens["GlobalValidation"] = gen.PtrOf(GlobalValidationGenerator()) + gens["HttpSettings"] = gen.PtrOf(HttpSettingsGenerator()) + gens["IdentityProviders"] = gen.PtrOf(IdentityProvidersGenerator()) + gens["Login"] = gen.PtrOf(LoginGenerator()) + gens["OperatorSpec"] = gen.PtrOf(AuthConfigOperatorSpecGenerator()) + gens["Platform"] = gen.PtrOf(AuthPlatformGenerator()) +} + +func Test_AuthPlatform_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 AuthPlatform via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAuthPlatform, AuthPlatformGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAuthPlatform runs a test to see if a specific instance of AuthPlatform round trips to JSON and back losslessly +func RunJSONSerializationTestForAuthPlatform(subject AuthPlatform) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AuthPlatform + 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 AuthPlatform instances for property testing - lazily instantiated by AuthPlatformGenerator() +var authPlatformGenerator gopter.Gen + +// AuthPlatformGenerator returns a generator of AuthPlatform instances for property testing. +func AuthPlatformGenerator() gopter.Gen { + if authPlatformGenerator != nil { + return authPlatformGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAuthPlatform(generators) + authPlatformGenerator = gen.Struct(reflect.TypeOf(AuthPlatform{}), generators) + + return authPlatformGenerator +} + +// AddIndependentPropertyGeneratorsForAuthPlatform is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAuthPlatform(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["RuntimeVersion"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_AuthPlatform_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 AuthPlatform_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAuthPlatform_STATUS, AuthPlatform_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAuthPlatform_STATUS runs a test to see if a specific instance of AuthPlatform_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAuthPlatform_STATUS(subject AuthPlatform_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AuthPlatform_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 AuthPlatform_STATUS instances for property testing - lazily instantiated by +// AuthPlatform_STATUSGenerator() +var authPlatform_STATUSGenerator gopter.Gen + +// AuthPlatform_STATUSGenerator returns a generator of AuthPlatform_STATUS instances for property testing. +func AuthPlatform_STATUSGenerator() gopter.Gen { + if authPlatform_STATUSGenerator != nil { + return authPlatform_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAuthPlatform_STATUS(generators) + authPlatform_STATUSGenerator = gen.Struct(reflect.TypeOf(AuthPlatform_STATUS{}), generators) + + return authPlatform_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAuthPlatform_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAuthPlatform_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["RuntimeVersion"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_AzureActiveDirectory_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 AzureActiveDirectory via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureActiveDirectory, AzureActiveDirectoryGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureActiveDirectory runs a test to see if a specific instance of AzureActiveDirectory round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureActiveDirectory(subject AzureActiveDirectory) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureActiveDirectory + 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 AzureActiveDirectory instances for property testing - lazily instantiated by +// AzureActiveDirectoryGenerator() +var azureActiveDirectoryGenerator gopter.Gen + +// AzureActiveDirectoryGenerator returns a generator of AzureActiveDirectory instances for property testing. +// We first initialize azureActiveDirectoryGenerator 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 AzureActiveDirectoryGenerator() gopter.Gen { + if azureActiveDirectoryGenerator != nil { + return azureActiveDirectoryGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectory(generators) + azureActiveDirectoryGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectory{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectory(generators) + AddRelatedPropertyGeneratorsForAzureActiveDirectory(generators) + azureActiveDirectoryGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectory{}), generators) + + return azureActiveDirectoryGenerator +} + +// AddIndependentPropertyGeneratorsForAzureActiveDirectory is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureActiveDirectory(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["IsAutoProvisioned"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForAzureActiveDirectory is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAzureActiveDirectory(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(AzureActiveDirectoryLoginGenerator()) + gens["Registration"] = gen.PtrOf(AzureActiveDirectoryRegistrationGenerator()) + gens["Validation"] = gen.PtrOf(AzureActiveDirectoryValidationGenerator()) +} + +func Test_AzureActiveDirectoryLogin_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 AzureActiveDirectoryLogin via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureActiveDirectoryLogin, AzureActiveDirectoryLoginGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureActiveDirectoryLogin runs a test to see if a specific instance of AzureActiveDirectoryLogin round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureActiveDirectoryLogin(subject AzureActiveDirectoryLogin) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureActiveDirectoryLogin + 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 AzureActiveDirectoryLogin instances for property testing - lazily instantiated by +// AzureActiveDirectoryLoginGenerator() +var azureActiveDirectoryLoginGenerator gopter.Gen + +// AzureActiveDirectoryLoginGenerator returns a generator of AzureActiveDirectoryLogin instances for property testing. +func AzureActiveDirectoryLoginGenerator() gopter.Gen { + if azureActiveDirectoryLoginGenerator != nil { + return azureActiveDirectoryLoginGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectoryLogin(generators) + azureActiveDirectoryLoginGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectoryLogin{}), generators) + + return azureActiveDirectoryLoginGenerator +} + +// AddIndependentPropertyGeneratorsForAzureActiveDirectoryLogin is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureActiveDirectoryLogin(gens map[string]gopter.Gen) { + gens["DisableWWWAuthenticate"] = gen.PtrOf(gen.Bool()) + gens["LoginParameters"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_AzureActiveDirectoryLogin_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 AzureActiveDirectoryLogin_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureActiveDirectoryLogin_STATUS, AzureActiveDirectoryLogin_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureActiveDirectoryLogin_STATUS runs a test to see if a specific instance of AzureActiveDirectoryLogin_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureActiveDirectoryLogin_STATUS(subject AzureActiveDirectoryLogin_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureActiveDirectoryLogin_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 AzureActiveDirectoryLogin_STATUS instances for property testing - lazily instantiated by +// AzureActiveDirectoryLogin_STATUSGenerator() +var azureActiveDirectoryLogin_STATUSGenerator gopter.Gen + +// AzureActiveDirectoryLogin_STATUSGenerator returns a generator of AzureActiveDirectoryLogin_STATUS instances for property testing. +func AzureActiveDirectoryLogin_STATUSGenerator() gopter.Gen { + if azureActiveDirectoryLogin_STATUSGenerator != nil { + return azureActiveDirectoryLogin_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectoryLogin_STATUS(generators) + azureActiveDirectoryLogin_STATUSGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectoryLogin_STATUS{}), generators) + + return azureActiveDirectoryLogin_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAzureActiveDirectoryLogin_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureActiveDirectoryLogin_STATUS(gens map[string]gopter.Gen) { + gens["DisableWWWAuthenticate"] = gen.PtrOf(gen.Bool()) + gens["LoginParameters"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_AzureActiveDirectoryRegistration_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 AzureActiveDirectoryRegistration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureActiveDirectoryRegistration, AzureActiveDirectoryRegistrationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureActiveDirectoryRegistration runs a test to see if a specific instance of AzureActiveDirectoryRegistration round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureActiveDirectoryRegistration(subject AzureActiveDirectoryRegistration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureActiveDirectoryRegistration + 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 AzureActiveDirectoryRegistration instances for property testing - lazily instantiated by +// AzureActiveDirectoryRegistrationGenerator() +var azureActiveDirectoryRegistrationGenerator gopter.Gen + +// AzureActiveDirectoryRegistrationGenerator returns a generator of AzureActiveDirectoryRegistration instances for property testing. +func AzureActiveDirectoryRegistrationGenerator() gopter.Gen { + if azureActiveDirectoryRegistrationGenerator != nil { + return azureActiveDirectoryRegistrationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectoryRegistration(generators) + azureActiveDirectoryRegistrationGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectoryRegistration{}), generators) + + return azureActiveDirectoryRegistrationGenerator +} + +// AddIndependentPropertyGeneratorsForAzureActiveDirectoryRegistration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureActiveDirectoryRegistration(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretCertificateIssuer"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretCertificateSubjectAlternativeName"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretCertificateThumbprint"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretSettingName"] = gen.PtrOf(gen.AlphaString()) + gens["OpenIdIssuer"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_AzureActiveDirectoryRegistration_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 AzureActiveDirectoryRegistration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureActiveDirectoryRegistration_STATUS, AzureActiveDirectoryRegistration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureActiveDirectoryRegistration_STATUS runs a test to see if a specific instance of AzureActiveDirectoryRegistration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureActiveDirectoryRegistration_STATUS(subject AzureActiveDirectoryRegistration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureActiveDirectoryRegistration_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 AzureActiveDirectoryRegistration_STATUS instances for property testing - lazily instantiated by +// AzureActiveDirectoryRegistration_STATUSGenerator() +var azureActiveDirectoryRegistration_STATUSGenerator gopter.Gen + +// AzureActiveDirectoryRegistration_STATUSGenerator returns a generator of AzureActiveDirectoryRegistration_STATUS instances for property testing. +func AzureActiveDirectoryRegistration_STATUSGenerator() gopter.Gen { + if azureActiveDirectoryRegistration_STATUSGenerator != nil { + return azureActiveDirectoryRegistration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectoryRegistration_STATUS(generators) + azureActiveDirectoryRegistration_STATUSGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectoryRegistration_STATUS{}), generators) + + return azureActiveDirectoryRegistration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAzureActiveDirectoryRegistration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureActiveDirectoryRegistration_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretCertificateIssuer"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretCertificateSubjectAlternativeName"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretCertificateThumbprint"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretSettingName"] = gen.PtrOf(gen.AlphaString()) + gens["OpenIdIssuer"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_AzureActiveDirectoryValidation_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 AzureActiveDirectoryValidation via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureActiveDirectoryValidation, AzureActiveDirectoryValidationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureActiveDirectoryValidation runs a test to see if a specific instance of AzureActiveDirectoryValidation round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureActiveDirectoryValidation(subject AzureActiveDirectoryValidation) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureActiveDirectoryValidation + 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 AzureActiveDirectoryValidation instances for property testing - lazily instantiated by +// AzureActiveDirectoryValidationGenerator() +var azureActiveDirectoryValidationGenerator gopter.Gen + +// AzureActiveDirectoryValidationGenerator returns a generator of AzureActiveDirectoryValidation instances for property testing. +// We first initialize azureActiveDirectoryValidationGenerator 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 AzureActiveDirectoryValidationGenerator() gopter.Gen { + if azureActiveDirectoryValidationGenerator != nil { + return azureActiveDirectoryValidationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectoryValidation(generators) + azureActiveDirectoryValidationGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectoryValidation{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectoryValidation(generators) + AddRelatedPropertyGeneratorsForAzureActiveDirectoryValidation(generators) + azureActiveDirectoryValidationGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectoryValidation{}), generators) + + return azureActiveDirectoryValidationGenerator +} + +// AddIndependentPropertyGeneratorsForAzureActiveDirectoryValidation is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureActiveDirectoryValidation(gens map[string]gopter.Gen) { + gens["AllowedAudiences"] = gen.SliceOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForAzureActiveDirectoryValidation is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAzureActiveDirectoryValidation(gens map[string]gopter.Gen) { + gens["DefaultAuthorizationPolicy"] = gen.PtrOf(DefaultAuthorizationPolicyGenerator()) + gens["JwtClaimChecks"] = gen.PtrOf(JwtClaimChecksGenerator()) +} + +func Test_AzureActiveDirectoryValidation_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 AzureActiveDirectoryValidation_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureActiveDirectoryValidation_STATUS, AzureActiveDirectoryValidation_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureActiveDirectoryValidation_STATUS runs a test to see if a specific instance of AzureActiveDirectoryValidation_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureActiveDirectoryValidation_STATUS(subject AzureActiveDirectoryValidation_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureActiveDirectoryValidation_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 AzureActiveDirectoryValidation_STATUS instances for property testing - lazily instantiated by +// AzureActiveDirectoryValidation_STATUSGenerator() +var azureActiveDirectoryValidation_STATUSGenerator gopter.Gen + +// AzureActiveDirectoryValidation_STATUSGenerator returns a generator of AzureActiveDirectoryValidation_STATUS instances for property testing. +// We first initialize azureActiveDirectoryValidation_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 AzureActiveDirectoryValidation_STATUSGenerator() gopter.Gen { + if azureActiveDirectoryValidation_STATUSGenerator != nil { + return azureActiveDirectoryValidation_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectoryValidation_STATUS(generators) + azureActiveDirectoryValidation_STATUSGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectoryValidation_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectoryValidation_STATUS(generators) + AddRelatedPropertyGeneratorsForAzureActiveDirectoryValidation_STATUS(generators) + azureActiveDirectoryValidation_STATUSGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectoryValidation_STATUS{}), generators) + + return azureActiveDirectoryValidation_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAzureActiveDirectoryValidation_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureActiveDirectoryValidation_STATUS(gens map[string]gopter.Gen) { + gens["AllowedAudiences"] = gen.SliceOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForAzureActiveDirectoryValidation_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAzureActiveDirectoryValidation_STATUS(gens map[string]gopter.Gen) { + gens["DefaultAuthorizationPolicy"] = gen.PtrOf(DefaultAuthorizationPolicy_STATUSGenerator()) + gens["JwtClaimChecks"] = gen.PtrOf(JwtClaimChecks_STATUSGenerator()) +} + +func Test_AzureActiveDirectory_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 AzureActiveDirectory_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureActiveDirectory_STATUS, AzureActiveDirectory_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureActiveDirectory_STATUS runs a test to see if a specific instance of AzureActiveDirectory_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureActiveDirectory_STATUS(subject AzureActiveDirectory_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureActiveDirectory_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 AzureActiveDirectory_STATUS instances for property testing - lazily instantiated by +// AzureActiveDirectory_STATUSGenerator() +var azureActiveDirectory_STATUSGenerator gopter.Gen + +// AzureActiveDirectory_STATUSGenerator returns a generator of AzureActiveDirectory_STATUS instances for property testing. +// We first initialize azureActiveDirectory_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 AzureActiveDirectory_STATUSGenerator() gopter.Gen { + if azureActiveDirectory_STATUSGenerator != nil { + return azureActiveDirectory_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectory_STATUS(generators) + azureActiveDirectory_STATUSGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectory_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureActiveDirectory_STATUS(generators) + AddRelatedPropertyGeneratorsForAzureActiveDirectory_STATUS(generators) + azureActiveDirectory_STATUSGenerator = gen.Struct(reflect.TypeOf(AzureActiveDirectory_STATUS{}), generators) + + return azureActiveDirectory_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAzureActiveDirectory_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureActiveDirectory_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["IsAutoProvisioned"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForAzureActiveDirectory_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAzureActiveDirectory_STATUS(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(AzureActiveDirectoryLogin_STATUSGenerator()) + gens["Registration"] = gen.PtrOf(AzureActiveDirectoryRegistration_STATUSGenerator()) + gens["Validation"] = gen.PtrOf(AzureActiveDirectoryValidation_STATUSGenerator()) +} + +func Test_AzureStaticWebApps_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 AzureStaticWebApps via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureStaticWebApps, AzureStaticWebAppsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureStaticWebApps runs a test to see if a specific instance of AzureStaticWebApps round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureStaticWebApps(subject AzureStaticWebApps) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureStaticWebApps + 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 AzureStaticWebApps instances for property testing - lazily instantiated by AzureStaticWebAppsGenerator() +var azureStaticWebAppsGenerator gopter.Gen + +// AzureStaticWebAppsGenerator returns a generator of AzureStaticWebApps instances for property testing. +// We first initialize azureStaticWebAppsGenerator 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 AzureStaticWebAppsGenerator() gopter.Gen { + if azureStaticWebAppsGenerator != nil { + return azureStaticWebAppsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureStaticWebApps(generators) + azureStaticWebAppsGenerator = gen.Struct(reflect.TypeOf(AzureStaticWebApps{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureStaticWebApps(generators) + AddRelatedPropertyGeneratorsForAzureStaticWebApps(generators) + azureStaticWebAppsGenerator = gen.Struct(reflect.TypeOf(AzureStaticWebApps{}), generators) + + return azureStaticWebAppsGenerator +} + +// AddIndependentPropertyGeneratorsForAzureStaticWebApps is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureStaticWebApps(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForAzureStaticWebApps is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAzureStaticWebApps(gens map[string]gopter.Gen) { + gens["Registration"] = gen.PtrOf(AzureStaticWebAppsRegistrationGenerator()) +} + +func Test_AzureStaticWebAppsRegistration_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 AzureStaticWebAppsRegistration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureStaticWebAppsRegistration, AzureStaticWebAppsRegistrationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureStaticWebAppsRegistration runs a test to see if a specific instance of AzureStaticWebAppsRegistration round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureStaticWebAppsRegistration(subject AzureStaticWebAppsRegistration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureStaticWebAppsRegistration + 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 AzureStaticWebAppsRegistration instances for property testing - lazily instantiated by +// AzureStaticWebAppsRegistrationGenerator() +var azureStaticWebAppsRegistrationGenerator gopter.Gen + +// AzureStaticWebAppsRegistrationGenerator returns a generator of AzureStaticWebAppsRegistration instances for property testing. +func AzureStaticWebAppsRegistrationGenerator() gopter.Gen { + if azureStaticWebAppsRegistrationGenerator != nil { + return azureStaticWebAppsRegistrationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureStaticWebAppsRegistration(generators) + azureStaticWebAppsRegistrationGenerator = gen.Struct(reflect.TypeOf(AzureStaticWebAppsRegistration{}), generators) + + return azureStaticWebAppsRegistrationGenerator +} + +// AddIndependentPropertyGeneratorsForAzureStaticWebAppsRegistration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureStaticWebAppsRegistration(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_AzureStaticWebAppsRegistration_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 AzureStaticWebAppsRegistration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureStaticWebAppsRegistration_STATUS, AzureStaticWebAppsRegistration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureStaticWebAppsRegistration_STATUS runs a test to see if a specific instance of AzureStaticWebAppsRegistration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureStaticWebAppsRegistration_STATUS(subject AzureStaticWebAppsRegistration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureStaticWebAppsRegistration_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 AzureStaticWebAppsRegistration_STATUS instances for property testing - lazily instantiated by +// AzureStaticWebAppsRegistration_STATUSGenerator() +var azureStaticWebAppsRegistration_STATUSGenerator gopter.Gen + +// AzureStaticWebAppsRegistration_STATUSGenerator returns a generator of AzureStaticWebAppsRegistration_STATUS instances for property testing. +func AzureStaticWebAppsRegistration_STATUSGenerator() gopter.Gen { + if azureStaticWebAppsRegistration_STATUSGenerator != nil { + return azureStaticWebAppsRegistration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureStaticWebAppsRegistration_STATUS(generators) + azureStaticWebAppsRegistration_STATUSGenerator = gen.Struct(reflect.TypeOf(AzureStaticWebAppsRegistration_STATUS{}), generators) + + return azureStaticWebAppsRegistration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAzureStaticWebAppsRegistration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureStaticWebAppsRegistration_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_AzureStaticWebApps_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 AzureStaticWebApps_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureStaticWebApps_STATUS, AzureStaticWebApps_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureStaticWebApps_STATUS runs a test to see if a specific instance of AzureStaticWebApps_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureStaticWebApps_STATUS(subject AzureStaticWebApps_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureStaticWebApps_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 AzureStaticWebApps_STATUS instances for property testing - lazily instantiated by +// AzureStaticWebApps_STATUSGenerator() +var azureStaticWebApps_STATUSGenerator gopter.Gen + +// AzureStaticWebApps_STATUSGenerator returns a generator of AzureStaticWebApps_STATUS instances for property testing. +// We first initialize azureStaticWebApps_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 AzureStaticWebApps_STATUSGenerator() gopter.Gen { + if azureStaticWebApps_STATUSGenerator != nil { + return azureStaticWebApps_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureStaticWebApps_STATUS(generators) + azureStaticWebApps_STATUSGenerator = gen.Struct(reflect.TypeOf(AzureStaticWebApps_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureStaticWebApps_STATUS(generators) + AddRelatedPropertyGeneratorsForAzureStaticWebApps_STATUS(generators) + azureStaticWebApps_STATUSGenerator = gen.Struct(reflect.TypeOf(AzureStaticWebApps_STATUS{}), generators) + + return azureStaticWebApps_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAzureStaticWebApps_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureStaticWebApps_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForAzureStaticWebApps_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAzureStaticWebApps_STATUS(gens map[string]gopter.Gen) { + gens["Registration"] = gen.PtrOf(AzureStaticWebAppsRegistration_STATUSGenerator()) +} + +func Test_BlobStorageTokenStore_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 BlobStorageTokenStore via JSON returns original", + prop.ForAll(RunJSONSerializationTestForBlobStorageTokenStore, BlobStorageTokenStoreGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForBlobStorageTokenStore runs a test to see if a specific instance of BlobStorageTokenStore round trips to JSON and back losslessly +func RunJSONSerializationTestForBlobStorageTokenStore(subject BlobStorageTokenStore) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual BlobStorageTokenStore + 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 BlobStorageTokenStore instances for property testing - lazily instantiated by +// BlobStorageTokenStoreGenerator() +var blobStorageTokenStoreGenerator gopter.Gen + +// BlobStorageTokenStoreGenerator returns a generator of BlobStorageTokenStore instances for property testing. +func BlobStorageTokenStoreGenerator() gopter.Gen { + if blobStorageTokenStoreGenerator != nil { + return blobStorageTokenStoreGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForBlobStorageTokenStore(generators) + blobStorageTokenStoreGenerator = gen.Struct(reflect.TypeOf(BlobStorageTokenStore{}), generators) + + return blobStorageTokenStoreGenerator +} + +// AddIndependentPropertyGeneratorsForBlobStorageTokenStore is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForBlobStorageTokenStore(gens map[string]gopter.Gen) { + gens["SasUrlSettingName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_BlobStorageTokenStore_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 BlobStorageTokenStore_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForBlobStorageTokenStore_STATUS, BlobStorageTokenStore_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForBlobStorageTokenStore_STATUS runs a test to see if a specific instance of BlobStorageTokenStore_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForBlobStorageTokenStore_STATUS(subject BlobStorageTokenStore_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual BlobStorageTokenStore_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 BlobStorageTokenStore_STATUS instances for property testing - lazily instantiated by +// BlobStorageTokenStore_STATUSGenerator() +var blobStorageTokenStore_STATUSGenerator gopter.Gen + +// BlobStorageTokenStore_STATUSGenerator returns a generator of BlobStorageTokenStore_STATUS instances for property testing. +func BlobStorageTokenStore_STATUSGenerator() gopter.Gen { + if blobStorageTokenStore_STATUSGenerator != nil { + return blobStorageTokenStore_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForBlobStorageTokenStore_STATUS(generators) + blobStorageTokenStore_STATUSGenerator = gen.Struct(reflect.TypeOf(BlobStorageTokenStore_STATUS{}), generators) + + return blobStorageTokenStore_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForBlobStorageTokenStore_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForBlobStorageTokenStore_STATUS(gens map[string]gopter.Gen) { + gens["SasUrlSettingName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ClientRegistration_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 ClientRegistration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForClientRegistration, ClientRegistrationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForClientRegistration runs a test to see if a specific instance of ClientRegistration round trips to JSON and back losslessly +func RunJSONSerializationTestForClientRegistration(subject ClientRegistration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ClientRegistration + 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 ClientRegistration instances for property testing - lazily instantiated by ClientRegistrationGenerator() +var clientRegistrationGenerator gopter.Gen + +// ClientRegistrationGenerator returns a generator of ClientRegistration instances for property testing. +func ClientRegistrationGenerator() gopter.Gen { + if clientRegistrationGenerator != nil { + return clientRegistrationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForClientRegistration(generators) + clientRegistrationGenerator = gen.Struct(reflect.TypeOf(ClientRegistration{}), generators) + + return clientRegistrationGenerator +} + +// AddIndependentPropertyGeneratorsForClientRegistration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForClientRegistration(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretSettingName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ClientRegistration_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 ClientRegistration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForClientRegistration_STATUS, ClientRegistration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForClientRegistration_STATUS runs a test to see if a specific instance of ClientRegistration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForClientRegistration_STATUS(subject ClientRegistration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ClientRegistration_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 ClientRegistration_STATUS instances for property testing - lazily instantiated by +// ClientRegistration_STATUSGenerator() +var clientRegistration_STATUSGenerator gopter.Gen + +// ClientRegistration_STATUSGenerator returns a generator of ClientRegistration_STATUS instances for property testing. +func ClientRegistration_STATUSGenerator() gopter.Gen { + if clientRegistration_STATUSGenerator != nil { + return clientRegistration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForClientRegistration_STATUS(generators) + clientRegistration_STATUSGenerator = gen.Struct(reflect.TypeOf(ClientRegistration_STATUS{}), generators) + + return clientRegistration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForClientRegistration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForClientRegistration_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["ClientSecretSettingName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_CookieExpiration_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 CookieExpiration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCookieExpiration, CookieExpirationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCookieExpiration runs a test to see if a specific instance of CookieExpiration round trips to JSON and back losslessly +func RunJSONSerializationTestForCookieExpiration(subject CookieExpiration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CookieExpiration + 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 CookieExpiration instances for property testing - lazily instantiated by CookieExpirationGenerator() +var cookieExpirationGenerator gopter.Gen + +// CookieExpirationGenerator returns a generator of CookieExpiration instances for property testing. +func CookieExpirationGenerator() gopter.Gen { + if cookieExpirationGenerator != nil { + return cookieExpirationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCookieExpiration(generators) + cookieExpirationGenerator = gen.Struct(reflect.TypeOf(CookieExpiration{}), generators) + + return cookieExpirationGenerator +} + +// AddIndependentPropertyGeneratorsForCookieExpiration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCookieExpiration(gens map[string]gopter.Gen) { + gens["Convention"] = gen.PtrOf(gen.AlphaString()) + gens["TimeToExpiration"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_CookieExpiration_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 CookieExpiration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCookieExpiration_STATUS, CookieExpiration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCookieExpiration_STATUS runs a test to see if a specific instance of CookieExpiration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForCookieExpiration_STATUS(subject CookieExpiration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CookieExpiration_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 CookieExpiration_STATUS instances for property testing - lazily instantiated by +// CookieExpiration_STATUSGenerator() +var cookieExpiration_STATUSGenerator gopter.Gen + +// CookieExpiration_STATUSGenerator returns a generator of CookieExpiration_STATUS instances for property testing. +func CookieExpiration_STATUSGenerator() gopter.Gen { + if cookieExpiration_STATUSGenerator != nil { + return cookieExpiration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCookieExpiration_STATUS(generators) + cookieExpiration_STATUSGenerator = gen.Struct(reflect.TypeOf(CookieExpiration_STATUS{}), generators) + + return cookieExpiration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForCookieExpiration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCookieExpiration_STATUS(gens map[string]gopter.Gen) { + gens["Convention"] = gen.PtrOf(gen.AlphaString()) + gens["TimeToExpiration"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_CustomOpenIdConnectProvider_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 CustomOpenIdConnectProvider via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCustomOpenIdConnectProvider, CustomOpenIdConnectProviderGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCustomOpenIdConnectProvider runs a test to see if a specific instance of CustomOpenIdConnectProvider round trips to JSON and back losslessly +func RunJSONSerializationTestForCustomOpenIdConnectProvider(subject CustomOpenIdConnectProvider) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CustomOpenIdConnectProvider + 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 CustomOpenIdConnectProvider instances for property testing - lazily instantiated by +// CustomOpenIdConnectProviderGenerator() +var customOpenIdConnectProviderGenerator gopter.Gen + +// CustomOpenIdConnectProviderGenerator returns a generator of CustomOpenIdConnectProvider instances for property testing. +// We first initialize customOpenIdConnectProviderGenerator 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 CustomOpenIdConnectProviderGenerator() gopter.Gen { + if customOpenIdConnectProviderGenerator != nil { + return customOpenIdConnectProviderGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomOpenIdConnectProvider(generators) + customOpenIdConnectProviderGenerator = gen.Struct(reflect.TypeOf(CustomOpenIdConnectProvider{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomOpenIdConnectProvider(generators) + AddRelatedPropertyGeneratorsForCustomOpenIdConnectProvider(generators) + customOpenIdConnectProviderGenerator = gen.Struct(reflect.TypeOf(CustomOpenIdConnectProvider{}), generators) + + return customOpenIdConnectProviderGenerator +} + +// AddIndependentPropertyGeneratorsForCustomOpenIdConnectProvider is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCustomOpenIdConnectProvider(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForCustomOpenIdConnectProvider is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForCustomOpenIdConnectProvider(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(OpenIdConnectLoginGenerator()) + gens["Registration"] = gen.PtrOf(OpenIdConnectRegistrationGenerator()) +} + +func Test_CustomOpenIdConnectProvider_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 CustomOpenIdConnectProvider_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCustomOpenIdConnectProvider_STATUS, CustomOpenIdConnectProvider_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCustomOpenIdConnectProvider_STATUS runs a test to see if a specific instance of CustomOpenIdConnectProvider_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForCustomOpenIdConnectProvider_STATUS(subject CustomOpenIdConnectProvider_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CustomOpenIdConnectProvider_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 CustomOpenIdConnectProvider_STATUS instances for property testing - lazily instantiated by +// CustomOpenIdConnectProvider_STATUSGenerator() +var customOpenIdConnectProvider_STATUSGenerator gopter.Gen + +// CustomOpenIdConnectProvider_STATUSGenerator returns a generator of CustomOpenIdConnectProvider_STATUS instances for property testing. +// We first initialize customOpenIdConnectProvider_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 CustomOpenIdConnectProvider_STATUSGenerator() gopter.Gen { + if customOpenIdConnectProvider_STATUSGenerator != nil { + return customOpenIdConnectProvider_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomOpenIdConnectProvider_STATUS(generators) + customOpenIdConnectProvider_STATUSGenerator = gen.Struct(reflect.TypeOf(CustomOpenIdConnectProvider_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomOpenIdConnectProvider_STATUS(generators) + AddRelatedPropertyGeneratorsForCustomOpenIdConnectProvider_STATUS(generators) + customOpenIdConnectProvider_STATUSGenerator = gen.Struct(reflect.TypeOf(CustomOpenIdConnectProvider_STATUS{}), generators) + + return customOpenIdConnectProvider_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForCustomOpenIdConnectProvider_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCustomOpenIdConnectProvider_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForCustomOpenIdConnectProvider_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForCustomOpenIdConnectProvider_STATUS(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(OpenIdConnectLogin_STATUSGenerator()) + gens["Registration"] = gen.PtrOf(OpenIdConnectRegistration_STATUSGenerator()) +} + +func Test_DefaultAuthorizationPolicy_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 DefaultAuthorizationPolicy via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDefaultAuthorizationPolicy, DefaultAuthorizationPolicyGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDefaultAuthorizationPolicy runs a test to see if a specific instance of DefaultAuthorizationPolicy round trips to JSON and back losslessly +func RunJSONSerializationTestForDefaultAuthorizationPolicy(subject DefaultAuthorizationPolicy) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DefaultAuthorizationPolicy + 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 DefaultAuthorizationPolicy instances for property testing - lazily instantiated by +// DefaultAuthorizationPolicyGenerator() +var defaultAuthorizationPolicyGenerator gopter.Gen + +// DefaultAuthorizationPolicyGenerator returns a generator of DefaultAuthorizationPolicy instances for property testing. +// We first initialize defaultAuthorizationPolicyGenerator 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 DefaultAuthorizationPolicyGenerator() gopter.Gen { + if defaultAuthorizationPolicyGenerator != nil { + return defaultAuthorizationPolicyGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDefaultAuthorizationPolicy(generators) + defaultAuthorizationPolicyGenerator = gen.Struct(reflect.TypeOf(DefaultAuthorizationPolicy{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDefaultAuthorizationPolicy(generators) + AddRelatedPropertyGeneratorsForDefaultAuthorizationPolicy(generators) + defaultAuthorizationPolicyGenerator = gen.Struct(reflect.TypeOf(DefaultAuthorizationPolicy{}), generators) + + return defaultAuthorizationPolicyGenerator +} + +// AddIndependentPropertyGeneratorsForDefaultAuthorizationPolicy is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDefaultAuthorizationPolicy(gens map[string]gopter.Gen) { + gens["AllowedApplications"] = gen.SliceOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForDefaultAuthorizationPolicy is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForDefaultAuthorizationPolicy(gens map[string]gopter.Gen) { + gens["AllowedPrincipals"] = gen.PtrOf(AllowedPrincipalsGenerator()) +} + +func Test_DefaultAuthorizationPolicy_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 DefaultAuthorizationPolicy_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDefaultAuthorizationPolicy_STATUS, DefaultAuthorizationPolicy_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDefaultAuthorizationPolicy_STATUS runs a test to see if a specific instance of DefaultAuthorizationPolicy_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForDefaultAuthorizationPolicy_STATUS(subject DefaultAuthorizationPolicy_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DefaultAuthorizationPolicy_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 DefaultAuthorizationPolicy_STATUS instances for property testing - lazily instantiated by +// DefaultAuthorizationPolicy_STATUSGenerator() +var defaultAuthorizationPolicy_STATUSGenerator gopter.Gen + +// DefaultAuthorizationPolicy_STATUSGenerator returns a generator of DefaultAuthorizationPolicy_STATUS instances for property testing. +// We first initialize defaultAuthorizationPolicy_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 DefaultAuthorizationPolicy_STATUSGenerator() gopter.Gen { + if defaultAuthorizationPolicy_STATUSGenerator != nil { + return defaultAuthorizationPolicy_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDefaultAuthorizationPolicy_STATUS(generators) + defaultAuthorizationPolicy_STATUSGenerator = gen.Struct(reflect.TypeOf(DefaultAuthorizationPolicy_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDefaultAuthorizationPolicy_STATUS(generators) + AddRelatedPropertyGeneratorsForDefaultAuthorizationPolicy_STATUS(generators) + defaultAuthorizationPolicy_STATUSGenerator = gen.Struct(reflect.TypeOf(DefaultAuthorizationPolicy_STATUS{}), generators) + + return defaultAuthorizationPolicy_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForDefaultAuthorizationPolicy_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDefaultAuthorizationPolicy_STATUS(gens map[string]gopter.Gen) { + gens["AllowedApplications"] = gen.SliceOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForDefaultAuthorizationPolicy_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForDefaultAuthorizationPolicy_STATUS(gens map[string]gopter.Gen) { + gens["AllowedPrincipals"] = gen.PtrOf(AllowedPrincipals_STATUSGenerator()) +} + +func Test_EncryptionSettings_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 EncryptionSettings via JSON returns original", + prop.ForAll(RunJSONSerializationTestForEncryptionSettings, EncryptionSettingsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForEncryptionSettings runs a test to see if a specific instance of EncryptionSettings round trips to JSON and back losslessly +func RunJSONSerializationTestForEncryptionSettings(subject EncryptionSettings) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual EncryptionSettings + 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 EncryptionSettings instances for property testing - lazily instantiated by EncryptionSettingsGenerator() +var encryptionSettingsGenerator gopter.Gen + +// EncryptionSettingsGenerator returns a generator of EncryptionSettings instances for property testing. +func EncryptionSettingsGenerator() gopter.Gen { + if encryptionSettingsGenerator != nil { + return encryptionSettingsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForEncryptionSettings(generators) + encryptionSettingsGenerator = gen.Struct(reflect.TypeOf(EncryptionSettings{}), generators) + + return encryptionSettingsGenerator +} + +// AddIndependentPropertyGeneratorsForEncryptionSettings is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForEncryptionSettings(gens map[string]gopter.Gen) { + gens["ContainerAppAuthEncryptionSecretName"] = gen.PtrOf(gen.AlphaString()) + gens["ContainerAppAuthSigningSecretName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_EncryptionSettings_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 EncryptionSettings_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForEncryptionSettings_STATUS, EncryptionSettings_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForEncryptionSettings_STATUS runs a test to see if a specific instance of EncryptionSettings_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForEncryptionSettings_STATUS(subject EncryptionSettings_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual EncryptionSettings_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 EncryptionSettings_STATUS instances for property testing - lazily instantiated by +// EncryptionSettings_STATUSGenerator() +var encryptionSettings_STATUSGenerator gopter.Gen + +// EncryptionSettings_STATUSGenerator returns a generator of EncryptionSettings_STATUS instances for property testing. +func EncryptionSettings_STATUSGenerator() gopter.Gen { + if encryptionSettings_STATUSGenerator != nil { + return encryptionSettings_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForEncryptionSettings_STATUS(generators) + encryptionSettings_STATUSGenerator = gen.Struct(reflect.TypeOf(EncryptionSettings_STATUS{}), generators) + + return encryptionSettings_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForEncryptionSettings_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForEncryptionSettings_STATUS(gens map[string]gopter.Gen) { + gens["ContainerAppAuthEncryptionSecretName"] = gen.PtrOf(gen.AlphaString()) + gens["ContainerAppAuthSigningSecretName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Facebook_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 Facebook via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFacebook, FacebookGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFacebook runs a test to see if a specific instance of Facebook round trips to JSON and back losslessly +func RunJSONSerializationTestForFacebook(subject Facebook) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Facebook + 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 Facebook instances for property testing - lazily instantiated by FacebookGenerator() +var facebookGenerator gopter.Gen + +// FacebookGenerator returns a generator of Facebook instances for property testing. +// We first initialize facebookGenerator 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 FacebookGenerator() gopter.Gen { + if facebookGenerator != nil { + return facebookGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFacebook(generators) + facebookGenerator = gen.Struct(reflect.TypeOf(Facebook{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFacebook(generators) + AddRelatedPropertyGeneratorsForFacebook(generators) + facebookGenerator = gen.Struct(reflect.TypeOf(Facebook{}), generators) + + return facebookGenerator +} + +// AddIndependentPropertyGeneratorsForFacebook is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFacebook(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["GraphApiVersion"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForFacebook is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFacebook(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(LoginScopesGenerator()) + gens["Registration"] = gen.PtrOf(AppRegistrationGenerator()) +} + +func Test_Facebook_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 Facebook_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFacebook_STATUS, Facebook_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFacebook_STATUS runs a test to see if a specific instance of Facebook_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForFacebook_STATUS(subject Facebook_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Facebook_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 Facebook_STATUS instances for property testing - lazily instantiated by Facebook_STATUSGenerator() +var facebook_STATUSGenerator gopter.Gen + +// Facebook_STATUSGenerator returns a generator of Facebook_STATUS instances for property testing. +// We first initialize facebook_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 Facebook_STATUSGenerator() gopter.Gen { + if facebook_STATUSGenerator != nil { + return facebook_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFacebook_STATUS(generators) + facebook_STATUSGenerator = gen.Struct(reflect.TypeOf(Facebook_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFacebook_STATUS(generators) + AddRelatedPropertyGeneratorsForFacebook_STATUS(generators) + facebook_STATUSGenerator = gen.Struct(reflect.TypeOf(Facebook_STATUS{}), generators) + + return facebook_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForFacebook_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFacebook_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["GraphApiVersion"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForFacebook_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFacebook_STATUS(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(LoginScopes_STATUSGenerator()) + gens["Registration"] = gen.PtrOf(AppRegistration_STATUSGenerator()) +} + +func Test_ForwardProxy_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 ForwardProxy via JSON returns original", + prop.ForAll(RunJSONSerializationTestForForwardProxy, ForwardProxyGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForForwardProxy runs a test to see if a specific instance of ForwardProxy round trips to JSON and back losslessly +func RunJSONSerializationTestForForwardProxy(subject ForwardProxy) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ForwardProxy + 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 ForwardProxy instances for property testing - lazily instantiated by ForwardProxyGenerator() +var forwardProxyGenerator gopter.Gen + +// ForwardProxyGenerator returns a generator of ForwardProxy instances for property testing. +func ForwardProxyGenerator() gopter.Gen { + if forwardProxyGenerator != nil { + return forwardProxyGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForForwardProxy(generators) + forwardProxyGenerator = gen.Struct(reflect.TypeOf(ForwardProxy{}), generators) + + return forwardProxyGenerator +} + +// AddIndependentPropertyGeneratorsForForwardProxy is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForForwardProxy(gens map[string]gopter.Gen) { + gens["Convention"] = gen.PtrOf(gen.AlphaString()) + gens["CustomHostHeaderName"] = gen.PtrOf(gen.AlphaString()) + gens["CustomProtoHeaderName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ForwardProxy_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 ForwardProxy_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForForwardProxy_STATUS, ForwardProxy_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForForwardProxy_STATUS runs a test to see if a specific instance of ForwardProxy_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForForwardProxy_STATUS(subject ForwardProxy_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ForwardProxy_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 ForwardProxy_STATUS instances for property testing - lazily instantiated by +// ForwardProxy_STATUSGenerator() +var forwardProxy_STATUSGenerator gopter.Gen + +// ForwardProxy_STATUSGenerator returns a generator of ForwardProxy_STATUS instances for property testing. +func ForwardProxy_STATUSGenerator() gopter.Gen { + if forwardProxy_STATUSGenerator != nil { + return forwardProxy_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForForwardProxy_STATUS(generators) + forwardProxy_STATUSGenerator = gen.Struct(reflect.TypeOf(ForwardProxy_STATUS{}), generators) + + return forwardProxy_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForForwardProxy_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForForwardProxy_STATUS(gens map[string]gopter.Gen) { + gens["Convention"] = gen.PtrOf(gen.AlphaString()) + gens["CustomHostHeaderName"] = gen.PtrOf(gen.AlphaString()) + gens["CustomProtoHeaderName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_GitHub_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 GitHub via JSON returns original", + prop.ForAll(RunJSONSerializationTestForGitHub, GitHubGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForGitHub runs a test to see if a specific instance of GitHub round trips to JSON and back losslessly +func RunJSONSerializationTestForGitHub(subject GitHub) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual GitHub + 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 GitHub instances for property testing - lazily instantiated by GitHubGenerator() +var gitHubGenerator gopter.Gen + +// GitHubGenerator returns a generator of GitHub instances for property testing. +// We first initialize gitHubGenerator 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 GitHubGenerator() gopter.Gen { + if gitHubGenerator != nil { + return gitHubGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGitHub(generators) + gitHubGenerator = gen.Struct(reflect.TypeOf(GitHub{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGitHub(generators) + AddRelatedPropertyGeneratorsForGitHub(generators) + gitHubGenerator = gen.Struct(reflect.TypeOf(GitHub{}), generators) + + return gitHubGenerator +} + +// AddIndependentPropertyGeneratorsForGitHub is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForGitHub(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForGitHub is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForGitHub(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(LoginScopesGenerator()) + gens["Registration"] = gen.PtrOf(ClientRegistrationGenerator()) +} + +func Test_GitHub_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 GitHub_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForGitHub_STATUS, GitHub_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForGitHub_STATUS runs a test to see if a specific instance of GitHub_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForGitHub_STATUS(subject GitHub_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual GitHub_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 GitHub_STATUS instances for property testing - lazily instantiated by GitHub_STATUSGenerator() +var gitHub_STATUSGenerator gopter.Gen + +// GitHub_STATUSGenerator returns a generator of GitHub_STATUS instances for property testing. +// We first initialize gitHub_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 GitHub_STATUSGenerator() gopter.Gen { + if gitHub_STATUSGenerator != nil { + return gitHub_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGitHub_STATUS(generators) + gitHub_STATUSGenerator = gen.Struct(reflect.TypeOf(GitHub_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGitHub_STATUS(generators) + AddRelatedPropertyGeneratorsForGitHub_STATUS(generators) + gitHub_STATUSGenerator = gen.Struct(reflect.TypeOf(GitHub_STATUS{}), generators) + + return gitHub_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForGitHub_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForGitHub_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForGitHub_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForGitHub_STATUS(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(LoginScopes_STATUSGenerator()) + gens["Registration"] = gen.PtrOf(ClientRegistration_STATUSGenerator()) +} + +func Test_GlobalValidation_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 GlobalValidation via JSON returns original", + prop.ForAll(RunJSONSerializationTestForGlobalValidation, GlobalValidationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForGlobalValidation runs a test to see if a specific instance of GlobalValidation round trips to JSON and back losslessly +func RunJSONSerializationTestForGlobalValidation(subject GlobalValidation) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual GlobalValidation + 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 GlobalValidation instances for property testing - lazily instantiated by GlobalValidationGenerator() +var globalValidationGenerator gopter.Gen + +// GlobalValidationGenerator returns a generator of GlobalValidation instances for property testing. +func GlobalValidationGenerator() gopter.Gen { + if globalValidationGenerator != nil { + return globalValidationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGlobalValidation(generators) + globalValidationGenerator = gen.Struct(reflect.TypeOf(GlobalValidation{}), generators) + + return globalValidationGenerator +} + +// AddIndependentPropertyGeneratorsForGlobalValidation is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForGlobalValidation(gens map[string]gopter.Gen) { + gens["ExcludedPaths"] = gen.SliceOf(gen.AlphaString()) + gens["RedirectToProvider"] = gen.PtrOf(gen.AlphaString()) + gens["UnauthenticatedClientAction"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_GlobalValidation_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 GlobalValidation_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForGlobalValidation_STATUS, GlobalValidation_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForGlobalValidation_STATUS runs a test to see if a specific instance of GlobalValidation_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForGlobalValidation_STATUS(subject GlobalValidation_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual GlobalValidation_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 GlobalValidation_STATUS instances for property testing - lazily instantiated by +// GlobalValidation_STATUSGenerator() +var globalValidation_STATUSGenerator gopter.Gen + +// GlobalValidation_STATUSGenerator returns a generator of GlobalValidation_STATUS instances for property testing. +func GlobalValidation_STATUSGenerator() gopter.Gen { + if globalValidation_STATUSGenerator != nil { + return globalValidation_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGlobalValidation_STATUS(generators) + globalValidation_STATUSGenerator = gen.Struct(reflect.TypeOf(GlobalValidation_STATUS{}), generators) + + return globalValidation_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForGlobalValidation_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForGlobalValidation_STATUS(gens map[string]gopter.Gen) { + gens["ExcludedPaths"] = gen.SliceOf(gen.AlphaString()) + gens["RedirectToProvider"] = gen.PtrOf(gen.AlphaString()) + gens["UnauthenticatedClientAction"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Google_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 Google via JSON returns original", + prop.ForAll(RunJSONSerializationTestForGoogle, GoogleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForGoogle runs a test to see if a specific instance of Google round trips to JSON and back losslessly +func RunJSONSerializationTestForGoogle(subject Google) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Google + 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 Google instances for property testing - lazily instantiated by GoogleGenerator() +var googleGenerator gopter.Gen + +// GoogleGenerator returns a generator of Google instances for property testing. +// We first initialize googleGenerator 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 GoogleGenerator() gopter.Gen { + if googleGenerator != nil { + return googleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGoogle(generators) + googleGenerator = gen.Struct(reflect.TypeOf(Google{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGoogle(generators) + AddRelatedPropertyGeneratorsForGoogle(generators) + googleGenerator = gen.Struct(reflect.TypeOf(Google{}), generators) + + return googleGenerator +} + +// AddIndependentPropertyGeneratorsForGoogle is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForGoogle(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForGoogle is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForGoogle(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(LoginScopesGenerator()) + gens["Registration"] = gen.PtrOf(ClientRegistrationGenerator()) + gens["Validation"] = gen.PtrOf(AllowedAudiencesValidationGenerator()) +} + +func Test_Google_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 Google_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForGoogle_STATUS, Google_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForGoogle_STATUS runs a test to see if a specific instance of Google_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForGoogle_STATUS(subject Google_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Google_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 Google_STATUS instances for property testing - lazily instantiated by Google_STATUSGenerator() +var google_STATUSGenerator gopter.Gen + +// Google_STATUSGenerator returns a generator of Google_STATUS instances for property testing. +// We first initialize google_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 Google_STATUSGenerator() gopter.Gen { + if google_STATUSGenerator != nil { + return google_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGoogle_STATUS(generators) + google_STATUSGenerator = gen.Struct(reflect.TypeOf(Google_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForGoogle_STATUS(generators) + AddRelatedPropertyGeneratorsForGoogle_STATUS(generators) + google_STATUSGenerator = gen.Struct(reflect.TypeOf(Google_STATUS{}), generators) + + return google_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForGoogle_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForGoogle_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForGoogle_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForGoogle_STATUS(gens map[string]gopter.Gen) { + gens["Login"] = gen.PtrOf(LoginScopes_STATUSGenerator()) + gens["Registration"] = gen.PtrOf(ClientRegistration_STATUSGenerator()) + gens["Validation"] = gen.PtrOf(AllowedAudiencesValidation_STATUSGenerator()) +} + +func Test_HttpSettings_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 HttpSettings via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHttpSettings, HttpSettingsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHttpSettings runs a test to see if a specific instance of HttpSettings round trips to JSON and back losslessly +func RunJSONSerializationTestForHttpSettings(subject HttpSettings) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HttpSettings + 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 HttpSettings instances for property testing - lazily instantiated by HttpSettingsGenerator() +var httpSettingsGenerator gopter.Gen + +// HttpSettingsGenerator returns a generator of HttpSettings instances for property testing. +// We first initialize httpSettingsGenerator 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 HttpSettingsGenerator() gopter.Gen { + if httpSettingsGenerator != nil { + return httpSettingsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHttpSettings(generators) + httpSettingsGenerator = gen.Struct(reflect.TypeOf(HttpSettings{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHttpSettings(generators) + AddRelatedPropertyGeneratorsForHttpSettings(generators) + httpSettingsGenerator = gen.Struct(reflect.TypeOf(HttpSettings{}), generators) + + return httpSettingsGenerator +} + +// AddIndependentPropertyGeneratorsForHttpSettings is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHttpSettings(gens map[string]gopter.Gen) { + gens["RequireHttps"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForHttpSettings is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHttpSettings(gens map[string]gopter.Gen) { + gens["ForwardProxy"] = gen.PtrOf(ForwardProxyGenerator()) + gens["Routes"] = gen.PtrOf(HttpSettingsRoutesGenerator()) +} + +func Test_HttpSettingsRoutes_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 HttpSettingsRoutes via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHttpSettingsRoutes, HttpSettingsRoutesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHttpSettingsRoutes runs a test to see if a specific instance of HttpSettingsRoutes round trips to JSON and back losslessly +func RunJSONSerializationTestForHttpSettingsRoutes(subject HttpSettingsRoutes) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HttpSettingsRoutes + 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 HttpSettingsRoutes instances for property testing - lazily instantiated by HttpSettingsRoutesGenerator() +var httpSettingsRoutesGenerator gopter.Gen + +// HttpSettingsRoutesGenerator returns a generator of HttpSettingsRoutes instances for property testing. +func HttpSettingsRoutesGenerator() gopter.Gen { + if httpSettingsRoutesGenerator != nil { + return httpSettingsRoutesGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHttpSettingsRoutes(generators) + httpSettingsRoutesGenerator = gen.Struct(reflect.TypeOf(HttpSettingsRoutes{}), generators) + + return httpSettingsRoutesGenerator +} + +// AddIndependentPropertyGeneratorsForHttpSettingsRoutes is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHttpSettingsRoutes(gens map[string]gopter.Gen) { + gens["ApiPrefix"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_HttpSettingsRoutes_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 HttpSettingsRoutes_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHttpSettingsRoutes_STATUS, HttpSettingsRoutes_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHttpSettingsRoutes_STATUS runs a test to see if a specific instance of HttpSettingsRoutes_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForHttpSettingsRoutes_STATUS(subject HttpSettingsRoutes_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HttpSettingsRoutes_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 HttpSettingsRoutes_STATUS instances for property testing - lazily instantiated by +// HttpSettingsRoutes_STATUSGenerator() +var httpSettingsRoutes_STATUSGenerator gopter.Gen + +// HttpSettingsRoutes_STATUSGenerator returns a generator of HttpSettingsRoutes_STATUS instances for property testing. +func HttpSettingsRoutes_STATUSGenerator() gopter.Gen { + if httpSettingsRoutes_STATUSGenerator != nil { + return httpSettingsRoutes_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHttpSettingsRoutes_STATUS(generators) + httpSettingsRoutes_STATUSGenerator = gen.Struct(reflect.TypeOf(HttpSettingsRoutes_STATUS{}), generators) + + return httpSettingsRoutes_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForHttpSettingsRoutes_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHttpSettingsRoutes_STATUS(gens map[string]gopter.Gen) { + gens["ApiPrefix"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_HttpSettings_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 HttpSettings_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHttpSettings_STATUS, HttpSettings_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHttpSettings_STATUS runs a test to see if a specific instance of HttpSettings_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForHttpSettings_STATUS(subject HttpSettings_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HttpSettings_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 HttpSettings_STATUS instances for property testing - lazily instantiated by +// HttpSettings_STATUSGenerator() +var httpSettings_STATUSGenerator gopter.Gen + +// HttpSettings_STATUSGenerator returns a generator of HttpSettings_STATUS instances for property testing. +// We first initialize httpSettings_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 HttpSettings_STATUSGenerator() gopter.Gen { + if httpSettings_STATUSGenerator != nil { + return httpSettings_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHttpSettings_STATUS(generators) + httpSettings_STATUSGenerator = gen.Struct(reflect.TypeOf(HttpSettings_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHttpSettings_STATUS(generators) + AddRelatedPropertyGeneratorsForHttpSettings_STATUS(generators) + httpSettings_STATUSGenerator = gen.Struct(reflect.TypeOf(HttpSettings_STATUS{}), generators) + + return httpSettings_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForHttpSettings_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHttpSettings_STATUS(gens map[string]gopter.Gen) { + gens["RequireHttps"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForHttpSettings_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHttpSettings_STATUS(gens map[string]gopter.Gen) { + gens["ForwardProxy"] = gen.PtrOf(ForwardProxy_STATUSGenerator()) + gens["Routes"] = gen.PtrOf(HttpSettingsRoutes_STATUSGenerator()) +} + +func Test_IdentityProviders_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 IdentityProviders via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIdentityProviders, IdentityProvidersGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIdentityProviders runs a test to see if a specific instance of IdentityProviders round trips to JSON and back losslessly +func RunJSONSerializationTestForIdentityProviders(subject IdentityProviders) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IdentityProviders + 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 IdentityProviders instances for property testing - lazily instantiated by IdentityProvidersGenerator() +var identityProvidersGenerator gopter.Gen + +// IdentityProvidersGenerator returns a generator of IdentityProviders instances for property testing. +func IdentityProvidersGenerator() gopter.Gen { + if identityProvidersGenerator != nil { + return identityProvidersGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForIdentityProviders(generators) + identityProvidersGenerator = gen.Struct(reflect.TypeOf(IdentityProviders{}), generators) + + return identityProvidersGenerator +} + +// AddRelatedPropertyGeneratorsForIdentityProviders is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIdentityProviders(gens map[string]gopter.Gen) { + gens["Apple"] = gen.PtrOf(AppleGenerator()) + gens["AzureActiveDirectory"] = gen.PtrOf(AzureActiveDirectoryGenerator()) + gens["AzureStaticWebApps"] = gen.PtrOf(AzureStaticWebAppsGenerator()) + gens["CustomOpenIdConnectProviders"] = gen.MapOf( + gen.AlphaString(), + CustomOpenIdConnectProviderGenerator()) + gens["Facebook"] = gen.PtrOf(FacebookGenerator()) + gens["GitHub"] = gen.PtrOf(GitHubGenerator()) + gens["Google"] = gen.PtrOf(GoogleGenerator()) + gens["Twitter"] = gen.PtrOf(TwitterGenerator()) +} + +func Test_IdentityProviders_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 IdentityProviders_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIdentityProviders_STATUS, IdentityProviders_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIdentityProviders_STATUS runs a test to see if a specific instance of IdentityProviders_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIdentityProviders_STATUS(subject IdentityProviders_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IdentityProviders_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 IdentityProviders_STATUS instances for property testing - lazily instantiated by +// IdentityProviders_STATUSGenerator() +var identityProviders_STATUSGenerator gopter.Gen + +// IdentityProviders_STATUSGenerator returns a generator of IdentityProviders_STATUS instances for property testing. +func IdentityProviders_STATUSGenerator() gopter.Gen { + if identityProviders_STATUSGenerator != nil { + return identityProviders_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForIdentityProviders_STATUS(generators) + identityProviders_STATUSGenerator = gen.Struct(reflect.TypeOf(IdentityProviders_STATUS{}), generators) + + return identityProviders_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForIdentityProviders_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIdentityProviders_STATUS(gens map[string]gopter.Gen) { + gens["Apple"] = gen.PtrOf(Apple_STATUSGenerator()) + gens["AzureActiveDirectory"] = gen.PtrOf(AzureActiveDirectory_STATUSGenerator()) + gens["AzureStaticWebApps"] = gen.PtrOf(AzureStaticWebApps_STATUSGenerator()) + gens["CustomOpenIdConnectProviders"] = gen.MapOf( + gen.AlphaString(), + CustomOpenIdConnectProvider_STATUSGenerator()) + gens["Facebook"] = gen.PtrOf(Facebook_STATUSGenerator()) + gens["GitHub"] = gen.PtrOf(GitHub_STATUSGenerator()) + gens["Google"] = gen.PtrOf(Google_STATUSGenerator()) + gens["Twitter"] = gen.PtrOf(Twitter_STATUSGenerator()) +} + +func Test_JwtClaimChecks_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 JwtClaimChecks via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJwtClaimChecks, JwtClaimChecksGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJwtClaimChecks runs a test to see if a specific instance of JwtClaimChecks round trips to JSON and back losslessly +func RunJSONSerializationTestForJwtClaimChecks(subject JwtClaimChecks) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JwtClaimChecks + 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 JwtClaimChecks instances for property testing - lazily instantiated by JwtClaimChecksGenerator() +var jwtClaimChecksGenerator gopter.Gen + +// JwtClaimChecksGenerator returns a generator of JwtClaimChecks instances for property testing. +func JwtClaimChecksGenerator() gopter.Gen { + if jwtClaimChecksGenerator != nil { + return jwtClaimChecksGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJwtClaimChecks(generators) + jwtClaimChecksGenerator = gen.Struct(reflect.TypeOf(JwtClaimChecks{}), generators) + + return jwtClaimChecksGenerator +} + +// AddIndependentPropertyGeneratorsForJwtClaimChecks is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJwtClaimChecks(gens map[string]gopter.Gen) { + gens["AllowedClientApplications"] = gen.SliceOf(gen.AlphaString()) + gens["AllowedGroups"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_JwtClaimChecks_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 JwtClaimChecks_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJwtClaimChecks_STATUS, JwtClaimChecks_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJwtClaimChecks_STATUS runs a test to see if a specific instance of JwtClaimChecks_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForJwtClaimChecks_STATUS(subject JwtClaimChecks_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JwtClaimChecks_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 JwtClaimChecks_STATUS instances for property testing - lazily instantiated by +// JwtClaimChecks_STATUSGenerator() +var jwtClaimChecks_STATUSGenerator gopter.Gen + +// JwtClaimChecks_STATUSGenerator returns a generator of JwtClaimChecks_STATUS instances for property testing. +func JwtClaimChecks_STATUSGenerator() gopter.Gen { + if jwtClaimChecks_STATUSGenerator != nil { + return jwtClaimChecks_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJwtClaimChecks_STATUS(generators) + jwtClaimChecks_STATUSGenerator = gen.Struct(reflect.TypeOf(JwtClaimChecks_STATUS{}), generators) + + return jwtClaimChecks_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForJwtClaimChecks_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJwtClaimChecks_STATUS(gens map[string]gopter.Gen) { + gens["AllowedClientApplications"] = gen.SliceOf(gen.AlphaString()) + gens["AllowedGroups"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_Login_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 Login via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLogin, LoginGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLogin runs a test to see if a specific instance of Login round trips to JSON and back losslessly +func RunJSONSerializationTestForLogin(subject Login) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Login + 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 Login instances for property testing - lazily instantiated by LoginGenerator() +var loginGenerator gopter.Gen + +// LoginGenerator returns a generator of Login instances for property testing. +// We first initialize loginGenerator 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 LoginGenerator() gopter.Gen { + if loginGenerator != nil { + return loginGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLogin(generators) + loginGenerator = gen.Struct(reflect.TypeOf(Login{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLogin(generators) + AddRelatedPropertyGeneratorsForLogin(generators) + loginGenerator = gen.Struct(reflect.TypeOf(Login{}), generators) + + return loginGenerator +} + +// AddIndependentPropertyGeneratorsForLogin is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLogin(gens map[string]gopter.Gen) { + gens["AllowedExternalRedirectUrls"] = gen.SliceOf(gen.AlphaString()) + gens["PreserveUrlFragmentsForLogins"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForLogin is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForLogin(gens map[string]gopter.Gen) { + gens["CookieExpiration"] = gen.PtrOf(CookieExpirationGenerator()) + gens["Nonce"] = gen.PtrOf(NonceGenerator()) + gens["Routes"] = gen.PtrOf(LoginRoutesGenerator()) + gens["TokenStore"] = gen.PtrOf(TokenStoreGenerator()) +} + +func Test_LoginRoutes_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 LoginRoutes via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLoginRoutes, LoginRoutesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLoginRoutes runs a test to see if a specific instance of LoginRoutes round trips to JSON and back losslessly +func RunJSONSerializationTestForLoginRoutes(subject LoginRoutes) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual LoginRoutes + 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 LoginRoutes instances for property testing - lazily instantiated by LoginRoutesGenerator() +var loginRoutesGenerator gopter.Gen + +// LoginRoutesGenerator returns a generator of LoginRoutes instances for property testing. +func LoginRoutesGenerator() gopter.Gen { + if loginRoutesGenerator != nil { + return loginRoutesGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLoginRoutes(generators) + loginRoutesGenerator = gen.Struct(reflect.TypeOf(LoginRoutes{}), generators) + + return loginRoutesGenerator +} + +// AddIndependentPropertyGeneratorsForLoginRoutes is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLoginRoutes(gens map[string]gopter.Gen) { + gens["LogoutEndpoint"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_LoginRoutes_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 LoginRoutes_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLoginRoutes_STATUS, LoginRoutes_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLoginRoutes_STATUS runs a test to see if a specific instance of LoginRoutes_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForLoginRoutes_STATUS(subject LoginRoutes_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual LoginRoutes_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 LoginRoutes_STATUS instances for property testing - lazily instantiated by LoginRoutes_STATUSGenerator() +var loginRoutes_STATUSGenerator gopter.Gen + +// LoginRoutes_STATUSGenerator returns a generator of LoginRoutes_STATUS instances for property testing. +func LoginRoutes_STATUSGenerator() gopter.Gen { + if loginRoutes_STATUSGenerator != nil { + return loginRoutes_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLoginRoutes_STATUS(generators) + loginRoutes_STATUSGenerator = gen.Struct(reflect.TypeOf(LoginRoutes_STATUS{}), generators) + + return loginRoutes_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForLoginRoutes_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLoginRoutes_STATUS(gens map[string]gopter.Gen) { + gens["LogoutEndpoint"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_LoginScopes_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 LoginScopes via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLoginScopes, LoginScopesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLoginScopes runs a test to see if a specific instance of LoginScopes round trips to JSON and back losslessly +func RunJSONSerializationTestForLoginScopes(subject LoginScopes) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual LoginScopes + 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 LoginScopes instances for property testing - lazily instantiated by LoginScopesGenerator() +var loginScopesGenerator gopter.Gen + +// LoginScopesGenerator returns a generator of LoginScopes instances for property testing. +func LoginScopesGenerator() gopter.Gen { + if loginScopesGenerator != nil { + return loginScopesGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLoginScopes(generators) + loginScopesGenerator = gen.Struct(reflect.TypeOf(LoginScopes{}), generators) + + return loginScopesGenerator +} + +// AddIndependentPropertyGeneratorsForLoginScopes is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLoginScopes(gens map[string]gopter.Gen) { + gens["Scopes"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_LoginScopes_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 LoginScopes_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLoginScopes_STATUS, LoginScopes_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLoginScopes_STATUS runs a test to see if a specific instance of LoginScopes_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForLoginScopes_STATUS(subject LoginScopes_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual LoginScopes_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 LoginScopes_STATUS instances for property testing - lazily instantiated by LoginScopes_STATUSGenerator() +var loginScopes_STATUSGenerator gopter.Gen + +// LoginScopes_STATUSGenerator returns a generator of LoginScopes_STATUS instances for property testing. +func LoginScopes_STATUSGenerator() gopter.Gen { + if loginScopes_STATUSGenerator != nil { + return loginScopes_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLoginScopes_STATUS(generators) + loginScopes_STATUSGenerator = gen.Struct(reflect.TypeOf(LoginScopes_STATUS{}), generators) + + return loginScopes_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForLoginScopes_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLoginScopes_STATUS(gens map[string]gopter.Gen) { + gens["Scopes"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_Login_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 Login_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLogin_STATUS, Login_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLogin_STATUS runs a test to see if a specific instance of Login_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForLogin_STATUS(subject Login_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Login_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 Login_STATUS instances for property testing - lazily instantiated by Login_STATUSGenerator() +var login_STATUSGenerator gopter.Gen + +// Login_STATUSGenerator returns a generator of Login_STATUS instances for property testing. +// We first initialize login_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 Login_STATUSGenerator() gopter.Gen { + if login_STATUSGenerator != nil { + return login_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLogin_STATUS(generators) + login_STATUSGenerator = gen.Struct(reflect.TypeOf(Login_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLogin_STATUS(generators) + AddRelatedPropertyGeneratorsForLogin_STATUS(generators) + login_STATUSGenerator = gen.Struct(reflect.TypeOf(Login_STATUS{}), generators) + + return login_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForLogin_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLogin_STATUS(gens map[string]gopter.Gen) { + gens["AllowedExternalRedirectUrls"] = gen.SliceOf(gen.AlphaString()) + gens["PreserveUrlFragmentsForLogins"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForLogin_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForLogin_STATUS(gens map[string]gopter.Gen) { + gens["CookieExpiration"] = gen.PtrOf(CookieExpiration_STATUSGenerator()) + gens["Nonce"] = gen.PtrOf(Nonce_STATUSGenerator()) + gens["Routes"] = gen.PtrOf(LoginRoutes_STATUSGenerator()) + gens["TokenStore"] = gen.PtrOf(TokenStore_STATUSGenerator()) +} + +func Test_Nonce_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 Nonce via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNonce, NonceGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNonce runs a test to see if a specific instance of Nonce round trips to JSON and back losslessly +func RunJSONSerializationTestForNonce(subject Nonce) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Nonce + 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 Nonce instances for property testing - lazily instantiated by NonceGenerator() +var nonceGenerator gopter.Gen + +// NonceGenerator returns a generator of Nonce instances for property testing. +func NonceGenerator() gopter.Gen { + if nonceGenerator != nil { + return nonceGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNonce(generators) + nonceGenerator = gen.Struct(reflect.TypeOf(Nonce{}), generators) + + return nonceGenerator +} + +// AddIndependentPropertyGeneratorsForNonce is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNonce(gens map[string]gopter.Gen) { + gens["NonceExpirationInterval"] = gen.PtrOf(gen.AlphaString()) + gens["ValidateNonce"] = gen.PtrOf(gen.Bool()) +} + +func Test_Nonce_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 Nonce_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNonce_STATUS, Nonce_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNonce_STATUS runs a test to see if a specific instance of Nonce_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForNonce_STATUS(subject Nonce_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Nonce_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 Nonce_STATUS instances for property testing - lazily instantiated by Nonce_STATUSGenerator() +var nonce_STATUSGenerator gopter.Gen + +// Nonce_STATUSGenerator returns a generator of Nonce_STATUS instances for property testing. +func Nonce_STATUSGenerator() gopter.Gen { + if nonce_STATUSGenerator != nil { + return nonce_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNonce_STATUS(generators) + nonce_STATUSGenerator = gen.Struct(reflect.TypeOf(Nonce_STATUS{}), generators) + + return nonce_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForNonce_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNonce_STATUS(gens map[string]gopter.Gen) { + gens["NonceExpirationInterval"] = gen.PtrOf(gen.AlphaString()) + gens["ValidateNonce"] = gen.PtrOf(gen.Bool()) +} + +func Test_OpenIdConnectClientCredential_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 OpenIdConnectClientCredential via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOpenIdConnectClientCredential, OpenIdConnectClientCredentialGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOpenIdConnectClientCredential runs a test to see if a specific instance of OpenIdConnectClientCredential round trips to JSON and back losslessly +func RunJSONSerializationTestForOpenIdConnectClientCredential(subject OpenIdConnectClientCredential) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OpenIdConnectClientCredential + 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 OpenIdConnectClientCredential instances for property testing - lazily instantiated by +// OpenIdConnectClientCredentialGenerator() +var openIdConnectClientCredentialGenerator gopter.Gen + +// OpenIdConnectClientCredentialGenerator returns a generator of OpenIdConnectClientCredential instances for property testing. +func OpenIdConnectClientCredentialGenerator() gopter.Gen { + if openIdConnectClientCredentialGenerator != nil { + return openIdConnectClientCredentialGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOpenIdConnectClientCredential(generators) + openIdConnectClientCredentialGenerator = gen.Struct(reflect.TypeOf(OpenIdConnectClientCredential{}), generators) + + return openIdConnectClientCredentialGenerator +} + +// AddIndependentPropertyGeneratorsForOpenIdConnectClientCredential is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForOpenIdConnectClientCredential(gens map[string]gopter.Gen) { + gens["ClientSecretSettingName"] = gen.PtrOf(gen.AlphaString()) + gens["Method"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_OpenIdConnectClientCredential_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 OpenIdConnectClientCredential_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOpenIdConnectClientCredential_STATUS, OpenIdConnectClientCredential_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOpenIdConnectClientCredential_STATUS runs a test to see if a specific instance of OpenIdConnectClientCredential_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForOpenIdConnectClientCredential_STATUS(subject OpenIdConnectClientCredential_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OpenIdConnectClientCredential_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 OpenIdConnectClientCredential_STATUS instances for property testing - lazily instantiated by +// OpenIdConnectClientCredential_STATUSGenerator() +var openIdConnectClientCredential_STATUSGenerator gopter.Gen + +// OpenIdConnectClientCredential_STATUSGenerator returns a generator of OpenIdConnectClientCredential_STATUS instances for property testing. +func OpenIdConnectClientCredential_STATUSGenerator() gopter.Gen { + if openIdConnectClientCredential_STATUSGenerator != nil { + return openIdConnectClientCredential_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOpenIdConnectClientCredential_STATUS(generators) + openIdConnectClientCredential_STATUSGenerator = gen.Struct(reflect.TypeOf(OpenIdConnectClientCredential_STATUS{}), generators) + + return openIdConnectClientCredential_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForOpenIdConnectClientCredential_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForOpenIdConnectClientCredential_STATUS(gens map[string]gopter.Gen) { + gens["ClientSecretSettingName"] = gen.PtrOf(gen.AlphaString()) + gens["Method"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_OpenIdConnectConfig_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 OpenIdConnectConfig via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOpenIdConnectConfig, OpenIdConnectConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOpenIdConnectConfig runs a test to see if a specific instance of OpenIdConnectConfig round trips to JSON and back losslessly +func RunJSONSerializationTestForOpenIdConnectConfig(subject OpenIdConnectConfig) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OpenIdConnectConfig + 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 OpenIdConnectConfig instances for property testing - lazily instantiated by +// OpenIdConnectConfigGenerator() +var openIdConnectConfigGenerator gopter.Gen + +// OpenIdConnectConfigGenerator returns a generator of OpenIdConnectConfig instances for property testing. +func OpenIdConnectConfigGenerator() gopter.Gen { + if openIdConnectConfigGenerator != nil { + return openIdConnectConfigGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOpenIdConnectConfig(generators) + openIdConnectConfigGenerator = gen.Struct(reflect.TypeOf(OpenIdConnectConfig{}), generators) + + return openIdConnectConfigGenerator +} + +// AddIndependentPropertyGeneratorsForOpenIdConnectConfig is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForOpenIdConnectConfig(gens map[string]gopter.Gen) { + gens["AuthorizationEndpoint"] = gen.PtrOf(gen.AlphaString()) + gens["CertificationUri"] = gen.PtrOf(gen.AlphaString()) + gens["Issuer"] = gen.PtrOf(gen.AlphaString()) + gens["TokenEndpoint"] = gen.PtrOf(gen.AlphaString()) + gens["WellKnownOpenIdConfiguration"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_OpenIdConnectConfig_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 OpenIdConnectConfig_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOpenIdConnectConfig_STATUS, OpenIdConnectConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOpenIdConnectConfig_STATUS runs a test to see if a specific instance of OpenIdConnectConfig_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForOpenIdConnectConfig_STATUS(subject OpenIdConnectConfig_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OpenIdConnectConfig_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 OpenIdConnectConfig_STATUS instances for property testing - lazily instantiated by +// OpenIdConnectConfig_STATUSGenerator() +var openIdConnectConfig_STATUSGenerator gopter.Gen + +// OpenIdConnectConfig_STATUSGenerator returns a generator of OpenIdConnectConfig_STATUS instances for property testing. +func OpenIdConnectConfig_STATUSGenerator() gopter.Gen { + if openIdConnectConfig_STATUSGenerator != nil { + return openIdConnectConfig_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOpenIdConnectConfig_STATUS(generators) + openIdConnectConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(OpenIdConnectConfig_STATUS{}), generators) + + return openIdConnectConfig_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForOpenIdConnectConfig_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForOpenIdConnectConfig_STATUS(gens map[string]gopter.Gen) { + gens["AuthorizationEndpoint"] = gen.PtrOf(gen.AlphaString()) + gens["CertificationUri"] = gen.PtrOf(gen.AlphaString()) + gens["Issuer"] = gen.PtrOf(gen.AlphaString()) + gens["TokenEndpoint"] = gen.PtrOf(gen.AlphaString()) + gens["WellKnownOpenIdConfiguration"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_OpenIdConnectLogin_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 OpenIdConnectLogin via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOpenIdConnectLogin, OpenIdConnectLoginGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOpenIdConnectLogin runs a test to see if a specific instance of OpenIdConnectLogin round trips to JSON and back losslessly +func RunJSONSerializationTestForOpenIdConnectLogin(subject OpenIdConnectLogin) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OpenIdConnectLogin + 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 OpenIdConnectLogin instances for property testing - lazily instantiated by OpenIdConnectLoginGenerator() +var openIdConnectLoginGenerator gopter.Gen + +// OpenIdConnectLoginGenerator returns a generator of OpenIdConnectLogin instances for property testing. +func OpenIdConnectLoginGenerator() gopter.Gen { + if openIdConnectLoginGenerator != nil { + return openIdConnectLoginGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOpenIdConnectLogin(generators) + openIdConnectLoginGenerator = gen.Struct(reflect.TypeOf(OpenIdConnectLogin{}), generators) + + return openIdConnectLoginGenerator +} + +// AddIndependentPropertyGeneratorsForOpenIdConnectLogin is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForOpenIdConnectLogin(gens map[string]gopter.Gen) { + gens["NameClaimType"] = gen.PtrOf(gen.AlphaString()) + gens["Scopes"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_OpenIdConnectLogin_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 OpenIdConnectLogin_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOpenIdConnectLogin_STATUS, OpenIdConnectLogin_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOpenIdConnectLogin_STATUS runs a test to see if a specific instance of OpenIdConnectLogin_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForOpenIdConnectLogin_STATUS(subject OpenIdConnectLogin_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OpenIdConnectLogin_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 OpenIdConnectLogin_STATUS instances for property testing - lazily instantiated by +// OpenIdConnectLogin_STATUSGenerator() +var openIdConnectLogin_STATUSGenerator gopter.Gen + +// OpenIdConnectLogin_STATUSGenerator returns a generator of OpenIdConnectLogin_STATUS instances for property testing. +func OpenIdConnectLogin_STATUSGenerator() gopter.Gen { + if openIdConnectLogin_STATUSGenerator != nil { + return openIdConnectLogin_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOpenIdConnectLogin_STATUS(generators) + openIdConnectLogin_STATUSGenerator = gen.Struct(reflect.TypeOf(OpenIdConnectLogin_STATUS{}), generators) + + return openIdConnectLogin_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForOpenIdConnectLogin_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForOpenIdConnectLogin_STATUS(gens map[string]gopter.Gen) { + gens["NameClaimType"] = gen.PtrOf(gen.AlphaString()) + gens["Scopes"] = gen.SliceOf(gen.AlphaString()) +} + +func Test_OpenIdConnectRegistration_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 OpenIdConnectRegistration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOpenIdConnectRegistration, OpenIdConnectRegistrationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOpenIdConnectRegistration runs a test to see if a specific instance of OpenIdConnectRegistration round trips to JSON and back losslessly +func RunJSONSerializationTestForOpenIdConnectRegistration(subject OpenIdConnectRegistration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OpenIdConnectRegistration + 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 OpenIdConnectRegistration instances for property testing - lazily instantiated by +// OpenIdConnectRegistrationGenerator() +var openIdConnectRegistrationGenerator gopter.Gen + +// OpenIdConnectRegistrationGenerator returns a generator of OpenIdConnectRegistration instances for property testing. +// We first initialize openIdConnectRegistrationGenerator 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 OpenIdConnectRegistrationGenerator() gopter.Gen { + if openIdConnectRegistrationGenerator != nil { + return openIdConnectRegistrationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOpenIdConnectRegistration(generators) + openIdConnectRegistrationGenerator = gen.Struct(reflect.TypeOf(OpenIdConnectRegistration{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOpenIdConnectRegistration(generators) + AddRelatedPropertyGeneratorsForOpenIdConnectRegistration(generators) + openIdConnectRegistrationGenerator = gen.Struct(reflect.TypeOf(OpenIdConnectRegistration{}), generators) + + return openIdConnectRegistrationGenerator +} + +// AddIndependentPropertyGeneratorsForOpenIdConnectRegistration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForOpenIdConnectRegistration(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForOpenIdConnectRegistration is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForOpenIdConnectRegistration(gens map[string]gopter.Gen) { + gens["ClientCredential"] = gen.PtrOf(OpenIdConnectClientCredentialGenerator()) + gens["OpenIdConnectConfiguration"] = gen.PtrOf(OpenIdConnectConfigGenerator()) +} + +func Test_OpenIdConnectRegistration_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 OpenIdConnectRegistration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForOpenIdConnectRegistration_STATUS, OpenIdConnectRegistration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForOpenIdConnectRegistration_STATUS runs a test to see if a specific instance of OpenIdConnectRegistration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForOpenIdConnectRegistration_STATUS(subject OpenIdConnectRegistration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual OpenIdConnectRegistration_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 OpenIdConnectRegistration_STATUS instances for property testing - lazily instantiated by +// OpenIdConnectRegistration_STATUSGenerator() +var openIdConnectRegistration_STATUSGenerator gopter.Gen + +// OpenIdConnectRegistration_STATUSGenerator returns a generator of OpenIdConnectRegistration_STATUS instances for property testing. +// We first initialize openIdConnectRegistration_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 OpenIdConnectRegistration_STATUSGenerator() gopter.Gen { + if openIdConnectRegistration_STATUSGenerator != nil { + return openIdConnectRegistration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOpenIdConnectRegistration_STATUS(generators) + openIdConnectRegistration_STATUSGenerator = gen.Struct(reflect.TypeOf(OpenIdConnectRegistration_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForOpenIdConnectRegistration_STATUS(generators) + AddRelatedPropertyGeneratorsForOpenIdConnectRegistration_STATUS(generators) + openIdConnectRegistration_STATUSGenerator = gen.Struct(reflect.TypeOf(OpenIdConnectRegistration_STATUS{}), generators) + + return openIdConnectRegistration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForOpenIdConnectRegistration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForOpenIdConnectRegistration_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForOpenIdConnectRegistration_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForOpenIdConnectRegistration_STATUS(gens map[string]gopter.Gen) { + gens["ClientCredential"] = gen.PtrOf(OpenIdConnectClientCredential_STATUSGenerator()) + gens["OpenIdConnectConfiguration"] = gen.PtrOf(OpenIdConnectConfig_STATUSGenerator()) +} + +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_TokenStore_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 TokenStore via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTokenStore, TokenStoreGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTokenStore runs a test to see if a specific instance of TokenStore round trips to JSON and back losslessly +func RunJSONSerializationTestForTokenStore(subject TokenStore) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TokenStore + 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 TokenStore instances for property testing - lazily instantiated by TokenStoreGenerator() +var tokenStoreGenerator gopter.Gen + +// TokenStoreGenerator returns a generator of TokenStore instances for property testing. +// We first initialize tokenStoreGenerator 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 TokenStoreGenerator() gopter.Gen { + if tokenStoreGenerator != nil { + return tokenStoreGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenStore(generators) + tokenStoreGenerator = gen.Struct(reflect.TypeOf(TokenStore{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenStore(generators) + AddRelatedPropertyGeneratorsForTokenStore(generators) + tokenStoreGenerator = gen.Struct(reflect.TypeOf(TokenStore{}), generators) + + return tokenStoreGenerator +} + +// AddIndependentPropertyGeneratorsForTokenStore is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTokenStore(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["TokenRefreshExtensionHours"] = gen.PtrOf(gen.Float64()) +} + +// AddRelatedPropertyGeneratorsForTokenStore is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTokenStore(gens map[string]gopter.Gen) { + gens["AzureBlobStorage"] = gen.PtrOf(BlobStorageTokenStoreGenerator()) +} + +func Test_TokenStore_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 TokenStore_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTokenStore_STATUS, TokenStore_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTokenStore_STATUS runs a test to see if a specific instance of TokenStore_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTokenStore_STATUS(subject TokenStore_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TokenStore_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 TokenStore_STATUS instances for property testing - lazily instantiated by TokenStore_STATUSGenerator() +var tokenStore_STATUSGenerator gopter.Gen + +// TokenStore_STATUSGenerator returns a generator of TokenStore_STATUS instances for property testing. +// We first initialize tokenStore_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 TokenStore_STATUSGenerator() gopter.Gen { + if tokenStore_STATUSGenerator != nil { + return tokenStore_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenStore_STATUS(generators) + tokenStore_STATUSGenerator = gen.Struct(reflect.TypeOf(TokenStore_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTokenStore_STATUS(generators) + AddRelatedPropertyGeneratorsForTokenStore_STATUS(generators) + tokenStore_STATUSGenerator = gen.Struct(reflect.TypeOf(TokenStore_STATUS{}), generators) + + return tokenStore_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTokenStore_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTokenStore_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["TokenRefreshExtensionHours"] = gen.PtrOf(gen.Float64()) +} + +// AddRelatedPropertyGeneratorsForTokenStore_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTokenStore_STATUS(gens map[string]gopter.Gen) { + gens["AzureBlobStorage"] = gen.PtrOf(BlobStorageTokenStore_STATUSGenerator()) +} + +func Test_Twitter_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 Twitter via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTwitter, TwitterGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTwitter runs a test to see if a specific instance of Twitter round trips to JSON and back losslessly +func RunJSONSerializationTestForTwitter(subject Twitter) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Twitter + 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 Twitter instances for property testing - lazily instantiated by TwitterGenerator() +var twitterGenerator gopter.Gen + +// TwitterGenerator returns a generator of Twitter instances for property testing. +// We first initialize twitterGenerator 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 TwitterGenerator() gopter.Gen { + if twitterGenerator != nil { + return twitterGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTwitter(generators) + twitterGenerator = gen.Struct(reflect.TypeOf(Twitter{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTwitter(generators) + AddRelatedPropertyGeneratorsForTwitter(generators) + twitterGenerator = gen.Struct(reflect.TypeOf(Twitter{}), generators) + + return twitterGenerator +} + +// AddIndependentPropertyGeneratorsForTwitter is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTwitter(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForTwitter is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTwitter(gens map[string]gopter.Gen) { + gens["Registration"] = gen.PtrOf(TwitterRegistrationGenerator()) +} + +func Test_TwitterRegistration_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 TwitterRegistration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTwitterRegistration, TwitterRegistrationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTwitterRegistration runs a test to see if a specific instance of TwitterRegistration round trips to JSON and back losslessly +func RunJSONSerializationTestForTwitterRegistration(subject TwitterRegistration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TwitterRegistration + 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 TwitterRegistration instances for property testing - lazily instantiated by +// TwitterRegistrationGenerator() +var twitterRegistrationGenerator gopter.Gen + +// TwitterRegistrationGenerator returns a generator of TwitterRegistration instances for property testing. +func TwitterRegistrationGenerator() gopter.Gen { + if twitterRegistrationGenerator != nil { + return twitterRegistrationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTwitterRegistration(generators) + twitterRegistrationGenerator = gen.Struct(reflect.TypeOf(TwitterRegistration{}), generators) + + return twitterRegistrationGenerator +} + +// AddIndependentPropertyGeneratorsForTwitterRegistration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTwitterRegistration(gens map[string]gopter.Gen) { + gens["ConsumerKey"] = gen.PtrOf(gen.AlphaString()) + gens["ConsumerSecretSettingName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_TwitterRegistration_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 TwitterRegistration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTwitterRegistration_STATUS, TwitterRegistration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTwitterRegistration_STATUS runs a test to see if a specific instance of TwitterRegistration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTwitterRegistration_STATUS(subject TwitterRegistration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TwitterRegistration_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 TwitterRegistration_STATUS instances for property testing - lazily instantiated by +// TwitterRegistration_STATUSGenerator() +var twitterRegistration_STATUSGenerator gopter.Gen + +// TwitterRegistration_STATUSGenerator returns a generator of TwitterRegistration_STATUS instances for property testing. +func TwitterRegistration_STATUSGenerator() gopter.Gen { + if twitterRegistration_STATUSGenerator != nil { + return twitterRegistration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTwitterRegistration_STATUS(generators) + twitterRegistration_STATUSGenerator = gen.Struct(reflect.TypeOf(TwitterRegistration_STATUS{}), generators) + + return twitterRegistration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTwitterRegistration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTwitterRegistration_STATUS(gens map[string]gopter.Gen) { + gens["ConsumerKey"] = gen.PtrOf(gen.AlphaString()) + gens["ConsumerSecretSettingName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Twitter_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 Twitter_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTwitter_STATUS, Twitter_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTwitter_STATUS runs a test to see if a specific instance of Twitter_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTwitter_STATUS(subject Twitter_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Twitter_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 Twitter_STATUS instances for property testing - lazily instantiated by Twitter_STATUSGenerator() +var twitter_STATUSGenerator gopter.Gen + +// Twitter_STATUSGenerator returns a generator of Twitter_STATUS instances for property testing. +// We first initialize twitter_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 Twitter_STATUSGenerator() gopter.Gen { + if twitter_STATUSGenerator != nil { + return twitter_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTwitter_STATUS(generators) + twitter_STATUSGenerator = gen.Struct(reflect.TypeOf(Twitter_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTwitter_STATUS(generators) + AddRelatedPropertyGeneratorsForTwitter_STATUS(generators) + twitter_STATUSGenerator = gen.Struct(reflect.TypeOf(Twitter_STATUS{}), generators) + + return twitter_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTwitter_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTwitter_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForTwitter_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTwitter_STATUS(gens map[string]gopter.Gen) { + gens["Registration"] = gen.PtrOf(TwitterRegistration_STATUSGenerator()) +} diff --git a/v2/api/app/v1api20240301/storage/container_app_types_gen.go b/v2/api/app/v1api20240301/storage/container_app_types_gen.go new file mode 100644 index 00000000000..6fdce63bfa2 --- /dev/null +++ b/v2/api/app/v1api20240301/storage/container_app_types_gen.go @@ -0,0 +1,1024 @@ +// 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/Azure/azure-service-operator/v2/pkg/genruntime/core" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/secrets" + "github.com/go-logr/logr" + "github.com/rotisserie/eris" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +// +kubebuilder:rbac:groups=app.azure.com,resources=containerapps,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=app.azure.com,resources={containerapps/status,containerapps/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 v1api20240301.ContainerApp +// Generator information: +// - Generated from: /app/resource-manager/Microsoft.App/stable/2024-03-01/ContainerApps.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName} +type ContainerApp struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ContainerApp_Spec `json:"spec,omitempty"` + Status ContainerApp_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &ContainerApp{} + +// GetConditions returns the conditions of the resource +func (containerApp *ContainerApp) GetConditions() conditions.Conditions { + return containerApp.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (containerApp *ContainerApp) SetConditions(conditions conditions.Conditions) { + containerApp.Status.Conditions = conditions +} + +var _ configmaps.Exporter = &ContainerApp{} + +// ConfigMapDestinationExpressions returns the Spec.OperatorSpec.ConfigMapExpressions property +func (containerApp *ContainerApp) ConfigMapDestinationExpressions() []*core.DestinationExpression { + if containerApp.Spec.OperatorSpec == nil { + return nil + } + return containerApp.Spec.OperatorSpec.ConfigMapExpressions +} + +var _ secrets.Exporter = &ContainerApp{} + +// SecretDestinationExpressions returns the Spec.OperatorSpec.SecretExpressions property +func (containerApp *ContainerApp) SecretDestinationExpressions() []*core.DestinationExpression { + if containerApp.Spec.OperatorSpec == nil { + return nil + } + return containerApp.Spec.OperatorSpec.SecretExpressions +} + +var _ genruntime.KubernetesConfigExporter = &ContainerApp{} + +// ExportKubernetesConfigMaps defines a resource which can create ConfigMaps in Kubernetes. +func (containerApp *ContainerApp) ExportKubernetesConfigMaps(_ context.Context, _ genruntime.MetaObject, _ *genericarmclient.GenericClient, _ logr.Logger) ([]client.Object, error) { + collector := configmaps.NewCollector(containerApp.Namespace) + if containerApp.Spec.OperatorSpec != nil && containerApp.Spec.OperatorSpec.ConfigMaps != nil { + if containerApp.Status.EventStreamEndpoint != nil { + collector.AddValue(containerApp.Spec.OperatorSpec.ConfigMaps.EventStreamEndpoint, *containerApp.Status.EventStreamEndpoint) + } + } + if containerApp.Spec.OperatorSpec != nil && containerApp.Spec.OperatorSpec.ConfigMaps != nil { + if containerApp.Status.LatestRevisionFqdn != nil { + collector.AddValue(containerApp.Spec.OperatorSpec.ConfigMaps.Fqdn, *containerApp.Status.LatestRevisionFqdn) + } + } + result, err := collector.Values() + if err != nil { + return nil, err + } + return configmaps.SliceToClientObjectSlice(result), nil +} + +var _ genruntime.KubernetesResource = &ContainerApp{} + +// AzureName returns the Azure name of the resource +func (containerApp *ContainerApp) AzureName() string { + return containerApp.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-03-01" +func (containerApp ContainerApp) GetAPIVersion() string { + return "2024-03-01" +} + +// GetResourceScope returns the scope of the resource +func (containerApp *ContainerApp) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (containerApp *ContainerApp) GetSpec() genruntime.ConvertibleSpec { + return &containerApp.Spec +} + +// GetStatus returns the status of this resource +func (containerApp *ContainerApp) GetStatus() genruntime.ConvertibleStatus { + return &containerApp.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (containerApp *ContainerApp) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.App/containerApps" +func (containerApp *ContainerApp) GetType() string { + return "Microsoft.App/containerApps" +} + +// NewEmptyStatus returns a new empty (blank) status +func (containerApp *ContainerApp) NewEmptyStatus() genruntime.ConvertibleStatus { + return &ContainerApp_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (containerApp *ContainerApp) Owner() *genruntime.ResourceReference { + if containerApp.Spec.Owner == nil { + return nil + } + + group, kind := genruntime.LookupOwnerGroupKind(containerApp.Spec) + return containerApp.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (containerApp *ContainerApp) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*ContainerApp_STATUS); ok { + containerApp.Status = *st + return nil + } + + // Convert status to required version + var st ContainerApp_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return eris.Wrap(err, "failed to convert status") + } + + containerApp.Status = st + return nil +} + +// Hub marks that this ContainerApp is the hub type for conversion +func (containerApp *ContainerApp) Hub() {} + +// OriginalGVK returns a GroupValueKind for the original API version used to create the resource +func (containerApp *ContainerApp) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: containerApp.Spec.OriginalVersion, + Kind: "ContainerApp", + } +} + +// +kubebuilder:object:root=true +// Storage version of v1api20240301.ContainerApp +// Generator information: +// - Generated from: /app/resource-manager/Microsoft.App/stable/2024-03-01/ContainerApps.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName} +type ContainerAppList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ContainerApp `json:"items"` +} + +// Storage version of v1api20240301.ContainerApp_Spec +type ContainerApp_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"` + Configuration *Configuration `json:"configuration,omitempty"` + + // EnvironmentReference: Resource ID of environment. + EnvironmentReference *genruntime.ResourceReference `armReference:"EnvironmentId" json:"environmentReference,omitempty"` + ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` + Identity *ManagedServiceIdentity `json:"identity,omitempty"` + Location *string `json:"location,omitempty"` + + // ManagedByReference: The fully qualified resource ID of the resource that manages this resource. Indicates if this + // resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource + // if it is removed from the template since it is managed by another resource. + ManagedByReference *genruntime.ResourceReference `armReference:"ManagedBy" json:"managedByReference,omitempty"` + + // ManagedEnvironmentReference: Deprecated. Resource ID of the Container App's environment. + ManagedEnvironmentReference *genruntime.ResourceReference `armReference:"ManagedEnvironmentId" json:"managedEnvironmentReference,omitempty"` + OperatorSpec *ContainerAppOperatorSpec `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"` + Tags map[string]string `json:"tags,omitempty"` + Template *Template `json:"template,omitempty"` + WorkloadProfileName *string `json:"workloadProfileName,omitempty"` +} + +var _ genruntime.ConvertibleSpec = &ContainerApp_Spec{} + +// ConvertSpecFrom populates our ContainerApp_Spec from the provided source +func (containerApp *ContainerApp_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + if source == containerApp { + return eris.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return source.ConvertSpecTo(containerApp) +} + +// ConvertSpecTo populates the provided destination from our ContainerApp_Spec +func (containerApp *ContainerApp_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + if destination == containerApp { + return eris.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return destination.ConvertSpecFrom(containerApp) +} + +// Storage version of v1api20240301.ContainerApp_STATUS +// Container App. +type ContainerApp_STATUS struct { + Conditions []conditions.Condition `json:"conditions,omitempty"` + Configuration *Configuration_STATUS `json:"configuration,omitempty"` + CustomDomainVerificationId *string `json:"customDomainVerificationId,omitempty"` + EnvironmentId *string `json:"environmentId,omitempty"` + EventStreamEndpoint *string `json:"eventStreamEndpoint,omitempty"` + ExtendedLocation *ExtendedLocation_STATUS `json:"extendedLocation,omitempty"` + Id *string `json:"id,omitempty"` + Identity *ManagedServiceIdentity_STATUS `json:"identity,omitempty"` + LatestReadyRevisionName *string `json:"latestReadyRevisionName,omitempty"` + LatestRevisionFqdn *string `json:"latestRevisionFqdn,omitempty"` + LatestRevisionName *string `json:"latestRevisionName,omitempty"` + Location *string `json:"location,omitempty"` + ManagedBy *string `json:"managedBy,omitempty"` + ManagedEnvironmentId *string `json:"managedEnvironmentId,omitempty"` + Name *string `json:"name,omitempty"` + OutboundIpAddresses []string `json:"outboundIpAddresses,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + Tags map[string]string `json:"tags,omitempty"` + Template *Template_STATUS `json:"template,omitempty"` + Type *string `json:"type,omitempty"` + WorkloadProfileName *string `json:"workloadProfileName,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &ContainerApp_STATUS{} + +// ConvertStatusFrom populates our ContainerApp_STATUS from the provided source +func (containerApp *ContainerApp_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + if source == containerApp { + return eris.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return source.ConvertStatusTo(containerApp) +} + +// ConvertStatusTo populates the provided destination from our ContainerApp_STATUS +func (containerApp *ContainerApp_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + if destination == containerApp { + return eris.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return destination.ConvertStatusFrom(containerApp) +} + +// Storage version of v1api20240301.Configuration +// Non versioned Container App configuration properties that define the mutable settings of a Container app +type Configuration struct { + ActiveRevisionsMode *string `json:"activeRevisionsMode,omitempty"` + Dapr *Dapr `json:"dapr,omitempty"` + Ingress *Ingress `json:"ingress,omitempty"` + MaxInactiveRevisions *int `json:"maxInactiveRevisions,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Registries []RegistryCredentials `json:"registries,omitempty"` + Secrets []Secret `json:"secrets,omitempty"` + Service *Service `json:"service,omitempty"` +} + +// Storage version of v1api20240301.Configuration_STATUS +// Non versioned Container App configuration properties that define the mutable settings of a Container app +type Configuration_STATUS struct { + ActiveRevisionsMode *string `json:"activeRevisionsMode,omitempty"` + Dapr *Dapr_STATUS `json:"dapr,omitempty"` + Ingress *Ingress_STATUS `json:"ingress,omitempty"` + MaxInactiveRevisions *int `json:"maxInactiveRevisions,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Registries []RegistryCredentials_STATUS `json:"registries,omitempty"` + Secrets []Secret_STATUS `json:"secrets,omitempty"` + Service *Service_STATUS `json:"service,omitempty"` +} + +// Storage version of v1api20240301.ContainerAppOperatorSpec +// Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure +type ContainerAppOperatorSpec struct { + ConfigMapExpressions []*core.DestinationExpression `json:"configMapExpressions,omitempty"` + ConfigMaps *ContainerAppOperatorConfigMaps `json:"configMaps,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SecretExpressions []*core.DestinationExpression `json:"secretExpressions,omitempty"` +} + +// Storage version of v1api20240301.ExtendedLocation +// The complex type of the extended location. +type ExtendedLocation struct { + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Type *string `json:"type,omitempty"` +} + +// Storage version of v1api20240301.ExtendedLocation_STATUS +// The complex type of the extended location. +type ExtendedLocation_STATUS struct { + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Type *string `json:"type,omitempty"` +} + +// Storage version of v1api20240301.ManagedServiceIdentity +// Managed service identity (system assigned and/or user assigned identities) +type ManagedServiceIdentity struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Type *string `json:"type,omitempty"` + UserAssignedIdentities []UserAssignedIdentityDetails `json:"userAssignedIdentities,omitempty"` +} + +// Storage version of v1api20240301.ManagedServiceIdentity_STATUS +// Managed service identity (system assigned and/or user assigned identities) +type ManagedServiceIdentity_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]UserAssignedIdentity_STATUS `json:"userAssignedIdentities,omitempty"` +} + +// Storage version of v1api20240301.Template +// Container App versioned application definition. +// Defines the desired state of an immutable revision. +// Any changes to this +// section Will result in a new revision being created +type Template struct { + Containers []Container `json:"containers,omitempty"` + InitContainers []BaseContainer `json:"initContainers,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + RevisionSuffix *string `json:"revisionSuffix,omitempty"` + Scale *Scale `json:"scale,omitempty"` + ServiceBinds []ServiceBind `json:"serviceBinds,omitempty"` + TerminationGracePeriodSeconds *int `json:"terminationGracePeriodSeconds,omitempty"` + Volumes []Volume `json:"volumes,omitempty"` +} + +// Storage version of v1api20240301.Template_STATUS +// Container App versioned application definition. +// Defines the desired state of an immutable revision. +// Any changes to this +// section Will result in a new revision being created +type Template_STATUS struct { + Containers []Container_STATUS `json:"containers,omitempty"` + InitContainers []BaseContainer_STATUS `json:"initContainers,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + RevisionSuffix *string `json:"revisionSuffix,omitempty"` + Scale *Scale_STATUS `json:"scale,omitempty"` + ServiceBinds []ServiceBind_STATUS `json:"serviceBinds,omitempty"` + TerminationGracePeriodSeconds *int `json:"terminationGracePeriodSeconds,omitempty"` + Volumes []Volume_STATUS `json:"volumes,omitempty"` +} + +// Storage version of v1api20240301.BaseContainer +// Container App base container definition. +type BaseContainer struct { + Args []string `json:"args,omitempty"` + Command []string `json:"command,omitempty"` + Env []EnvironmentVar `json:"env,omitempty"` + Image *string `json:"image,omitempty"` + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Resources *ContainerResources `json:"resources,omitempty"` + VolumeMounts []VolumeMount `json:"volumeMounts,omitempty"` +} + +// Storage version of v1api20240301.BaseContainer_STATUS +// Container App base container definition. +type BaseContainer_STATUS struct { + Args []string `json:"args,omitempty"` + Command []string `json:"command,omitempty"` + Env []EnvironmentVar_STATUS `json:"env,omitempty"` + Image *string `json:"image,omitempty"` + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Resources *ContainerResources_STATUS `json:"resources,omitempty"` + VolumeMounts []VolumeMount_STATUS `json:"volumeMounts,omitempty"` +} + +// Storage version of v1api20240301.Container +// Container App container definition +type Container struct { + Args []string `json:"args,omitempty"` + Command []string `json:"command,omitempty"` + Env []EnvironmentVar `json:"env,omitempty"` + Image *string `json:"image,omitempty"` + Name *string `json:"name,omitempty"` + Probes []ContainerAppProbe `json:"probes,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Resources *ContainerResources `json:"resources,omitempty"` + VolumeMounts []VolumeMount `json:"volumeMounts,omitempty"` +} + +// Storage version of v1api20240301.Container_STATUS +// Container App container definition +type Container_STATUS struct { + Args []string `json:"args,omitempty"` + Command []string `json:"command,omitempty"` + Env []EnvironmentVar_STATUS `json:"env,omitempty"` + Image *string `json:"image,omitempty"` + Name *string `json:"name,omitempty"` + Probes []ContainerAppProbe_STATUS `json:"probes,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Resources *ContainerResources_STATUS `json:"resources,omitempty"` + VolumeMounts []VolumeMount_STATUS `json:"volumeMounts,omitempty"` +} + +// Storage version of v1api20240301.ContainerAppOperatorConfigMaps +type ContainerAppOperatorConfigMaps struct { + EventStreamEndpoint *genruntime.ConfigMapDestination `json:"eventStreamEndpoint,omitempty"` + Fqdn *genruntime.ConfigMapDestination `json:"fqdn,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.Dapr +// Container App Dapr configuration. +type Dapr struct { + AppId *string `json:"appId,omitempty"` + AppPort *int `json:"appPort,omitempty"` + AppProtocol *string `json:"appProtocol,omitempty"` + EnableApiLogging *bool `json:"enableApiLogging,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + HttpMaxRequestSize *int `json:"httpMaxRequestSize,omitempty"` + HttpReadBufferSize *int `json:"httpReadBufferSize,omitempty"` + LogLevel *string `json:"logLevel,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.Dapr_STATUS +// Container App Dapr configuration. +type Dapr_STATUS struct { + AppId *string `json:"appId,omitempty"` + AppPort *int `json:"appPort,omitempty"` + AppProtocol *string `json:"appProtocol,omitempty"` + EnableApiLogging *bool `json:"enableApiLogging,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + HttpMaxRequestSize *int `json:"httpMaxRequestSize,omitempty"` + HttpReadBufferSize *int `json:"httpReadBufferSize,omitempty"` + LogLevel *string `json:"logLevel,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.Ingress +// Container App Ingress configuration. +type Ingress struct { + AdditionalPortMappings []IngressPortMapping `json:"additionalPortMappings,omitempty"` + AllowInsecure *bool `json:"allowInsecure,omitempty"` + ClientCertificateMode *string `json:"clientCertificateMode,omitempty"` + CorsPolicy *CorsPolicy `json:"corsPolicy,omitempty"` + CustomDomains []CustomDomain `json:"customDomains,omitempty"` + ExposedPort *int `json:"exposedPort,omitempty"` + External *bool `json:"external,omitempty"` + IpSecurityRestrictions []IpSecurityRestrictionRule `json:"ipSecurityRestrictions,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + StickySessions *Ingress_StickySessions `json:"stickySessions,omitempty"` + TargetPort *int `json:"targetPort,omitempty"` + Traffic []TrafficWeight `json:"traffic,omitempty"` + Transport *string `json:"transport,omitempty"` +} + +// Storage version of v1api20240301.Ingress_STATUS +// Container App Ingress configuration. +type Ingress_STATUS struct { + AdditionalPortMappings []IngressPortMapping_STATUS `json:"additionalPortMappings,omitempty"` + AllowInsecure *bool `json:"allowInsecure,omitempty"` + ClientCertificateMode *string `json:"clientCertificateMode,omitempty"` + CorsPolicy *CorsPolicy_STATUS `json:"corsPolicy,omitempty"` + CustomDomains []CustomDomain_STATUS `json:"customDomains,omitempty"` + ExposedPort *int `json:"exposedPort,omitempty"` + External *bool `json:"external,omitempty"` + Fqdn *string `json:"fqdn,omitempty"` + IpSecurityRestrictions []IpSecurityRestrictionRule_STATUS `json:"ipSecurityRestrictions,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + StickySessions *Ingress_StickySessions_STATUS `json:"stickySessions,omitempty"` + TargetPort *int `json:"targetPort,omitempty"` + Traffic []TrafficWeight_STATUS `json:"traffic,omitempty"` + Transport *string `json:"transport,omitempty"` +} + +// Storage version of v1api20240301.RegistryCredentials +// Container App Private Registry +type RegistryCredentials struct { + // IdentityReference: A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned + // identities, use the full user-assigned identity Resource ID. For system-assigned identities, use 'system' + IdentityReference *genruntime.ResourceReference `armReference:"Identity" json:"identityReference,omitempty"` + PasswordSecretRef *string `json:"passwordSecretRef,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Server *string `json:"server,omitempty"` + Username *string `json:"username,omitempty"` +} + +// Storage version of v1api20240301.RegistryCredentials_STATUS +// Container App Private Registry +type RegistryCredentials_STATUS struct { + Identity *string `json:"identity,omitempty"` + PasswordSecretRef *string `json:"passwordSecretRef,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Server *string `json:"server,omitempty"` + Username *string `json:"username,omitempty"` +} + +// Storage version of v1api20240301.Scale +// Container App scaling configurations. +type Scale struct { + MaxReplicas *int `json:"maxReplicas,omitempty"` + MinReplicas *int `json:"minReplicas,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Rules []ScaleRule `json:"rules,omitempty"` +} + +// Storage version of v1api20240301.Scale_STATUS +// Container App scaling configurations. +type Scale_STATUS struct { + MaxReplicas *int `json:"maxReplicas,omitempty"` + MinReplicas *int `json:"minReplicas,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Rules []ScaleRule_STATUS `json:"rules,omitempty"` +} + +// Storage version of v1api20240301.Secret +// Secret definition. +type Secret struct { + // IdentityReference: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a + // system-assigned identity. + IdentityReference *genruntime.ResourceReference `armReference:"Identity" json:"identityReference,omitempty"` + KeyVaultUrl *string `json:"keyVaultUrl,omitempty"` + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Value *genruntime.SecretReference `json:"value,omitempty"` +} + +// Storage version of v1api20240301.Secret_STATUS +// Secret definition. +type Secret_STATUS struct { + Identity *string `json:"identity,omitempty"` + KeyVaultUrl *string `json:"keyVaultUrl,omitempty"` + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.Service +// Container App to be a dev service +type Service struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Type *string `json:"type,omitempty"` +} + +// Storage version of v1api20240301.Service_STATUS +// Container App to be a dev service +type Service_STATUS struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Type *string `json:"type,omitempty"` +} + +// Storage version of v1api20240301.ServiceBind +// Configuration to bind a ContainerApp to a dev ContainerApp Service +type ServiceBind struct { + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + + // ServiceReference: Resource id of the target service + ServiceReference *genruntime.ResourceReference `armReference:"ServiceId" json:"serviceReference,omitempty"` +} + +// Storage version of v1api20240301.ServiceBind_STATUS +// Configuration to bind a ContainerApp to a dev ContainerApp Service +type ServiceBind_STATUS struct { + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ServiceId *string `json:"serviceId,omitempty"` +} + +// Storage version of v1api20240301.UserAssignedIdentity_STATUS +// User assigned identity properties +type UserAssignedIdentity_STATUS struct { + ClientId *string `json:"clientId,omitempty"` + PrincipalId *string `json:"principalId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.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"` +} + +// Storage version of v1api20240301.Volume +// Volume definitions for the Container App. +type Volume struct { + MountOptions *string `json:"mountOptions,omitempty"` + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Secrets []SecretVolumeItem `json:"secrets,omitempty"` + StorageName *string `json:"storageName,omitempty"` + StorageType *string `json:"storageType,omitempty"` +} + +// Storage version of v1api20240301.Volume_STATUS +// Volume definitions for the Container App. +type Volume_STATUS struct { + MountOptions *string `json:"mountOptions,omitempty"` + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Secrets []SecretVolumeItem_STATUS `json:"secrets,omitempty"` + StorageName *string `json:"storageName,omitempty"` + StorageType *string `json:"storageType,omitempty"` +} + +// Storage version of v1api20240301.ContainerAppProbe +// Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive +// traffic. +type ContainerAppProbe struct { + FailureThreshold *int `json:"failureThreshold,omitempty"` + HttpGet *ContainerAppProbe_HttpGet `json:"httpGet,omitempty"` + InitialDelaySeconds *int `json:"initialDelaySeconds,omitempty"` + PeriodSeconds *int `json:"periodSeconds,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SuccessThreshold *int `json:"successThreshold,omitempty"` + TcpSocket *ContainerAppProbe_TcpSocket `json:"tcpSocket,omitempty"` + TerminationGracePeriodSeconds *int `json:"terminationGracePeriodSeconds,omitempty"` + TimeoutSeconds *int `json:"timeoutSeconds,omitempty"` + Type *string `json:"type,omitempty"` +} + +// Storage version of v1api20240301.ContainerAppProbe_STATUS +// Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive +// traffic. +type ContainerAppProbe_STATUS struct { + FailureThreshold *int `json:"failureThreshold,omitempty"` + HttpGet *ContainerAppProbe_HttpGet_STATUS `json:"httpGet,omitempty"` + InitialDelaySeconds *int `json:"initialDelaySeconds,omitempty"` + PeriodSeconds *int `json:"periodSeconds,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SuccessThreshold *int `json:"successThreshold,omitempty"` + TcpSocket *ContainerAppProbe_TcpSocket_STATUS `json:"tcpSocket,omitempty"` + TerminationGracePeriodSeconds *int `json:"terminationGracePeriodSeconds,omitempty"` + TimeoutSeconds *int `json:"timeoutSeconds,omitempty"` + Type *string `json:"type,omitempty"` +} + +// Storage version of v1api20240301.ContainerResources +// Container App container resource requirements. +type ContainerResources struct { + Cpu *float64 `json:"cpu,omitempty"` + Memory *string `json:"memory,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.ContainerResources_STATUS +// Container App container resource requirements. +type ContainerResources_STATUS struct { + Cpu *float64 `json:"cpu,omitempty"` + EphemeralStorage *string `json:"ephemeralStorage,omitempty"` + Memory *string `json:"memory,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.CorsPolicy +// Cross-Origin-Resource-Sharing policy +type CorsPolicy struct { + AllowCredentials *bool `json:"allowCredentials,omitempty"` + AllowedHeaders []string `json:"allowedHeaders,omitempty"` + AllowedMethods []string `json:"allowedMethods,omitempty"` + AllowedOrigins []string `json:"allowedOrigins,omitempty"` + ExposeHeaders []string `json:"exposeHeaders,omitempty"` + MaxAge *int `json:"maxAge,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.CorsPolicy_STATUS +// Cross-Origin-Resource-Sharing policy +type CorsPolicy_STATUS struct { + AllowCredentials *bool `json:"allowCredentials,omitempty"` + AllowedHeaders []string `json:"allowedHeaders,omitempty"` + AllowedMethods []string `json:"allowedMethods,omitempty"` + AllowedOrigins []string `json:"allowedOrigins,omitempty"` + ExposeHeaders []string `json:"exposeHeaders,omitempty"` + MaxAge *int `json:"maxAge,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.CustomDomain +// Custom Domain of a Container App +type CustomDomain struct { + BindingType *string `json:"bindingType,omitempty"` + + // CertificateReference: Resource Id of the Certificate to be bound to this hostname. Must exist in the Managed Environment. + CertificateReference *genruntime.ResourceReference `armReference:"CertificateId" json:"certificateReference,omitempty"` + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.CustomDomain_STATUS +// Custom Domain of a Container App +type CustomDomain_STATUS struct { + BindingType *string `json:"bindingType,omitempty"` + CertificateId *string `json:"certificateId,omitempty"` + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.EnvironmentVar +// Container App container environment variable. +type EnvironmentVar struct { + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SecretRef *string `json:"secretRef,omitempty"` + Value *string `json:"value,omitempty"` +} + +// Storage version of v1api20240301.EnvironmentVar_STATUS +// Container App container environment variable. +type EnvironmentVar_STATUS struct { + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SecretRef *string `json:"secretRef,omitempty"` + Value *string `json:"value,omitempty"` +} + +// Storage version of v1api20240301.Ingress_StickySessions +type Ingress_StickySessions struct { + Affinity *string `json:"affinity,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.Ingress_StickySessions_STATUS +type Ingress_StickySessions_STATUS struct { + Affinity *string `json:"affinity,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.IngressPortMapping +// Port mappings of container app ingress +type IngressPortMapping struct { + ExposedPort *int `json:"exposedPort,omitempty"` + External *bool `json:"external,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + TargetPort *int `json:"targetPort,omitempty"` +} + +// Storage version of v1api20240301.IngressPortMapping_STATUS +// Port mappings of container app ingress +type IngressPortMapping_STATUS struct { + ExposedPort *int `json:"exposedPort,omitempty"` + External *bool `json:"external,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + TargetPort *int `json:"targetPort,omitempty"` +} + +// Storage version of v1api20240301.IpSecurityRestrictionRule +// Rule to restrict incoming IP address. +type IpSecurityRestrictionRule struct { + Action *string `json:"action,omitempty"` + Description *string `json:"description,omitempty"` + IpAddressRange *string `json:"ipAddressRange,omitempty"` + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.IpSecurityRestrictionRule_STATUS +// Rule to restrict incoming IP address. +type IpSecurityRestrictionRule_STATUS struct { + Action *string `json:"action,omitempty"` + Description *string `json:"description,omitempty"` + IpAddressRange *string `json:"ipAddressRange,omitempty"` + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.ScaleRule +// Container App container scaling rule. +type ScaleRule struct { + AzureQueue *QueueScaleRule `json:"azureQueue,omitempty"` + Custom *CustomScaleRule `json:"custom,omitempty"` + Http *HttpScaleRule `json:"http,omitempty"` + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Tcp *TcpScaleRule `json:"tcp,omitempty"` +} + +// Storage version of v1api20240301.ScaleRule_STATUS +// Container App container scaling rule. +type ScaleRule_STATUS struct { + AzureQueue *QueueScaleRule_STATUS `json:"azureQueue,omitempty"` + Custom *CustomScaleRule_STATUS `json:"custom,omitempty"` + Http *HttpScaleRule_STATUS `json:"http,omitempty"` + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Tcp *TcpScaleRule_STATUS `json:"tcp,omitempty"` +} + +// Storage version of v1api20240301.SecretVolumeItem +// Secret to be added to volume. +type SecretVolumeItem struct { + Path *string `json:"path,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SecretRef *string `json:"secretRef,omitempty"` +} + +// Storage version of v1api20240301.SecretVolumeItem_STATUS +// Secret to be added to volume. +type SecretVolumeItem_STATUS struct { + Path *string `json:"path,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SecretRef *string `json:"secretRef,omitempty"` +} + +// Storage version of v1api20240301.TrafficWeight +// Traffic weight assigned to a revision +type TrafficWeight struct { + Label *string `json:"label,omitempty"` + LatestRevision *bool `json:"latestRevision,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + RevisionName *string `json:"revisionName,omitempty"` + Weight *int `json:"weight,omitempty"` +} + +// Storage version of v1api20240301.TrafficWeight_STATUS +// Traffic weight assigned to a revision +type TrafficWeight_STATUS struct { + Label *string `json:"label,omitempty"` + LatestRevision *bool `json:"latestRevision,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + RevisionName *string `json:"revisionName,omitempty"` + Weight *int `json:"weight,omitempty"` +} + +// Storage version of v1api20240301.VolumeMount +// Volume mount for the Container App. +type VolumeMount struct { + MountPath *string `json:"mountPath,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SubPath *string `json:"subPath,omitempty"` + VolumeName *string `json:"volumeName,omitempty"` +} + +// Storage version of v1api20240301.VolumeMount_STATUS +// Volume mount for the Container App. +type VolumeMount_STATUS struct { + MountPath *string `json:"mountPath,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SubPath *string `json:"subPath,omitempty"` + VolumeName *string `json:"volumeName,omitempty"` +} + +// Storage version of v1api20240301.ContainerAppProbe_HttpGet +type ContainerAppProbe_HttpGet struct { + Host *string `json:"host,omitempty"` + HttpHeaders []ContainerAppProbe_HttpGet_HttpHeaders `json:"httpHeaders,omitempty"` + Path *string `json:"path,omitempty"` + Port *int `json:"port,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Scheme *string `json:"scheme,omitempty"` +} + +// Storage version of v1api20240301.ContainerAppProbe_HttpGet_STATUS +type ContainerAppProbe_HttpGet_STATUS struct { + Host *string `json:"host,omitempty"` + HttpHeaders []ContainerAppProbe_HttpGet_HttpHeaders_STATUS `json:"httpHeaders,omitempty"` + Path *string `json:"path,omitempty"` + Port *int `json:"port,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Scheme *string `json:"scheme,omitempty"` +} + +// Storage version of v1api20240301.ContainerAppProbe_TcpSocket +type ContainerAppProbe_TcpSocket struct { + Host *string `json:"host,omitempty"` + Port *int `json:"port,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.ContainerAppProbe_TcpSocket_STATUS +type ContainerAppProbe_TcpSocket_STATUS struct { + Host *string `json:"host,omitempty"` + Port *int `json:"port,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.CustomScaleRule +// Container App container Custom scaling rule. +type CustomScaleRule struct { + Auth []ScaleRuleAuth `json:"auth,omitempty"` + Metadata map[string]string `json:"metadata,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Type *string `json:"type,omitempty"` +} + +// Storage version of v1api20240301.CustomScaleRule_STATUS +// Container App container Custom scaling rule. +type CustomScaleRule_STATUS struct { + Auth []ScaleRuleAuth_STATUS `json:"auth,omitempty"` + Metadata map[string]string `json:"metadata,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Type *string `json:"type,omitempty"` +} + +// Storage version of v1api20240301.HttpScaleRule +// Container App container Http scaling rule. +type HttpScaleRule struct { + Auth []ScaleRuleAuth `json:"auth,omitempty"` + Metadata map[string]string `json:"metadata,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.HttpScaleRule_STATUS +// Container App container Http scaling rule. +type HttpScaleRule_STATUS struct { + Auth []ScaleRuleAuth_STATUS `json:"auth,omitempty"` + Metadata map[string]string `json:"metadata,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.QueueScaleRule +// Container App container Azure Queue based scaling rule. +type QueueScaleRule struct { + Auth []ScaleRuleAuth `json:"auth,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + QueueLength *int `json:"queueLength,omitempty"` + QueueName *string `json:"queueName,omitempty"` +} + +// Storage version of v1api20240301.QueueScaleRule_STATUS +// Container App container Azure Queue based scaling rule. +type QueueScaleRule_STATUS struct { + Auth []ScaleRuleAuth_STATUS `json:"auth,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + QueueLength *int `json:"queueLength,omitempty"` + QueueName *string `json:"queueName,omitempty"` +} + +// Storage version of v1api20240301.TcpScaleRule +// Container App container Tcp scaling rule. +type TcpScaleRule struct { + Auth []ScaleRuleAuth `json:"auth,omitempty"` + Metadata map[string]string `json:"metadata,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.TcpScaleRule_STATUS +// Container App container Tcp scaling rule. +type TcpScaleRule_STATUS struct { + Auth []ScaleRuleAuth_STATUS `json:"auth,omitempty"` + Metadata map[string]string `json:"metadata,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.ContainerAppProbe_HttpGet_HttpHeaders +type ContainerAppProbe_HttpGet_HttpHeaders struct { + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Value *string `json:"value,omitempty"` +} + +// Storage version of v1api20240301.ContainerAppProbe_HttpGet_HttpHeaders_STATUS +type ContainerAppProbe_HttpGet_HttpHeaders_STATUS struct { + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Value *string `json:"value,omitempty"` +} + +// Storage version of v1api20240301.ScaleRuleAuth +// Auth Secrets for Scale Rule +type ScaleRuleAuth struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SecretRef *string `json:"secretRef,omitempty"` + TriggerParameter *string `json:"triggerParameter,omitempty"` +} + +// Storage version of v1api20240301.ScaleRuleAuth_STATUS +// Auth Secrets for Scale Rule +type ScaleRuleAuth_STATUS struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SecretRef *string `json:"secretRef,omitempty"` + TriggerParameter *string `json:"triggerParameter,omitempty"` +} + +func init() { + SchemeBuilder.Register(&ContainerApp{}, &ContainerAppList{}) +} diff --git a/v2/api/app/v1api20240301/storage/container_app_types_gen_test.go b/v2/api/app/v1api20240301/storage/container_app_types_gen_test.go new file mode 100644 index 00000000000..ae118a519d3 --- /dev/null +++ b/v2/api/app/v1api20240301/storage/container_app_types_gen_test.go @@ -0,0 +1,5211 @@ +// 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_BaseContainer_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 BaseContainer via JSON returns original", + prop.ForAll(RunJSONSerializationTestForBaseContainer, BaseContainerGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForBaseContainer runs a test to see if a specific instance of BaseContainer round trips to JSON and back losslessly +func RunJSONSerializationTestForBaseContainer(subject BaseContainer) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual BaseContainer + 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 BaseContainer instances for property testing - lazily instantiated by BaseContainerGenerator() +var baseContainerGenerator gopter.Gen + +// BaseContainerGenerator returns a generator of BaseContainer instances for property testing. +// We first initialize baseContainerGenerator 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 BaseContainerGenerator() gopter.Gen { + if baseContainerGenerator != nil { + return baseContainerGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForBaseContainer(generators) + baseContainerGenerator = gen.Struct(reflect.TypeOf(BaseContainer{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForBaseContainer(generators) + AddRelatedPropertyGeneratorsForBaseContainer(generators) + baseContainerGenerator = gen.Struct(reflect.TypeOf(BaseContainer{}), generators) + + return baseContainerGenerator +} + +// AddIndependentPropertyGeneratorsForBaseContainer is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForBaseContainer(gens map[string]gopter.Gen) { + gens["Args"] = gen.SliceOf(gen.AlphaString()) + gens["Command"] = gen.SliceOf(gen.AlphaString()) + gens["Image"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForBaseContainer is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForBaseContainer(gens map[string]gopter.Gen) { + gens["Env"] = gen.SliceOf(EnvironmentVarGenerator()) + gens["Resources"] = gen.PtrOf(ContainerResourcesGenerator()) + gens["VolumeMounts"] = gen.SliceOf(VolumeMountGenerator()) +} + +func Test_BaseContainer_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 BaseContainer_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForBaseContainer_STATUS, BaseContainer_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForBaseContainer_STATUS runs a test to see if a specific instance of BaseContainer_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForBaseContainer_STATUS(subject BaseContainer_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual BaseContainer_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 BaseContainer_STATUS instances for property testing - lazily instantiated by +// BaseContainer_STATUSGenerator() +var baseContainer_STATUSGenerator gopter.Gen + +// BaseContainer_STATUSGenerator returns a generator of BaseContainer_STATUS instances for property testing. +// We first initialize baseContainer_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 BaseContainer_STATUSGenerator() gopter.Gen { + if baseContainer_STATUSGenerator != nil { + return baseContainer_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForBaseContainer_STATUS(generators) + baseContainer_STATUSGenerator = gen.Struct(reflect.TypeOf(BaseContainer_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForBaseContainer_STATUS(generators) + AddRelatedPropertyGeneratorsForBaseContainer_STATUS(generators) + baseContainer_STATUSGenerator = gen.Struct(reflect.TypeOf(BaseContainer_STATUS{}), generators) + + return baseContainer_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForBaseContainer_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForBaseContainer_STATUS(gens map[string]gopter.Gen) { + gens["Args"] = gen.SliceOf(gen.AlphaString()) + gens["Command"] = gen.SliceOf(gen.AlphaString()) + gens["Image"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForBaseContainer_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForBaseContainer_STATUS(gens map[string]gopter.Gen) { + gens["Env"] = gen.SliceOf(EnvironmentVar_STATUSGenerator()) + gens["Resources"] = gen.PtrOf(ContainerResources_STATUSGenerator()) + gens["VolumeMounts"] = gen.SliceOf(VolumeMount_STATUSGenerator()) +} + +func Test_Configuration_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 Configuration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForConfiguration, ConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForConfiguration runs a test to see if a specific instance of Configuration round trips to JSON and back losslessly +func RunJSONSerializationTestForConfiguration(subject Configuration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Configuration + 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 Configuration instances for property testing - lazily instantiated by ConfigurationGenerator() +var configurationGenerator gopter.Gen + +// ConfigurationGenerator returns a generator of Configuration instances for property testing. +// We first initialize configurationGenerator 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 ConfigurationGenerator() gopter.Gen { + if configurationGenerator != nil { + return configurationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForConfiguration(generators) + configurationGenerator = gen.Struct(reflect.TypeOf(Configuration{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForConfiguration(generators) + AddRelatedPropertyGeneratorsForConfiguration(generators) + configurationGenerator = gen.Struct(reflect.TypeOf(Configuration{}), generators) + + return configurationGenerator +} + +// AddIndependentPropertyGeneratorsForConfiguration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForConfiguration(gens map[string]gopter.Gen) { + gens["ActiveRevisionsMode"] = gen.PtrOf(gen.AlphaString()) + gens["MaxInactiveRevisions"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForConfiguration is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForConfiguration(gens map[string]gopter.Gen) { + gens["Dapr"] = gen.PtrOf(DaprGenerator()) + gens["Ingress"] = gen.PtrOf(IngressGenerator()) + gens["Registries"] = gen.SliceOf(RegistryCredentialsGenerator()) + gens["Secrets"] = gen.SliceOf(SecretGenerator()) + gens["Service"] = gen.PtrOf(ServiceGenerator()) +} + +func Test_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 Configuration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForConfiguration_STATUS, Configuration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForConfiguration_STATUS runs a test to see if a specific instance of Configuration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForConfiguration_STATUS(subject Configuration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual 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 Configuration_STATUS instances for property testing - lazily instantiated by +// Configuration_STATUSGenerator() +var configuration_STATUSGenerator gopter.Gen + +// Configuration_STATUSGenerator returns a generator of Configuration_STATUS instances for property testing. +// We first initialize 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 Configuration_STATUSGenerator() gopter.Gen { + if configuration_STATUSGenerator != nil { + return configuration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForConfiguration_STATUS(generators) + configuration_STATUSGenerator = gen.Struct(reflect.TypeOf(Configuration_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForConfiguration_STATUS(generators) + AddRelatedPropertyGeneratorsForConfiguration_STATUS(generators) + configuration_STATUSGenerator = gen.Struct(reflect.TypeOf(Configuration_STATUS{}), generators) + + return configuration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForConfiguration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["ActiveRevisionsMode"] = gen.PtrOf(gen.AlphaString()) + gens["MaxInactiveRevisions"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForConfiguration_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["Dapr"] = gen.PtrOf(Dapr_STATUSGenerator()) + gens["Ingress"] = gen.PtrOf(Ingress_STATUSGenerator()) + gens["Registries"] = gen.SliceOf(RegistryCredentials_STATUSGenerator()) + gens["Secrets"] = gen.SliceOf(Secret_STATUSGenerator()) + gens["Service"] = gen.PtrOf(Service_STATUSGenerator()) +} + +func Test_Container_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 Container via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainer, ContainerGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainer runs a test to see if a specific instance of Container round trips to JSON and back losslessly +func RunJSONSerializationTestForContainer(subject Container) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Container + 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 Container instances for property testing - lazily instantiated by ContainerGenerator() +var containerGenerator gopter.Gen + +// ContainerGenerator returns a generator of Container instances for property testing. +// We first initialize containerGenerator 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 ContainerGenerator() gopter.Gen { + if containerGenerator != nil { + return containerGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainer(generators) + containerGenerator = gen.Struct(reflect.TypeOf(Container{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainer(generators) + AddRelatedPropertyGeneratorsForContainer(generators) + containerGenerator = gen.Struct(reflect.TypeOf(Container{}), generators) + + return containerGenerator +} + +// AddIndependentPropertyGeneratorsForContainer is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainer(gens map[string]gopter.Gen) { + gens["Args"] = gen.SliceOf(gen.AlphaString()) + gens["Command"] = gen.SliceOf(gen.AlphaString()) + gens["Image"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForContainer is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainer(gens map[string]gopter.Gen) { + gens["Env"] = gen.SliceOf(EnvironmentVarGenerator()) + gens["Probes"] = gen.SliceOf(ContainerAppProbeGenerator()) + gens["Resources"] = gen.PtrOf(ContainerResourcesGenerator()) + gens["VolumeMounts"] = gen.SliceOf(VolumeMountGenerator()) +} + +func Test_ContainerApp_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 ContainerApp via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerApp, ContainerAppGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerApp runs a test to see if a specific instance of ContainerApp round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerApp(subject ContainerApp) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerApp + 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 ContainerApp instances for property testing - lazily instantiated by ContainerAppGenerator() +var containerAppGenerator gopter.Gen + +// ContainerAppGenerator returns a generator of ContainerApp instances for property testing. +func ContainerAppGenerator() gopter.Gen { + if containerAppGenerator != nil { + return containerAppGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForContainerApp(generators) + containerAppGenerator = gen.Struct(reflect.TypeOf(ContainerApp{}), generators) + + return containerAppGenerator +} + +// AddRelatedPropertyGeneratorsForContainerApp is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerApp(gens map[string]gopter.Gen) { + gens["Spec"] = ContainerApp_SpecGenerator() + gens["Status"] = ContainerApp_STATUSGenerator() +} + +func Test_ContainerAppOperatorConfigMaps_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 ContainerAppOperatorConfigMaps via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerAppOperatorConfigMaps, ContainerAppOperatorConfigMapsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerAppOperatorConfigMaps runs a test to see if a specific instance of ContainerAppOperatorConfigMaps round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerAppOperatorConfigMaps(subject ContainerAppOperatorConfigMaps) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerAppOperatorConfigMaps + 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 ContainerAppOperatorConfigMaps instances for property testing - lazily instantiated by +// ContainerAppOperatorConfigMapsGenerator() +var containerAppOperatorConfigMapsGenerator gopter.Gen + +// ContainerAppOperatorConfigMapsGenerator returns a generator of ContainerAppOperatorConfigMaps instances for property testing. +func ContainerAppOperatorConfigMapsGenerator() gopter.Gen { + if containerAppOperatorConfigMapsGenerator != nil { + return containerAppOperatorConfigMapsGenerator + } + + generators := make(map[string]gopter.Gen) + containerAppOperatorConfigMapsGenerator = gen.Struct(reflect.TypeOf(ContainerAppOperatorConfigMaps{}), generators) + + return containerAppOperatorConfigMapsGenerator +} + +func Test_ContainerAppOperatorSpec_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 ContainerAppOperatorSpec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerAppOperatorSpec, ContainerAppOperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerAppOperatorSpec runs a test to see if a specific instance of ContainerAppOperatorSpec round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerAppOperatorSpec(subject ContainerAppOperatorSpec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerAppOperatorSpec + 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 ContainerAppOperatorSpec instances for property testing - lazily instantiated by +// ContainerAppOperatorSpecGenerator() +var containerAppOperatorSpecGenerator gopter.Gen + +// ContainerAppOperatorSpecGenerator returns a generator of ContainerAppOperatorSpec instances for property testing. +func ContainerAppOperatorSpecGenerator() gopter.Gen { + if containerAppOperatorSpecGenerator != nil { + return containerAppOperatorSpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForContainerAppOperatorSpec(generators) + containerAppOperatorSpecGenerator = gen.Struct(reflect.TypeOf(ContainerAppOperatorSpec{}), generators) + + return containerAppOperatorSpecGenerator +} + +// AddRelatedPropertyGeneratorsForContainerAppOperatorSpec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerAppOperatorSpec(gens map[string]gopter.Gen) { + gens["ConfigMaps"] = gen.PtrOf(ContainerAppOperatorConfigMapsGenerator()) +} + +func Test_ContainerAppProbe_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 ContainerAppProbe via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerAppProbe, ContainerAppProbeGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerAppProbe runs a test to see if a specific instance of ContainerAppProbe round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerAppProbe(subject ContainerAppProbe) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerAppProbe + 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 ContainerAppProbe instances for property testing - lazily instantiated by ContainerAppProbeGenerator() +var containerAppProbeGenerator gopter.Gen + +// ContainerAppProbeGenerator returns a generator of ContainerAppProbe instances for property testing. +// We first initialize containerAppProbeGenerator 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 ContainerAppProbeGenerator() gopter.Gen { + if containerAppProbeGenerator != nil { + return containerAppProbeGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe(generators) + containerAppProbeGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe(generators) + AddRelatedPropertyGeneratorsForContainerAppProbe(generators) + containerAppProbeGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe{}), generators) + + return containerAppProbeGenerator +} + +// AddIndependentPropertyGeneratorsForContainerAppProbe is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerAppProbe(gens map[string]gopter.Gen) { + gens["FailureThreshold"] = gen.PtrOf(gen.Int()) + gens["InitialDelaySeconds"] = gen.PtrOf(gen.Int()) + gens["PeriodSeconds"] = gen.PtrOf(gen.Int()) + gens["SuccessThreshold"] = gen.PtrOf(gen.Int()) + gens["TerminationGracePeriodSeconds"] = gen.PtrOf(gen.Int()) + gens["TimeoutSeconds"] = gen.PtrOf(gen.Int()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForContainerAppProbe is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerAppProbe(gens map[string]gopter.Gen) { + gens["HttpGet"] = gen.PtrOf(ContainerAppProbe_HttpGetGenerator()) + gens["TcpSocket"] = gen.PtrOf(ContainerAppProbe_TcpSocketGenerator()) +} + +func Test_ContainerAppProbe_HttpGet_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 ContainerAppProbe_HttpGet via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerAppProbe_HttpGet, ContainerAppProbe_HttpGetGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerAppProbe_HttpGet runs a test to see if a specific instance of ContainerAppProbe_HttpGet round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerAppProbe_HttpGet(subject ContainerAppProbe_HttpGet) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerAppProbe_HttpGet + 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 ContainerAppProbe_HttpGet instances for property testing - lazily instantiated by +// ContainerAppProbe_HttpGetGenerator() +var containerAppProbe_HttpGetGenerator gopter.Gen + +// ContainerAppProbe_HttpGetGenerator returns a generator of ContainerAppProbe_HttpGet instances for property testing. +// We first initialize containerAppProbe_HttpGetGenerator 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 ContainerAppProbe_HttpGetGenerator() gopter.Gen { + if containerAppProbe_HttpGetGenerator != nil { + return containerAppProbe_HttpGetGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet(generators) + containerAppProbe_HttpGetGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe_HttpGet{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet(generators) + AddRelatedPropertyGeneratorsForContainerAppProbe_HttpGet(generators) + containerAppProbe_HttpGetGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe_HttpGet{}), generators) + + return containerAppProbe_HttpGetGenerator +} + +// AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet(gens map[string]gopter.Gen) { + gens["Host"] = gen.PtrOf(gen.AlphaString()) + gens["Path"] = gen.PtrOf(gen.AlphaString()) + gens["Port"] = gen.PtrOf(gen.Int()) + gens["Scheme"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForContainerAppProbe_HttpGet is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerAppProbe_HttpGet(gens map[string]gopter.Gen) { + gens["HttpHeaders"] = gen.SliceOf(ContainerAppProbe_HttpGet_HttpHeadersGenerator()) +} + +func Test_ContainerAppProbe_HttpGet_HttpHeaders_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 ContainerAppProbe_HttpGet_HttpHeaders via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerAppProbe_HttpGet_HttpHeaders, ContainerAppProbe_HttpGet_HttpHeadersGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerAppProbe_HttpGet_HttpHeaders runs a test to see if a specific instance of ContainerAppProbe_HttpGet_HttpHeaders round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerAppProbe_HttpGet_HttpHeaders(subject ContainerAppProbe_HttpGet_HttpHeaders) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerAppProbe_HttpGet_HttpHeaders + 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 ContainerAppProbe_HttpGet_HttpHeaders instances for property testing - lazily instantiated by +// ContainerAppProbe_HttpGet_HttpHeadersGenerator() +var containerAppProbe_HttpGet_HttpHeadersGenerator gopter.Gen + +// ContainerAppProbe_HttpGet_HttpHeadersGenerator returns a generator of ContainerAppProbe_HttpGet_HttpHeaders instances for property testing. +func ContainerAppProbe_HttpGet_HttpHeadersGenerator() gopter.Gen { + if containerAppProbe_HttpGet_HttpHeadersGenerator != nil { + return containerAppProbe_HttpGet_HttpHeadersGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet_HttpHeaders(generators) + containerAppProbe_HttpGet_HttpHeadersGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe_HttpGet_HttpHeaders{}), generators) + + return containerAppProbe_HttpGet_HttpHeadersGenerator +} + +// AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet_HttpHeaders is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet_HttpHeaders(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Value"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ContainerAppProbe_HttpGet_HttpHeaders_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 ContainerAppProbe_HttpGet_HttpHeaders_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerAppProbe_HttpGet_HttpHeaders_STATUS, ContainerAppProbe_HttpGet_HttpHeaders_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerAppProbe_HttpGet_HttpHeaders_STATUS runs a test to see if a specific instance of ContainerAppProbe_HttpGet_HttpHeaders_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerAppProbe_HttpGet_HttpHeaders_STATUS(subject ContainerAppProbe_HttpGet_HttpHeaders_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerAppProbe_HttpGet_HttpHeaders_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 ContainerAppProbe_HttpGet_HttpHeaders_STATUS instances for property testing - lazily instantiated by +// ContainerAppProbe_HttpGet_HttpHeaders_STATUSGenerator() +var containerAppProbe_HttpGet_HttpHeaders_STATUSGenerator gopter.Gen + +// ContainerAppProbe_HttpGet_HttpHeaders_STATUSGenerator returns a generator of ContainerAppProbe_HttpGet_HttpHeaders_STATUS instances for property testing. +func ContainerAppProbe_HttpGet_HttpHeaders_STATUSGenerator() gopter.Gen { + if containerAppProbe_HttpGet_HttpHeaders_STATUSGenerator != nil { + return containerAppProbe_HttpGet_HttpHeaders_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet_HttpHeaders_STATUS(generators) + containerAppProbe_HttpGet_HttpHeaders_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe_HttpGet_HttpHeaders_STATUS{}), generators) + + return containerAppProbe_HttpGet_HttpHeaders_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet_HttpHeaders_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet_HttpHeaders_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Value"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ContainerAppProbe_HttpGet_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 ContainerAppProbe_HttpGet_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerAppProbe_HttpGet_STATUS, ContainerAppProbe_HttpGet_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerAppProbe_HttpGet_STATUS runs a test to see if a specific instance of ContainerAppProbe_HttpGet_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerAppProbe_HttpGet_STATUS(subject ContainerAppProbe_HttpGet_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerAppProbe_HttpGet_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 ContainerAppProbe_HttpGet_STATUS instances for property testing - lazily instantiated by +// ContainerAppProbe_HttpGet_STATUSGenerator() +var containerAppProbe_HttpGet_STATUSGenerator gopter.Gen + +// ContainerAppProbe_HttpGet_STATUSGenerator returns a generator of ContainerAppProbe_HttpGet_STATUS instances for property testing. +// We first initialize containerAppProbe_HttpGet_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 ContainerAppProbe_HttpGet_STATUSGenerator() gopter.Gen { + if containerAppProbe_HttpGet_STATUSGenerator != nil { + return containerAppProbe_HttpGet_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet_STATUS(generators) + containerAppProbe_HttpGet_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe_HttpGet_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet_STATUS(generators) + AddRelatedPropertyGeneratorsForContainerAppProbe_HttpGet_STATUS(generators) + containerAppProbe_HttpGet_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe_HttpGet_STATUS{}), generators) + + return containerAppProbe_HttpGet_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerAppProbe_HttpGet_STATUS(gens map[string]gopter.Gen) { + gens["Host"] = gen.PtrOf(gen.AlphaString()) + gens["Path"] = gen.PtrOf(gen.AlphaString()) + gens["Port"] = gen.PtrOf(gen.Int()) + gens["Scheme"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForContainerAppProbe_HttpGet_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerAppProbe_HttpGet_STATUS(gens map[string]gopter.Gen) { + gens["HttpHeaders"] = gen.SliceOf(ContainerAppProbe_HttpGet_HttpHeaders_STATUSGenerator()) +} + +func Test_ContainerAppProbe_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 ContainerAppProbe_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerAppProbe_STATUS, ContainerAppProbe_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerAppProbe_STATUS runs a test to see if a specific instance of ContainerAppProbe_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerAppProbe_STATUS(subject ContainerAppProbe_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerAppProbe_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 ContainerAppProbe_STATUS instances for property testing - lazily instantiated by +// ContainerAppProbe_STATUSGenerator() +var containerAppProbe_STATUSGenerator gopter.Gen + +// ContainerAppProbe_STATUSGenerator returns a generator of ContainerAppProbe_STATUS instances for property testing. +// We first initialize containerAppProbe_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 ContainerAppProbe_STATUSGenerator() gopter.Gen { + if containerAppProbe_STATUSGenerator != nil { + return containerAppProbe_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe_STATUS(generators) + containerAppProbe_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe_STATUS(generators) + AddRelatedPropertyGeneratorsForContainerAppProbe_STATUS(generators) + containerAppProbe_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe_STATUS{}), generators) + + return containerAppProbe_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForContainerAppProbe_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerAppProbe_STATUS(gens map[string]gopter.Gen) { + gens["FailureThreshold"] = gen.PtrOf(gen.Int()) + gens["InitialDelaySeconds"] = gen.PtrOf(gen.Int()) + gens["PeriodSeconds"] = gen.PtrOf(gen.Int()) + gens["SuccessThreshold"] = gen.PtrOf(gen.Int()) + gens["TerminationGracePeriodSeconds"] = gen.PtrOf(gen.Int()) + gens["TimeoutSeconds"] = gen.PtrOf(gen.Int()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForContainerAppProbe_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerAppProbe_STATUS(gens map[string]gopter.Gen) { + gens["HttpGet"] = gen.PtrOf(ContainerAppProbe_HttpGet_STATUSGenerator()) + gens["TcpSocket"] = gen.PtrOf(ContainerAppProbe_TcpSocket_STATUSGenerator()) +} + +func Test_ContainerAppProbe_TcpSocket_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 ContainerAppProbe_TcpSocket via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerAppProbe_TcpSocket, ContainerAppProbe_TcpSocketGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerAppProbe_TcpSocket runs a test to see if a specific instance of ContainerAppProbe_TcpSocket round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerAppProbe_TcpSocket(subject ContainerAppProbe_TcpSocket) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerAppProbe_TcpSocket + 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 ContainerAppProbe_TcpSocket instances for property testing - lazily instantiated by +// ContainerAppProbe_TcpSocketGenerator() +var containerAppProbe_TcpSocketGenerator gopter.Gen + +// ContainerAppProbe_TcpSocketGenerator returns a generator of ContainerAppProbe_TcpSocket instances for property testing. +func ContainerAppProbe_TcpSocketGenerator() gopter.Gen { + if containerAppProbe_TcpSocketGenerator != nil { + return containerAppProbe_TcpSocketGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe_TcpSocket(generators) + containerAppProbe_TcpSocketGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe_TcpSocket{}), generators) + + return containerAppProbe_TcpSocketGenerator +} + +// AddIndependentPropertyGeneratorsForContainerAppProbe_TcpSocket is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerAppProbe_TcpSocket(gens map[string]gopter.Gen) { + gens["Host"] = gen.PtrOf(gen.AlphaString()) + gens["Port"] = gen.PtrOf(gen.Int()) +} + +func Test_ContainerAppProbe_TcpSocket_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 ContainerAppProbe_TcpSocket_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerAppProbe_TcpSocket_STATUS, ContainerAppProbe_TcpSocket_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerAppProbe_TcpSocket_STATUS runs a test to see if a specific instance of ContainerAppProbe_TcpSocket_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerAppProbe_TcpSocket_STATUS(subject ContainerAppProbe_TcpSocket_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerAppProbe_TcpSocket_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 ContainerAppProbe_TcpSocket_STATUS instances for property testing - lazily instantiated by +// ContainerAppProbe_TcpSocket_STATUSGenerator() +var containerAppProbe_TcpSocket_STATUSGenerator gopter.Gen + +// ContainerAppProbe_TcpSocket_STATUSGenerator returns a generator of ContainerAppProbe_TcpSocket_STATUS instances for property testing. +func ContainerAppProbe_TcpSocket_STATUSGenerator() gopter.Gen { + if containerAppProbe_TcpSocket_STATUSGenerator != nil { + return containerAppProbe_TcpSocket_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerAppProbe_TcpSocket_STATUS(generators) + containerAppProbe_TcpSocket_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerAppProbe_TcpSocket_STATUS{}), generators) + + return containerAppProbe_TcpSocket_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForContainerAppProbe_TcpSocket_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerAppProbe_TcpSocket_STATUS(gens map[string]gopter.Gen) { + gens["Host"] = gen.PtrOf(gen.AlphaString()) + gens["Port"] = gen.PtrOf(gen.Int()) +} + +func Test_ContainerApp_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 ContainerApp_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerApp_STATUS, ContainerApp_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerApp_STATUS runs a test to see if a specific instance of ContainerApp_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerApp_STATUS(subject ContainerApp_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerApp_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 ContainerApp_STATUS instances for property testing - lazily instantiated by +// ContainerApp_STATUSGenerator() +var containerApp_STATUSGenerator gopter.Gen + +// ContainerApp_STATUSGenerator returns a generator of ContainerApp_STATUS instances for property testing. +// We first initialize containerApp_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 ContainerApp_STATUSGenerator() gopter.Gen { + if containerApp_STATUSGenerator != nil { + return containerApp_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerApp_STATUS(generators) + containerApp_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerApp_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerApp_STATUS(generators) + AddRelatedPropertyGeneratorsForContainerApp_STATUS(generators) + containerApp_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerApp_STATUS{}), generators) + + return containerApp_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForContainerApp_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerApp_STATUS(gens map[string]gopter.Gen) { + gens["CustomDomainVerificationId"] = gen.PtrOf(gen.AlphaString()) + gens["EnvironmentId"] = gen.PtrOf(gen.AlphaString()) + gens["EventStreamEndpoint"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["LatestReadyRevisionName"] = gen.PtrOf(gen.AlphaString()) + gens["LatestRevisionFqdn"] = gen.PtrOf(gen.AlphaString()) + gens["LatestRevisionName"] = gen.PtrOf(gen.AlphaString()) + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["ManagedBy"] = gen.PtrOf(gen.AlphaString()) + gens["ManagedEnvironmentId"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["OutboundIpAddresses"] = gen.SliceOf(gen.AlphaString()) + gens["ProvisioningState"] = gen.PtrOf(gen.AlphaString()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) + gens["WorkloadProfileName"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForContainerApp_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerApp_STATUS(gens map[string]gopter.Gen) { + gens["Configuration"] = gen.PtrOf(Configuration_STATUSGenerator()) + gens["ExtendedLocation"] = gen.PtrOf(ExtendedLocation_STATUSGenerator()) + gens["Identity"] = gen.PtrOf(ManagedServiceIdentity_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) + gens["Template"] = gen.PtrOf(Template_STATUSGenerator()) +} + +func Test_ContainerApp_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 ContainerApp_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerApp_Spec, ContainerApp_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerApp_Spec runs a test to see if a specific instance of ContainerApp_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerApp_Spec(subject ContainerApp_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerApp_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 ContainerApp_Spec instances for property testing - lazily instantiated by ContainerApp_SpecGenerator() +var containerApp_SpecGenerator gopter.Gen + +// ContainerApp_SpecGenerator returns a generator of ContainerApp_Spec instances for property testing. +// We first initialize containerApp_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 ContainerApp_SpecGenerator() gopter.Gen { + if containerApp_SpecGenerator != nil { + return containerApp_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerApp_Spec(generators) + containerApp_SpecGenerator = gen.Struct(reflect.TypeOf(ContainerApp_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerApp_Spec(generators) + AddRelatedPropertyGeneratorsForContainerApp_Spec(generators) + containerApp_SpecGenerator = gen.Struct(reflect.TypeOf(ContainerApp_Spec{}), generators) + + return containerApp_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForContainerApp_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerApp_Spec(gens map[string]gopter.Gen) { + gens["AzureName"] = gen.AlphaString() + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["OriginalVersion"] = gen.AlphaString() + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["WorkloadProfileName"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForContainerApp_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerApp_Spec(gens map[string]gopter.Gen) { + gens["Configuration"] = gen.PtrOf(ConfigurationGenerator()) + gens["ExtendedLocation"] = gen.PtrOf(ExtendedLocationGenerator()) + gens["Identity"] = gen.PtrOf(ManagedServiceIdentityGenerator()) + gens["OperatorSpec"] = gen.PtrOf(ContainerAppOperatorSpecGenerator()) + gens["Template"] = gen.PtrOf(TemplateGenerator()) +} + +func Test_ContainerResources_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 ContainerResources via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerResources, ContainerResourcesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerResources runs a test to see if a specific instance of ContainerResources round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerResources(subject ContainerResources) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerResources + 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 ContainerResources instances for property testing - lazily instantiated by ContainerResourcesGenerator() +var containerResourcesGenerator gopter.Gen + +// ContainerResourcesGenerator returns a generator of ContainerResources instances for property testing. +func ContainerResourcesGenerator() gopter.Gen { + if containerResourcesGenerator != nil { + return containerResourcesGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerResources(generators) + containerResourcesGenerator = gen.Struct(reflect.TypeOf(ContainerResources{}), generators) + + return containerResourcesGenerator +} + +// AddIndependentPropertyGeneratorsForContainerResources is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerResources(gens map[string]gopter.Gen) { + gens["Cpu"] = gen.PtrOf(gen.Float64()) + gens["Memory"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ContainerResources_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 ContainerResources_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerResources_STATUS, ContainerResources_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerResources_STATUS runs a test to see if a specific instance of ContainerResources_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerResources_STATUS(subject ContainerResources_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerResources_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 ContainerResources_STATUS instances for property testing - lazily instantiated by +// ContainerResources_STATUSGenerator() +var containerResources_STATUSGenerator gopter.Gen + +// ContainerResources_STATUSGenerator returns a generator of ContainerResources_STATUS instances for property testing. +func ContainerResources_STATUSGenerator() gopter.Gen { + if containerResources_STATUSGenerator != nil { + return containerResources_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerResources_STATUS(generators) + containerResources_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerResources_STATUS{}), generators) + + return containerResources_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForContainerResources_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerResources_STATUS(gens map[string]gopter.Gen) { + gens["Cpu"] = gen.PtrOf(gen.Float64()) + gens["EphemeralStorage"] = gen.PtrOf(gen.AlphaString()) + gens["Memory"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Container_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 Container_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainer_STATUS, Container_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainer_STATUS runs a test to see if a specific instance of Container_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainer_STATUS(subject Container_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Container_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 Container_STATUS instances for property testing - lazily instantiated by Container_STATUSGenerator() +var container_STATUSGenerator gopter.Gen + +// Container_STATUSGenerator returns a generator of Container_STATUS instances for property testing. +// We first initialize container_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 Container_STATUSGenerator() gopter.Gen { + if container_STATUSGenerator != nil { + return container_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainer_STATUS(generators) + container_STATUSGenerator = gen.Struct(reflect.TypeOf(Container_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainer_STATUS(generators) + AddRelatedPropertyGeneratorsForContainer_STATUS(generators) + container_STATUSGenerator = gen.Struct(reflect.TypeOf(Container_STATUS{}), generators) + + return container_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForContainer_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainer_STATUS(gens map[string]gopter.Gen) { + gens["Args"] = gen.SliceOf(gen.AlphaString()) + gens["Command"] = gen.SliceOf(gen.AlphaString()) + gens["Image"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForContainer_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainer_STATUS(gens map[string]gopter.Gen) { + gens["Env"] = gen.SliceOf(EnvironmentVar_STATUSGenerator()) + gens["Probes"] = gen.SliceOf(ContainerAppProbe_STATUSGenerator()) + gens["Resources"] = gen.PtrOf(ContainerResources_STATUSGenerator()) + gens["VolumeMounts"] = gen.SliceOf(VolumeMount_STATUSGenerator()) +} + +func Test_CorsPolicy_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 CorsPolicy via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCorsPolicy, CorsPolicyGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCorsPolicy runs a test to see if a specific instance of CorsPolicy round trips to JSON and back losslessly +func RunJSONSerializationTestForCorsPolicy(subject CorsPolicy) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CorsPolicy + 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 CorsPolicy instances for property testing - lazily instantiated by CorsPolicyGenerator() +var corsPolicyGenerator gopter.Gen + +// CorsPolicyGenerator returns a generator of CorsPolicy instances for property testing. +func CorsPolicyGenerator() gopter.Gen { + if corsPolicyGenerator != nil { + return corsPolicyGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCorsPolicy(generators) + corsPolicyGenerator = gen.Struct(reflect.TypeOf(CorsPolicy{}), generators) + + return corsPolicyGenerator +} + +// AddIndependentPropertyGeneratorsForCorsPolicy is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCorsPolicy(gens map[string]gopter.Gen) { + gens["AllowCredentials"] = gen.PtrOf(gen.Bool()) + gens["AllowedHeaders"] = gen.SliceOf(gen.AlphaString()) + gens["AllowedMethods"] = gen.SliceOf(gen.AlphaString()) + gens["AllowedOrigins"] = gen.SliceOf(gen.AlphaString()) + gens["ExposeHeaders"] = gen.SliceOf(gen.AlphaString()) + gens["MaxAge"] = gen.PtrOf(gen.Int()) +} + +func Test_CorsPolicy_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 CorsPolicy_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCorsPolicy_STATUS, CorsPolicy_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCorsPolicy_STATUS runs a test to see if a specific instance of CorsPolicy_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForCorsPolicy_STATUS(subject CorsPolicy_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CorsPolicy_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 CorsPolicy_STATUS instances for property testing - lazily instantiated by CorsPolicy_STATUSGenerator() +var corsPolicy_STATUSGenerator gopter.Gen + +// CorsPolicy_STATUSGenerator returns a generator of CorsPolicy_STATUS instances for property testing. +func CorsPolicy_STATUSGenerator() gopter.Gen { + if corsPolicy_STATUSGenerator != nil { + return corsPolicy_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCorsPolicy_STATUS(generators) + corsPolicy_STATUSGenerator = gen.Struct(reflect.TypeOf(CorsPolicy_STATUS{}), generators) + + return corsPolicy_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForCorsPolicy_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCorsPolicy_STATUS(gens map[string]gopter.Gen) { + gens["AllowCredentials"] = gen.PtrOf(gen.Bool()) + gens["AllowedHeaders"] = gen.SliceOf(gen.AlphaString()) + gens["AllowedMethods"] = gen.SliceOf(gen.AlphaString()) + gens["AllowedOrigins"] = gen.SliceOf(gen.AlphaString()) + gens["ExposeHeaders"] = gen.SliceOf(gen.AlphaString()) + gens["MaxAge"] = gen.PtrOf(gen.Int()) +} + +func Test_CustomDomain_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 CustomDomain via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCustomDomain, CustomDomainGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCustomDomain runs a test to see if a specific instance of CustomDomain round trips to JSON and back losslessly +func RunJSONSerializationTestForCustomDomain(subject CustomDomain) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CustomDomain + 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 CustomDomain instances for property testing - lazily instantiated by CustomDomainGenerator() +var customDomainGenerator gopter.Gen + +// CustomDomainGenerator returns a generator of CustomDomain instances for property testing. +func CustomDomainGenerator() gopter.Gen { + if customDomainGenerator != nil { + return customDomainGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomDomain(generators) + customDomainGenerator = gen.Struct(reflect.TypeOf(CustomDomain{}), generators) + + return customDomainGenerator +} + +// AddIndependentPropertyGeneratorsForCustomDomain is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCustomDomain(gens map[string]gopter.Gen) { + gens["BindingType"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_CustomDomain_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 CustomDomain_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCustomDomain_STATUS, CustomDomain_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCustomDomain_STATUS runs a test to see if a specific instance of CustomDomain_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForCustomDomain_STATUS(subject CustomDomain_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CustomDomain_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 CustomDomain_STATUS instances for property testing - lazily instantiated by +// CustomDomain_STATUSGenerator() +var customDomain_STATUSGenerator gopter.Gen + +// CustomDomain_STATUSGenerator returns a generator of CustomDomain_STATUS instances for property testing. +func CustomDomain_STATUSGenerator() gopter.Gen { + if customDomain_STATUSGenerator != nil { + return customDomain_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomDomain_STATUS(generators) + customDomain_STATUSGenerator = gen.Struct(reflect.TypeOf(CustomDomain_STATUS{}), generators) + + return customDomain_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForCustomDomain_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCustomDomain_STATUS(gens map[string]gopter.Gen) { + gens["BindingType"] = gen.PtrOf(gen.AlphaString()) + gens["CertificateId"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_CustomScaleRule_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 CustomScaleRule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCustomScaleRule, CustomScaleRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCustomScaleRule runs a test to see if a specific instance of CustomScaleRule round trips to JSON and back losslessly +func RunJSONSerializationTestForCustomScaleRule(subject CustomScaleRule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CustomScaleRule + 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 CustomScaleRule instances for property testing - lazily instantiated by CustomScaleRuleGenerator() +var customScaleRuleGenerator gopter.Gen + +// CustomScaleRuleGenerator returns a generator of CustomScaleRule instances for property testing. +// We first initialize customScaleRuleGenerator 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 CustomScaleRuleGenerator() gopter.Gen { + if customScaleRuleGenerator != nil { + return customScaleRuleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomScaleRule(generators) + customScaleRuleGenerator = gen.Struct(reflect.TypeOf(CustomScaleRule{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomScaleRule(generators) + AddRelatedPropertyGeneratorsForCustomScaleRule(generators) + customScaleRuleGenerator = gen.Struct(reflect.TypeOf(CustomScaleRule{}), generators) + + return customScaleRuleGenerator +} + +// AddIndependentPropertyGeneratorsForCustomScaleRule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCustomScaleRule(gens map[string]gopter.Gen) { + gens["Metadata"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForCustomScaleRule is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForCustomScaleRule(gens map[string]gopter.Gen) { + gens["Auth"] = gen.SliceOf(ScaleRuleAuthGenerator()) +} + +func Test_CustomScaleRule_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 CustomScaleRule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCustomScaleRule_STATUS, CustomScaleRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCustomScaleRule_STATUS runs a test to see if a specific instance of CustomScaleRule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForCustomScaleRule_STATUS(subject CustomScaleRule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CustomScaleRule_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 CustomScaleRule_STATUS instances for property testing - lazily instantiated by +// CustomScaleRule_STATUSGenerator() +var customScaleRule_STATUSGenerator gopter.Gen + +// CustomScaleRule_STATUSGenerator returns a generator of CustomScaleRule_STATUS instances for property testing. +// We first initialize customScaleRule_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 CustomScaleRule_STATUSGenerator() gopter.Gen { + if customScaleRule_STATUSGenerator != nil { + return customScaleRule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomScaleRule_STATUS(generators) + customScaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(CustomScaleRule_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomScaleRule_STATUS(generators) + AddRelatedPropertyGeneratorsForCustomScaleRule_STATUS(generators) + customScaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(CustomScaleRule_STATUS{}), generators) + + return customScaleRule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForCustomScaleRule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCustomScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["Metadata"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForCustomScaleRule_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForCustomScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["Auth"] = gen.SliceOf(ScaleRuleAuth_STATUSGenerator()) +} + +func Test_Dapr_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 Dapr via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDapr, DaprGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDapr runs a test to see if a specific instance of Dapr round trips to JSON and back losslessly +func RunJSONSerializationTestForDapr(subject Dapr) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Dapr + 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 Dapr instances for property testing - lazily instantiated by DaprGenerator() +var daprGenerator gopter.Gen + +// DaprGenerator returns a generator of Dapr instances for property testing. +func DaprGenerator() gopter.Gen { + if daprGenerator != nil { + return daprGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDapr(generators) + daprGenerator = gen.Struct(reflect.TypeOf(Dapr{}), generators) + + return daprGenerator +} + +// AddIndependentPropertyGeneratorsForDapr is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDapr(gens map[string]gopter.Gen) { + gens["AppId"] = gen.PtrOf(gen.AlphaString()) + gens["AppPort"] = gen.PtrOf(gen.Int()) + gens["AppProtocol"] = gen.PtrOf(gen.AlphaString()) + gens["EnableApiLogging"] = gen.PtrOf(gen.Bool()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["HttpMaxRequestSize"] = gen.PtrOf(gen.Int()) + gens["HttpReadBufferSize"] = gen.PtrOf(gen.Int()) + gens["LogLevel"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Dapr_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 Dapr_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDapr_STATUS, Dapr_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDapr_STATUS runs a test to see if a specific instance of Dapr_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForDapr_STATUS(subject Dapr_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Dapr_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 Dapr_STATUS instances for property testing - lazily instantiated by Dapr_STATUSGenerator() +var dapr_STATUSGenerator gopter.Gen + +// Dapr_STATUSGenerator returns a generator of Dapr_STATUS instances for property testing. +func Dapr_STATUSGenerator() gopter.Gen { + if dapr_STATUSGenerator != nil { + return dapr_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDapr_STATUS(generators) + dapr_STATUSGenerator = gen.Struct(reflect.TypeOf(Dapr_STATUS{}), generators) + + return dapr_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForDapr_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDapr_STATUS(gens map[string]gopter.Gen) { + gens["AppId"] = gen.PtrOf(gen.AlphaString()) + gens["AppPort"] = gen.PtrOf(gen.Int()) + gens["AppProtocol"] = gen.PtrOf(gen.AlphaString()) + gens["EnableApiLogging"] = gen.PtrOf(gen.Bool()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["HttpMaxRequestSize"] = gen.PtrOf(gen.Int()) + gens["HttpReadBufferSize"] = gen.PtrOf(gen.Int()) + gens["LogLevel"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_EnvironmentVar_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 EnvironmentVar via JSON returns original", + prop.ForAll(RunJSONSerializationTestForEnvironmentVar, EnvironmentVarGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForEnvironmentVar runs a test to see if a specific instance of EnvironmentVar round trips to JSON and back losslessly +func RunJSONSerializationTestForEnvironmentVar(subject EnvironmentVar) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual EnvironmentVar + 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 EnvironmentVar instances for property testing - lazily instantiated by EnvironmentVarGenerator() +var environmentVarGenerator gopter.Gen + +// EnvironmentVarGenerator returns a generator of EnvironmentVar instances for property testing. +func EnvironmentVarGenerator() gopter.Gen { + if environmentVarGenerator != nil { + return environmentVarGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForEnvironmentVar(generators) + environmentVarGenerator = gen.Struct(reflect.TypeOf(EnvironmentVar{}), generators) + + return environmentVarGenerator +} + +// AddIndependentPropertyGeneratorsForEnvironmentVar is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForEnvironmentVar(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["SecretRef"] = gen.PtrOf(gen.AlphaString()) + gens["Value"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_EnvironmentVar_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 EnvironmentVar_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForEnvironmentVar_STATUS, EnvironmentVar_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForEnvironmentVar_STATUS runs a test to see if a specific instance of EnvironmentVar_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForEnvironmentVar_STATUS(subject EnvironmentVar_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual EnvironmentVar_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 EnvironmentVar_STATUS instances for property testing - lazily instantiated by +// EnvironmentVar_STATUSGenerator() +var environmentVar_STATUSGenerator gopter.Gen + +// EnvironmentVar_STATUSGenerator returns a generator of EnvironmentVar_STATUS instances for property testing. +func EnvironmentVar_STATUSGenerator() gopter.Gen { + if environmentVar_STATUSGenerator != nil { + return environmentVar_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForEnvironmentVar_STATUS(generators) + environmentVar_STATUSGenerator = gen.Struct(reflect.TypeOf(EnvironmentVar_STATUS{}), generators) + + return environmentVar_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForEnvironmentVar_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForEnvironmentVar_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["SecretRef"] = gen.PtrOf(gen.AlphaString()) + gens["Value"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ExtendedLocation_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 ExtendedLocation via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExtendedLocation, ExtendedLocationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExtendedLocation runs a test to see if a specific instance of ExtendedLocation round trips to JSON and back losslessly +func RunJSONSerializationTestForExtendedLocation(subject ExtendedLocation) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExtendedLocation + 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 ExtendedLocation instances for property testing - lazily instantiated by ExtendedLocationGenerator() +var extendedLocationGenerator gopter.Gen + +// ExtendedLocationGenerator returns a generator of ExtendedLocation instances for property testing. +func ExtendedLocationGenerator() gopter.Gen { + if extendedLocationGenerator != nil { + return extendedLocationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExtendedLocation(generators) + extendedLocationGenerator = gen.Struct(reflect.TypeOf(ExtendedLocation{}), generators) + + return extendedLocationGenerator +} + +// AddIndependentPropertyGeneratorsForExtendedLocation is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForExtendedLocation(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ExtendedLocation_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 ExtendedLocation_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExtendedLocation_STATUS, ExtendedLocation_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExtendedLocation_STATUS runs a test to see if a specific instance of ExtendedLocation_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForExtendedLocation_STATUS(subject ExtendedLocation_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExtendedLocation_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 ExtendedLocation_STATUS instances for property testing - lazily instantiated by +// ExtendedLocation_STATUSGenerator() +var extendedLocation_STATUSGenerator gopter.Gen + +// ExtendedLocation_STATUSGenerator returns a generator of ExtendedLocation_STATUS instances for property testing. +func ExtendedLocation_STATUSGenerator() gopter.Gen { + if extendedLocation_STATUSGenerator != nil { + return extendedLocation_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExtendedLocation_STATUS(generators) + extendedLocation_STATUSGenerator = gen.Struct(reflect.TypeOf(ExtendedLocation_STATUS{}), generators) + + return extendedLocation_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForExtendedLocation_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForExtendedLocation_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_HttpScaleRule_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 HttpScaleRule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHttpScaleRule, HttpScaleRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHttpScaleRule runs a test to see if a specific instance of HttpScaleRule round trips to JSON and back losslessly +func RunJSONSerializationTestForHttpScaleRule(subject HttpScaleRule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HttpScaleRule + 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 HttpScaleRule instances for property testing - lazily instantiated by HttpScaleRuleGenerator() +var httpScaleRuleGenerator gopter.Gen + +// HttpScaleRuleGenerator returns a generator of HttpScaleRule instances for property testing. +// We first initialize httpScaleRuleGenerator 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 HttpScaleRuleGenerator() gopter.Gen { + if httpScaleRuleGenerator != nil { + return httpScaleRuleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHttpScaleRule(generators) + httpScaleRuleGenerator = gen.Struct(reflect.TypeOf(HttpScaleRule{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHttpScaleRule(generators) + AddRelatedPropertyGeneratorsForHttpScaleRule(generators) + httpScaleRuleGenerator = gen.Struct(reflect.TypeOf(HttpScaleRule{}), generators) + + return httpScaleRuleGenerator +} + +// AddIndependentPropertyGeneratorsForHttpScaleRule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHttpScaleRule(gens map[string]gopter.Gen) { + gens["Metadata"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForHttpScaleRule is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHttpScaleRule(gens map[string]gopter.Gen) { + gens["Auth"] = gen.SliceOf(ScaleRuleAuthGenerator()) +} + +func Test_HttpScaleRule_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 HttpScaleRule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHttpScaleRule_STATUS, HttpScaleRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHttpScaleRule_STATUS runs a test to see if a specific instance of HttpScaleRule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForHttpScaleRule_STATUS(subject HttpScaleRule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HttpScaleRule_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 HttpScaleRule_STATUS instances for property testing - lazily instantiated by +// HttpScaleRule_STATUSGenerator() +var httpScaleRule_STATUSGenerator gopter.Gen + +// HttpScaleRule_STATUSGenerator returns a generator of HttpScaleRule_STATUS instances for property testing. +// We first initialize httpScaleRule_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 HttpScaleRule_STATUSGenerator() gopter.Gen { + if httpScaleRule_STATUSGenerator != nil { + return httpScaleRule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHttpScaleRule_STATUS(generators) + httpScaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(HttpScaleRule_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHttpScaleRule_STATUS(generators) + AddRelatedPropertyGeneratorsForHttpScaleRule_STATUS(generators) + httpScaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(HttpScaleRule_STATUS{}), generators) + + return httpScaleRule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForHttpScaleRule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHttpScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["Metadata"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForHttpScaleRule_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForHttpScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["Auth"] = gen.SliceOf(ScaleRuleAuth_STATUSGenerator()) +} + +func Test_Ingress_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 Ingress via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIngress, IngressGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIngress runs a test to see if a specific instance of Ingress round trips to JSON and back losslessly +func RunJSONSerializationTestForIngress(subject Ingress) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Ingress + 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 Ingress instances for property testing - lazily instantiated by IngressGenerator() +var ingressGenerator gopter.Gen + +// IngressGenerator returns a generator of Ingress instances for property testing. +// We first initialize ingressGenerator 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 IngressGenerator() gopter.Gen { + if ingressGenerator != nil { + return ingressGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIngress(generators) + ingressGenerator = gen.Struct(reflect.TypeOf(Ingress{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIngress(generators) + AddRelatedPropertyGeneratorsForIngress(generators) + ingressGenerator = gen.Struct(reflect.TypeOf(Ingress{}), generators) + + return ingressGenerator +} + +// AddIndependentPropertyGeneratorsForIngress is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIngress(gens map[string]gopter.Gen) { + gens["AllowInsecure"] = gen.PtrOf(gen.Bool()) + gens["ClientCertificateMode"] = gen.PtrOf(gen.AlphaString()) + gens["ExposedPort"] = gen.PtrOf(gen.Int()) + gens["External"] = gen.PtrOf(gen.Bool()) + gens["TargetPort"] = gen.PtrOf(gen.Int()) + gens["Transport"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForIngress is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIngress(gens map[string]gopter.Gen) { + gens["AdditionalPortMappings"] = gen.SliceOf(IngressPortMappingGenerator()) + gens["CorsPolicy"] = gen.PtrOf(CorsPolicyGenerator()) + gens["CustomDomains"] = gen.SliceOf(CustomDomainGenerator()) + gens["IpSecurityRestrictions"] = gen.SliceOf(IpSecurityRestrictionRuleGenerator()) + gens["StickySessions"] = gen.PtrOf(Ingress_StickySessionsGenerator()) + gens["Traffic"] = gen.SliceOf(TrafficWeightGenerator()) +} + +func Test_IngressPortMapping_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 IngressPortMapping via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIngressPortMapping, IngressPortMappingGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIngressPortMapping runs a test to see if a specific instance of IngressPortMapping round trips to JSON and back losslessly +func RunJSONSerializationTestForIngressPortMapping(subject IngressPortMapping) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IngressPortMapping + 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 IngressPortMapping instances for property testing - lazily instantiated by IngressPortMappingGenerator() +var ingressPortMappingGenerator gopter.Gen + +// IngressPortMappingGenerator returns a generator of IngressPortMapping instances for property testing. +func IngressPortMappingGenerator() gopter.Gen { + if ingressPortMappingGenerator != nil { + return ingressPortMappingGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIngressPortMapping(generators) + ingressPortMappingGenerator = gen.Struct(reflect.TypeOf(IngressPortMapping{}), generators) + + return ingressPortMappingGenerator +} + +// AddIndependentPropertyGeneratorsForIngressPortMapping is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIngressPortMapping(gens map[string]gopter.Gen) { + gens["ExposedPort"] = gen.PtrOf(gen.Int()) + gens["External"] = gen.PtrOf(gen.Bool()) + gens["TargetPort"] = gen.PtrOf(gen.Int()) +} + +func Test_IngressPortMapping_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 IngressPortMapping_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIngressPortMapping_STATUS, IngressPortMapping_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIngressPortMapping_STATUS runs a test to see if a specific instance of IngressPortMapping_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIngressPortMapping_STATUS(subject IngressPortMapping_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IngressPortMapping_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 IngressPortMapping_STATUS instances for property testing - lazily instantiated by +// IngressPortMapping_STATUSGenerator() +var ingressPortMapping_STATUSGenerator gopter.Gen + +// IngressPortMapping_STATUSGenerator returns a generator of IngressPortMapping_STATUS instances for property testing. +func IngressPortMapping_STATUSGenerator() gopter.Gen { + if ingressPortMapping_STATUSGenerator != nil { + return ingressPortMapping_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIngressPortMapping_STATUS(generators) + ingressPortMapping_STATUSGenerator = gen.Struct(reflect.TypeOf(IngressPortMapping_STATUS{}), generators) + + return ingressPortMapping_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForIngressPortMapping_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIngressPortMapping_STATUS(gens map[string]gopter.Gen) { + gens["ExposedPort"] = gen.PtrOf(gen.Int()) + gens["External"] = gen.PtrOf(gen.Bool()) + gens["TargetPort"] = gen.PtrOf(gen.Int()) +} + +func Test_Ingress_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 Ingress_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIngress_STATUS, Ingress_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIngress_STATUS runs a test to see if a specific instance of Ingress_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIngress_STATUS(subject Ingress_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Ingress_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 Ingress_STATUS instances for property testing - lazily instantiated by Ingress_STATUSGenerator() +var ingress_STATUSGenerator gopter.Gen + +// Ingress_STATUSGenerator returns a generator of Ingress_STATUS instances for property testing. +// We first initialize ingress_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 Ingress_STATUSGenerator() gopter.Gen { + if ingress_STATUSGenerator != nil { + return ingress_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIngress_STATUS(generators) + ingress_STATUSGenerator = gen.Struct(reflect.TypeOf(Ingress_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIngress_STATUS(generators) + AddRelatedPropertyGeneratorsForIngress_STATUS(generators) + ingress_STATUSGenerator = gen.Struct(reflect.TypeOf(Ingress_STATUS{}), generators) + + return ingress_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForIngress_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIngress_STATUS(gens map[string]gopter.Gen) { + gens["AllowInsecure"] = gen.PtrOf(gen.Bool()) + gens["ClientCertificateMode"] = gen.PtrOf(gen.AlphaString()) + gens["ExposedPort"] = gen.PtrOf(gen.Int()) + gens["External"] = gen.PtrOf(gen.Bool()) + gens["Fqdn"] = gen.PtrOf(gen.AlphaString()) + gens["TargetPort"] = gen.PtrOf(gen.Int()) + gens["Transport"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForIngress_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIngress_STATUS(gens map[string]gopter.Gen) { + gens["AdditionalPortMappings"] = gen.SliceOf(IngressPortMapping_STATUSGenerator()) + gens["CorsPolicy"] = gen.PtrOf(CorsPolicy_STATUSGenerator()) + gens["CustomDomains"] = gen.SliceOf(CustomDomain_STATUSGenerator()) + gens["IpSecurityRestrictions"] = gen.SliceOf(IpSecurityRestrictionRule_STATUSGenerator()) + gens["StickySessions"] = gen.PtrOf(Ingress_StickySessions_STATUSGenerator()) + gens["Traffic"] = gen.SliceOf(TrafficWeight_STATUSGenerator()) +} + +func Test_Ingress_StickySessions_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 Ingress_StickySessions via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIngress_StickySessions, Ingress_StickySessionsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIngress_StickySessions runs a test to see if a specific instance of Ingress_StickySessions round trips to JSON and back losslessly +func RunJSONSerializationTestForIngress_StickySessions(subject Ingress_StickySessions) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Ingress_StickySessions + 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 Ingress_StickySessions instances for property testing - lazily instantiated by +// Ingress_StickySessionsGenerator() +var ingress_StickySessionsGenerator gopter.Gen + +// Ingress_StickySessionsGenerator returns a generator of Ingress_StickySessions instances for property testing. +func Ingress_StickySessionsGenerator() gopter.Gen { + if ingress_StickySessionsGenerator != nil { + return ingress_StickySessionsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIngress_StickySessions(generators) + ingress_StickySessionsGenerator = gen.Struct(reflect.TypeOf(Ingress_StickySessions{}), generators) + + return ingress_StickySessionsGenerator +} + +// AddIndependentPropertyGeneratorsForIngress_StickySessions is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIngress_StickySessions(gens map[string]gopter.Gen) { + gens["Affinity"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Ingress_StickySessions_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 Ingress_StickySessions_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIngress_StickySessions_STATUS, Ingress_StickySessions_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIngress_StickySessions_STATUS runs a test to see if a specific instance of Ingress_StickySessions_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIngress_StickySessions_STATUS(subject Ingress_StickySessions_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Ingress_StickySessions_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 Ingress_StickySessions_STATUS instances for property testing - lazily instantiated by +// Ingress_StickySessions_STATUSGenerator() +var ingress_StickySessions_STATUSGenerator gopter.Gen + +// Ingress_StickySessions_STATUSGenerator returns a generator of Ingress_StickySessions_STATUS instances for property testing. +func Ingress_StickySessions_STATUSGenerator() gopter.Gen { + if ingress_StickySessions_STATUSGenerator != nil { + return ingress_StickySessions_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIngress_StickySessions_STATUS(generators) + ingress_StickySessions_STATUSGenerator = gen.Struct(reflect.TypeOf(Ingress_StickySessions_STATUS{}), generators) + + return ingress_StickySessions_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForIngress_StickySessions_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIngress_StickySessions_STATUS(gens map[string]gopter.Gen) { + gens["Affinity"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_IpSecurityRestrictionRule_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 IpSecurityRestrictionRule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIpSecurityRestrictionRule, IpSecurityRestrictionRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIpSecurityRestrictionRule runs a test to see if a specific instance of IpSecurityRestrictionRule round trips to JSON and back losslessly +func RunJSONSerializationTestForIpSecurityRestrictionRule(subject IpSecurityRestrictionRule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IpSecurityRestrictionRule + 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 IpSecurityRestrictionRule instances for property testing - lazily instantiated by +// IpSecurityRestrictionRuleGenerator() +var ipSecurityRestrictionRuleGenerator gopter.Gen + +// IpSecurityRestrictionRuleGenerator returns a generator of IpSecurityRestrictionRule instances for property testing. +func IpSecurityRestrictionRuleGenerator() gopter.Gen { + if ipSecurityRestrictionRuleGenerator != nil { + return ipSecurityRestrictionRuleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIpSecurityRestrictionRule(generators) + ipSecurityRestrictionRuleGenerator = gen.Struct(reflect.TypeOf(IpSecurityRestrictionRule{}), generators) + + return ipSecurityRestrictionRuleGenerator +} + +// AddIndependentPropertyGeneratorsForIpSecurityRestrictionRule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIpSecurityRestrictionRule(gens map[string]gopter.Gen) { + gens["Action"] = gen.PtrOf(gen.AlphaString()) + gens["Description"] = gen.PtrOf(gen.AlphaString()) + gens["IpAddressRange"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_IpSecurityRestrictionRule_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 IpSecurityRestrictionRule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIpSecurityRestrictionRule_STATUS, IpSecurityRestrictionRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIpSecurityRestrictionRule_STATUS runs a test to see if a specific instance of IpSecurityRestrictionRule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIpSecurityRestrictionRule_STATUS(subject IpSecurityRestrictionRule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IpSecurityRestrictionRule_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 IpSecurityRestrictionRule_STATUS instances for property testing - lazily instantiated by +// IpSecurityRestrictionRule_STATUSGenerator() +var ipSecurityRestrictionRule_STATUSGenerator gopter.Gen + +// IpSecurityRestrictionRule_STATUSGenerator returns a generator of IpSecurityRestrictionRule_STATUS instances for property testing. +func IpSecurityRestrictionRule_STATUSGenerator() gopter.Gen { + if ipSecurityRestrictionRule_STATUSGenerator != nil { + return ipSecurityRestrictionRule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIpSecurityRestrictionRule_STATUS(generators) + ipSecurityRestrictionRule_STATUSGenerator = gen.Struct(reflect.TypeOf(IpSecurityRestrictionRule_STATUS{}), generators) + + return ipSecurityRestrictionRule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForIpSecurityRestrictionRule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIpSecurityRestrictionRule_STATUS(gens map[string]gopter.Gen) { + gens["Action"] = gen.PtrOf(gen.AlphaString()) + gens["Description"] = gen.PtrOf(gen.AlphaString()) + gens["IpAddressRange"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedServiceIdentity_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 ManagedServiceIdentity via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedServiceIdentity, ManagedServiceIdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedServiceIdentity runs a test to see if a specific instance of ManagedServiceIdentity round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedServiceIdentity(subject ManagedServiceIdentity) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedServiceIdentity + 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 ManagedServiceIdentity instances for property testing - lazily instantiated by +// ManagedServiceIdentityGenerator() +var managedServiceIdentityGenerator gopter.Gen + +// ManagedServiceIdentityGenerator returns a generator of ManagedServiceIdentity instances for property testing. +// We first initialize managedServiceIdentityGenerator 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 ManagedServiceIdentityGenerator() gopter.Gen { + if managedServiceIdentityGenerator != nil { + return managedServiceIdentityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedServiceIdentity(generators) + managedServiceIdentityGenerator = gen.Struct(reflect.TypeOf(ManagedServiceIdentity{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedServiceIdentity(generators) + AddRelatedPropertyGeneratorsForManagedServiceIdentity(generators) + managedServiceIdentityGenerator = gen.Struct(reflect.TypeOf(ManagedServiceIdentity{}), generators) + + return managedServiceIdentityGenerator +} + +// AddIndependentPropertyGeneratorsForManagedServiceIdentity is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedServiceIdentity(gens map[string]gopter.Gen) { + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForManagedServiceIdentity is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedServiceIdentity(gens map[string]gopter.Gen) { + gens["UserAssignedIdentities"] = gen.SliceOf(UserAssignedIdentityDetailsGenerator()) +} + +func Test_ManagedServiceIdentity_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 ManagedServiceIdentity_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedServiceIdentity_STATUS, ManagedServiceIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedServiceIdentity_STATUS runs a test to see if a specific instance of ManagedServiceIdentity_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedServiceIdentity_STATUS(subject ManagedServiceIdentity_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedServiceIdentity_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 ManagedServiceIdentity_STATUS instances for property testing - lazily instantiated by +// ManagedServiceIdentity_STATUSGenerator() +var managedServiceIdentity_STATUSGenerator gopter.Gen + +// ManagedServiceIdentity_STATUSGenerator returns a generator of ManagedServiceIdentity_STATUS instances for property testing. +// We first initialize managedServiceIdentity_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 ManagedServiceIdentity_STATUSGenerator() gopter.Gen { + if managedServiceIdentity_STATUSGenerator != nil { + return managedServiceIdentity_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedServiceIdentity_STATUS(generators) + managedServiceIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedServiceIdentity_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedServiceIdentity_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedServiceIdentity_STATUS(generators) + managedServiceIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedServiceIdentity_STATUS{}), generators) + + return managedServiceIdentity_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedServiceIdentity_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedServiceIdentity_STATUS(gens map[string]gopter.Gen) { + gens["PrincipalId"] = gen.PtrOf(gen.AlphaString()) + gens["TenantId"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForManagedServiceIdentity_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedServiceIdentity_STATUS(gens map[string]gopter.Gen) { + gens["UserAssignedIdentities"] = gen.MapOf( + gen.AlphaString(), + UserAssignedIdentity_STATUSGenerator()) +} + +func Test_QueueScaleRule_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 QueueScaleRule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForQueueScaleRule, QueueScaleRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForQueueScaleRule runs a test to see if a specific instance of QueueScaleRule round trips to JSON and back losslessly +func RunJSONSerializationTestForQueueScaleRule(subject QueueScaleRule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual QueueScaleRule + 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 QueueScaleRule instances for property testing - lazily instantiated by QueueScaleRuleGenerator() +var queueScaleRuleGenerator gopter.Gen + +// QueueScaleRuleGenerator returns a generator of QueueScaleRule instances for property testing. +// We first initialize queueScaleRuleGenerator 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 QueueScaleRuleGenerator() gopter.Gen { + if queueScaleRuleGenerator != nil { + return queueScaleRuleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForQueueScaleRule(generators) + queueScaleRuleGenerator = gen.Struct(reflect.TypeOf(QueueScaleRule{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForQueueScaleRule(generators) + AddRelatedPropertyGeneratorsForQueueScaleRule(generators) + queueScaleRuleGenerator = gen.Struct(reflect.TypeOf(QueueScaleRule{}), generators) + + return queueScaleRuleGenerator +} + +// AddIndependentPropertyGeneratorsForQueueScaleRule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForQueueScaleRule(gens map[string]gopter.Gen) { + gens["QueueLength"] = gen.PtrOf(gen.Int()) + gens["QueueName"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForQueueScaleRule is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForQueueScaleRule(gens map[string]gopter.Gen) { + gens["Auth"] = gen.SliceOf(ScaleRuleAuthGenerator()) +} + +func Test_QueueScaleRule_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 QueueScaleRule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForQueueScaleRule_STATUS, QueueScaleRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForQueueScaleRule_STATUS runs a test to see if a specific instance of QueueScaleRule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForQueueScaleRule_STATUS(subject QueueScaleRule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual QueueScaleRule_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 QueueScaleRule_STATUS instances for property testing - lazily instantiated by +// QueueScaleRule_STATUSGenerator() +var queueScaleRule_STATUSGenerator gopter.Gen + +// QueueScaleRule_STATUSGenerator returns a generator of QueueScaleRule_STATUS instances for property testing. +// We first initialize queueScaleRule_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 QueueScaleRule_STATUSGenerator() gopter.Gen { + if queueScaleRule_STATUSGenerator != nil { + return queueScaleRule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForQueueScaleRule_STATUS(generators) + queueScaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(QueueScaleRule_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForQueueScaleRule_STATUS(generators) + AddRelatedPropertyGeneratorsForQueueScaleRule_STATUS(generators) + queueScaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(QueueScaleRule_STATUS{}), generators) + + return queueScaleRule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForQueueScaleRule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForQueueScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["QueueLength"] = gen.PtrOf(gen.Int()) + gens["QueueName"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForQueueScaleRule_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForQueueScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["Auth"] = gen.SliceOf(ScaleRuleAuth_STATUSGenerator()) +} + +func Test_RegistryCredentials_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 RegistryCredentials via JSON returns original", + prop.ForAll(RunJSONSerializationTestForRegistryCredentials, RegistryCredentialsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForRegistryCredentials runs a test to see if a specific instance of RegistryCredentials round trips to JSON and back losslessly +func RunJSONSerializationTestForRegistryCredentials(subject RegistryCredentials) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual RegistryCredentials + 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 RegistryCredentials instances for property testing - lazily instantiated by +// RegistryCredentialsGenerator() +var registryCredentialsGenerator gopter.Gen + +// RegistryCredentialsGenerator returns a generator of RegistryCredentials instances for property testing. +func RegistryCredentialsGenerator() gopter.Gen { + if registryCredentialsGenerator != nil { + return registryCredentialsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForRegistryCredentials(generators) + registryCredentialsGenerator = gen.Struct(reflect.TypeOf(RegistryCredentials{}), generators) + + return registryCredentialsGenerator +} + +// AddIndependentPropertyGeneratorsForRegistryCredentials is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForRegistryCredentials(gens map[string]gopter.Gen) { + gens["PasswordSecretRef"] = gen.PtrOf(gen.AlphaString()) + gens["Server"] = gen.PtrOf(gen.AlphaString()) + gens["Username"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_RegistryCredentials_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 RegistryCredentials_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForRegistryCredentials_STATUS, RegistryCredentials_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForRegistryCredentials_STATUS runs a test to see if a specific instance of RegistryCredentials_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForRegistryCredentials_STATUS(subject RegistryCredentials_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual RegistryCredentials_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 RegistryCredentials_STATUS instances for property testing - lazily instantiated by +// RegistryCredentials_STATUSGenerator() +var registryCredentials_STATUSGenerator gopter.Gen + +// RegistryCredentials_STATUSGenerator returns a generator of RegistryCredentials_STATUS instances for property testing. +func RegistryCredentials_STATUSGenerator() gopter.Gen { + if registryCredentials_STATUSGenerator != nil { + return registryCredentials_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForRegistryCredentials_STATUS(generators) + registryCredentials_STATUSGenerator = gen.Struct(reflect.TypeOf(RegistryCredentials_STATUS{}), generators) + + return registryCredentials_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForRegistryCredentials_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForRegistryCredentials_STATUS(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(gen.AlphaString()) + gens["PasswordSecretRef"] = gen.PtrOf(gen.AlphaString()) + gens["Server"] = gen.PtrOf(gen.AlphaString()) + gens["Username"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Scale_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 Scale via JSON returns original", + prop.ForAll(RunJSONSerializationTestForScale, ScaleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForScale runs a test to see if a specific instance of Scale round trips to JSON and back losslessly +func RunJSONSerializationTestForScale(subject Scale) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Scale + 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 Scale instances for property testing - lazily instantiated by ScaleGenerator() +var scaleGenerator gopter.Gen + +// ScaleGenerator returns a generator of Scale instances for property testing. +// We first initialize scaleGenerator 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 ScaleGenerator() gopter.Gen { + if scaleGenerator != nil { + return scaleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForScale(generators) + scaleGenerator = gen.Struct(reflect.TypeOf(Scale{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForScale(generators) + AddRelatedPropertyGeneratorsForScale(generators) + scaleGenerator = gen.Struct(reflect.TypeOf(Scale{}), generators) + + return scaleGenerator +} + +// AddIndependentPropertyGeneratorsForScale is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForScale(gens map[string]gopter.Gen) { + gens["MaxReplicas"] = gen.PtrOf(gen.Int()) + gens["MinReplicas"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForScale is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForScale(gens map[string]gopter.Gen) { + gens["Rules"] = gen.SliceOf(ScaleRuleGenerator()) +} + +func Test_ScaleRule_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 ScaleRule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForScaleRule, ScaleRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForScaleRule runs a test to see if a specific instance of ScaleRule round trips to JSON and back losslessly +func RunJSONSerializationTestForScaleRule(subject ScaleRule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ScaleRule + 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 ScaleRule instances for property testing - lazily instantiated by ScaleRuleGenerator() +var scaleRuleGenerator gopter.Gen + +// ScaleRuleGenerator returns a generator of ScaleRule instances for property testing. +// We first initialize scaleRuleGenerator 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 ScaleRuleGenerator() gopter.Gen { + if scaleRuleGenerator != nil { + return scaleRuleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForScaleRule(generators) + scaleRuleGenerator = gen.Struct(reflect.TypeOf(ScaleRule{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForScaleRule(generators) + AddRelatedPropertyGeneratorsForScaleRule(generators) + scaleRuleGenerator = gen.Struct(reflect.TypeOf(ScaleRule{}), generators) + + return scaleRuleGenerator +} + +// AddIndependentPropertyGeneratorsForScaleRule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForScaleRule(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForScaleRule is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForScaleRule(gens map[string]gopter.Gen) { + gens["AzureQueue"] = gen.PtrOf(QueueScaleRuleGenerator()) + gens["Custom"] = gen.PtrOf(CustomScaleRuleGenerator()) + gens["Http"] = gen.PtrOf(HttpScaleRuleGenerator()) + gens["Tcp"] = gen.PtrOf(TcpScaleRuleGenerator()) +} + +func Test_ScaleRuleAuth_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 ScaleRuleAuth via JSON returns original", + prop.ForAll(RunJSONSerializationTestForScaleRuleAuth, ScaleRuleAuthGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForScaleRuleAuth runs a test to see if a specific instance of ScaleRuleAuth round trips to JSON and back losslessly +func RunJSONSerializationTestForScaleRuleAuth(subject ScaleRuleAuth) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ScaleRuleAuth + 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 ScaleRuleAuth instances for property testing - lazily instantiated by ScaleRuleAuthGenerator() +var scaleRuleAuthGenerator gopter.Gen + +// ScaleRuleAuthGenerator returns a generator of ScaleRuleAuth instances for property testing. +func ScaleRuleAuthGenerator() gopter.Gen { + if scaleRuleAuthGenerator != nil { + return scaleRuleAuthGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForScaleRuleAuth(generators) + scaleRuleAuthGenerator = gen.Struct(reflect.TypeOf(ScaleRuleAuth{}), generators) + + return scaleRuleAuthGenerator +} + +// AddIndependentPropertyGeneratorsForScaleRuleAuth is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForScaleRuleAuth(gens map[string]gopter.Gen) { + gens["SecretRef"] = gen.PtrOf(gen.AlphaString()) + gens["TriggerParameter"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ScaleRuleAuth_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 ScaleRuleAuth_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForScaleRuleAuth_STATUS, ScaleRuleAuth_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForScaleRuleAuth_STATUS runs a test to see if a specific instance of ScaleRuleAuth_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForScaleRuleAuth_STATUS(subject ScaleRuleAuth_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ScaleRuleAuth_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 ScaleRuleAuth_STATUS instances for property testing - lazily instantiated by +// ScaleRuleAuth_STATUSGenerator() +var scaleRuleAuth_STATUSGenerator gopter.Gen + +// ScaleRuleAuth_STATUSGenerator returns a generator of ScaleRuleAuth_STATUS instances for property testing. +func ScaleRuleAuth_STATUSGenerator() gopter.Gen { + if scaleRuleAuth_STATUSGenerator != nil { + return scaleRuleAuth_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForScaleRuleAuth_STATUS(generators) + scaleRuleAuth_STATUSGenerator = gen.Struct(reflect.TypeOf(ScaleRuleAuth_STATUS{}), generators) + + return scaleRuleAuth_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForScaleRuleAuth_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForScaleRuleAuth_STATUS(gens map[string]gopter.Gen) { + gens["SecretRef"] = gen.PtrOf(gen.AlphaString()) + gens["TriggerParameter"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ScaleRule_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 ScaleRule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForScaleRule_STATUS, ScaleRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForScaleRule_STATUS runs a test to see if a specific instance of ScaleRule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForScaleRule_STATUS(subject ScaleRule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ScaleRule_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 ScaleRule_STATUS instances for property testing - lazily instantiated by ScaleRule_STATUSGenerator() +var scaleRule_STATUSGenerator gopter.Gen + +// ScaleRule_STATUSGenerator returns a generator of ScaleRule_STATUS instances for property testing. +// We first initialize scaleRule_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 ScaleRule_STATUSGenerator() gopter.Gen { + if scaleRule_STATUSGenerator != nil { + return scaleRule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForScaleRule_STATUS(generators) + scaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(ScaleRule_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForScaleRule_STATUS(generators) + AddRelatedPropertyGeneratorsForScaleRule_STATUS(generators) + scaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(ScaleRule_STATUS{}), generators) + + return scaleRule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForScaleRule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForScaleRule_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["AzureQueue"] = gen.PtrOf(QueueScaleRule_STATUSGenerator()) + gens["Custom"] = gen.PtrOf(CustomScaleRule_STATUSGenerator()) + gens["Http"] = gen.PtrOf(HttpScaleRule_STATUSGenerator()) + gens["Tcp"] = gen.PtrOf(TcpScaleRule_STATUSGenerator()) +} + +func Test_Scale_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 Scale_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForScale_STATUS, Scale_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForScale_STATUS runs a test to see if a specific instance of Scale_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForScale_STATUS(subject Scale_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Scale_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 Scale_STATUS instances for property testing - lazily instantiated by Scale_STATUSGenerator() +var scale_STATUSGenerator gopter.Gen + +// Scale_STATUSGenerator returns a generator of Scale_STATUS instances for property testing. +// We first initialize scale_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 Scale_STATUSGenerator() gopter.Gen { + if scale_STATUSGenerator != nil { + return scale_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForScale_STATUS(generators) + scale_STATUSGenerator = gen.Struct(reflect.TypeOf(Scale_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForScale_STATUS(generators) + AddRelatedPropertyGeneratorsForScale_STATUS(generators) + scale_STATUSGenerator = gen.Struct(reflect.TypeOf(Scale_STATUS{}), generators) + + return scale_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForScale_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForScale_STATUS(gens map[string]gopter.Gen) { + gens["MaxReplicas"] = gen.PtrOf(gen.Int()) + gens["MinReplicas"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForScale_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForScale_STATUS(gens map[string]gopter.Gen) { + gens["Rules"] = gen.SliceOf(ScaleRule_STATUSGenerator()) +} + +func Test_Secret_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 Secret via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSecret, SecretGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSecret runs a test to see if a specific instance of Secret round trips to JSON and back losslessly +func RunJSONSerializationTestForSecret(subject Secret) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Secret + 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 Secret instances for property testing - lazily instantiated by SecretGenerator() +var secretGenerator gopter.Gen + +// SecretGenerator returns a generator of Secret instances for property testing. +func SecretGenerator() gopter.Gen { + if secretGenerator != nil { + return secretGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForSecret(generators) + secretGenerator = gen.Struct(reflect.TypeOf(Secret{}), generators) + + return secretGenerator +} + +// AddIndependentPropertyGeneratorsForSecret is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForSecret(gens map[string]gopter.Gen) { + gens["KeyVaultUrl"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_SecretVolumeItem_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 SecretVolumeItem via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSecretVolumeItem, SecretVolumeItemGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSecretVolumeItem runs a test to see if a specific instance of SecretVolumeItem round trips to JSON and back losslessly +func RunJSONSerializationTestForSecretVolumeItem(subject SecretVolumeItem) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual SecretVolumeItem + 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 SecretVolumeItem instances for property testing - lazily instantiated by SecretVolumeItemGenerator() +var secretVolumeItemGenerator gopter.Gen + +// SecretVolumeItemGenerator returns a generator of SecretVolumeItem instances for property testing. +func SecretVolumeItemGenerator() gopter.Gen { + if secretVolumeItemGenerator != nil { + return secretVolumeItemGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForSecretVolumeItem(generators) + secretVolumeItemGenerator = gen.Struct(reflect.TypeOf(SecretVolumeItem{}), generators) + + return secretVolumeItemGenerator +} + +// AddIndependentPropertyGeneratorsForSecretVolumeItem is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForSecretVolumeItem(gens map[string]gopter.Gen) { + gens["Path"] = gen.PtrOf(gen.AlphaString()) + gens["SecretRef"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_SecretVolumeItem_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 SecretVolumeItem_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSecretVolumeItem_STATUS, SecretVolumeItem_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSecretVolumeItem_STATUS runs a test to see if a specific instance of SecretVolumeItem_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForSecretVolumeItem_STATUS(subject SecretVolumeItem_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual SecretVolumeItem_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 SecretVolumeItem_STATUS instances for property testing - lazily instantiated by +// SecretVolumeItem_STATUSGenerator() +var secretVolumeItem_STATUSGenerator gopter.Gen + +// SecretVolumeItem_STATUSGenerator returns a generator of SecretVolumeItem_STATUS instances for property testing. +func SecretVolumeItem_STATUSGenerator() gopter.Gen { + if secretVolumeItem_STATUSGenerator != nil { + return secretVolumeItem_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForSecretVolumeItem_STATUS(generators) + secretVolumeItem_STATUSGenerator = gen.Struct(reflect.TypeOf(SecretVolumeItem_STATUS{}), generators) + + return secretVolumeItem_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForSecretVolumeItem_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForSecretVolumeItem_STATUS(gens map[string]gopter.Gen) { + gens["Path"] = gen.PtrOf(gen.AlphaString()) + gens["SecretRef"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Secret_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 Secret_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSecret_STATUS, Secret_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSecret_STATUS runs a test to see if a specific instance of Secret_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForSecret_STATUS(subject Secret_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Secret_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 Secret_STATUS instances for property testing - lazily instantiated by Secret_STATUSGenerator() +var secret_STATUSGenerator gopter.Gen + +// Secret_STATUSGenerator returns a generator of Secret_STATUS instances for property testing. +func Secret_STATUSGenerator() gopter.Gen { + if secret_STATUSGenerator != nil { + return secret_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForSecret_STATUS(generators) + secret_STATUSGenerator = gen.Struct(reflect.TypeOf(Secret_STATUS{}), generators) + + return secret_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForSecret_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForSecret_STATUS(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(gen.AlphaString()) + gens["KeyVaultUrl"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Service_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 Service via JSON returns original", + prop.ForAll(RunJSONSerializationTestForService, ServiceGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForService runs a test to see if a specific instance of Service round trips to JSON and back losslessly +func RunJSONSerializationTestForService(subject Service) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Service + 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 Service instances for property testing - lazily instantiated by ServiceGenerator() +var serviceGenerator gopter.Gen + +// ServiceGenerator returns a generator of Service instances for property testing. +func ServiceGenerator() gopter.Gen { + if serviceGenerator != nil { + return serviceGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForService(generators) + serviceGenerator = gen.Struct(reflect.TypeOf(Service{}), generators) + + return serviceGenerator +} + +// AddIndependentPropertyGeneratorsForService is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForService(gens map[string]gopter.Gen) { + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ServiceBind_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 ServiceBind via JSON returns original", + prop.ForAll(RunJSONSerializationTestForServiceBind, ServiceBindGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForServiceBind runs a test to see if a specific instance of ServiceBind round trips to JSON and back losslessly +func RunJSONSerializationTestForServiceBind(subject ServiceBind) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ServiceBind + 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 ServiceBind instances for property testing - lazily instantiated by ServiceBindGenerator() +var serviceBindGenerator gopter.Gen + +// ServiceBindGenerator returns a generator of ServiceBind instances for property testing. +func ServiceBindGenerator() gopter.Gen { + if serviceBindGenerator != nil { + return serviceBindGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForServiceBind(generators) + serviceBindGenerator = gen.Struct(reflect.TypeOf(ServiceBind{}), generators) + + return serviceBindGenerator +} + +// AddIndependentPropertyGeneratorsForServiceBind is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForServiceBind(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ServiceBind_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 ServiceBind_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForServiceBind_STATUS, ServiceBind_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForServiceBind_STATUS runs a test to see if a specific instance of ServiceBind_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForServiceBind_STATUS(subject ServiceBind_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ServiceBind_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 ServiceBind_STATUS instances for property testing - lazily instantiated by ServiceBind_STATUSGenerator() +var serviceBind_STATUSGenerator gopter.Gen + +// ServiceBind_STATUSGenerator returns a generator of ServiceBind_STATUS instances for property testing. +func ServiceBind_STATUSGenerator() gopter.Gen { + if serviceBind_STATUSGenerator != nil { + return serviceBind_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForServiceBind_STATUS(generators) + serviceBind_STATUSGenerator = gen.Struct(reflect.TypeOf(ServiceBind_STATUS{}), generators) + + return serviceBind_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForServiceBind_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForServiceBind_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["ServiceId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Service_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 Service_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForService_STATUS, Service_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForService_STATUS runs a test to see if a specific instance of Service_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForService_STATUS(subject Service_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Service_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 Service_STATUS instances for property testing - lazily instantiated by Service_STATUSGenerator() +var service_STATUSGenerator gopter.Gen + +// Service_STATUSGenerator returns a generator of Service_STATUS instances for property testing. +func Service_STATUSGenerator() gopter.Gen { + if service_STATUSGenerator != nil { + return service_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForService_STATUS(generators) + service_STATUSGenerator = gen.Struct(reflect.TypeOf(Service_STATUS{}), generators) + + return service_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForService_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForService_STATUS(gens map[string]gopter.Gen) { + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_TcpScaleRule_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 TcpScaleRule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTcpScaleRule, TcpScaleRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTcpScaleRule runs a test to see if a specific instance of TcpScaleRule round trips to JSON and back losslessly +func RunJSONSerializationTestForTcpScaleRule(subject TcpScaleRule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TcpScaleRule + 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 TcpScaleRule instances for property testing - lazily instantiated by TcpScaleRuleGenerator() +var tcpScaleRuleGenerator gopter.Gen + +// TcpScaleRuleGenerator returns a generator of TcpScaleRule instances for property testing. +// We first initialize tcpScaleRuleGenerator 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 TcpScaleRuleGenerator() gopter.Gen { + if tcpScaleRuleGenerator != nil { + return tcpScaleRuleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTcpScaleRule(generators) + tcpScaleRuleGenerator = gen.Struct(reflect.TypeOf(TcpScaleRule{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTcpScaleRule(generators) + AddRelatedPropertyGeneratorsForTcpScaleRule(generators) + tcpScaleRuleGenerator = gen.Struct(reflect.TypeOf(TcpScaleRule{}), generators) + + return tcpScaleRuleGenerator +} + +// AddIndependentPropertyGeneratorsForTcpScaleRule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTcpScaleRule(gens map[string]gopter.Gen) { + gens["Metadata"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForTcpScaleRule is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTcpScaleRule(gens map[string]gopter.Gen) { + gens["Auth"] = gen.SliceOf(ScaleRuleAuthGenerator()) +} + +func Test_TcpScaleRule_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 TcpScaleRule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTcpScaleRule_STATUS, TcpScaleRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTcpScaleRule_STATUS runs a test to see if a specific instance of TcpScaleRule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTcpScaleRule_STATUS(subject TcpScaleRule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TcpScaleRule_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 TcpScaleRule_STATUS instances for property testing - lazily instantiated by +// TcpScaleRule_STATUSGenerator() +var tcpScaleRule_STATUSGenerator gopter.Gen + +// TcpScaleRule_STATUSGenerator returns a generator of TcpScaleRule_STATUS instances for property testing. +// We first initialize tcpScaleRule_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 TcpScaleRule_STATUSGenerator() gopter.Gen { + if tcpScaleRule_STATUSGenerator != nil { + return tcpScaleRule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTcpScaleRule_STATUS(generators) + tcpScaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(TcpScaleRule_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTcpScaleRule_STATUS(generators) + AddRelatedPropertyGeneratorsForTcpScaleRule_STATUS(generators) + tcpScaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(TcpScaleRule_STATUS{}), generators) + + return tcpScaleRule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTcpScaleRule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTcpScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["Metadata"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForTcpScaleRule_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTcpScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["Auth"] = gen.SliceOf(ScaleRuleAuth_STATUSGenerator()) +} + +func Test_Template_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 Template via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTemplate, TemplateGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTemplate runs a test to see if a specific instance of Template round trips to JSON and back losslessly +func RunJSONSerializationTestForTemplate(subject Template) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Template + 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 Template instances for property testing - lazily instantiated by TemplateGenerator() +var templateGenerator gopter.Gen + +// TemplateGenerator returns a generator of Template instances for property testing. +// We first initialize templateGenerator 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 TemplateGenerator() gopter.Gen { + if templateGenerator != nil { + return templateGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTemplate(generators) + templateGenerator = gen.Struct(reflect.TypeOf(Template{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTemplate(generators) + AddRelatedPropertyGeneratorsForTemplate(generators) + templateGenerator = gen.Struct(reflect.TypeOf(Template{}), generators) + + return templateGenerator +} + +// AddIndependentPropertyGeneratorsForTemplate is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTemplate(gens map[string]gopter.Gen) { + gens["RevisionSuffix"] = gen.PtrOf(gen.AlphaString()) + gens["TerminationGracePeriodSeconds"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForTemplate is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTemplate(gens map[string]gopter.Gen) { + gens["Containers"] = gen.SliceOf(ContainerGenerator()) + gens["InitContainers"] = gen.SliceOf(BaseContainerGenerator()) + gens["Scale"] = gen.PtrOf(ScaleGenerator()) + gens["ServiceBinds"] = gen.SliceOf(ServiceBindGenerator()) + gens["Volumes"] = gen.SliceOf(VolumeGenerator()) +} + +func Test_Template_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 Template_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTemplate_STATUS, Template_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTemplate_STATUS runs a test to see if a specific instance of Template_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTemplate_STATUS(subject Template_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Template_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 Template_STATUS instances for property testing - lazily instantiated by Template_STATUSGenerator() +var template_STATUSGenerator gopter.Gen + +// Template_STATUSGenerator returns a generator of Template_STATUS instances for property testing. +// We first initialize template_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 Template_STATUSGenerator() gopter.Gen { + if template_STATUSGenerator != nil { + return template_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTemplate_STATUS(generators) + template_STATUSGenerator = gen.Struct(reflect.TypeOf(Template_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTemplate_STATUS(generators) + AddRelatedPropertyGeneratorsForTemplate_STATUS(generators) + template_STATUSGenerator = gen.Struct(reflect.TypeOf(Template_STATUS{}), generators) + + return template_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTemplate_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTemplate_STATUS(gens map[string]gopter.Gen) { + gens["RevisionSuffix"] = gen.PtrOf(gen.AlphaString()) + gens["TerminationGracePeriodSeconds"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForTemplate_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTemplate_STATUS(gens map[string]gopter.Gen) { + gens["Containers"] = gen.SliceOf(Container_STATUSGenerator()) + gens["InitContainers"] = gen.SliceOf(BaseContainer_STATUSGenerator()) + gens["Scale"] = gen.PtrOf(Scale_STATUSGenerator()) + gens["ServiceBinds"] = gen.SliceOf(ServiceBind_STATUSGenerator()) + gens["Volumes"] = gen.SliceOf(Volume_STATUSGenerator()) +} + +func Test_TrafficWeight_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 TrafficWeight via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTrafficWeight, TrafficWeightGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTrafficWeight runs a test to see if a specific instance of TrafficWeight round trips to JSON and back losslessly +func RunJSONSerializationTestForTrafficWeight(subject TrafficWeight) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TrafficWeight + 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 TrafficWeight instances for property testing - lazily instantiated by TrafficWeightGenerator() +var trafficWeightGenerator gopter.Gen + +// TrafficWeightGenerator returns a generator of TrafficWeight instances for property testing. +func TrafficWeightGenerator() gopter.Gen { + if trafficWeightGenerator != nil { + return trafficWeightGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTrafficWeight(generators) + trafficWeightGenerator = gen.Struct(reflect.TypeOf(TrafficWeight{}), generators) + + return trafficWeightGenerator +} + +// AddIndependentPropertyGeneratorsForTrafficWeight is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTrafficWeight(gens map[string]gopter.Gen) { + gens["Label"] = gen.PtrOf(gen.AlphaString()) + gens["LatestRevision"] = gen.PtrOf(gen.Bool()) + gens["RevisionName"] = gen.PtrOf(gen.AlphaString()) + gens["Weight"] = gen.PtrOf(gen.Int()) +} + +func Test_TrafficWeight_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 TrafficWeight_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTrafficWeight_STATUS, TrafficWeight_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTrafficWeight_STATUS runs a test to see if a specific instance of TrafficWeight_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTrafficWeight_STATUS(subject TrafficWeight_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TrafficWeight_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 TrafficWeight_STATUS instances for property testing - lazily instantiated by +// TrafficWeight_STATUSGenerator() +var trafficWeight_STATUSGenerator gopter.Gen + +// TrafficWeight_STATUSGenerator returns a generator of TrafficWeight_STATUS instances for property testing. +func TrafficWeight_STATUSGenerator() gopter.Gen { + if trafficWeight_STATUSGenerator != nil { + return trafficWeight_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTrafficWeight_STATUS(generators) + trafficWeight_STATUSGenerator = gen.Struct(reflect.TypeOf(TrafficWeight_STATUS{}), generators) + + return trafficWeight_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTrafficWeight_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTrafficWeight_STATUS(gens map[string]gopter.Gen) { + gens["Label"] = gen.PtrOf(gen.AlphaString()) + gens["LatestRevision"] = gen.PtrOf(gen.Bool()) + gens["RevisionName"] = gen.PtrOf(gen.AlphaString()) + gens["Weight"] = gen.PtrOf(gen.Int()) +} + +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 +} + +func Test_UserAssignedIdentity_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 UserAssignedIdentity_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUserAssignedIdentity_STATUS, UserAssignedIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUserAssignedIdentity_STATUS runs a test to see if a specific instance of UserAssignedIdentity_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForUserAssignedIdentity_STATUS(subject UserAssignedIdentity_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UserAssignedIdentity_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 UserAssignedIdentity_STATUS instances for property testing - lazily instantiated by +// UserAssignedIdentity_STATUSGenerator() +var userAssignedIdentity_STATUSGenerator gopter.Gen + +// UserAssignedIdentity_STATUSGenerator returns a generator of UserAssignedIdentity_STATUS instances for property testing. +func UserAssignedIdentity_STATUSGenerator() gopter.Gen { + if userAssignedIdentity_STATUSGenerator != nil { + return userAssignedIdentity_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForUserAssignedIdentity_STATUS(generators) + userAssignedIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(UserAssignedIdentity_STATUS{}), generators) + + return userAssignedIdentity_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForUserAssignedIdentity_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForUserAssignedIdentity_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["PrincipalId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Volume_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 Volume via JSON returns original", + prop.ForAll(RunJSONSerializationTestForVolume, VolumeGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForVolume runs a test to see if a specific instance of Volume round trips to JSON and back losslessly +func RunJSONSerializationTestForVolume(subject Volume) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Volume + 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 Volume instances for property testing - lazily instantiated by VolumeGenerator() +var volumeGenerator gopter.Gen + +// VolumeGenerator returns a generator of Volume instances for property testing. +// We first initialize volumeGenerator 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 VolumeGenerator() gopter.Gen { + if volumeGenerator != nil { + return volumeGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForVolume(generators) + volumeGenerator = gen.Struct(reflect.TypeOf(Volume{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForVolume(generators) + AddRelatedPropertyGeneratorsForVolume(generators) + volumeGenerator = gen.Struct(reflect.TypeOf(Volume{}), generators) + + return volumeGenerator +} + +// AddIndependentPropertyGeneratorsForVolume is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForVolume(gens map[string]gopter.Gen) { + gens["MountOptions"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["StorageName"] = gen.PtrOf(gen.AlphaString()) + gens["StorageType"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForVolume is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForVolume(gens map[string]gopter.Gen) { + gens["Secrets"] = gen.SliceOf(SecretVolumeItemGenerator()) +} + +func Test_VolumeMount_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 VolumeMount via JSON returns original", + prop.ForAll(RunJSONSerializationTestForVolumeMount, VolumeMountGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForVolumeMount runs a test to see if a specific instance of VolumeMount round trips to JSON and back losslessly +func RunJSONSerializationTestForVolumeMount(subject VolumeMount) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual VolumeMount + 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 VolumeMount instances for property testing - lazily instantiated by VolumeMountGenerator() +var volumeMountGenerator gopter.Gen + +// VolumeMountGenerator returns a generator of VolumeMount instances for property testing. +func VolumeMountGenerator() gopter.Gen { + if volumeMountGenerator != nil { + return volumeMountGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForVolumeMount(generators) + volumeMountGenerator = gen.Struct(reflect.TypeOf(VolumeMount{}), generators) + + return volumeMountGenerator +} + +// AddIndependentPropertyGeneratorsForVolumeMount is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForVolumeMount(gens map[string]gopter.Gen) { + gens["MountPath"] = gen.PtrOf(gen.AlphaString()) + gens["SubPath"] = gen.PtrOf(gen.AlphaString()) + gens["VolumeName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_VolumeMount_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 VolumeMount_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForVolumeMount_STATUS, VolumeMount_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForVolumeMount_STATUS runs a test to see if a specific instance of VolumeMount_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForVolumeMount_STATUS(subject VolumeMount_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual VolumeMount_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 VolumeMount_STATUS instances for property testing - lazily instantiated by VolumeMount_STATUSGenerator() +var volumeMount_STATUSGenerator gopter.Gen + +// VolumeMount_STATUSGenerator returns a generator of VolumeMount_STATUS instances for property testing. +func VolumeMount_STATUSGenerator() gopter.Gen { + if volumeMount_STATUSGenerator != nil { + return volumeMount_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForVolumeMount_STATUS(generators) + volumeMount_STATUSGenerator = gen.Struct(reflect.TypeOf(VolumeMount_STATUS{}), generators) + + return volumeMount_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForVolumeMount_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForVolumeMount_STATUS(gens map[string]gopter.Gen) { + gens["MountPath"] = gen.PtrOf(gen.AlphaString()) + gens["SubPath"] = gen.PtrOf(gen.AlphaString()) + gens["VolumeName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Volume_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 Volume_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForVolume_STATUS, Volume_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForVolume_STATUS runs a test to see if a specific instance of Volume_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForVolume_STATUS(subject Volume_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Volume_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 Volume_STATUS instances for property testing - lazily instantiated by Volume_STATUSGenerator() +var volume_STATUSGenerator gopter.Gen + +// Volume_STATUSGenerator returns a generator of Volume_STATUS instances for property testing. +// We first initialize volume_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 Volume_STATUSGenerator() gopter.Gen { + if volume_STATUSGenerator != nil { + return volume_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForVolume_STATUS(generators) + volume_STATUSGenerator = gen.Struct(reflect.TypeOf(Volume_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForVolume_STATUS(generators) + AddRelatedPropertyGeneratorsForVolume_STATUS(generators) + volume_STATUSGenerator = gen.Struct(reflect.TypeOf(Volume_STATUS{}), generators) + + return volume_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForVolume_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForVolume_STATUS(gens map[string]gopter.Gen) { + gens["MountOptions"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["StorageName"] = gen.PtrOf(gen.AlphaString()) + gens["StorageType"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForVolume_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForVolume_STATUS(gens map[string]gopter.Gen) { + gens["Secrets"] = gen.SliceOf(SecretVolumeItem_STATUSGenerator()) +} diff --git a/v2/api/app/v1api20240301/storage/groupversion_info_gen.go b/v2/api/app/v1api20240301/storage/groupversion_info_gen.go new file mode 100644 index 00000000000..c19f96f8eef --- /dev/null +++ b/v2/api/app/v1api20240301/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 app storage API group +// +kubebuilder:object:generate=true +// All object properties are optional by default, this will be overridden when needed: +// +kubebuilder:validation:Optional +// +groupName=app.azure.com +// +versionName=v1api20240301storage +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: "app.azure.com", Version: "v1api20240301storage"} + + // 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/app/v1api20240301/storage/job_types_gen.go b/v2/api/app/v1api20240301/storage/job_types_gen.go new file mode 100644 index 00000000000..234adf06a01 --- /dev/null +++ b/v2/api/app/v1api20240301/storage/job_types_gen.go @@ -0,0 +1,397 @@ +// 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/Azure/azure-service-operator/v2/pkg/genruntime/configmaps" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/core" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/secrets" + "github.com/rotisserie/eris" + "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// +kubebuilder:rbac:groups=app.azure.com,resources=jobs,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=app.azure.com,resources={jobs/status,jobs/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 v1api20240301.Job +// Generator information: +// - Generated from: /app/resource-manager/Microsoft.App/stable/2024-03-01/Jobs.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName} +type Job struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec Job_Spec `json:"spec,omitempty"` + Status Job_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &Job{} + +// GetConditions returns the conditions of the resource +func (job *Job) GetConditions() conditions.Conditions { + return job.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (job *Job) SetConditions(conditions conditions.Conditions) { job.Status.Conditions = conditions } + +var _ configmaps.Exporter = &Job{} + +// ConfigMapDestinationExpressions returns the Spec.OperatorSpec.ConfigMapExpressions property +func (job *Job) ConfigMapDestinationExpressions() []*core.DestinationExpression { + if job.Spec.OperatorSpec == nil { + return nil + } + return job.Spec.OperatorSpec.ConfigMapExpressions +} + +var _ secrets.Exporter = &Job{} + +// SecretDestinationExpressions returns the Spec.OperatorSpec.SecretExpressions property +func (job *Job) SecretDestinationExpressions() []*core.DestinationExpression { + if job.Spec.OperatorSpec == nil { + return nil + } + return job.Spec.OperatorSpec.SecretExpressions +} + +var _ genruntime.KubernetesResource = &Job{} + +// AzureName returns the Azure name of the resource +func (job *Job) AzureName() string { + return job.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-03-01" +func (job Job) GetAPIVersion() string { + return "2024-03-01" +} + +// GetResourceScope returns the scope of the resource +func (job *Job) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (job *Job) GetSpec() genruntime.ConvertibleSpec { + return &job.Spec +} + +// GetStatus returns the status of this resource +func (job *Job) GetStatus() genruntime.ConvertibleStatus { + return &job.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (job *Job) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.App/jobs" +func (job *Job) GetType() string { + return "Microsoft.App/jobs" +} + +// NewEmptyStatus returns a new empty (blank) status +func (job *Job) NewEmptyStatus() genruntime.ConvertibleStatus { + return &Job_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (job *Job) Owner() *genruntime.ResourceReference { + if job.Spec.Owner == nil { + return nil + } + + group, kind := genruntime.LookupOwnerGroupKind(job.Spec) + return job.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (job *Job) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*Job_STATUS); ok { + job.Status = *st + return nil + } + + // Convert status to required version + var st Job_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return eris.Wrap(err, "failed to convert status") + } + + job.Status = st + return nil +} + +// Hub marks that this Job is the hub type for conversion +func (job *Job) Hub() {} + +// OriginalGVK returns a GroupValueKind for the original API version used to create the resource +func (job *Job) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: job.Spec.OriginalVersion, + Kind: "Job", + } +} + +// +kubebuilder:object:root=true +// Storage version of v1api20240301.Job +// Generator information: +// - Generated from: /app/resource-manager/Microsoft.App/stable/2024-03-01/Jobs.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName} +type JobList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Job `json:"items"` +} + +// Storage version of v1api20240301.Job_Spec +type Job_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"` + Configuration *JobConfiguration `json:"configuration,omitempty"` + + // EnvironmentReference: Resource ID of environment. + EnvironmentReference *genruntime.ResourceReference `armReference:"EnvironmentId" json:"environmentReference,omitempty"` + Identity *ManagedServiceIdentity `json:"identity,omitempty"` + Location *string `json:"location,omitempty"` + OperatorSpec *JobOperatorSpec `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"` + Tags map[string]string `json:"tags,omitempty"` + Template *JobTemplate `json:"template,omitempty"` + WorkloadProfileName *string `json:"workloadProfileName,omitempty"` +} + +var _ genruntime.ConvertibleSpec = &Job_Spec{} + +// ConvertSpecFrom populates our Job_Spec from the provided source +func (job *Job_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + if source == job { + return eris.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return source.ConvertSpecTo(job) +} + +// ConvertSpecTo populates the provided destination from our Job_Spec +func (job *Job_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + if destination == job { + return eris.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return destination.ConvertSpecFrom(job) +} + +// Storage version of v1api20240301.Job_STATUS +// Container App Job +type Job_STATUS struct { + Conditions []conditions.Condition `json:"conditions,omitempty"` + Configuration *JobConfiguration_STATUS `json:"configuration,omitempty"` + EnvironmentId *string `json:"environmentId,omitempty"` + EventStreamEndpoint *string `json:"eventStreamEndpoint,omitempty"` + Id *string `json:"id,omitempty"` + Identity *ManagedServiceIdentity_STATUS `json:"identity,omitempty"` + Location *string `json:"location,omitempty"` + Name *string `json:"name,omitempty"` + OutboundIpAddresses []string `json:"outboundIpAddresses,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + Tags map[string]string `json:"tags,omitempty"` + Template *JobTemplate_STATUS `json:"template,omitempty"` + Type *string `json:"type,omitempty"` + WorkloadProfileName *string `json:"workloadProfileName,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &Job_STATUS{} + +// ConvertStatusFrom populates our Job_STATUS from the provided source +func (job *Job_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + if source == job { + return eris.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return source.ConvertStatusTo(job) +} + +// ConvertStatusTo populates the provided destination from our Job_STATUS +func (job *Job_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + if destination == job { + return eris.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return destination.ConvertStatusFrom(job) +} + +// Storage version of v1api20240301.JobConfiguration +// Non versioned Container Apps Job configuration properties +type JobConfiguration struct { + EventTriggerConfig *JobConfiguration_EventTriggerConfig `json:"eventTriggerConfig,omitempty"` + ManualTriggerConfig *JobConfiguration_ManualTriggerConfig `json:"manualTriggerConfig,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Registries []RegistryCredentials `json:"registries,omitempty"` + ReplicaRetryLimit *int `json:"replicaRetryLimit,omitempty"` + ReplicaTimeout *int `json:"replicaTimeout,omitempty"` + ScheduleTriggerConfig *JobConfiguration_ScheduleTriggerConfig `json:"scheduleTriggerConfig,omitempty"` + Secrets []Secret `json:"secrets,omitempty"` + TriggerType *string `json:"triggerType,omitempty"` +} + +// Storage version of v1api20240301.JobConfiguration_STATUS +// Non versioned Container Apps Job configuration properties +type JobConfiguration_STATUS struct { + EventTriggerConfig *JobConfiguration_EventTriggerConfig_STATUS `json:"eventTriggerConfig,omitempty"` + ManualTriggerConfig *JobConfiguration_ManualTriggerConfig_STATUS `json:"manualTriggerConfig,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Registries []RegistryCredentials_STATUS `json:"registries,omitempty"` + ReplicaRetryLimit *int `json:"replicaRetryLimit,omitempty"` + ReplicaTimeout *int `json:"replicaTimeout,omitempty"` + ScheduleTriggerConfig *JobConfiguration_ScheduleTriggerConfig_STATUS `json:"scheduleTriggerConfig,omitempty"` + Secrets []Secret_STATUS `json:"secrets,omitempty"` + TriggerType *string `json:"triggerType,omitempty"` +} + +// Storage version of v1api20240301.JobOperatorSpec +// Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure +type JobOperatorSpec struct { + ConfigMapExpressions []*core.DestinationExpression `json:"configMapExpressions,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SecretExpressions []*core.DestinationExpression `json:"secretExpressions,omitempty"` +} + +// Storage version of v1api20240301.JobTemplate +// Container Apps Job versioned application definition. Defines the desired state of an immutable revision. Any changes to +// this section Will result in a new revision being created +type JobTemplate struct { + Containers []Container `json:"containers,omitempty"` + InitContainers []BaseContainer `json:"initContainers,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Volumes []Volume `json:"volumes,omitempty"` +} + +// Storage version of v1api20240301.JobTemplate_STATUS +// Container Apps Job versioned application definition. Defines the desired state of an immutable revision. Any changes to +// this section Will result in a new revision being created +type JobTemplate_STATUS struct { + Containers []Container_STATUS `json:"containers,omitempty"` + InitContainers []BaseContainer_STATUS `json:"initContainers,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Volumes []Volume_STATUS `json:"volumes,omitempty"` +} + +// Storage version of v1api20240301.JobConfiguration_EventTriggerConfig +type JobConfiguration_EventTriggerConfig struct { + Parallelism *int `json:"parallelism,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ReplicaCompletionCount *int `json:"replicaCompletionCount,omitempty"` + Scale *JobScale `json:"scale,omitempty"` +} + +// Storage version of v1api20240301.JobConfiguration_EventTriggerConfig_STATUS +type JobConfiguration_EventTriggerConfig_STATUS struct { + Parallelism *int `json:"parallelism,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ReplicaCompletionCount *int `json:"replicaCompletionCount,omitempty"` + Scale *JobScale_STATUS `json:"scale,omitempty"` +} + +// Storage version of v1api20240301.JobConfiguration_ManualTriggerConfig +type JobConfiguration_ManualTriggerConfig struct { + Parallelism *int `json:"parallelism,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ReplicaCompletionCount *int `json:"replicaCompletionCount,omitempty"` +} + +// Storage version of v1api20240301.JobConfiguration_ManualTriggerConfig_STATUS +type JobConfiguration_ManualTriggerConfig_STATUS struct { + Parallelism *int `json:"parallelism,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ReplicaCompletionCount *int `json:"replicaCompletionCount,omitempty"` +} + +// Storage version of v1api20240301.JobConfiguration_ScheduleTriggerConfig +type JobConfiguration_ScheduleTriggerConfig struct { + CronExpression *string `json:"cronExpression,omitempty"` + Parallelism *int `json:"parallelism,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ReplicaCompletionCount *int `json:"replicaCompletionCount,omitempty"` +} + +// Storage version of v1api20240301.JobConfiguration_ScheduleTriggerConfig_STATUS +type JobConfiguration_ScheduleTriggerConfig_STATUS struct { + CronExpression *string `json:"cronExpression,omitempty"` + Parallelism *int `json:"parallelism,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ReplicaCompletionCount *int `json:"replicaCompletionCount,omitempty"` +} + +// Storage version of v1api20240301.JobScale +// Scaling configurations for event driven jobs. +type JobScale struct { + MaxExecutions *int `json:"maxExecutions,omitempty"` + MinExecutions *int `json:"minExecutions,omitempty"` + PollingInterval *int `json:"pollingInterval,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Rules []JobScaleRule `json:"rules,omitempty"` +} + +// Storage version of v1api20240301.JobScale_STATUS +// Scaling configurations for event driven jobs. +type JobScale_STATUS struct { + MaxExecutions *int `json:"maxExecutions,omitempty"` + MinExecutions *int `json:"minExecutions,omitempty"` + PollingInterval *int `json:"pollingInterval,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Rules []JobScaleRule_STATUS `json:"rules,omitempty"` +} + +// Storage version of v1api20240301.JobScaleRule +// Scaling rule. +type JobScaleRule struct { + Auth []ScaleRuleAuth `json:"auth,omitempty"` + Metadata map[string]v1.JSON `json:"metadata,omitempty"` + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Type *string `json:"type,omitempty"` +} + +// Storage version of v1api20240301.JobScaleRule_STATUS +// Scaling rule. +type JobScaleRule_STATUS struct { + Auth []ScaleRuleAuth_STATUS `json:"auth,omitempty"` + Metadata map[string]v1.JSON `json:"metadata,omitempty"` + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Type *string `json:"type,omitempty"` +} + +func init() { + SchemeBuilder.Register(&Job{}, &JobList{}) +} diff --git a/v2/api/app/v1api20240301/storage/job_types_gen_test.go b/v2/api/app/v1api20240301/storage/job_types_gen_test.go new file mode 100644 index 00000000000..19954af1b8a --- /dev/null +++ b/v2/api/app/v1api20240301/storage/job_types_gen_test.go @@ -0,0 +1,1294 @@ +// 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_Job_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 Job via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJob, JobGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJob runs a test to see if a specific instance of Job round trips to JSON and back losslessly +func RunJSONSerializationTestForJob(subject Job) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Job + 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 Job instances for property testing - lazily instantiated by JobGenerator() +var jobGenerator gopter.Gen + +// JobGenerator returns a generator of Job instances for property testing. +func JobGenerator() gopter.Gen { + if jobGenerator != nil { + return jobGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForJob(generators) + jobGenerator = gen.Struct(reflect.TypeOf(Job{}), generators) + + return jobGenerator +} + +// AddRelatedPropertyGeneratorsForJob is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJob(gens map[string]gopter.Gen) { + gens["Spec"] = Job_SpecGenerator() + gens["Status"] = Job_STATUSGenerator() +} + +func Test_JobConfiguration_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 JobConfiguration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobConfiguration, JobConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobConfiguration runs a test to see if a specific instance of JobConfiguration round trips to JSON and back losslessly +func RunJSONSerializationTestForJobConfiguration(subject JobConfiguration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobConfiguration + 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 JobConfiguration instances for property testing - lazily instantiated by JobConfigurationGenerator() +var jobConfigurationGenerator gopter.Gen + +// JobConfigurationGenerator returns a generator of JobConfiguration instances for property testing. +// We first initialize jobConfigurationGenerator 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 JobConfigurationGenerator() gopter.Gen { + if jobConfigurationGenerator != nil { + return jobConfigurationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration(generators) + jobConfigurationGenerator = gen.Struct(reflect.TypeOf(JobConfiguration{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration(generators) + AddRelatedPropertyGeneratorsForJobConfiguration(generators) + jobConfigurationGenerator = gen.Struct(reflect.TypeOf(JobConfiguration{}), generators) + + return jobConfigurationGenerator +} + +// AddIndependentPropertyGeneratorsForJobConfiguration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobConfiguration(gens map[string]gopter.Gen) { + gens["ReplicaRetryLimit"] = gen.PtrOf(gen.Int()) + gens["ReplicaTimeout"] = gen.PtrOf(gen.Int()) + gens["TriggerType"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForJobConfiguration is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJobConfiguration(gens map[string]gopter.Gen) { + gens["EventTriggerConfig"] = gen.PtrOf(JobConfiguration_EventTriggerConfigGenerator()) + gens["ManualTriggerConfig"] = gen.PtrOf(JobConfiguration_ManualTriggerConfigGenerator()) + gens["Registries"] = gen.SliceOf(RegistryCredentialsGenerator()) + gens["ScheduleTriggerConfig"] = gen.PtrOf(JobConfiguration_ScheduleTriggerConfigGenerator()) + gens["Secrets"] = gen.SliceOf(SecretGenerator()) +} + +func Test_JobConfiguration_EventTriggerConfig_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 JobConfiguration_EventTriggerConfig via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobConfiguration_EventTriggerConfig, JobConfiguration_EventTriggerConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobConfiguration_EventTriggerConfig runs a test to see if a specific instance of JobConfiguration_EventTriggerConfig round trips to JSON and back losslessly +func RunJSONSerializationTestForJobConfiguration_EventTriggerConfig(subject JobConfiguration_EventTriggerConfig) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobConfiguration_EventTriggerConfig + 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 JobConfiguration_EventTriggerConfig instances for property testing - lazily instantiated by +// JobConfiguration_EventTriggerConfigGenerator() +var jobConfiguration_EventTriggerConfigGenerator gopter.Gen + +// JobConfiguration_EventTriggerConfigGenerator returns a generator of JobConfiguration_EventTriggerConfig instances for property testing. +// We first initialize jobConfiguration_EventTriggerConfigGenerator 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 JobConfiguration_EventTriggerConfigGenerator() gopter.Gen { + if jobConfiguration_EventTriggerConfigGenerator != nil { + return jobConfiguration_EventTriggerConfigGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration_EventTriggerConfig(generators) + jobConfiguration_EventTriggerConfigGenerator = gen.Struct(reflect.TypeOf(JobConfiguration_EventTriggerConfig{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration_EventTriggerConfig(generators) + AddRelatedPropertyGeneratorsForJobConfiguration_EventTriggerConfig(generators) + jobConfiguration_EventTriggerConfigGenerator = gen.Struct(reflect.TypeOf(JobConfiguration_EventTriggerConfig{}), generators) + + return jobConfiguration_EventTriggerConfigGenerator +} + +// AddIndependentPropertyGeneratorsForJobConfiguration_EventTriggerConfig is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobConfiguration_EventTriggerConfig(gens map[string]gopter.Gen) { + gens["Parallelism"] = gen.PtrOf(gen.Int()) + gens["ReplicaCompletionCount"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForJobConfiguration_EventTriggerConfig is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJobConfiguration_EventTriggerConfig(gens map[string]gopter.Gen) { + gens["Scale"] = gen.PtrOf(JobScaleGenerator()) +} + +func Test_JobConfiguration_EventTriggerConfig_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 JobConfiguration_EventTriggerConfig_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobConfiguration_EventTriggerConfig_STATUS, JobConfiguration_EventTriggerConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobConfiguration_EventTriggerConfig_STATUS runs a test to see if a specific instance of JobConfiguration_EventTriggerConfig_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForJobConfiguration_EventTriggerConfig_STATUS(subject JobConfiguration_EventTriggerConfig_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobConfiguration_EventTriggerConfig_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 JobConfiguration_EventTriggerConfig_STATUS instances for property testing - lazily instantiated by +// JobConfiguration_EventTriggerConfig_STATUSGenerator() +var jobConfiguration_EventTriggerConfig_STATUSGenerator gopter.Gen + +// JobConfiguration_EventTriggerConfig_STATUSGenerator returns a generator of JobConfiguration_EventTriggerConfig_STATUS instances for property testing. +// We first initialize jobConfiguration_EventTriggerConfig_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 JobConfiguration_EventTriggerConfig_STATUSGenerator() gopter.Gen { + if jobConfiguration_EventTriggerConfig_STATUSGenerator != nil { + return jobConfiguration_EventTriggerConfig_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration_EventTriggerConfig_STATUS(generators) + jobConfiguration_EventTriggerConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(JobConfiguration_EventTriggerConfig_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration_EventTriggerConfig_STATUS(generators) + AddRelatedPropertyGeneratorsForJobConfiguration_EventTriggerConfig_STATUS(generators) + jobConfiguration_EventTriggerConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(JobConfiguration_EventTriggerConfig_STATUS{}), generators) + + return jobConfiguration_EventTriggerConfig_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForJobConfiguration_EventTriggerConfig_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobConfiguration_EventTriggerConfig_STATUS(gens map[string]gopter.Gen) { + gens["Parallelism"] = gen.PtrOf(gen.Int()) + gens["ReplicaCompletionCount"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForJobConfiguration_EventTriggerConfig_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJobConfiguration_EventTriggerConfig_STATUS(gens map[string]gopter.Gen) { + gens["Scale"] = gen.PtrOf(JobScale_STATUSGenerator()) +} + +func Test_JobConfiguration_ManualTriggerConfig_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 JobConfiguration_ManualTriggerConfig via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobConfiguration_ManualTriggerConfig, JobConfiguration_ManualTriggerConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobConfiguration_ManualTriggerConfig runs a test to see if a specific instance of JobConfiguration_ManualTriggerConfig round trips to JSON and back losslessly +func RunJSONSerializationTestForJobConfiguration_ManualTriggerConfig(subject JobConfiguration_ManualTriggerConfig) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobConfiguration_ManualTriggerConfig + 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 JobConfiguration_ManualTriggerConfig instances for property testing - lazily instantiated by +// JobConfiguration_ManualTriggerConfigGenerator() +var jobConfiguration_ManualTriggerConfigGenerator gopter.Gen + +// JobConfiguration_ManualTriggerConfigGenerator returns a generator of JobConfiguration_ManualTriggerConfig instances for property testing. +func JobConfiguration_ManualTriggerConfigGenerator() gopter.Gen { + if jobConfiguration_ManualTriggerConfigGenerator != nil { + return jobConfiguration_ManualTriggerConfigGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration_ManualTriggerConfig(generators) + jobConfiguration_ManualTriggerConfigGenerator = gen.Struct(reflect.TypeOf(JobConfiguration_ManualTriggerConfig{}), generators) + + return jobConfiguration_ManualTriggerConfigGenerator +} + +// AddIndependentPropertyGeneratorsForJobConfiguration_ManualTriggerConfig is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobConfiguration_ManualTriggerConfig(gens map[string]gopter.Gen) { + gens["Parallelism"] = gen.PtrOf(gen.Int()) + gens["ReplicaCompletionCount"] = gen.PtrOf(gen.Int()) +} + +func Test_JobConfiguration_ManualTriggerConfig_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 JobConfiguration_ManualTriggerConfig_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobConfiguration_ManualTriggerConfig_STATUS, JobConfiguration_ManualTriggerConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobConfiguration_ManualTriggerConfig_STATUS runs a test to see if a specific instance of JobConfiguration_ManualTriggerConfig_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForJobConfiguration_ManualTriggerConfig_STATUS(subject JobConfiguration_ManualTriggerConfig_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobConfiguration_ManualTriggerConfig_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 JobConfiguration_ManualTriggerConfig_STATUS instances for property testing - lazily instantiated by +// JobConfiguration_ManualTriggerConfig_STATUSGenerator() +var jobConfiguration_ManualTriggerConfig_STATUSGenerator gopter.Gen + +// JobConfiguration_ManualTriggerConfig_STATUSGenerator returns a generator of JobConfiguration_ManualTriggerConfig_STATUS instances for property testing. +func JobConfiguration_ManualTriggerConfig_STATUSGenerator() gopter.Gen { + if jobConfiguration_ManualTriggerConfig_STATUSGenerator != nil { + return jobConfiguration_ManualTriggerConfig_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration_ManualTriggerConfig_STATUS(generators) + jobConfiguration_ManualTriggerConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(JobConfiguration_ManualTriggerConfig_STATUS{}), generators) + + return jobConfiguration_ManualTriggerConfig_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForJobConfiguration_ManualTriggerConfig_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobConfiguration_ManualTriggerConfig_STATUS(gens map[string]gopter.Gen) { + gens["Parallelism"] = gen.PtrOf(gen.Int()) + gens["ReplicaCompletionCount"] = gen.PtrOf(gen.Int()) +} + +func Test_JobConfiguration_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 JobConfiguration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobConfiguration_STATUS, JobConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobConfiguration_STATUS runs a test to see if a specific instance of JobConfiguration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForJobConfiguration_STATUS(subject JobConfiguration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobConfiguration_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 JobConfiguration_STATUS instances for property testing - lazily instantiated by +// JobConfiguration_STATUSGenerator() +var jobConfiguration_STATUSGenerator gopter.Gen + +// JobConfiguration_STATUSGenerator returns a generator of JobConfiguration_STATUS instances for property testing. +// We first initialize jobConfiguration_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 JobConfiguration_STATUSGenerator() gopter.Gen { + if jobConfiguration_STATUSGenerator != nil { + return jobConfiguration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration_STATUS(generators) + jobConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(JobConfiguration_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration_STATUS(generators) + AddRelatedPropertyGeneratorsForJobConfiguration_STATUS(generators) + jobConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(JobConfiguration_STATUS{}), generators) + + return jobConfiguration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForJobConfiguration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["ReplicaRetryLimit"] = gen.PtrOf(gen.Int()) + gens["ReplicaTimeout"] = gen.PtrOf(gen.Int()) + gens["TriggerType"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForJobConfiguration_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJobConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["EventTriggerConfig"] = gen.PtrOf(JobConfiguration_EventTriggerConfig_STATUSGenerator()) + gens["ManualTriggerConfig"] = gen.PtrOf(JobConfiguration_ManualTriggerConfig_STATUSGenerator()) + gens["Registries"] = gen.SliceOf(RegistryCredentials_STATUSGenerator()) + gens["ScheduleTriggerConfig"] = gen.PtrOf(JobConfiguration_ScheduleTriggerConfig_STATUSGenerator()) + gens["Secrets"] = gen.SliceOf(Secret_STATUSGenerator()) +} + +func Test_JobConfiguration_ScheduleTriggerConfig_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 JobConfiguration_ScheduleTriggerConfig via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobConfiguration_ScheduleTriggerConfig, JobConfiguration_ScheduleTriggerConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobConfiguration_ScheduleTriggerConfig runs a test to see if a specific instance of JobConfiguration_ScheduleTriggerConfig round trips to JSON and back losslessly +func RunJSONSerializationTestForJobConfiguration_ScheduleTriggerConfig(subject JobConfiguration_ScheduleTriggerConfig) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobConfiguration_ScheduleTriggerConfig + 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 JobConfiguration_ScheduleTriggerConfig instances for property testing - lazily instantiated by +// JobConfiguration_ScheduleTriggerConfigGenerator() +var jobConfiguration_ScheduleTriggerConfigGenerator gopter.Gen + +// JobConfiguration_ScheduleTriggerConfigGenerator returns a generator of JobConfiguration_ScheduleTriggerConfig instances for property testing. +func JobConfiguration_ScheduleTriggerConfigGenerator() gopter.Gen { + if jobConfiguration_ScheduleTriggerConfigGenerator != nil { + return jobConfiguration_ScheduleTriggerConfigGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration_ScheduleTriggerConfig(generators) + jobConfiguration_ScheduleTriggerConfigGenerator = gen.Struct(reflect.TypeOf(JobConfiguration_ScheduleTriggerConfig{}), generators) + + return jobConfiguration_ScheduleTriggerConfigGenerator +} + +// AddIndependentPropertyGeneratorsForJobConfiguration_ScheduleTriggerConfig is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobConfiguration_ScheduleTriggerConfig(gens map[string]gopter.Gen) { + gens["CronExpression"] = gen.PtrOf(gen.AlphaString()) + gens["Parallelism"] = gen.PtrOf(gen.Int()) + gens["ReplicaCompletionCount"] = gen.PtrOf(gen.Int()) +} + +func Test_JobConfiguration_ScheduleTriggerConfig_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 JobConfiguration_ScheduleTriggerConfig_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobConfiguration_ScheduleTriggerConfig_STATUS, JobConfiguration_ScheduleTriggerConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobConfiguration_ScheduleTriggerConfig_STATUS runs a test to see if a specific instance of JobConfiguration_ScheduleTriggerConfig_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForJobConfiguration_ScheduleTriggerConfig_STATUS(subject JobConfiguration_ScheduleTriggerConfig_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobConfiguration_ScheduleTriggerConfig_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 JobConfiguration_ScheduleTriggerConfig_STATUS instances for property testing - lazily instantiated by +// JobConfiguration_ScheduleTriggerConfig_STATUSGenerator() +var jobConfiguration_ScheduleTriggerConfig_STATUSGenerator gopter.Gen + +// JobConfiguration_ScheduleTriggerConfig_STATUSGenerator returns a generator of JobConfiguration_ScheduleTriggerConfig_STATUS instances for property testing. +func JobConfiguration_ScheduleTriggerConfig_STATUSGenerator() gopter.Gen { + if jobConfiguration_ScheduleTriggerConfig_STATUSGenerator != nil { + return jobConfiguration_ScheduleTriggerConfig_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobConfiguration_ScheduleTriggerConfig_STATUS(generators) + jobConfiguration_ScheduleTriggerConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(JobConfiguration_ScheduleTriggerConfig_STATUS{}), generators) + + return jobConfiguration_ScheduleTriggerConfig_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForJobConfiguration_ScheduleTriggerConfig_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobConfiguration_ScheduleTriggerConfig_STATUS(gens map[string]gopter.Gen) { + gens["CronExpression"] = gen.PtrOf(gen.AlphaString()) + gens["Parallelism"] = gen.PtrOf(gen.Int()) + gens["ReplicaCompletionCount"] = gen.PtrOf(gen.Int()) +} + +func Test_JobOperatorSpec_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 JobOperatorSpec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobOperatorSpec, JobOperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobOperatorSpec runs a test to see if a specific instance of JobOperatorSpec round trips to JSON and back losslessly +func RunJSONSerializationTestForJobOperatorSpec(subject JobOperatorSpec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobOperatorSpec + 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 JobOperatorSpec instances for property testing - lazily instantiated by JobOperatorSpecGenerator() +var jobOperatorSpecGenerator gopter.Gen + +// JobOperatorSpecGenerator returns a generator of JobOperatorSpec instances for property testing. +func JobOperatorSpecGenerator() gopter.Gen { + if jobOperatorSpecGenerator != nil { + return jobOperatorSpecGenerator + } + + generators := make(map[string]gopter.Gen) + jobOperatorSpecGenerator = gen.Struct(reflect.TypeOf(JobOperatorSpec{}), generators) + + return jobOperatorSpecGenerator +} + +func Test_JobScale_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 JobScale via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobScale, JobScaleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobScale runs a test to see if a specific instance of JobScale round trips to JSON and back losslessly +func RunJSONSerializationTestForJobScale(subject JobScale) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobScale + 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 JobScale instances for property testing - lazily instantiated by JobScaleGenerator() +var jobScaleGenerator gopter.Gen + +// JobScaleGenerator returns a generator of JobScale instances for property testing. +// We first initialize jobScaleGenerator 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 JobScaleGenerator() gopter.Gen { + if jobScaleGenerator != nil { + return jobScaleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobScale(generators) + jobScaleGenerator = gen.Struct(reflect.TypeOf(JobScale{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobScale(generators) + AddRelatedPropertyGeneratorsForJobScale(generators) + jobScaleGenerator = gen.Struct(reflect.TypeOf(JobScale{}), generators) + + return jobScaleGenerator +} + +// AddIndependentPropertyGeneratorsForJobScale is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobScale(gens map[string]gopter.Gen) { + gens["MaxExecutions"] = gen.PtrOf(gen.Int()) + gens["MinExecutions"] = gen.PtrOf(gen.Int()) + gens["PollingInterval"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForJobScale is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJobScale(gens map[string]gopter.Gen) { + gens["Rules"] = gen.SliceOf(JobScaleRuleGenerator()) +} + +func Test_JobScaleRule_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 JobScaleRule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobScaleRule, JobScaleRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobScaleRule runs a test to see if a specific instance of JobScaleRule round trips to JSON and back losslessly +func RunJSONSerializationTestForJobScaleRule(subject JobScaleRule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobScaleRule + 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 JobScaleRule instances for property testing - lazily instantiated by JobScaleRuleGenerator() +var jobScaleRuleGenerator gopter.Gen + +// JobScaleRuleGenerator returns a generator of JobScaleRule instances for property testing. +// We first initialize jobScaleRuleGenerator 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 JobScaleRuleGenerator() gopter.Gen { + if jobScaleRuleGenerator != nil { + return jobScaleRuleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobScaleRule(generators) + jobScaleRuleGenerator = gen.Struct(reflect.TypeOf(JobScaleRule{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobScaleRule(generators) + AddRelatedPropertyGeneratorsForJobScaleRule(generators) + jobScaleRuleGenerator = gen.Struct(reflect.TypeOf(JobScaleRule{}), generators) + + return jobScaleRuleGenerator +} + +// AddIndependentPropertyGeneratorsForJobScaleRule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobScaleRule(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForJobScaleRule is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJobScaleRule(gens map[string]gopter.Gen) { + gens["Auth"] = gen.SliceOf(ScaleRuleAuthGenerator()) +} + +func Test_JobScaleRule_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 JobScaleRule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobScaleRule_STATUS, JobScaleRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobScaleRule_STATUS runs a test to see if a specific instance of JobScaleRule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForJobScaleRule_STATUS(subject JobScaleRule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobScaleRule_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 JobScaleRule_STATUS instances for property testing - lazily instantiated by +// JobScaleRule_STATUSGenerator() +var jobScaleRule_STATUSGenerator gopter.Gen + +// JobScaleRule_STATUSGenerator returns a generator of JobScaleRule_STATUS instances for property testing. +// We first initialize jobScaleRule_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 JobScaleRule_STATUSGenerator() gopter.Gen { + if jobScaleRule_STATUSGenerator != nil { + return jobScaleRule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobScaleRule_STATUS(generators) + jobScaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(JobScaleRule_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobScaleRule_STATUS(generators) + AddRelatedPropertyGeneratorsForJobScaleRule_STATUS(generators) + jobScaleRule_STATUSGenerator = gen.Struct(reflect.TypeOf(JobScaleRule_STATUS{}), generators) + + return jobScaleRule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForJobScaleRule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForJobScaleRule_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJobScaleRule_STATUS(gens map[string]gopter.Gen) { + gens["Auth"] = gen.SliceOf(ScaleRuleAuth_STATUSGenerator()) +} + +func Test_JobScale_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 JobScale_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobScale_STATUS, JobScale_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobScale_STATUS runs a test to see if a specific instance of JobScale_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForJobScale_STATUS(subject JobScale_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobScale_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 JobScale_STATUS instances for property testing - lazily instantiated by JobScale_STATUSGenerator() +var jobScale_STATUSGenerator gopter.Gen + +// JobScale_STATUSGenerator returns a generator of JobScale_STATUS instances for property testing. +// We first initialize jobScale_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 JobScale_STATUSGenerator() gopter.Gen { + if jobScale_STATUSGenerator != nil { + return jobScale_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobScale_STATUS(generators) + jobScale_STATUSGenerator = gen.Struct(reflect.TypeOf(JobScale_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJobScale_STATUS(generators) + AddRelatedPropertyGeneratorsForJobScale_STATUS(generators) + jobScale_STATUSGenerator = gen.Struct(reflect.TypeOf(JobScale_STATUS{}), generators) + + return jobScale_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForJobScale_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJobScale_STATUS(gens map[string]gopter.Gen) { + gens["MaxExecutions"] = gen.PtrOf(gen.Int()) + gens["MinExecutions"] = gen.PtrOf(gen.Int()) + gens["PollingInterval"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForJobScale_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJobScale_STATUS(gens map[string]gopter.Gen) { + gens["Rules"] = gen.SliceOf(JobScaleRule_STATUSGenerator()) +} + +func Test_JobTemplate_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 JobTemplate via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobTemplate, JobTemplateGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobTemplate runs a test to see if a specific instance of JobTemplate round trips to JSON and back losslessly +func RunJSONSerializationTestForJobTemplate(subject JobTemplate) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobTemplate + 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 JobTemplate instances for property testing - lazily instantiated by JobTemplateGenerator() +var jobTemplateGenerator gopter.Gen + +// JobTemplateGenerator returns a generator of JobTemplate instances for property testing. +func JobTemplateGenerator() gopter.Gen { + if jobTemplateGenerator != nil { + return jobTemplateGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForJobTemplate(generators) + jobTemplateGenerator = gen.Struct(reflect.TypeOf(JobTemplate{}), generators) + + return jobTemplateGenerator +} + +// AddRelatedPropertyGeneratorsForJobTemplate is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJobTemplate(gens map[string]gopter.Gen) { + gens["Containers"] = gen.SliceOf(ContainerGenerator()) + gens["InitContainers"] = gen.SliceOf(BaseContainerGenerator()) + gens["Volumes"] = gen.SliceOf(VolumeGenerator()) +} + +func Test_JobTemplate_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 JobTemplate_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJobTemplate_STATUS, JobTemplate_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJobTemplate_STATUS runs a test to see if a specific instance of JobTemplate_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForJobTemplate_STATUS(subject JobTemplate_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual JobTemplate_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 JobTemplate_STATUS instances for property testing - lazily instantiated by JobTemplate_STATUSGenerator() +var jobTemplate_STATUSGenerator gopter.Gen + +// JobTemplate_STATUSGenerator returns a generator of JobTemplate_STATUS instances for property testing. +func JobTemplate_STATUSGenerator() gopter.Gen { + if jobTemplate_STATUSGenerator != nil { + return jobTemplate_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForJobTemplate_STATUS(generators) + jobTemplate_STATUSGenerator = gen.Struct(reflect.TypeOf(JobTemplate_STATUS{}), generators) + + return jobTemplate_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForJobTemplate_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJobTemplate_STATUS(gens map[string]gopter.Gen) { + gens["Containers"] = gen.SliceOf(Container_STATUSGenerator()) + gens["InitContainers"] = gen.SliceOf(BaseContainer_STATUSGenerator()) + gens["Volumes"] = gen.SliceOf(Volume_STATUSGenerator()) +} + +func Test_Job_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 Job_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJob_STATUS, Job_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJob_STATUS runs a test to see if a specific instance of Job_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForJob_STATUS(subject Job_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Job_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 Job_STATUS instances for property testing - lazily instantiated by Job_STATUSGenerator() +var job_STATUSGenerator gopter.Gen + +// Job_STATUSGenerator returns a generator of Job_STATUS instances for property testing. +// We first initialize job_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 Job_STATUSGenerator() gopter.Gen { + if job_STATUSGenerator != nil { + return job_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJob_STATUS(generators) + job_STATUSGenerator = gen.Struct(reflect.TypeOf(Job_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJob_STATUS(generators) + AddRelatedPropertyGeneratorsForJob_STATUS(generators) + job_STATUSGenerator = gen.Struct(reflect.TypeOf(Job_STATUS{}), generators) + + return job_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForJob_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJob_STATUS(gens map[string]gopter.Gen) { + gens["EnvironmentId"] = gen.PtrOf(gen.AlphaString()) + gens["EventStreamEndpoint"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["OutboundIpAddresses"] = gen.SliceOf(gen.AlphaString()) + gens["ProvisioningState"] = gen.PtrOf(gen.AlphaString()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) + gens["WorkloadProfileName"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForJob_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJob_STATUS(gens map[string]gopter.Gen) { + gens["Configuration"] = gen.PtrOf(JobConfiguration_STATUSGenerator()) + gens["Identity"] = gen.PtrOf(ManagedServiceIdentity_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) + gens["Template"] = gen.PtrOf(JobTemplate_STATUSGenerator()) +} + +func Test_Job_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 Job_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForJob_Spec, Job_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForJob_Spec runs a test to see if a specific instance of Job_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForJob_Spec(subject Job_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Job_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 Job_Spec instances for property testing - lazily instantiated by Job_SpecGenerator() +var job_SpecGenerator gopter.Gen + +// Job_SpecGenerator returns a generator of Job_Spec instances for property testing. +// We first initialize job_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 Job_SpecGenerator() gopter.Gen { + if job_SpecGenerator != nil { + return job_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJob_Spec(generators) + job_SpecGenerator = gen.Struct(reflect.TypeOf(Job_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForJob_Spec(generators) + AddRelatedPropertyGeneratorsForJob_Spec(generators) + job_SpecGenerator = gen.Struct(reflect.TypeOf(Job_Spec{}), generators) + + return job_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForJob_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForJob_Spec(gens map[string]gopter.Gen) { + gens["AzureName"] = gen.AlphaString() + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["OriginalVersion"] = gen.AlphaString() + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["WorkloadProfileName"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForJob_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForJob_Spec(gens map[string]gopter.Gen) { + gens["Configuration"] = gen.PtrOf(JobConfigurationGenerator()) + gens["Identity"] = gen.PtrOf(ManagedServiceIdentityGenerator()) + gens["OperatorSpec"] = gen.PtrOf(JobOperatorSpecGenerator()) + gens["Template"] = gen.PtrOf(JobTemplateGenerator()) +} diff --git a/v2/api/app/v1api20240301/storage/managed_environment_types_gen.go b/v2/api/app/v1api20240301/storage/managed_environment_types_gen.go new file mode 100644 index 00000000000..45c9b851a25 --- /dev/null +++ b/v2/api/app/v1api20240301/storage/managed_environment_types_gen.go @@ -0,0 +1,437 @@ +// 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/Azure/azure-service-operator/v2/pkg/genruntime/configmaps" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/core" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/secrets" + "github.com/rotisserie/eris" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// +kubebuilder:rbac:groups=app.azure.com,resources=managedenvironments,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=app.azure.com,resources={managedenvironments/status,managedenvironments/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 v1api20240301.ManagedEnvironment +// Generator information: +// - Generated from: /app/resource-manager/Microsoft.App/stable/2024-03-01/ManagedEnvironments.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName} +type ManagedEnvironment struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ManagedEnvironment_Spec `json:"spec,omitempty"` + Status ManagedEnvironment_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &ManagedEnvironment{} + +// GetConditions returns the conditions of the resource +func (environment *ManagedEnvironment) GetConditions() conditions.Conditions { + return environment.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (environment *ManagedEnvironment) SetConditions(conditions conditions.Conditions) { + environment.Status.Conditions = conditions +} + +var _ configmaps.Exporter = &ManagedEnvironment{} + +// ConfigMapDestinationExpressions returns the Spec.OperatorSpec.ConfigMapExpressions property +func (environment *ManagedEnvironment) ConfigMapDestinationExpressions() []*core.DestinationExpression { + if environment.Spec.OperatorSpec == nil { + return nil + } + return environment.Spec.OperatorSpec.ConfigMapExpressions +} + +var _ secrets.Exporter = &ManagedEnvironment{} + +// SecretDestinationExpressions returns the Spec.OperatorSpec.SecretExpressions property +func (environment *ManagedEnvironment) SecretDestinationExpressions() []*core.DestinationExpression { + if environment.Spec.OperatorSpec == nil { + return nil + } + return environment.Spec.OperatorSpec.SecretExpressions +} + +var _ genruntime.KubernetesResource = &ManagedEnvironment{} + +// AzureName returns the Azure name of the resource +func (environment *ManagedEnvironment) AzureName() string { + return environment.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-03-01" +func (environment ManagedEnvironment) GetAPIVersion() string { + return "2024-03-01" +} + +// GetResourceScope returns the scope of the resource +func (environment *ManagedEnvironment) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (environment *ManagedEnvironment) GetSpec() genruntime.ConvertibleSpec { + return &environment.Spec +} + +// GetStatus returns the status of this resource +func (environment *ManagedEnvironment) GetStatus() genruntime.ConvertibleStatus { + return &environment.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (environment *ManagedEnvironment) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.App/managedEnvironments" +func (environment *ManagedEnvironment) GetType() string { + return "Microsoft.App/managedEnvironments" +} + +// NewEmptyStatus returns a new empty (blank) status +func (environment *ManagedEnvironment) NewEmptyStatus() genruntime.ConvertibleStatus { + return &ManagedEnvironment_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (environment *ManagedEnvironment) Owner() *genruntime.ResourceReference { + if environment.Spec.Owner == nil { + return nil + } + + group, kind := genruntime.LookupOwnerGroupKind(environment.Spec) + return environment.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (environment *ManagedEnvironment) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*ManagedEnvironment_STATUS); ok { + environment.Status = *st + return nil + } + + // Convert status to required version + var st ManagedEnvironment_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return eris.Wrap(err, "failed to convert status") + } + + environment.Status = st + return nil +} + +// Hub marks that this ManagedEnvironment is the hub type for conversion +func (environment *ManagedEnvironment) Hub() {} + +// OriginalGVK returns a GroupValueKind for the original API version used to create the resource +func (environment *ManagedEnvironment) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: environment.Spec.OriginalVersion, + Kind: "ManagedEnvironment", + } +} + +// +kubebuilder:object:root=true +// Storage version of v1api20240301.ManagedEnvironment +// Generator information: +// - Generated from: /app/resource-manager/Microsoft.App/stable/2024-03-01/ManagedEnvironments.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName} +type ManagedEnvironmentList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ManagedEnvironment `json:"items"` +} + +// Storage version of v1api20240301.ManagedEnvironment_Spec +type ManagedEnvironment_Spec struct { + AppLogsConfiguration *AppLogsConfiguration `json:"appLogsConfiguration,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"` + CustomDomainConfiguration *CustomDomainConfiguration `json:"customDomainConfiguration,omitempty"` + DaprAIConnectionString *genruntime.SecretReference `json:"daprAIConnectionString,omitempty"` + DaprAIInstrumentationKey *genruntime.SecretReference `json:"daprAIInstrumentationKey,omitempty"` + InfrastructureResourceGroup *string `json:"infrastructureResourceGroup,omitempty"` + Kind *string `json:"kind,omitempty"` + Location *string `json:"location,omitempty"` + OperatorSpec *ManagedEnvironmentOperatorSpec `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"` + PeerAuthentication *ManagedEnvironment_Properties_PeerAuthentication_Spec `json:"peerAuthentication,omitempty"` + PeerTrafficConfiguration *ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec `json:"peerTrafficConfiguration,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Tags map[string]string `json:"tags,omitempty"` + VnetConfiguration *VnetConfiguration `json:"vnetConfiguration,omitempty"` + WorkloadProfiles []WorkloadProfile `json:"workloadProfiles,omitempty"` + ZoneRedundant *bool `json:"zoneRedundant,omitempty"` +} + +var _ genruntime.ConvertibleSpec = &ManagedEnvironment_Spec{} + +// ConvertSpecFrom populates our ManagedEnvironment_Spec from the provided source +func (environment *ManagedEnvironment_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + if source == environment { + return eris.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return source.ConvertSpecTo(environment) +} + +// ConvertSpecTo populates the provided destination from our ManagedEnvironment_Spec +func (environment *ManagedEnvironment_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + if destination == environment { + return eris.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return destination.ConvertSpecFrom(environment) +} + +// Storage version of v1api20240301.ManagedEnvironment_STATUS +// An environment for hosting container apps +type ManagedEnvironment_STATUS struct { + AppLogsConfiguration *AppLogsConfiguration_STATUS `json:"appLogsConfiguration,omitempty"` + Conditions []conditions.Condition `json:"conditions,omitempty"` + CustomDomainConfiguration *CustomDomainConfiguration_STATUS `json:"customDomainConfiguration,omitempty"` + DaprConfiguration *DaprConfiguration_STATUS `json:"daprConfiguration,omitempty"` + DefaultDomain *string `json:"defaultDomain,omitempty"` + DeploymentErrors *string `json:"deploymentErrors,omitempty"` + EventStreamEndpoint *string `json:"eventStreamEndpoint,omitempty"` + Id *string `json:"id,omitempty"` + InfrastructureResourceGroup *string `json:"infrastructureResourceGroup,omitempty"` + KedaConfiguration *KedaConfiguration_STATUS `json:"kedaConfiguration,omitempty"` + Kind *string `json:"kind,omitempty"` + Location *string `json:"location,omitempty"` + Name *string `json:"name,omitempty"` + PeerAuthentication *ManagedEnvironment_Properties_PeerAuthentication_STATUS `json:"peerAuthentication,omitempty"` + PeerTrafficConfiguration *ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS `json:"peerTrafficConfiguration,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` + StaticIp *string `json:"staticIp,omitempty"` + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + Tags map[string]string `json:"tags,omitempty"` + Type *string `json:"type,omitempty"` + VnetConfiguration *VnetConfiguration_STATUS `json:"vnetConfiguration,omitempty"` + WorkloadProfiles []WorkloadProfile_STATUS `json:"workloadProfiles,omitempty"` + ZoneRedundant *bool `json:"zoneRedundant,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &ManagedEnvironment_STATUS{} + +// ConvertStatusFrom populates our ManagedEnvironment_STATUS from the provided source +func (environment *ManagedEnvironment_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + if source == environment { + return eris.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return source.ConvertStatusTo(environment) +} + +// ConvertStatusTo populates the provided destination from our ManagedEnvironment_STATUS +func (environment *ManagedEnvironment_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + if destination == environment { + return eris.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return destination.ConvertStatusFrom(environment) +} + +// Storage version of v1api20240301.AppLogsConfiguration +// Configuration of application logs +type AppLogsConfiguration struct { + Destination *string `json:"destination,omitempty"` + LogAnalyticsConfiguration *LogAnalyticsConfiguration `json:"logAnalyticsConfiguration,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.AppLogsConfiguration_STATUS +// Configuration of application logs +type AppLogsConfiguration_STATUS struct { + Destination *string `json:"destination,omitempty"` + LogAnalyticsConfiguration *LogAnalyticsConfiguration_STATUS `json:"logAnalyticsConfiguration,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.CustomDomainConfiguration +// Configuration properties for apps environment custom domain +type CustomDomainConfiguration struct { + CertificatePassword *genruntime.SecretReference `json:"certificatePassword,omitempty"` + CertificateValue *genruntime.SecretReference `json:"certificateValue,omitempty"` + DnsSuffix *string `json:"dnsSuffix,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.CustomDomainConfiguration_STATUS +// Configuration properties for apps environment custom domain +type CustomDomainConfiguration_STATUS struct { + CustomDomainVerificationId *string `json:"customDomainVerificationId,omitempty"` + DnsSuffix *string `json:"dnsSuffix,omitempty"` + ExpirationDate *string `json:"expirationDate,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SubjectName *string `json:"subjectName,omitempty"` + Thumbprint *string `json:"thumbprint,omitempty"` +} + +// Storage version of v1api20240301.DaprConfiguration_STATUS +// Configuration properties Dapr component +type DaprConfiguration_STATUS struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Version *string `json:"version,omitempty"` +} + +// Storage version of v1api20240301.KedaConfiguration_STATUS +// Configuration properties Keda component +type KedaConfiguration_STATUS struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Version *string `json:"version,omitempty"` +} + +// Storage version of v1api20240301.ManagedEnvironment_Properties_PeerAuthentication_Spec +type ManagedEnvironment_Properties_PeerAuthentication_Spec struct { + Mtls *Mtls `json:"mtls,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.ManagedEnvironment_Properties_PeerAuthentication_STATUS +type ManagedEnvironment_Properties_PeerAuthentication_STATUS struct { + Mtls *Mtls_STATUS `json:"mtls,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec +type ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec struct { + Encryption *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec `json:"encryption,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS +type ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS struct { + Encryption *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS `json:"encryption,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.ManagedEnvironmentOperatorSpec +// Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure +type ManagedEnvironmentOperatorSpec struct { + ConfigMapExpressions []*core.DestinationExpression `json:"configMapExpressions,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SecretExpressions []*core.DestinationExpression `json:"secretExpressions,omitempty"` +} + +// Storage version of v1api20240301.VnetConfiguration +// Configuration properties for apps environment to join a Virtual Network +type VnetConfiguration struct { + DockerBridgeCidr *string `json:"dockerBridgeCidr,omitempty"` + + // InfrastructureSubnetReference: Resource ID of a subnet for infrastructure components. Must not overlap with any other + // provided IP ranges. + InfrastructureSubnetReference *genruntime.ResourceReference `armReference:"InfrastructureSubnetId" json:"infrastructureSubnetReference,omitempty"` + Internal *bool `json:"internal,omitempty"` + PlatformReservedCidr *string `json:"platformReservedCidr,omitempty"` + PlatformReservedDnsIP *string `json:"platformReservedDnsIP,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.VnetConfiguration_STATUS +// Configuration properties for apps environment to join a Virtual Network +type VnetConfiguration_STATUS struct { + DockerBridgeCidr *string `json:"dockerBridgeCidr,omitempty"` + InfrastructureSubnetId *string `json:"infrastructureSubnetId,omitempty"` + Internal *bool `json:"internal,omitempty"` + PlatformReservedCidr *string `json:"platformReservedCidr,omitempty"` + PlatformReservedDnsIP *string `json:"platformReservedDnsIP,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.WorkloadProfile +// Workload profile to scope container app execution. +type WorkloadProfile struct { + MaximumCount *int `json:"maximumCount,omitempty"` + MinimumCount *int `json:"minimumCount,omitempty"` + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + WorkloadProfileType *string `json:"workloadProfileType,omitempty"` +} + +// Storage version of v1api20240301.WorkloadProfile_STATUS +// Workload profile to scope container app execution. +type WorkloadProfile_STATUS struct { + MaximumCount *int `json:"maximumCount,omitempty"` + MinimumCount *int `json:"minimumCount,omitempty"` + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + WorkloadProfileType *string `json:"workloadProfileType,omitempty"` +} + +// Storage version of v1api20240301.LogAnalyticsConfiguration +// Log Analytics configuration, must only be provided when destination is configured as 'log-analytics' +type LogAnalyticsConfiguration struct { + CustomerId *string `json:"customerId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SharedKey *genruntime.SecretReference `json:"sharedKey,omitempty"` +} + +// Storage version of v1api20240301.LogAnalyticsConfiguration_STATUS +// Log Analytics configuration, must only be provided when destination is configured as 'log-analytics' +type LogAnalyticsConfiguration_STATUS struct { + CustomerId *string `json:"customerId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec +type ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS +type ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.Mtls +// Configuration properties for mutual TLS authentication +type Mtls struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240301.Mtls_STATUS +// Configuration properties for mutual TLS authentication +type Mtls_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +func init() { + SchemeBuilder.Register(&ManagedEnvironment{}, &ManagedEnvironmentList{}) +} diff --git a/v2/api/app/v1api20240301/storage/managed_environment_types_gen_test.go b/v2/api/app/v1api20240301/storage/managed_environment_types_gen_test.go new file mode 100644 index 00000000000..6fa34ca5ab0 --- /dev/null +++ b/v2/api/app/v1api20240301/storage/managed_environment_types_gen_test.go @@ -0,0 +1,1581 @@ +// 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_AppLogsConfiguration_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 AppLogsConfiguration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAppLogsConfiguration, AppLogsConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAppLogsConfiguration runs a test to see if a specific instance of AppLogsConfiguration round trips to JSON and back losslessly +func RunJSONSerializationTestForAppLogsConfiguration(subject AppLogsConfiguration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AppLogsConfiguration + 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 AppLogsConfiguration instances for property testing - lazily instantiated by +// AppLogsConfigurationGenerator() +var appLogsConfigurationGenerator gopter.Gen + +// AppLogsConfigurationGenerator returns a generator of AppLogsConfiguration instances for property testing. +// We first initialize appLogsConfigurationGenerator 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 AppLogsConfigurationGenerator() gopter.Gen { + if appLogsConfigurationGenerator != nil { + return appLogsConfigurationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAppLogsConfiguration(generators) + appLogsConfigurationGenerator = gen.Struct(reflect.TypeOf(AppLogsConfiguration{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAppLogsConfiguration(generators) + AddRelatedPropertyGeneratorsForAppLogsConfiguration(generators) + appLogsConfigurationGenerator = gen.Struct(reflect.TypeOf(AppLogsConfiguration{}), generators) + + return appLogsConfigurationGenerator +} + +// AddIndependentPropertyGeneratorsForAppLogsConfiguration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAppLogsConfiguration(gens map[string]gopter.Gen) { + gens["Destination"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForAppLogsConfiguration is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAppLogsConfiguration(gens map[string]gopter.Gen) { + gens["LogAnalyticsConfiguration"] = gen.PtrOf(LogAnalyticsConfigurationGenerator()) +} + +func Test_AppLogsConfiguration_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 AppLogsConfiguration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAppLogsConfiguration_STATUS, AppLogsConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAppLogsConfiguration_STATUS runs a test to see if a specific instance of AppLogsConfiguration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAppLogsConfiguration_STATUS(subject AppLogsConfiguration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AppLogsConfiguration_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 AppLogsConfiguration_STATUS instances for property testing - lazily instantiated by +// AppLogsConfiguration_STATUSGenerator() +var appLogsConfiguration_STATUSGenerator gopter.Gen + +// AppLogsConfiguration_STATUSGenerator returns a generator of AppLogsConfiguration_STATUS instances for property testing. +// We first initialize appLogsConfiguration_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 AppLogsConfiguration_STATUSGenerator() gopter.Gen { + if appLogsConfiguration_STATUSGenerator != nil { + return appLogsConfiguration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAppLogsConfiguration_STATUS(generators) + appLogsConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(AppLogsConfiguration_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAppLogsConfiguration_STATUS(generators) + AddRelatedPropertyGeneratorsForAppLogsConfiguration_STATUS(generators) + appLogsConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(AppLogsConfiguration_STATUS{}), generators) + + return appLogsConfiguration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAppLogsConfiguration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAppLogsConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["Destination"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForAppLogsConfiguration_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAppLogsConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["LogAnalyticsConfiguration"] = gen.PtrOf(LogAnalyticsConfiguration_STATUSGenerator()) +} + +func Test_CustomDomainConfiguration_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 CustomDomainConfiguration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCustomDomainConfiguration, CustomDomainConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCustomDomainConfiguration runs a test to see if a specific instance of CustomDomainConfiguration round trips to JSON and back losslessly +func RunJSONSerializationTestForCustomDomainConfiguration(subject CustomDomainConfiguration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CustomDomainConfiguration + 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 CustomDomainConfiguration instances for property testing - lazily instantiated by +// CustomDomainConfigurationGenerator() +var customDomainConfigurationGenerator gopter.Gen + +// CustomDomainConfigurationGenerator returns a generator of CustomDomainConfiguration instances for property testing. +func CustomDomainConfigurationGenerator() gopter.Gen { + if customDomainConfigurationGenerator != nil { + return customDomainConfigurationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomDomainConfiguration(generators) + customDomainConfigurationGenerator = gen.Struct(reflect.TypeOf(CustomDomainConfiguration{}), generators) + + return customDomainConfigurationGenerator +} + +// AddIndependentPropertyGeneratorsForCustomDomainConfiguration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCustomDomainConfiguration(gens map[string]gopter.Gen) { + gens["DnsSuffix"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_CustomDomainConfiguration_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 CustomDomainConfiguration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCustomDomainConfiguration_STATUS, CustomDomainConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCustomDomainConfiguration_STATUS runs a test to see if a specific instance of CustomDomainConfiguration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForCustomDomainConfiguration_STATUS(subject CustomDomainConfiguration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CustomDomainConfiguration_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 CustomDomainConfiguration_STATUS instances for property testing - lazily instantiated by +// CustomDomainConfiguration_STATUSGenerator() +var customDomainConfiguration_STATUSGenerator gopter.Gen + +// CustomDomainConfiguration_STATUSGenerator returns a generator of CustomDomainConfiguration_STATUS instances for property testing. +func CustomDomainConfiguration_STATUSGenerator() gopter.Gen { + if customDomainConfiguration_STATUSGenerator != nil { + return customDomainConfiguration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCustomDomainConfiguration_STATUS(generators) + customDomainConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(CustomDomainConfiguration_STATUS{}), generators) + + return customDomainConfiguration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForCustomDomainConfiguration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCustomDomainConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["CustomDomainVerificationId"] = gen.PtrOf(gen.AlphaString()) + gens["DnsSuffix"] = gen.PtrOf(gen.AlphaString()) + gens["ExpirationDate"] = gen.PtrOf(gen.AlphaString()) + gens["SubjectName"] = gen.PtrOf(gen.AlphaString()) + gens["Thumbprint"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_DaprConfiguration_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 DaprConfiguration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDaprConfiguration_STATUS, DaprConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDaprConfiguration_STATUS runs a test to see if a specific instance of DaprConfiguration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForDaprConfiguration_STATUS(subject DaprConfiguration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DaprConfiguration_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 DaprConfiguration_STATUS instances for property testing - lazily instantiated by +// DaprConfiguration_STATUSGenerator() +var daprConfiguration_STATUSGenerator gopter.Gen + +// DaprConfiguration_STATUSGenerator returns a generator of DaprConfiguration_STATUS instances for property testing. +func DaprConfiguration_STATUSGenerator() gopter.Gen { + if daprConfiguration_STATUSGenerator != nil { + return daprConfiguration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDaprConfiguration_STATUS(generators) + daprConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(DaprConfiguration_STATUS{}), generators) + + return daprConfiguration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForDaprConfiguration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDaprConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["Version"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_KedaConfiguration_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 KedaConfiguration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForKedaConfiguration_STATUS, KedaConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForKedaConfiguration_STATUS runs a test to see if a specific instance of KedaConfiguration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForKedaConfiguration_STATUS(subject KedaConfiguration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual KedaConfiguration_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 KedaConfiguration_STATUS instances for property testing - lazily instantiated by +// KedaConfiguration_STATUSGenerator() +var kedaConfiguration_STATUSGenerator gopter.Gen + +// KedaConfiguration_STATUSGenerator returns a generator of KedaConfiguration_STATUS instances for property testing. +func KedaConfiguration_STATUSGenerator() gopter.Gen { + if kedaConfiguration_STATUSGenerator != nil { + return kedaConfiguration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForKedaConfiguration_STATUS(generators) + kedaConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(KedaConfiguration_STATUS{}), generators) + + return kedaConfiguration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForKedaConfiguration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForKedaConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["Version"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_LogAnalyticsConfiguration_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 LogAnalyticsConfiguration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLogAnalyticsConfiguration, LogAnalyticsConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLogAnalyticsConfiguration runs a test to see if a specific instance of LogAnalyticsConfiguration round trips to JSON and back losslessly +func RunJSONSerializationTestForLogAnalyticsConfiguration(subject LogAnalyticsConfiguration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual LogAnalyticsConfiguration + 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 LogAnalyticsConfiguration instances for property testing - lazily instantiated by +// LogAnalyticsConfigurationGenerator() +var logAnalyticsConfigurationGenerator gopter.Gen + +// LogAnalyticsConfigurationGenerator returns a generator of LogAnalyticsConfiguration instances for property testing. +func LogAnalyticsConfigurationGenerator() gopter.Gen { + if logAnalyticsConfigurationGenerator != nil { + return logAnalyticsConfigurationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLogAnalyticsConfiguration(generators) + logAnalyticsConfigurationGenerator = gen.Struct(reflect.TypeOf(LogAnalyticsConfiguration{}), generators) + + return logAnalyticsConfigurationGenerator +} + +// AddIndependentPropertyGeneratorsForLogAnalyticsConfiguration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLogAnalyticsConfiguration(gens map[string]gopter.Gen) { + gens["CustomerId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_LogAnalyticsConfiguration_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 LogAnalyticsConfiguration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLogAnalyticsConfiguration_STATUS, LogAnalyticsConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLogAnalyticsConfiguration_STATUS runs a test to see if a specific instance of LogAnalyticsConfiguration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForLogAnalyticsConfiguration_STATUS(subject LogAnalyticsConfiguration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual LogAnalyticsConfiguration_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 LogAnalyticsConfiguration_STATUS instances for property testing - lazily instantiated by +// LogAnalyticsConfiguration_STATUSGenerator() +var logAnalyticsConfiguration_STATUSGenerator gopter.Gen + +// LogAnalyticsConfiguration_STATUSGenerator returns a generator of LogAnalyticsConfiguration_STATUS instances for property testing. +func LogAnalyticsConfiguration_STATUSGenerator() gopter.Gen { + if logAnalyticsConfiguration_STATUSGenerator != nil { + return logAnalyticsConfiguration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLogAnalyticsConfiguration_STATUS(generators) + logAnalyticsConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(LogAnalyticsConfiguration_STATUS{}), generators) + + return logAnalyticsConfiguration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForLogAnalyticsConfiguration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLogAnalyticsConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["CustomerId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedEnvironment_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 ManagedEnvironment via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedEnvironment, ManagedEnvironmentGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedEnvironment runs a test to see if a specific instance of ManagedEnvironment round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedEnvironment(subject ManagedEnvironment) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedEnvironment + 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 ManagedEnvironment instances for property testing - lazily instantiated by ManagedEnvironmentGenerator() +var managedEnvironmentGenerator gopter.Gen + +// ManagedEnvironmentGenerator returns a generator of ManagedEnvironment instances for property testing. +func ManagedEnvironmentGenerator() gopter.Gen { + if managedEnvironmentGenerator != nil { + return managedEnvironmentGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedEnvironment(generators) + managedEnvironmentGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment{}), generators) + + return managedEnvironmentGenerator +} + +// AddRelatedPropertyGeneratorsForManagedEnvironment is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedEnvironment(gens map[string]gopter.Gen) { + gens["Spec"] = ManagedEnvironment_SpecGenerator() + gens["Status"] = ManagedEnvironment_STATUSGenerator() +} + +func Test_ManagedEnvironmentOperatorSpec_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 ManagedEnvironmentOperatorSpec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedEnvironmentOperatorSpec, ManagedEnvironmentOperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedEnvironmentOperatorSpec runs a test to see if a specific instance of ManagedEnvironmentOperatorSpec round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedEnvironmentOperatorSpec(subject ManagedEnvironmentOperatorSpec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedEnvironmentOperatorSpec + 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 ManagedEnvironmentOperatorSpec instances for property testing - lazily instantiated by +// ManagedEnvironmentOperatorSpecGenerator() +var managedEnvironmentOperatorSpecGenerator gopter.Gen + +// ManagedEnvironmentOperatorSpecGenerator returns a generator of ManagedEnvironmentOperatorSpec instances for property testing. +func ManagedEnvironmentOperatorSpecGenerator() gopter.Gen { + if managedEnvironmentOperatorSpecGenerator != nil { + return managedEnvironmentOperatorSpecGenerator + } + + generators := make(map[string]gopter.Gen) + managedEnvironmentOperatorSpecGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironmentOperatorSpec{}), generators) + + return managedEnvironmentOperatorSpecGenerator +} + +func Test_ManagedEnvironment_Properties_PeerAuthentication_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 ManagedEnvironment_Properties_PeerAuthentication_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedEnvironment_Properties_PeerAuthentication_STATUS, ManagedEnvironment_Properties_PeerAuthentication_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedEnvironment_Properties_PeerAuthentication_STATUS runs a test to see if a specific instance of ManagedEnvironment_Properties_PeerAuthentication_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedEnvironment_Properties_PeerAuthentication_STATUS(subject ManagedEnvironment_Properties_PeerAuthentication_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedEnvironment_Properties_PeerAuthentication_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 ManagedEnvironment_Properties_PeerAuthentication_STATUS instances for property testing - lazily +// instantiated by ManagedEnvironment_Properties_PeerAuthentication_STATUSGenerator() +var managedEnvironment_Properties_PeerAuthentication_STATUSGenerator gopter.Gen + +// ManagedEnvironment_Properties_PeerAuthentication_STATUSGenerator returns a generator of ManagedEnvironment_Properties_PeerAuthentication_STATUS instances for property testing. +func ManagedEnvironment_Properties_PeerAuthentication_STATUSGenerator() gopter.Gen { + if managedEnvironment_Properties_PeerAuthentication_STATUSGenerator != nil { + return managedEnvironment_Properties_PeerAuthentication_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerAuthentication_STATUS(generators) + managedEnvironment_Properties_PeerAuthentication_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_Properties_PeerAuthentication_STATUS{}), generators) + + return managedEnvironment_Properties_PeerAuthentication_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerAuthentication_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerAuthentication_STATUS(gens map[string]gopter.Gen) { + gens["Mtls"] = gen.PtrOf(Mtls_STATUSGenerator()) +} + +func Test_ManagedEnvironment_Properties_PeerAuthentication_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 ManagedEnvironment_Properties_PeerAuthentication_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedEnvironment_Properties_PeerAuthentication_Spec, ManagedEnvironment_Properties_PeerAuthentication_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedEnvironment_Properties_PeerAuthentication_Spec runs a test to see if a specific instance of ManagedEnvironment_Properties_PeerAuthentication_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedEnvironment_Properties_PeerAuthentication_Spec(subject ManagedEnvironment_Properties_PeerAuthentication_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedEnvironment_Properties_PeerAuthentication_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 ManagedEnvironment_Properties_PeerAuthentication_Spec instances for property testing - lazily +// instantiated by ManagedEnvironment_Properties_PeerAuthentication_SpecGenerator() +var managedEnvironment_Properties_PeerAuthentication_SpecGenerator gopter.Gen + +// ManagedEnvironment_Properties_PeerAuthentication_SpecGenerator returns a generator of ManagedEnvironment_Properties_PeerAuthentication_Spec instances for property testing. +func ManagedEnvironment_Properties_PeerAuthentication_SpecGenerator() gopter.Gen { + if managedEnvironment_Properties_PeerAuthentication_SpecGenerator != nil { + return managedEnvironment_Properties_PeerAuthentication_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerAuthentication_Spec(generators) + managedEnvironment_Properties_PeerAuthentication_SpecGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_Properties_PeerAuthentication_Spec{}), generators) + + return managedEnvironment_Properties_PeerAuthentication_SpecGenerator +} + +// AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerAuthentication_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerAuthentication_Spec(gens map[string]gopter.Gen) { + gens["Mtls"] = gen.PtrOf(MtlsGenerator()) +} + +func Test_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_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 ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS, ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS runs a test to see if a specific instance of ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS(subject ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_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 ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS instances for property testing +// - lazily instantiated by ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUSGenerator() +var managedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUSGenerator gopter.Gen + +// ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUSGenerator returns a generator of ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS instances for property testing. +func ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUSGenerator() gopter.Gen { + if managedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUSGenerator != nil { + return managedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS(generators) + managedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS{}), generators) + + return managedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_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 ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec, ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec runs a test to see if a specific instance of ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec(subject ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_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 ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec instances for property testing - +// lazily instantiated by ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_SpecGenerator() +var managedEnvironment_Properties_PeerTrafficConfiguration_Encryption_SpecGenerator gopter.Gen + +// ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_SpecGenerator returns a generator of ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec instances for property testing. +func ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_SpecGenerator() gopter.Gen { + if managedEnvironment_Properties_PeerTrafficConfiguration_Encryption_SpecGenerator != nil { + return managedEnvironment_Properties_PeerTrafficConfiguration_Encryption_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec(generators) + managedEnvironment_Properties_PeerTrafficConfiguration_Encryption_SpecGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec{}), generators) + + return managedEnvironment_Properties_PeerTrafficConfiguration_Encryption_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedEnvironment_Properties_PeerTrafficConfiguration_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 ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS, ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS runs a test to see if a specific instance of ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS(subject ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedEnvironment_Properties_PeerTrafficConfiguration_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 ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS instances for property testing - lazily +// instantiated by ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUSGenerator() +var managedEnvironment_Properties_PeerTrafficConfiguration_STATUSGenerator gopter.Gen + +// ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUSGenerator returns a generator of ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS instances for property testing. +func ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUSGenerator() gopter.Gen { + if managedEnvironment_Properties_PeerTrafficConfiguration_STATUSGenerator != nil { + return managedEnvironment_Properties_PeerTrafficConfiguration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS(generators) + managedEnvironment_Properties_PeerTrafficConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS{}), generators) + + return managedEnvironment_Properties_PeerTrafficConfiguration_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["Encryption"] = gen.PtrOf(ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUSGenerator()) +} + +func Test_ManagedEnvironment_Properties_PeerTrafficConfiguration_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 ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Spec, ManagedEnvironment_Properties_PeerTrafficConfiguration_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Spec runs a test to see if a specific instance of ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedEnvironment_Properties_PeerTrafficConfiguration_Spec(subject ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedEnvironment_Properties_PeerTrafficConfiguration_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 ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec instances for property testing - lazily +// instantiated by ManagedEnvironment_Properties_PeerTrafficConfiguration_SpecGenerator() +var managedEnvironment_Properties_PeerTrafficConfiguration_SpecGenerator gopter.Gen + +// ManagedEnvironment_Properties_PeerTrafficConfiguration_SpecGenerator returns a generator of ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec instances for property testing. +func ManagedEnvironment_Properties_PeerTrafficConfiguration_SpecGenerator() gopter.Gen { + if managedEnvironment_Properties_PeerTrafficConfiguration_SpecGenerator != nil { + return managedEnvironment_Properties_PeerTrafficConfiguration_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_Spec(generators) + managedEnvironment_Properties_PeerTrafficConfiguration_SpecGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec{}), generators) + + return managedEnvironment_Properties_PeerTrafficConfiguration_SpecGenerator +} + +// AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedEnvironment_Properties_PeerTrafficConfiguration_Spec(gens map[string]gopter.Gen) { + gens["Encryption"] = gen.PtrOf(ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_SpecGenerator()) +} + +func Test_ManagedEnvironment_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 ManagedEnvironment_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedEnvironment_STATUS, ManagedEnvironment_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedEnvironment_STATUS runs a test to see if a specific instance of ManagedEnvironment_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedEnvironment_STATUS(subject ManagedEnvironment_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedEnvironment_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 ManagedEnvironment_STATUS instances for property testing - lazily instantiated by +// ManagedEnvironment_STATUSGenerator() +var managedEnvironment_STATUSGenerator gopter.Gen + +// ManagedEnvironment_STATUSGenerator returns a generator of ManagedEnvironment_STATUS instances for property testing. +// We first initialize managedEnvironment_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 ManagedEnvironment_STATUSGenerator() gopter.Gen { + if managedEnvironment_STATUSGenerator != nil { + return managedEnvironment_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedEnvironment_STATUS(generators) + managedEnvironment_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedEnvironment_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedEnvironment_STATUS(generators) + managedEnvironment_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_STATUS{}), generators) + + return managedEnvironment_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedEnvironment_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedEnvironment_STATUS(gens map[string]gopter.Gen) { + gens["DefaultDomain"] = gen.PtrOf(gen.AlphaString()) + gens["DeploymentErrors"] = gen.PtrOf(gen.AlphaString()) + gens["EventStreamEndpoint"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["InfrastructureResourceGroup"] = gen.PtrOf(gen.AlphaString()) + gens["Kind"] = gen.PtrOf(gen.AlphaString()) + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["ProvisioningState"] = gen.PtrOf(gen.AlphaString()) + gens["StaticIp"] = gen.PtrOf(gen.AlphaString()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) + gens["ZoneRedundant"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForManagedEnvironment_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedEnvironment_STATUS(gens map[string]gopter.Gen) { + gens["AppLogsConfiguration"] = gen.PtrOf(AppLogsConfiguration_STATUSGenerator()) + gens["CustomDomainConfiguration"] = gen.PtrOf(CustomDomainConfiguration_STATUSGenerator()) + gens["DaprConfiguration"] = gen.PtrOf(DaprConfiguration_STATUSGenerator()) + gens["KedaConfiguration"] = gen.PtrOf(KedaConfiguration_STATUSGenerator()) + gens["PeerAuthentication"] = gen.PtrOf(ManagedEnvironment_Properties_PeerAuthentication_STATUSGenerator()) + gens["PeerTrafficConfiguration"] = gen.PtrOf(ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) + gens["VnetConfiguration"] = gen.PtrOf(VnetConfiguration_STATUSGenerator()) + gens["WorkloadProfiles"] = gen.SliceOf(WorkloadProfile_STATUSGenerator()) +} + +func Test_ManagedEnvironment_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 ManagedEnvironment_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedEnvironment_Spec, ManagedEnvironment_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedEnvironment_Spec runs a test to see if a specific instance of ManagedEnvironment_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedEnvironment_Spec(subject ManagedEnvironment_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedEnvironment_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 ManagedEnvironment_Spec instances for property testing - lazily instantiated by +// ManagedEnvironment_SpecGenerator() +var managedEnvironment_SpecGenerator gopter.Gen + +// ManagedEnvironment_SpecGenerator returns a generator of ManagedEnvironment_Spec instances for property testing. +// We first initialize managedEnvironment_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 ManagedEnvironment_SpecGenerator() gopter.Gen { + if managedEnvironment_SpecGenerator != nil { + return managedEnvironment_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedEnvironment_Spec(generators) + managedEnvironment_SpecGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedEnvironment_Spec(generators) + AddRelatedPropertyGeneratorsForManagedEnvironment_Spec(generators) + managedEnvironment_SpecGenerator = gen.Struct(reflect.TypeOf(ManagedEnvironment_Spec{}), generators) + + return managedEnvironment_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForManagedEnvironment_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedEnvironment_Spec(gens map[string]gopter.Gen) { + gens["AzureName"] = gen.AlphaString() + gens["InfrastructureResourceGroup"] = gen.PtrOf(gen.AlphaString()) + gens["Kind"] = gen.PtrOf(gen.AlphaString()) + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["OriginalVersion"] = gen.AlphaString() + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["ZoneRedundant"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForManagedEnvironment_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedEnvironment_Spec(gens map[string]gopter.Gen) { + gens["AppLogsConfiguration"] = gen.PtrOf(AppLogsConfigurationGenerator()) + gens["CustomDomainConfiguration"] = gen.PtrOf(CustomDomainConfigurationGenerator()) + gens["OperatorSpec"] = gen.PtrOf(ManagedEnvironmentOperatorSpecGenerator()) + gens["PeerAuthentication"] = gen.PtrOf(ManagedEnvironment_Properties_PeerAuthentication_SpecGenerator()) + gens["PeerTrafficConfiguration"] = gen.PtrOf(ManagedEnvironment_Properties_PeerTrafficConfiguration_SpecGenerator()) + gens["VnetConfiguration"] = gen.PtrOf(VnetConfigurationGenerator()) + gens["WorkloadProfiles"] = gen.SliceOf(WorkloadProfileGenerator()) +} + +func Test_Mtls_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 Mtls via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMtls, MtlsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMtls runs a test to see if a specific instance of Mtls round trips to JSON and back losslessly +func RunJSONSerializationTestForMtls(subject Mtls) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Mtls + 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 Mtls instances for property testing - lazily instantiated by MtlsGenerator() +var mtlsGenerator gopter.Gen + +// MtlsGenerator returns a generator of Mtls instances for property testing. +func MtlsGenerator() gopter.Gen { + if mtlsGenerator != nil { + return mtlsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMtls(generators) + mtlsGenerator = gen.Struct(reflect.TypeOf(Mtls{}), generators) + + return mtlsGenerator +} + +// AddIndependentPropertyGeneratorsForMtls is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMtls(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_Mtls_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 Mtls_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMtls_STATUS, Mtls_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMtls_STATUS runs a test to see if a specific instance of Mtls_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForMtls_STATUS(subject Mtls_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Mtls_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 Mtls_STATUS instances for property testing - lazily instantiated by Mtls_STATUSGenerator() +var mtls_STATUSGenerator gopter.Gen + +// Mtls_STATUSGenerator returns a generator of Mtls_STATUS instances for property testing. +func Mtls_STATUSGenerator() gopter.Gen { + if mtls_STATUSGenerator != nil { + return mtls_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMtls_STATUS(generators) + mtls_STATUSGenerator = gen.Struct(reflect.TypeOf(Mtls_STATUS{}), generators) + + return mtls_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForMtls_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMtls_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_VnetConfiguration_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 VnetConfiguration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForVnetConfiguration, VnetConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForVnetConfiguration runs a test to see if a specific instance of VnetConfiguration round trips to JSON and back losslessly +func RunJSONSerializationTestForVnetConfiguration(subject VnetConfiguration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual VnetConfiguration + 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 VnetConfiguration instances for property testing - lazily instantiated by VnetConfigurationGenerator() +var vnetConfigurationGenerator gopter.Gen + +// VnetConfigurationGenerator returns a generator of VnetConfiguration instances for property testing. +func VnetConfigurationGenerator() gopter.Gen { + if vnetConfigurationGenerator != nil { + return vnetConfigurationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForVnetConfiguration(generators) + vnetConfigurationGenerator = gen.Struct(reflect.TypeOf(VnetConfiguration{}), generators) + + return vnetConfigurationGenerator +} + +// AddIndependentPropertyGeneratorsForVnetConfiguration is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForVnetConfiguration(gens map[string]gopter.Gen) { + gens["DockerBridgeCidr"] = gen.PtrOf(gen.AlphaString()) + gens["Internal"] = gen.PtrOf(gen.Bool()) + gens["PlatformReservedCidr"] = gen.PtrOf(gen.AlphaString()) + gens["PlatformReservedDnsIP"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_VnetConfiguration_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 VnetConfiguration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForVnetConfiguration_STATUS, VnetConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForVnetConfiguration_STATUS runs a test to see if a specific instance of VnetConfiguration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForVnetConfiguration_STATUS(subject VnetConfiguration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual VnetConfiguration_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 VnetConfiguration_STATUS instances for property testing - lazily instantiated by +// VnetConfiguration_STATUSGenerator() +var vnetConfiguration_STATUSGenerator gopter.Gen + +// VnetConfiguration_STATUSGenerator returns a generator of VnetConfiguration_STATUS instances for property testing. +func VnetConfiguration_STATUSGenerator() gopter.Gen { + if vnetConfiguration_STATUSGenerator != nil { + return vnetConfiguration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForVnetConfiguration_STATUS(generators) + vnetConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(VnetConfiguration_STATUS{}), generators) + + return vnetConfiguration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForVnetConfiguration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForVnetConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["DockerBridgeCidr"] = gen.PtrOf(gen.AlphaString()) + gens["InfrastructureSubnetId"] = gen.PtrOf(gen.AlphaString()) + gens["Internal"] = gen.PtrOf(gen.Bool()) + gens["PlatformReservedCidr"] = gen.PtrOf(gen.AlphaString()) + gens["PlatformReservedDnsIP"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_WorkloadProfile_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 WorkloadProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForWorkloadProfile, WorkloadProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForWorkloadProfile runs a test to see if a specific instance of WorkloadProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForWorkloadProfile(subject WorkloadProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual WorkloadProfile + 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 WorkloadProfile instances for property testing - lazily instantiated by WorkloadProfileGenerator() +var workloadProfileGenerator gopter.Gen + +// WorkloadProfileGenerator returns a generator of WorkloadProfile instances for property testing. +func WorkloadProfileGenerator() gopter.Gen { + if workloadProfileGenerator != nil { + return workloadProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForWorkloadProfile(generators) + workloadProfileGenerator = gen.Struct(reflect.TypeOf(WorkloadProfile{}), generators) + + return workloadProfileGenerator +} + +// AddIndependentPropertyGeneratorsForWorkloadProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForWorkloadProfile(gens map[string]gopter.Gen) { + gens["MaximumCount"] = gen.PtrOf(gen.Int()) + gens["MinimumCount"] = gen.PtrOf(gen.Int()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["WorkloadProfileType"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_WorkloadProfile_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 WorkloadProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForWorkloadProfile_STATUS, WorkloadProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForWorkloadProfile_STATUS runs a test to see if a specific instance of WorkloadProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForWorkloadProfile_STATUS(subject WorkloadProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual WorkloadProfile_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 WorkloadProfile_STATUS instances for property testing - lazily instantiated by +// WorkloadProfile_STATUSGenerator() +var workloadProfile_STATUSGenerator gopter.Gen + +// WorkloadProfile_STATUSGenerator returns a generator of WorkloadProfile_STATUS instances for property testing. +func WorkloadProfile_STATUSGenerator() gopter.Gen { + if workloadProfile_STATUSGenerator != nil { + return workloadProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForWorkloadProfile_STATUS(generators) + workloadProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(WorkloadProfile_STATUS{}), generators) + + return workloadProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForWorkloadProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForWorkloadProfile_STATUS(gens map[string]gopter.Gen) { + gens["MaximumCount"] = gen.PtrOf(gen.Int()) + gens["MinimumCount"] = gen.PtrOf(gen.Int()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["WorkloadProfileType"] = gen.PtrOf(gen.AlphaString()) +} diff --git a/v2/api/app/v1api20240301/storage/structure.txt b/v2/api/app/v1api20240301/storage/structure.txt new file mode 100644 index 00000000000..658fc2c371a --- /dev/null +++ b/v2/api/app/v1api20240301/storage/structure.txt @@ -0,0 +1,1200 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +github.com/Azure/azure-service-operator/v2/api/app/v1api20240301/storage +------------------------------------------------------------------------ +APIVersion: Enum (1 value) +└── "2024-03-01" +AuthConfig: Resource +├── Owner: app/v1api20240301.ContainerApp +├── Spec: Object (11 properties) +│ ├── AzureName: string +│ ├── EncryptionSettings: *Object (3 properties) +│ │ ├── ContainerAppAuthEncryptionSecretName: *string +│ │ ├── ContainerAppAuthSigningSecretName: *string +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── GlobalValidation: *Object (4 properties) +│ │ ├── ExcludedPaths: string[] +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── RedirectToProvider: *string +│ │ └── UnauthenticatedClientAction: *string +│ ├── HttpSettings: *Object (4 properties) +│ │ ├── ForwardProxy: *Object (4 properties) +│ │ │ ├── Convention: *string +│ │ │ ├── CustomHostHeaderName: *string +│ │ │ ├── CustomProtoHeaderName: *string +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── RequireHttps: *bool +│ │ └── Routes: *Object (2 properties) +│ │ ├── ApiPrefix: *string +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── IdentityProviders: *Object (9 properties) +│ │ ├── Apple: *Object (4 properties) +│ │ │ ├── Enabled: *bool +│ │ │ ├── Login: *Object (2 properties) +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ └── Scopes: string[] +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── Registration: *Object (3 properties) +│ │ │ ├── ClientId: *string +│ │ │ ├── ClientSecretSettingName: *string +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── AzureActiveDirectory: *Object (6 properties) +│ │ │ ├── Enabled: *bool +│ │ │ ├── IsAutoProvisioned: *bool +│ │ │ ├── Login: *Object (3 properties) +│ │ │ │ ├── DisableWWWAuthenticate: *bool +│ │ │ │ ├── LoginParameters: string[] +│ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ ├── Registration: *Object (7 properties) +│ │ │ │ ├── ClientId: *string +│ │ │ │ ├── ClientSecretCertificateIssuer: *string +│ │ │ │ ├── ClientSecretCertificateSubjectAlternativeName: *string +│ │ │ │ ├── ClientSecretCertificateThumbprint: *string +│ │ │ │ ├── ClientSecretSettingName: *string +│ │ │ │ ├── OpenIdIssuer: *string +│ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ └── Validation: *Object (4 properties) +│ │ │ ├── AllowedAudiences: string[] +│ │ │ ├── DefaultAuthorizationPolicy: *Object (3 properties) +│ │ │ │ ├── AllowedApplications: string[] +│ │ │ │ ├── AllowedPrincipals: *Object (3 properties) +│ │ │ │ │ ├── Groups: string[] +│ │ │ │ │ ├── Identities: string[] +│ │ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ ├── JwtClaimChecks: *Object (3 properties) +│ │ │ │ ├── AllowedClientApplications: string[] +│ │ │ │ ├── AllowedGroups: string[] +│ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── AzureStaticWebApps: *Object (3 properties) +│ │ │ ├── Enabled: *bool +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── Registration: *Object (2 properties) +│ │ │ ├── ClientId: *string +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── CustomOpenIdConnectProviders: map[string]Object (4 properties) +│ │ │ ├── Enabled: *bool +│ │ │ ├── Login: *Object (3 properties) +│ │ │ │ ├── NameClaimType: *string +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ └── Scopes: string[] +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── Registration: *Object (4 properties) +│ │ │ ├── ClientCredential: *Object (3 properties) +│ │ │ │ ├── ClientSecretSettingName: *string +│ │ │ │ ├── Method: *string +│ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ ├── ClientId: *string +│ │ │ ├── OpenIdConnectConfiguration: *Object (6 properties) +│ │ │ │ ├── AuthorizationEndpoint: *string +│ │ │ │ ├── CertificationUri: *string +│ │ │ │ ├── Issuer: *string +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ ├── TokenEndpoint: *string +│ │ │ │ └── WellKnownOpenIdConfiguration: *string +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── Facebook: *Object (5 properties) +│ │ │ ├── Enabled: *bool +│ │ │ ├── GraphApiVersion: *string +│ │ │ ├── Login: *Object (2 properties) +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ └── Scopes: string[] +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── Registration: *Object (3 properties) +│ │ │ ├── AppId: *string +│ │ │ ├── AppSecretSettingName: *string +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── GitHub: *Object (4 properties) +│ │ │ ├── Enabled: *bool +│ │ │ ├── Login: *Object (2 properties) +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ └── Scopes: string[] +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── Registration: *Object (3 properties) +│ │ │ ├── ClientId: *string +│ │ │ ├── ClientSecretSettingName: *string +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── Google: *Object (5 properties) +│ │ │ ├── Enabled: *bool +│ │ │ ├── Login: *Object (2 properties) +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ └── Scopes: string[] +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ ├── Registration: *Object (3 properties) +│ │ │ │ ├── ClientId: *string +│ │ │ │ ├── ClientSecretSettingName: *string +│ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ └── Validation: *Object (2 properties) +│ │ │ ├── AllowedAudiences: string[] +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── Twitter: *Object (3 properties) +│ │ ├── Enabled: *bool +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── Registration: *Object (3 properties) +│ │ ├── ConsumerKey: *string +│ │ ├── ConsumerSecretSettingName: *string +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── Login: *Object (7 properties) +│ │ ├── AllowedExternalRedirectUrls: string[] +│ │ ├── CookieExpiration: *Object (3 properties) +│ │ │ ├── Convention: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── TimeToExpiration: *string +│ │ ├── Nonce: *Object (3 properties) +│ │ │ ├── NonceExpirationInterval: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── ValidateNonce: *bool +│ │ ├── PreserveUrlFragmentsForLogins: *bool +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── Routes: *Object (2 properties) +│ │ │ ├── LogoutEndpoint: *string +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ └── TokenStore: *Object (4 properties) +│ │ ├── AzureBlobStorage: *Object (2 properties) +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── SasUrlSettingName: *string +│ │ ├── Enabled: *bool +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── TokenRefreshExtensionHours: *float64 +│ ├── OperatorSpec: *Object (3 properties) +│ │ ├── ConfigMapExpressions: *core.DestinationExpression[] +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── SecretExpressions: *core.DestinationExpression[] +│ ├── OriginalVersion: string +│ ├── Owner: *genruntime.KnownResourceReference +│ ├── Platform: *Object (3 properties) +│ │ ├── Enabled: *bool +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── RuntimeVersion: *string +│ └── PropertyBag: genruntime.PropertyBag +└── Status: Object (12 properties) + ├── Conditions: conditions.Condition[] + ├── EncryptionSettings: *Object (3 properties) + │ ├── ContainerAppAuthEncryptionSecretName: *string + │ ├── ContainerAppAuthSigningSecretName: *string + │ └── PropertyBag: genruntime.PropertyBag + ├── GlobalValidation: *Object (4 properties) + │ ├── ExcludedPaths: string[] + │ ├── PropertyBag: genruntime.PropertyBag + │ ├── RedirectToProvider: *string + │ └── UnauthenticatedClientAction: *string + ├── HttpSettings: *Object (4 properties) + │ ├── ForwardProxy: *Object (4 properties) + │ │ ├── Convention: *string + │ │ ├── CustomHostHeaderName: *string + │ │ ├── CustomProtoHeaderName: *string + │ │ └── PropertyBag: genruntime.PropertyBag + │ ├── PropertyBag: genruntime.PropertyBag + │ ├── RequireHttps: *bool + │ └── Routes: *Object (2 properties) + │ ├── ApiPrefix: *string + │ └── PropertyBag: genruntime.PropertyBag + ├── Id: *string + ├── IdentityProviders: *Object (9 properties) + │ ├── Apple: *Object (4 properties) + │ │ ├── Enabled: *bool + │ │ ├── Login: *Object (2 properties) + │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ └── Scopes: string[] + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── Registration: *Object (3 properties) + │ │ ├── ClientId: *string + │ │ ├── ClientSecretSettingName: *string + │ │ └── PropertyBag: genruntime.PropertyBag + │ ├── AzureActiveDirectory: *Object (6 properties) + │ │ ├── Enabled: *bool + │ │ ├── IsAutoProvisioned: *bool + │ │ ├── Login: *Object (3 properties) + │ │ │ ├── DisableWWWAuthenticate: *bool + │ │ │ ├── LoginParameters: string[] + │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ ├── Registration: *Object (7 properties) + │ │ │ ├── ClientId: *string + │ │ │ ├── ClientSecretCertificateIssuer: *string + │ │ │ ├── ClientSecretCertificateSubjectAlternativeName: *string + │ │ │ ├── ClientSecretCertificateThumbprint: *string + │ │ │ ├── ClientSecretSettingName: *string + │ │ │ ├── OpenIdIssuer: *string + │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ └── Validation: *Object (4 properties) + │ │ ├── AllowedAudiences: string[] + │ │ ├── DefaultAuthorizationPolicy: *Object (3 properties) + │ │ │ ├── AllowedApplications: string[] + │ │ │ ├── AllowedPrincipals: *Object (3 properties) + │ │ │ │ ├── Groups: string[] + │ │ │ │ ├── Identities: string[] + │ │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ ├── JwtClaimChecks: *Object (3 properties) + │ │ │ ├── AllowedClientApplications: string[] + │ │ │ ├── AllowedGroups: string[] + │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ └── PropertyBag: genruntime.PropertyBag + │ ├── AzureStaticWebApps: *Object (3 properties) + │ │ ├── Enabled: *bool + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── Registration: *Object (2 properties) + │ │ ├── ClientId: *string + │ │ └── PropertyBag: genruntime.PropertyBag + │ ├── CustomOpenIdConnectProviders: map[string]Object (4 properties) + │ │ ├── Enabled: *bool + │ │ ├── Login: *Object (3 properties) + │ │ │ ├── NameClaimType: *string + │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ └── Scopes: string[] + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── Registration: *Object (4 properties) + │ │ ├── ClientCredential: *Object (3 properties) + │ │ │ ├── ClientSecretSettingName: *string + │ │ │ ├── Method: *string + │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ ├── ClientId: *string + │ │ ├── OpenIdConnectConfiguration: *Object (6 properties) + │ │ │ ├── AuthorizationEndpoint: *string + │ │ │ ├── CertificationUri: *string + │ │ │ ├── Issuer: *string + │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ ├── TokenEndpoint: *string + │ │ │ └── WellKnownOpenIdConfiguration: *string + │ │ └── PropertyBag: genruntime.PropertyBag + │ ├── Facebook: *Object (5 properties) + │ │ ├── Enabled: *bool + │ │ ├── GraphApiVersion: *string + │ │ ├── Login: *Object (2 properties) + │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ └── Scopes: string[] + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── Registration: *Object (3 properties) + │ │ ├── AppId: *string + │ │ ├── AppSecretSettingName: *string + │ │ └── PropertyBag: genruntime.PropertyBag + │ ├── GitHub: *Object (4 properties) + │ │ ├── Enabled: *bool + │ │ ├── Login: *Object (2 properties) + │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ └── Scopes: string[] + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── Registration: *Object (3 properties) + │ │ ├── ClientId: *string + │ │ ├── ClientSecretSettingName: *string + │ │ └── PropertyBag: genruntime.PropertyBag + │ ├── Google: *Object (5 properties) + │ │ ├── Enabled: *bool + │ │ ├── Login: *Object (2 properties) + │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ └── Scopes: string[] + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ ├── Registration: *Object (3 properties) + │ │ │ ├── ClientId: *string + │ │ │ ├── ClientSecretSettingName: *string + │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ └── Validation: *Object (2 properties) + │ │ ├── AllowedAudiences: string[] + │ │ └── PropertyBag: genruntime.PropertyBag + │ ├── PropertyBag: genruntime.PropertyBag + │ └── Twitter: *Object (3 properties) + │ ├── Enabled: *bool + │ ├── PropertyBag: genruntime.PropertyBag + │ └── Registration: *Object (3 properties) + │ ├── ConsumerKey: *string + │ ├── ConsumerSecretSettingName: *string + │ └── PropertyBag: genruntime.PropertyBag + ├── Login: *Object (7 properties) + │ ├── AllowedExternalRedirectUrls: string[] + │ ├── CookieExpiration: *Object (3 properties) + │ │ ├── Convention: *string + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── TimeToExpiration: *string + │ ├── Nonce: *Object (3 properties) + │ │ ├── NonceExpirationInterval: *string + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── ValidateNonce: *bool + │ ├── PreserveUrlFragmentsForLogins: *bool + │ ├── PropertyBag: genruntime.PropertyBag + │ ├── Routes: *Object (2 properties) + │ │ ├── LogoutEndpoint: *string + │ │ └── PropertyBag: genruntime.PropertyBag + │ └── TokenStore: *Object (4 properties) + │ ├── AzureBlobStorage: *Object (2 properties) + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── SasUrlSettingName: *string + │ ├── Enabled: *bool + │ ├── PropertyBag: genruntime.PropertyBag + │ └── TokenRefreshExtensionHours: *float64 + ├── Name: *string + ├── Platform: *Object (3 properties) + │ ├── Enabled: *bool + │ ├── PropertyBag: genruntime.PropertyBag + │ └── RuntimeVersion: *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 +ContainerApp: Resource +├── Owner: resources/v1apiv20191001.ResourceGroup +├── Spec: Object (15 properties) +│ ├── AzureName: string +│ ├── Configuration: *Object (8 properties) +│ │ ├── ActiveRevisionsMode: *string +│ │ ├── Dapr: *Object (9 properties) +│ │ │ ├── AppId: *string +│ │ │ ├── AppPort: *int +│ │ │ ├── AppProtocol: *string +│ │ │ ├── EnableApiLogging: *bool +│ │ │ ├── Enabled: *bool +│ │ │ ├── HttpMaxRequestSize: *int +│ │ │ ├── HttpReadBufferSize: *int +│ │ │ ├── LogLevel: *string +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── Ingress: *Object (13 properties) +│ │ │ ├── AdditionalPortMappings: Object (4 properties)[] +│ │ │ │ ├── ExposedPort: *int +│ │ │ │ ├── External: *bool +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ └── TargetPort: *int +│ │ │ ├── AllowInsecure: *bool +│ │ │ ├── ClientCertificateMode: *string +│ │ │ ├── CorsPolicy: *Object (7 properties) +│ │ │ │ ├── AllowCredentials: *bool +│ │ │ │ ├── AllowedHeaders: string[] +│ │ │ │ ├── AllowedMethods: string[] +│ │ │ │ ├── AllowedOrigins: string[] +│ │ │ │ ├── ExposeHeaders: string[] +│ │ │ │ ├── MaxAge: *int +│ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ ├── CustomDomains: Object (4 properties)[] +│ │ │ │ ├── BindingType: *string +│ │ │ │ ├── CertificateReference: *genruntime.ResourceReference +│ │ │ │ ├── Name: *string +│ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ ├── ExposedPort: *int +│ │ │ ├── External: *bool +│ │ │ ├── IpSecurityRestrictions: Object (5 properties)[] +│ │ │ │ ├── Action: *string +│ │ │ │ ├── Description: *string +│ │ │ │ ├── IpAddressRange: *string +│ │ │ │ ├── Name: *string +│ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ ├── StickySessions: *Object (2 properties) +│ │ │ │ ├── Affinity: *string +│ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ ├── TargetPort: *int +│ │ │ ├── Traffic: Object (5 properties)[] +│ │ │ │ ├── Label: *string +│ │ │ │ ├── LatestRevision: *bool +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ ├── RevisionName: *string +│ │ │ │ └── Weight: *int +│ │ │ └── Transport: *string +│ │ ├── MaxInactiveRevisions: *int +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── Registries: Object (5 properties)[] +│ │ │ ├── IdentityReference: *genruntime.ResourceReference +│ │ │ ├── PasswordSecretRef: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ ├── Server: *string +│ │ │ └── Username: *string +│ │ ├── Secrets: Object (5 properties)[] +│ │ │ ├── IdentityReference: *genruntime.ResourceReference +│ │ │ ├── KeyVaultUrl: *string +│ │ │ ├── Name: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── Value: *genruntime.SecretReference +│ │ └── Service: *Object (2 properties) +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── Type: *string +│ ├── EnvironmentReference: *genruntime.ResourceReference +│ ├── ExtendedLocation: *Object (3 properties) +│ │ ├── Name: *string +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── Type: *string +│ ├── Identity: *Object (3 properties) +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── Type: *string +│ │ └── UserAssignedIdentities: Object (2 properties)[] +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── Reference: genruntime.ResourceReference +│ ├── Location: *string +│ ├── ManagedByReference: *genruntime.ResourceReference +│ ├── ManagedEnvironmentReference: *genruntime.ResourceReference +│ ├── OperatorSpec: *Object (4 properties) +│ │ ├── ConfigMapExpressions: *core.DestinationExpression[] +│ │ ├── ConfigMaps: *Object (3 properties) +│ │ │ ├── EventStreamEndpoint: *genruntime.ConfigMapDestination +│ │ │ ├── Fqdn: *genruntime.ConfigMapDestination +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── SecretExpressions: *core.DestinationExpression[] +│ ├── OriginalVersion: string +│ ├── Owner: *genruntime.KnownResourceReference +│ ├── PropertyBag: genruntime.PropertyBag +│ ├── Tags: map[string]string +│ ├── Template: *Object (8 properties) +│ │ ├── Containers: Object (9 properties)[] +│ │ │ ├── Args: string[] +│ │ │ ├── Command: string[] +│ │ │ ├── Env: Object (4 properties)[] +│ │ │ │ ├── Name: *string +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ ├── SecretRef: *string +│ │ │ │ └── Value: *string +│ │ │ ├── Image: *string +│ │ │ ├── Name: *string +│ │ │ ├── Probes: Object (10 properties)[] +│ │ │ │ ├── FailureThreshold: *int +│ │ │ │ ├── HttpGet: *Object (6 properties) +│ │ │ │ │ ├── Host: *string +│ │ │ │ │ ├── HttpHeaders: Object (3 properties)[] +│ │ │ │ │ │ ├── Name: *string +│ │ │ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ │ │ └── Value: *string +│ │ │ │ │ ├── Path: *string +│ │ │ │ │ ├── Port: *int +│ │ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ │ └── Scheme: *string +│ │ │ │ ├── InitialDelaySeconds: *int +│ │ │ │ ├── PeriodSeconds: *int +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ ├── SuccessThreshold: *int +│ │ │ │ ├── TcpSocket: *Object (3 properties) +│ │ │ │ │ ├── Host: *string +│ │ │ │ │ ├── Port: *int +│ │ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ │ ├── TerminationGracePeriodSeconds: *int +│ │ │ │ ├── TimeoutSeconds: *int +│ │ │ │ └── Type: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ ├── Resources: *Object (3 properties) +│ │ │ │ ├── Cpu: *float64 +│ │ │ │ ├── Memory: *string +│ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ └── VolumeMounts: Object (4 properties)[] +│ │ │ ├── MountPath: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ ├── SubPath: *string +│ │ │ └── VolumeName: *string +│ │ ├── InitContainers: Object (8 properties)[] +│ │ │ ├── Args: string[] +│ │ │ ├── Command: string[] +│ │ │ ├── Env: Object (4 properties)[] +│ │ │ │ ├── Name: *string +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ ├── SecretRef: *string +│ │ │ │ └── Value: *string +│ │ │ ├── Image: *string +│ │ │ ├── Name: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ ├── Resources: *Object (3 properties) +│ │ │ │ ├── Cpu: *float64 +│ │ │ │ ├── Memory: *string +│ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ └── VolumeMounts: Object (4 properties)[] +│ │ │ ├── MountPath: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ ├── SubPath: *string +│ │ │ └── VolumeName: *string +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── RevisionSuffix: *string +│ │ ├── Scale: *Object (4 properties) +│ │ │ ├── MaxReplicas: *int +│ │ │ ├── MinReplicas: *int +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── Rules: Object (6 properties)[] +│ │ │ ├── AzureQueue: *Object (4 properties) +│ │ │ │ ├── Auth: Object (3 properties)[] +│ │ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ │ ├── SecretRef: *string +│ │ │ │ │ └── TriggerParameter: *string +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ ├── QueueLength: *int +│ │ │ │ └── QueueName: *string +│ │ │ ├── Custom: *Object (4 properties) +│ │ │ │ ├── Auth: Object (3 properties)[] +│ │ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ │ ├── SecretRef: *string +│ │ │ │ │ └── TriggerParameter: *string +│ │ │ │ ├── Metadata: map[string]string +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ └── Type: *string +│ │ │ ├── Http: *Object (3 properties) +│ │ │ │ ├── Auth: Object (3 properties)[] +│ │ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ │ ├── SecretRef: *string +│ │ │ │ │ └── TriggerParameter: *string +│ │ │ │ ├── Metadata: map[string]string +│ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ ├── Name: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── Tcp: *Object (3 properties) +│ │ │ ├── Auth: Object (3 properties)[] +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ ├── SecretRef: *string +│ │ │ │ └── TriggerParameter: *string +│ │ │ ├── Metadata: map[string]string +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── ServiceBinds: Object (3 properties)[] +│ │ │ ├── Name: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── ServiceReference: *genruntime.ResourceReference +│ │ ├── TerminationGracePeriodSeconds: *int +│ │ └── Volumes: Object (6 properties)[] +│ │ ├── MountOptions: *string +│ │ ├── Name: *string +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── Secrets: Object (3 properties)[] +│ │ │ ├── Path: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── SecretRef: *string +│ │ ├── StorageName: *string +│ │ └── StorageType: *string +│ └── WorkloadProfileName: *string +└── Status: Object (23 properties) + ├── Conditions: conditions.Condition[] + ├── Configuration: *Object (8 properties) + │ ├── ActiveRevisionsMode: *string + │ ├── Dapr: *Object (9 properties) + │ │ ├── AppId: *string + │ │ ├── AppPort: *int + │ │ ├── AppProtocol: *string + │ │ ├── EnableApiLogging: *bool + │ │ ├── Enabled: *bool + │ │ ├── HttpMaxRequestSize: *int + │ │ ├── HttpReadBufferSize: *int + │ │ ├── LogLevel: *string + │ │ └── PropertyBag: genruntime.PropertyBag + │ ├── Ingress: *Object (14 properties) + │ │ ├── AdditionalPortMappings: Object (4 properties)[] + │ │ │ ├── ExposedPort: *int + │ │ │ ├── External: *bool + │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ └── TargetPort: *int + │ │ ├── AllowInsecure: *bool + │ │ ├── ClientCertificateMode: *string + │ │ ├── CorsPolicy: *Object (7 properties) + │ │ │ ├── AllowCredentials: *bool + │ │ │ ├── AllowedHeaders: string[] + │ │ │ ├── AllowedMethods: string[] + │ │ │ ├── AllowedOrigins: string[] + │ │ │ ├── ExposeHeaders: string[] + │ │ │ ├── MaxAge: *int + │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ ├── CustomDomains: Object (4 properties)[] + │ │ │ ├── BindingType: *string + │ │ │ ├── CertificateId: *string + │ │ │ ├── Name: *string + │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ ├── ExposedPort: *int + │ │ ├── External: *bool + │ │ ├── Fqdn: *string + │ │ ├── IpSecurityRestrictions: Object (5 properties)[] + │ │ │ ├── Action: *string + │ │ │ ├── Description: *string + │ │ │ ├── IpAddressRange: *string + │ │ │ ├── Name: *string + │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ ├── StickySessions: *Object (2 properties) + │ │ │ ├── Affinity: *string + │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ ├── TargetPort: *int + │ │ ├── Traffic: Object (5 properties)[] + │ │ │ ├── Label: *string + │ │ │ ├── LatestRevision: *bool + │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ ├── RevisionName: *string + │ │ │ └── Weight: *int + │ │ └── Transport: *string + │ ├── MaxInactiveRevisions: *int + │ ├── PropertyBag: genruntime.PropertyBag + │ ├── Registries: Object (5 properties)[] + │ │ ├── Identity: *string + │ │ ├── PasswordSecretRef: *string + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ ├── Server: *string + │ │ └── Username: *string + │ ├── Secrets: Object (4 properties)[] + │ │ ├── Identity: *string + │ │ ├── KeyVaultUrl: *string + │ │ ├── Name: *string + │ │ └── PropertyBag: genruntime.PropertyBag + │ └── Service: *Object (2 properties) + │ ├── PropertyBag: genruntime.PropertyBag + │ └── Type: *string + ├── CustomDomainVerificationId: *string + ├── EnvironmentId: *string + ├── EventStreamEndpoint: *string + ├── ExtendedLocation: *Object (3 properties) + │ ├── Name: *string + │ ├── PropertyBag: genruntime.PropertyBag + │ └── Type: *string + ├── Id: *string + ├── Identity: *Object (5 properties) + │ ├── PrincipalId: *string + │ ├── PropertyBag: genruntime.PropertyBag + │ ├── TenantId: *string + │ ├── Type: *string + │ └── UserAssignedIdentities: map[string]Object (3 properties) + │ ├── ClientId: *string + │ ├── PrincipalId: *string + │ └── PropertyBag: genruntime.PropertyBag + ├── LatestReadyRevisionName: *string + ├── LatestRevisionFqdn: *string + ├── LatestRevisionName: *string + ├── Location: *string + ├── ManagedBy: *string + ├── ManagedEnvironmentId: *string + ├── Name: *string + ├── OutboundIpAddresses: string[] + ├── PropertyBag: genruntime.PropertyBag + ├── ProvisioningState: *string + ├── SystemData: *Object (7 properties) + │ ├── CreatedAt: *string + │ ├── CreatedBy: *string + │ ├── CreatedByType: *string + │ ├── LastModifiedAt: *string + │ ├── LastModifiedBy: *string + │ ├── LastModifiedByType: *string + │ └── PropertyBag: genruntime.PropertyBag + ├── Tags: map[string]string + ├── Template: *Object (8 properties) + │ ├── Containers: Object (9 properties)[] + │ │ ├── Args: string[] + │ │ ├── Command: string[] + │ │ ├── Env: Object (4 properties)[] + │ │ │ ├── Name: *string + │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ ├── SecretRef: *string + │ │ │ └── Value: *string + │ │ ├── Image: *string + │ │ ├── Name: *string + │ │ ├── Probes: Object (10 properties)[] + │ │ │ ├── FailureThreshold: *int + │ │ │ ├── HttpGet: *Object (6 properties) + │ │ │ │ ├── Host: *string + │ │ │ │ ├── HttpHeaders: Object (3 properties)[] + │ │ │ │ │ ├── Name: *string + │ │ │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ │ │ └── Value: *string + │ │ │ │ ├── Path: *string + │ │ │ │ ├── Port: *int + │ │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ │ └── Scheme: *string + │ │ │ ├── InitialDelaySeconds: *int + │ │ │ ├── PeriodSeconds: *int + │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ ├── SuccessThreshold: *int + │ │ │ ├── TcpSocket: *Object (3 properties) + │ │ │ │ ├── Host: *string + │ │ │ │ ├── Port: *int + │ │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ │ ├── TerminationGracePeriodSeconds: *int + │ │ │ ├── TimeoutSeconds: *int + │ │ │ └── Type: *string + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ ├── Resources: *Object (4 properties) + │ │ │ ├── Cpu: *float64 + │ │ │ ├── EphemeralStorage: *string + │ │ │ ├── Memory: *string + │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ └── VolumeMounts: Object (4 properties)[] + │ │ ├── MountPath: *string + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ ├── SubPath: *string + │ │ └── VolumeName: *string + │ ├── InitContainers: Object (8 properties)[] + │ │ ├── Args: string[] + │ │ ├── Command: string[] + │ │ ├── Env: Object (4 properties)[] + │ │ │ ├── Name: *string + │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ ├── SecretRef: *string + │ │ │ └── Value: *string + │ │ ├── Image: *string + │ │ ├── Name: *string + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ ├── Resources: *Object (4 properties) + │ │ │ ├── Cpu: *float64 + │ │ │ ├── EphemeralStorage: *string + │ │ │ ├── Memory: *string + │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ └── VolumeMounts: Object (4 properties)[] + │ │ ├── MountPath: *string + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ ├── SubPath: *string + │ │ └── VolumeName: *string + │ ├── PropertyBag: genruntime.PropertyBag + │ ├── RevisionSuffix: *string + │ ├── Scale: *Object (4 properties) + │ │ ├── MaxReplicas: *int + │ │ ├── MinReplicas: *int + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── Rules: Object (6 properties)[] + │ │ ├── AzureQueue: *Object (4 properties) + │ │ │ ├── Auth: Object (3 properties)[] + │ │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ │ ├── SecretRef: *string + │ │ │ │ └── TriggerParameter: *string + │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ ├── QueueLength: *int + │ │ │ └── QueueName: *string + │ │ ├── Custom: *Object (4 properties) + │ │ │ ├── Auth: Object (3 properties)[] + │ │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ │ ├── SecretRef: *string + │ │ │ │ └── TriggerParameter: *string + │ │ │ ├── Metadata: map[string]string + │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ └── Type: *string + │ │ ├── Http: *Object (3 properties) + │ │ │ ├── Auth: Object (3 properties)[] + │ │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ │ ├── SecretRef: *string + │ │ │ │ └── TriggerParameter: *string + │ │ │ ├── Metadata: map[string]string + │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ ├── Name: *string + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── Tcp: *Object (3 properties) + │ │ ├── Auth: Object (3 properties)[] + │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ ├── SecretRef: *string + │ │ │ └── TriggerParameter: *string + │ │ ├── Metadata: map[string]string + │ │ └── PropertyBag: genruntime.PropertyBag + │ ├── ServiceBinds: Object (3 properties)[] + │ │ ├── Name: *string + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── ServiceId: *string + │ ├── TerminationGracePeriodSeconds: *int + │ └── Volumes: Object (6 properties)[] + │ ├── MountOptions: *string + │ ├── Name: *string + │ ├── PropertyBag: genruntime.PropertyBag + │ ├── Secrets: Object (3 properties)[] + │ │ ├── Path: *string + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── SecretRef: *string + │ ├── StorageName: *string + │ └── StorageType: *string + ├── Type: *string + └── WorkloadProfileName: *string +Job: Resource +├── Owner: resources/v1apiv20191001.ResourceGroup +├── Spec: Object (12 properties) +│ ├── AzureName: string +│ ├── Configuration: *Object (9 properties) +│ │ ├── EventTriggerConfig: *Object (4 properties) +│ │ │ ├── Parallelism: *int +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ ├── ReplicaCompletionCount: *int +│ │ │ └── Scale: *Object (5 properties) +│ │ │ ├── MaxExecutions: *int +│ │ │ ├── MinExecutions: *int +│ │ │ ├── PollingInterval: *int +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── Rules: Object (5 properties)[] +│ │ │ ├── Auth: Object (3 properties)[] +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ ├── SecretRef: *string +│ │ │ │ └── TriggerParameter: *string +│ │ │ ├── Metadata: map[string]v1.JSON +│ │ │ ├── Name: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── Type: *string +│ │ ├── ManualTriggerConfig: *Object (3 properties) +│ │ │ ├── Parallelism: *int +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── ReplicaCompletionCount: *int +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── Registries: Object (5 properties)[] +│ │ │ ├── IdentityReference: *genruntime.ResourceReference +│ │ │ ├── PasswordSecretRef: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ ├── Server: *string +│ │ │ └── Username: *string +│ │ ├── ReplicaRetryLimit: *int +│ │ ├── ReplicaTimeout: *int +│ │ ├── ScheduleTriggerConfig: *Object (4 properties) +│ │ │ ├── CronExpression: *string +│ │ │ ├── Parallelism: *int +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── ReplicaCompletionCount: *int +│ │ ├── Secrets: Object (5 properties)[] +│ │ │ ├── IdentityReference: *genruntime.ResourceReference +│ │ │ ├── KeyVaultUrl: *string +│ │ │ ├── Name: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── Value: *genruntime.SecretReference +│ │ └── TriggerType: *string +│ ├── EnvironmentReference: *genruntime.ResourceReference +│ ├── Identity: *Object (3 properties) +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── Type: *string +│ │ └── UserAssignedIdentities: Object (2 properties)[] +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── Reference: genruntime.ResourceReference +│ ├── Location: *string +│ ├── OperatorSpec: *Object (3 properties) +│ │ ├── ConfigMapExpressions: *core.DestinationExpression[] +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── SecretExpressions: *core.DestinationExpression[] +│ ├── OriginalVersion: string +│ ├── Owner: *genruntime.KnownResourceReference +│ ├── PropertyBag: genruntime.PropertyBag +│ ├── Tags: map[string]string +│ ├── Template: *Object (4 properties) +│ │ ├── Containers: Object (9 properties)[] +│ │ │ ├── Args: string[] +│ │ │ ├── Command: string[] +│ │ │ ├── Env: Object (4 properties)[] +│ │ │ │ ├── Name: *string +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ ├── SecretRef: *string +│ │ │ │ └── Value: *string +│ │ │ ├── Image: *string +│ │ │ ├── Name: *string +│ │ │ ├── Probes: Object (10 properties)[] +│ │ │ │ ├── FailureThreshold: *int +│ │ │ │ ├── HttpGet: *Object (6 properties) +│ │ │ │ │ ├── Host: *string +│ │ │ │ │ ├── HttpHeaders: Object (3 properties)[] +│ │ │ │ │ │ ├── Name: *string +│ │ │ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ │ │ └── Value: *string +│ │ │ │ │ ├── Path: *string +│ │ │ │ │ ├── Port: *int +│ │ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ │ └── Scheme: *string +│ │ │ │ ├── InitialDelaySeconds: *int +│ │ │ │ ├── PeriodSeconds: *int +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ ├── SuccessThreshold: *int +│ │ │ │ ├── TcpSocket: *Object (3 properties) +│ │ │ │ │ ├── Host: *string +│ │ │ │ │ ├── Port: *int +│ │ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ │ ├── TerminationGracePeriodSeconds: *int +│ │ │ │ ├── TimeoutSeconds: *int +│ │ │ │ └── Type: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ ├── Resources: *Object (3 properties) +│ │ │ │ ├── Cpu: *float64 +│ │ │ │ ├── Memory: *string +│ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ └── VolumeMounts: Object (4 properties)[] +│ │ │ ├── MountPath: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ ├── SubPath: *string +│ │ │ └── VolumeName: *string +│ │ ├── InitContainers: Object (8 properties)[] +│ │ │ ├── Args: string[] +│ │ │ ├── Command: string[] +│ │ │ ├── Env: Object (4 properties)[] +│ │ │ │ ├── Name: *string +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ ├── SecretRef: *string +│ │ │ │ └── Value: *string +│ │ │ ├── Image: *string +│ │ │ ├── Name: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ ├── Resources: *Object (3 properties) +│ │ │ │ ├── Cpu: *float64 +│ │ │ │ ├── Memory: *string +│ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ └── VolumeMounts: Object (4 properties)[] +│ │ │ ├── MountPath: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ ├── SubPath: *string +│ │ │ └── VolumeName: *string +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── Volumes: Object (6 properties)[] +│ │ ├── MountOptions: *string +│ │ ├── Name: *string +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── Secrets: Object (3 properties)[] +│ │ │ ├── Path: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── SecretRef: *string +│ │ ├── StorageName: *string +│ │ └── StorageType: *string +│ └── WorkloadProfileName: *string +└── Status: Object (16 properties) + ├── Conditions: conditions.Condition[] + ├── Configuration: *Object (9 properties) + │ ├── EventTriggerConfig: *Object (4 properties) + │ │ ├── Parallelism: *int + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ ├── ReplicaCompletionCount: *int + │ │ └── Scale: *Object (5 properties) + │ │ ├── MaxExecutions: *int + │ │ ├── MinExecutions: *int + │ │ ├── PollingInterval: *int + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── Rules: Object (5 properties)[] + │ │ ├── Auth: Object (3 properties)[] + │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ ├── SecretRef: *string + │ │ │ └── TriggerParameter: *string + │ │ ├── Metadata: map[string]v1.JSON + │ │ ├── Name: *string + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── Type: *string + │ ├── ManualTriggerConfig: *Object (3 properties) + │ │ ├── Parallelism: *int + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── ReplicaCompletionCount: *int + │ ├── PropertyBag: genruntime.PropertyBag + │ ├── Registries: Object (5 properties)[] + │ │ ├── Identity: *string + │ │ ├── PasswordSecretRef: *string + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ ├── Server: *string + │ │ └── Username: *string + │ ├── ReplicaRetryLimit: *int + │ ├── ReplicaTimeout: *int + │ ├── ScheduleTriggerConfig: *Object (4 properties) + │ │ ├── CronExpression: *string + │ │ ├── Parallelism: *int + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── ReplicaCompletionCount: *int + │ ├── Secrets: Object (4 properties)[] + │ │ ├── Identity: *string + │ │ ├── KeyVaultUrl: *string + │ │ ├── Name: *string + │ │ └── PropertyBag: genruntime.PropertyBag + │ └── TriggerType: *string + ├── EnvironmentId: *string + ├── EventStreamEndpoint: *string + ├── Id: *string + ├── Identity: *Object (5 properties) + │ ├── PrincipalId: *string + │ ├── PropertyBag: genruntime.PropertyBag + │ ├── TenantId: *string + │ ├── Type: *string + │ └── UserAssignedIdentities: map[string]Object (3 properties) + │ ├── ClientId: *string + │ ├── PrincipalId: *string + │ └── PropertyBag: genruntime.PropertyBag + ├── Location: *string + ├── Name: *string + ├── OutboundIpAddresses: string[] + ├── PropertyBag: genruntime.PropertyBag + ├── ProvisioningState: *string + ├── SystemData: *Object (7 properties) + │ ├── CreatedAt: *string + │ ├── CreatedBy: *string + │ ├── CreatedByType: *string + │ ├── LastModifiedAt: *string + │ ├── LastModifiedBy: *string + │ ├── LastModifiedByType: *string + │ └── PropertyBag: genruntime.PropertyBag + ├── Tags: map[string]string + ├── Template: *Object (4 properties) + │ ├── Containers: Object (9 properties)[] + │ │ ├── Args: string[] + │ │ ├── Command: string[] + │ │ ├── Env: Object (4 properties)[] + │ │ │ ├── Name: *string + │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ ├── SecretRef: *string + │ │ │ └── Value: *string + │ │ ├── Image: *string + │ │ ├── Name: *string + │ │ ├── Probes: Object (10 properties)[] + │ │ │ ├── FailureThreshold: *int + │ │ │ ├── HttpGet: *Object (6 properties) + │ │ │ │ ├── Host: *string + │ │ │ │ ├── HttpHeaders: Object (3 properties)[] + │ │ │ │ │ ├── Name: *string + │ │ │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ │ │ └── Value: *string + │ │ │ │ ├── Path: *string + │ │ │ │ ├── Port: *int + │ │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ │ └── Scheme: *string + │ │ │ ├── InitialDelaySeconds: *int + │ │ │ ├── PeriodSeconds: *int + │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ ├── SuccessThreshold: *int + │ │ │ ├── TcpSocket: *Object (3 properties) + │ │ │ │ ├── Host: *string + │ │ │ │ ├── Port: *int + │ │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ │ ├── TerminationGracePeriodSeconds: *int + │ │ │ ├── TimeoutSeconds: *int + │ │ │ └── Type: *string + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ ├── Resources: *Object (4 properties) + │ │ │ ├── Cpu: *float64 + │ │ │ ├── EphemeralStorage: *string + │ │ │ ├── Memory: *string + │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ └── VolumeMounts: Object (4 properties)[] + │ │ ├── MountPath: *string + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ ├── SubPath: *string + │ │ └── VolumeName: *string + │ ├── InitContainers: Object (8 properties)[] + │ │ ├── Args: string[] + │ │ ├── Command: string[] + │ │ ├── Env: Object (4 properties)[] + │ │ │ ├── Name: *string + │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ ├── SecretRef: *string + │ │ │ └── Value: *string + │ │ ├── Image: *string + │ │ ├── Name: *string + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ ├── Resources: *Object (4 properties) + │ │ │ ├── Cpu: *float64 + │ │ │ ├── EphemeralStorage: *string + │ │ │ ├── Memory: *string + │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ └── VolumeMounts: Object (4 properties)[] + │ │ ├── MountPath: *string + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ ├── SubPath: *string + │ │ └── VolumeName: *string + │ ├── PropertyBag: genruntime.PropertyBag + │ └── Volumes: Object (6 properties)[] + │ ├── MountOptions: *string + │ ├── Name: *string + │ ├── PropertyBag: genruntime.PropertyBag + │ ├── Secrets: Object (3 properties)[] + │ │ ├── Path: *string + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── SecretRef: *string + │ ├── StorageName: *string + │ └── StorageType: *string + ├── Type: *string + └── WorkloadProfileName: *string +ManagedEnvironment: Resource +├── Owner: resources/v1apiv20191001.ResourceGroup +├── Spec: Object (18 properties) +│ ├── AppLogsConfiguration: *Object (3 properties) +│ │ ├── Destination: *string +│ │ ├── LogAnalyticsConfiguration: *Object (3 properties) +│ │ │ ├── CustomerId: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── SharedKey: *genruntime.SecretReference +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── AzureName: string +│ ├── CustomDomainConfiguration: *Object (4 properties) +│ │ ├── CertificatePassword: *genruntime.SecretReference +│ │ ├── CertificateValue: *genruntime.SecretReference +│ │ ├── DnsSuffix: *string +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── DaprAIConnectionString: *genruntime.SecretReference +│ ├── DaprAIInstrumentationKey: *genruntime.SecretReference +│ ├── InfrastructureResourceGroup: *string +│ ├── Kind: *string +│ ├── Location: *string +│ ├── OperatorSpec: *Object (3 properties) +│ │ ├── ConfigMapExpressions: *core.DestinationExpression[] +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── SecretExpressions: *core.DestinationExpression[] +│ ├── OriginalVersion: string +│ ├── Owner: *genruntime.KnownResourceReference +│ ├── PeerAuthentication: *Object (2 properties) +│ │ ├── Mtls: *Object (2 properties) +│ │ │ ├── Enabled: *bool +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── PeerTrafficConfiguration: *Object (2 properties) +│ │ ├── Encryption: *Object (2 properties) +│ │ │ ├── Enabled: *bool +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── PropertyBag: genruntime.PropertyBag +│ ├── Tags: map[string]string +│ ├── VnetConfiguration: *Object (6 properties) +│ │ ├── DockerBridgeCidr: *string +│ │ ├── InfrastructureSubnetReference: *genruntime.ResourceReference +│ │ ├── Internal: *bool +│ │ ├── PlatformReservedCidr: *string +│ │ ├── PlatformReservedDnsIP: *string +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── WorkloadProfiles: Object (5 properties)[] +│ │ ├── MaximumCount: *int +│ │ ├── MinimumCount: *int +│ │ ├── Name: *string +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── WorkloadProfileType: *string +│ └── ZoneRedundant: *bool +└── Status: Object (24 properties) + ├── AppLogsConfiguration: *Object (3 properties) + │ ├── Destination: *string + │ ├── LogAnalyticsConfiguration: *Object (2 properties) + │ │ ├── CustomerId: *string + │ │ └── PropertyBag: genruntime.PropertyBag + │ └── PropertyBag: genruntime.PropertyBag + ├── Conditions: conditions.Condition[] + ├── CustomDomainConfiguration: *Object (6 properties) + │ ├── CustomDomainVerificationId: *string + │ ├── DnsSuffix: *string + │ ├── ExpirationDate: *string + │ ├── PropertyBag: genruntime.PropertyBag + │ ├── SubjectName: *string + │ └── Thumbprint: *string + ├── DaprConfiguration: *Object (2 properties) + │ ├── PropertyBag: genruntime.PropertyBag + │ └── Version: *string + ├── DefaultDomain: *string + ├── DeploymentErrors: *string + ├── EventStreamEndpoint: *string + ├── Id: *string + ├── InfrastructureResourceGroup: *string + ├── KedaConfiguration: *Object (2 properties) + │ ├── PropertyBag: genruntime.PropertyBag + │ └── Version: *string + ├── Kind: *string + ├── Location: *string + ├── Name: *string + ├── PeerAuthentication: *Object (2 properties) + │ ├── Mtls: *Object (2 properties) + │ │ ├── Enabled: *bool + │ │ └── PropertyBag: genruntime.PropertyBag + │ └── PropertyBag: genruntime.PropertyBag + ├── PeerTrafficConfiguration: *Object (2 properties) + │ ├── Encryption: *Object (2 properties) + │ │ ├── Enabled: *bool + │ │ └── PropertyBag: genruntime.PropertyBag + │ └── PropertyBag: genruntime.PropertyBag + ├── PropertyBag: genruntime.PropertyBag + ├── ProvisioningState: *string + ├── StaticIp: *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 + ├── VnetConfiguration: *Object (6 properties) + │ ├── DockerBridgeCidr: *string + │ ├── InfrastructureSubnetId: *string + │ ├── Internal: *bool + │ ├── PlatformReservedCidr: *string + │ ├── PlatformReservedDnsIP: *string + │ └── PropertyBag: genruntime.PropertyBag + ├── WorkloadProfiles: Object (5 properties)[] + │ ├── MaximumCount: *int + │ ├── MinimumCount: *int + │ ├── Name: *string + │ ├── PropertyBag: genruntime.PropertyBag + │ └── WorkloadProfileType: *string + └── ZoneRedundant: *bool diff --git a/v2/api/app/v1api20240301/storage/zz_generated.deepcopy.go b/v2/api/app/v1api20240301/storage/zz_generated.deepcopy.go new file mode 100644 index 00000000000..63afcd61874 --- /dev/null +++ b/v2/api/app/v1api20240301/storage/zz_generated.deepcopy.go @@ -0,0 +1,8315 @@ +//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" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/core" + "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 *AllowedAudiencesValidation) DeepCopyInto(out *AllowedAudiencesValidation) { + *out = *in + if in.AllowedAudiences != nil { + in, out := &in.AllowedAudiences, &out.AllowedAudiences + *out = make([]string, len(*in)) + copy(*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 AllowedAudiencesValidation. +func (in *AllowedAudiencesValidation) DeepCopy() *AllowedAudiencesValidation { + if in == nil { + return nil + } + out := new(AllowedAudiencesValidation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AllowedAudiencesValidation_STATUS) DeepCopyInto(out *AllowedAudiencesValidation_STATUS) { + *out = *in + if in.AllowedAudiences != nil { + in, out := &in.AllowedAudiences, &out.AllowedAudiences + *out = make([]string, len(*in)) + copy(*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 AllowedAudiencesValidation_STATUS. +func (in *AllowedAudiencesValidation_STATUS) DeepCopy() *AllowedAudiencesValidation_STATUS { + if in == nil { + return nil + } + out := new(AllowedAudiencesValidation_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 *AllowedPrincipals) DeepCopyInto(out *AllowedPrincipals) { + *out = *in + if in.Groups != nil { + in, out := &in.Groups, &out.Groups + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Identities != nil { + in, out := &in.Identities, &out.Identities + *out = make([]string, len(*in)) + copy(*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 AllowedPrincipals. +func (in *AllowedPrincipals) DeepCopy() *AllowedPrincipals { + if in == nil { + return nil + } + out := new(AllowedPrincipals) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AllowedPrincipals_STATUS) DeepCopyInto(out *AllowedPrincipals_STATUS) { + *out = *in + if in.Groups != nil { + in, out := &in.Groups, &out.Groups + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Identities != nil { + in, out := &in.Identities, &out.Identities + *out = make([]string, len(*in)) + copy(*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 AllowedPrincipals_STATUS. +func (in *AllowedPrincipals_STATUS) DeepCopy() *AllowedPrincipals_STATUS { + if in == nil { + return nil + } + out := new(AllowedPrincipals_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 *AppLogsConfiguration) DeepCopyInto(out *AppLogsConfiguration) { + *out = *in + if in.Destination != nil { + in, out := &in.Destination, &out.Destination + *out = new(string) + **out = **in + } + if in.LogAnalyticsConfiguration != nil { + in, out := &in.LogAnalyticsConfiguration, &out.LogAnalyticsConfiguration + *out = new(LogAnalyticsConfiguration) + (*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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppLogsConfiguration. +func (in *AppLogsConfiguration) DeepCopy() *AppLogsConfiguration { + if in == nil { + return nil + } + out := new(AppLogsConfiguration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppLogsConfiguration_STATUS) DeepCopyInto(out *AppLogsConfiguration_STATUS) { + *out = *in + if in.Destination != nil { + in, out := &in.Destination, &out.Destination + *out = new(string) + **out = **in + } + if in.LogAnalyticsConfiguration != nil { + in, out := &in.LogAnalyticsConfiguration, &out.LogAnalyticsConfiguration + *out = new(LogAnalyticsConfiguration_STATUS) + (*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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppLogsConfiguration_STATUS. +func (in *AppLogsConfiguration_STATUS) DeepCopy() *AppLogsConfiguration_STATUS { + if in == nil { + return nil + } + out := new(AppLogsConfiguration_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 *AppRegistration) DeepCopyInto(out *AppRegistration) { + *out = *in + if in.AppId != nil { + in, out := &in.AppId, &out.AppId + *out = new(string) + **out = **in + } + if in.AppSecretSettingName != nil { + in, out := &in.AppSecretSettingName, &out.AppSecretSettingName + *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 AppRegistration. +func (in *AppRegistration) DeepCopy() *AppRegistration { + if in == nil { + return nil + } + out := new(AppRegistration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppRegistration_STATUS) DeepCopyInto(out *AppRegistration_STATUS) { + *out = *in + if in.AppId != nil { + in, out := &in.AppId, &out.AppId + *out = new(string) + **out = **in + } + if in.AppSecretSettingName != nil { + in, out := &in.AppSecretSettingName, &out.AppSecretSettingName + *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 AppRegistration_STATUS. +func (in *AppRegistration_STATUS) DeepCopy() *AppRegistration_STATUS { + if in == nil { + return nil + } + out := new(AppRegistration_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 *Apple) DeepCopyInto(out *Apple) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(LoginScopes) + (*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.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(AppleRegistration) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Apple. +func (in *Apple) DeepCopy() *Apple { + if in == nil { + return nil + } + out := new(Apple) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppleRegistration) DeepCopyInto(out *AppleRegistration) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.ClientSecretSettingName != nil { + in, out := &in.ClientSecretSettingName, &out.ClientSecretSettingName + *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 AppleRegistration. +func (in *AppleRegistration) DeepCopy() *AppleRegistration { + if in == nil { + return nil + } + out := new(AppleRegistration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppleRegistration_STATUS) DeepCopyInto(out *AppleRegistration_STATUS) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.ClientSecretSettingName != nil { + in, out := &in.ClientSecretSettingName, &out.ClientSecretSettingName + *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 AppleRegistration_STATUS. +func (in *AppleRegistration_STATUS) DeepCopy() *AppleRegistration_STATUS { + if in == nil { + return nil + } + out := new(AppleRegistration_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 *Apple_STATUS) DeepCopyInto(out *Apple_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(LoginScopes_STATUS) + (*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.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(AppleRegistration_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Apple_STATUS. +func (in *Apple_STATUS) DeepCopy() *Apple_STATUS { + if in == nil { + return nil + } + out := new(Apple_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 *AuthConfig) DeepCopyInto(out *AuthConfig) { + *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 AuthConfig. +func (in *AuthConfig) DeepCopy() *AuthConfig { + if in == nil { + return nil + } + out := new(AuthConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AuthConfig) 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 *AuthConfigList) DeepCopyInto(out *AuthConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]AuthConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthConfigList. +func (in *AuthConfigList) DeepCopy() *AuthConfigList { + if in == nil { + return nil + } + out := new(AuthConfigList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AuthConfigList) 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 *AuthConfigOperatorSpec) DeepCopyInto(out *AuthConfigOperatorSpec) { + *out = *in + if in.ConfigMapExpressions != nil { + in, out := &in.ConfigMapExpressions, &out.ConfigMapExpressions + *out = make([]*core.DestinationExpression, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(core.DestinationExpression) + **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.SecretExpressions != nil { + in, out := &in.SecretExpressions, &out.SecretExpressions + *out = make([]*core.DestinationExpression, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(core.DestinationExpression) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthConfigOperatorSpec. +func (in *AuthConfigOperatorSpec) DeepCopy() *AuthConfigOperatorSpec { + if in == nil { + return nil + } + out := new(AuthConfigOperatorSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AuthConfig_STATUS) DeepCopyInto(out *AuthConfig_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.EncryptionSettings != nil { + in, out := &in.EncryptionSettings, &out.EncryptionSettings + *out = new(EncryptionSettings_STATUS) + (*in).DeepCopyInto(*out) + } + if in.GlobalValidation != nil { + in, out := &in.GlobalValidation, &out.GlobalValidation + *out = new(GlobalValidation_STATUS) + (*in).DeepCopyInto(*out) + } + if in.HttpSettings != nil { + in, out := &in.HttpSettings, &out.HttpSettings + *out = new(HttpSettings_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.IdentityProviders != nil { + in, out := &in.IdentityProviders, &out.IdentityProviders + *out = new(IdentityProviders_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(Login_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Platform != nil { + in, out := &in.Platform, &out.Platform + *out = new(AuthPlatform_STATUS) + (*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.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 AuthConfig_STATUS. +func (in *AuthConfig_STATUS) DeepCopy() *AuthConfig_STATUS { + if in == nil { + return nil + } + out := new(AuthConfig_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 *AuthConfig_Spec) DeepCopyInto(out *AuthConfig_Spec) { + *out = *in + if in.EncryptionSettings != nil { + in, out := &in.EncryptionSettings, &out.EncryptionSettings + *out = new(EncryptionSettings) + (*in).DeepCopyInto(*out) + } + if in.GlobalValidation != nil { + in, out := &in.GlobalValidation, &out.GlobalValidation + *out = new(GlobalValidation) + (*in).DeepCopyInto(*out) + } + if in.HttpSettings != nil { + in, out := &in.HttpSettings, &out.HttpSettings + *out = new(HttpSettings) + (*in).DeepCopyInto(*out) + } + if in.IdentityProviders != nil { + in, out := &in.IdentityProviders, &out.IdentityProviders + *out = new(IdentityProviders) + (*in).DeepCopyInto(*out) + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(Login) + (*in).DeepCopyInto(*out) + } + if in.OperatorSpec != nil { + in, out := &in.OperatorSpec, &out.OperatorSpec + *out = new(AuthConfigOperatorSpec) + (*in).DeepCopyInto(*out) + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.KnownResourceReference) + **out = **in + } + if in.Platform != nil { + in, out := &in.Platform, &out.Platform + *out = new(AuthPlatform) + (*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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthConfig_Spec. +func (in *AuthConfig_Spec) DeepCopy() *AuthConfig_Spec { + if in == nil { + return nil + } + out := new(AuthConfig_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 *AuthPlatform) DeepCopyInto(out *AuthPlatform) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **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.RuntimeVersion != nil { + in, out := &in.RuntimeVersion, &out.RuntimeVersion + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthPlatform. +func (in *AuthPlatform) DeepCopy() *AuthPlatform { + if in == nil { + return nil + } + out := new(AuthPlatform) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AuthPlatform_STATUS) DeepCopyInto(out *AuthPlatform_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **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.RuntimeVersion != nil { + in, out := &in.RuntimeVersion, &out.RuntimeVersion + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthPlatform_STATUS. +func (in *AuthPlatform_STATUS) DeepCopy() *AuthPlatform_STATUS { + if in == nil { + return nil + } + out := new(AuthPlatform_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 *AzureActiveDirectory) DeepCopyInto(out *AzureActiveDirectory) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.IsAutoProvisioned != nil { + in, out := &in.IsAutoProvisioned, &out.IsAutoProvisioned + *out = new(bool) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(AzureActiveDirectoryLogin) + (*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.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(AzureActiveDirectoryRegistration) + (*in).DeepCopyInto(*out) + } + if in.Validation != nil { + in, out := &in.Validation, &out.Validation + *out = new(AzureActiveDirectoryValidation) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureActiveDirectory. +func (in *AzureActiveDirectory) DeepCopy() *AzureActiveDirectory { + if in == nil { + return nil + } + out := new(AzureActiveDirectory) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AzureActiveDirectoryLogin) DeepCopyInto(out *AzureActiveDirectoryLogin) { + *out = *in + if in.DisableWWWAuthenticate != nil { + in, out := &in.DisableWWWAuthenticate, &out.DisableWWWAuthenticate + *out = new(bool) + **out = **in + } + if in.LoginParameters != nil { + in, out := &in.LoginParameters, &out.LoginParameters + *out = make([]string, len(*in)) + copy(*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 AzureActiveDirectoryLogin. +func (in *AzureActiveDirectoryLogin) DeepCopy() *AzureActiveDirectoryLogin { + if in == nil { + return nil + } + out := new(AzureActiveDirectoryLogin) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AzureActiveDirectoryLogin_STATUS) DeepCopyInto(out *AzureActiveDirectoryLogin_STATUS) { + *out = *in + if in.DisableWWWAuthenticate != nil { + in, out := &in.DisableWWWAuthenticate, &out.DisableWWWAuthenticate + *out = new(bool) + **out = **in + } + if in.LoginParameters != nil { + in, out := &in.LoginParameters, &out.LoginParameters + *out = make([]string, len(*in)) + copy(*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 AzureActiveDirectoryLogin_STATUS. +func (in *AzureActiveDirectoryLogin_STATUS) DeepCopy() *AzureActiveDirectoryLogin_STATUS { + if in == nil { + return nil + } + out := new(AzureActiveDirectoryLogin_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 *AzureActiveDirectoryRegistration) DeepCopyInto(out *AzureActiveDirectoryRegistration) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.ClientSecretCertificateIssuer != nil { + in, out := &in.ClientSecretCertificateIssuer, &out.ClientSecretCertificateIssuer + *out = new(string) + **out = **in + } + if in.ClientSecretCertificateSubjectAlternativeName != nil { + in, out := &in.ClientSecretCertificateSubjectAlternativeName, &out.ClientSecretCertificateSubjectAlternativeName + *out = new(string) + **out = **in + } + if in.ClientSecretCertificateThumbprint != nil { + in, out := &in.ClientSecretCertificateThumbprint, &out.ClientSecretCertificateThumbprint + *out = new(string) + **out = **in + } + if in.ClientSecretSettingName != nil { + in, out := &in.ClientSecretSettingName, &out.ClientSecretSettingName + *out = new(string) + **out = **in + } + if in.OpenIdIssuer != nil { + in, out := &in.OpenIdIssuer, &out.OpenIdIssuer + *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 AzureActiveDirectoryRegistration. +func (in *AzureActiveDirectoryRegistration) DeepCopy() *AzureActiveDirectoryRegistration { + if in == nil { + return nil + } + out := new(AzureActiveDirectoryRegistration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AzureActiveDirectoryRegistration_STATUS) DeepCopyInto(out *AzureActiveDirectoryRegistration_STATUS) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.ClientSecretCertificateIssuer != nil { + in, out := &in.ClientSecretCertificateIssuer, &out.ClientSecretCertificateIssuer + *out = new(string) + **out = **in + } + if in.ClientSecretCertificateSubjectAlternativeName != nil { + in, out := &in.ClientSecretCertificateSubjectAlternativeName, &out.ClientSecretCertificateSubjectAlternativeName + *out = new(string) + **out = **in + } + if in.ClientSecretCertificateThumbprint != nil { + in, out := &in.ClientSecretCertificateThumbprint, &out.ClientSecretCertificateThumbprint + *out = new(string) + **out = **in + } + if in.ClientSecretSettingName != nil { + in, out := &in.ClientSecretSettingName, &out.ClientSecretSettingName + *out = new(string) + **out = **in + } + if in.OpenIdIssuer != nil { + in, out := &in.OpenIdIssuer, &out.OpenIdIssuer + *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 AzureActiveDirectoryRegistration_STATUS. +func (in *AzureActiveDirectoryRegistration_STATUS) DeepCopy() *AzureActiveDirectoryRegistration_STATUS { + if in == nil { + return nil + } + out := new(AzureActiveDirectoryRegistration_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 *AzureActiveDirectoryValidation) DeepCopyInto(out *AzureActiveDirectoryValidation) { + *out = *in + if in.AllowedAudiences != nil { + in, out := &in.AllowedAudiences, &out.AllowedAudiences + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.DefaultAuthorizationPolicy != nil { + in, out := &in.DefaultAuthorizationPolicy, &out.DefaultAuthorizationPolicy + *out = new(DefaultAuthorizationPolicy) + (*in).DeepCopyInto(*out) + } + if in.JwtClaimChecks != nil { + in, out := &in.JwtClaimChecks, &out.JwtClaimChecks + *out = new(JwtClaimChecks) + (*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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureActiveDirectoryValidation. +func (in *AzureActiveDirectoryValidation) DeepCopy() *AzureActiveDirectoryValidation { + if in == nil { + return nil + } + out := new(AzureActiveDirectoryValidation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AzureActiveDirectoryValidation_STATUS) DeepCopyInto(out *AzureActiveDirectoryValidation_STATUS) { + *out = *in + if in.AllowedAudiences != nil { + in, out := &in.AllowedAudiences, &out.AllowedAudiences + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.DefaultAuthorizationPolicy != nil { + in, out := &in.DefaultAuthorizationPolicy, &out.DefaultAuthorizationPolicy + *out = new(DefaultAuthorizationPolicy_STATUS) + (*in).DeepCopyInto(*out) + } + if in.JwtClaimChecks != nil { + in, out := &in.JwtClaimChecks, &out.JwtClaimChecks + *out = new(JwtClaimChecks_STATUS) + (*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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureActiveDirectoryValidation_STATUS. +func (in *AzureActiveDirectoryValidation_STATUS) DeepCopy() *AzureActiveDirectoryValidation_STATUS { + if in == nil { + return nil + } + out := new(AzureActiveDirectoryValidation_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 *AzureActiveDirectory_STATUS) DeepCopyInto(out *AzureActiveDirectory_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.IsAutoProvisioned != nil { + in, out := &in.IsAutoProvisioned, &out.IsAutoProvisioned + *out = new(bool) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(AzureActiveDirectoryLogin_STATUS) + (*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.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(AzureActiveDirectoryRegistration_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Validation != nil { + in, out := &in.Validation, &out.Validation + *out = new(AzureActiveDirectoryValidation_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureActiveDirectory_STATUS. +func (in *AzureActiveDirectory_STATUS) DeepCopy() *AzureActiveDirectory_STATUS { + if in == nil { + return nil + } + out := new(AzureActiveDirectory_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 *AzureStaticWebApps) DeepCopyInto(out *AzureStaticWebApps) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **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.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(AzureStaticWebAppsRegistration) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureStaticWebApps. +func (in *AzureStaticWebApps) DeepCopy() *AzureStaticWebApps { + if in == nil { + return nil + } + out := new(AzureStaticWebApps) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AzureStaticWebAppsRegistration) DeepCopyInto(out *AzureStaticWebAppsRegistration) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *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 AzureStaticWebAppsRegistration. +func (in *AzureStaticWebAppsRegistration) DeepCopy() *AzureStaticWebAppsRegistration { + if in == nil { + return nil + } + out := new(AzureStaticWebAppsRegistration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AzureStaticWebAppsRegistration_STATUS) DeepCopyInto(out *AzureStaticWebAppsRegistration_STATUS) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *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 AzureStaticWebAppsRegistration_STATUS. +func (in *AzureStaticWebAppsRegistration_STATUS) DeepCopy() *AzureStaticWebAppsRegistration_STATUS { + if in == nil { + return nil + } + out := new(AzureStaticWebAppsRegistration_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 *AzureStaticWebApps_STATUS) DeepCopyInto(out *AzureStaticWebApps_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **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.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(AzureStaticWebAppsRegistration_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureStaticWebApps_STATUS. +func (in *AzureStaticWebApps_STATUS) DeepCopy() *AzureStaticWebApps_STATUS { + if in == nil { + return nil + } + out := new(AzureStaticWebApps_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 *BaseContainer) DeepCopyInto(out *BaseContainer) { + *out = *in + if in.Args != nil { + in, out := &in.Args, &out.Args + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Command != nil { + in, out := &in.Command, &out.Command + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Env != nil { + in, out := &in.Env, &out.Env + *out = make([]EnvironmentVar, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Image != nil { + in, out := &in.Image, &out.Image + *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.Resources != nil { + in, out := &in.Resources, &out.Resources + *out = new(ContainerResources) + (*in).DeepCopyInto(*out) + } + if in.VolumeMounts != nil { + in, out := &in.VolumeMounts, &out.VolumeMounts + *out = make([]VolumeMount, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaseContainer. +func (in *BaseContainer) DeepCopy() *BaseContainer { + if in == nil { + return nil + } + out := new(BaseContainer) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BaseContainer_STATUS) DeepCopyInto(out *BaseContainer_STATUS) { + *out = *in + if in.Args != nil { + in, out := &in.Args, &out.Args + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Command != nil { + in, out := &in.Command, &out.Command + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Env != nil { + in, out := &in.Env, &out.Env + *out = make([]EnvironmentVar_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Image != nil { + in, out := &in.Image, &out.Image + *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.Resources != nil { + in, out := &in.Resources, &out.Resources + *out = new(ContainerResources_STATUS) + (*in).DeepCopyInto(*out) + } + if in.VolumeMounts != nil { + in, out := &in.VolumeMounts, &out.VolumeMounts + *out = make([]VolumeMount_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaseContainer_STATUS. +func (in *BaseContainer_STATUS) DeepCopy() *BaseContainer_STATUS { + if in == nil { + return nil + } + out := new(BaseContainer_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 *BlobStorageTokenStore) DeepCopyInto(out *BlobStorageTokenStore) { + *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.SasUrlSettingName != nil { + in, out := &in.SasUrlSettingName, &out.SasUrlSettingName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlobStorageTokenStore. +func (in *BlobStorageTokenStore) DeepCopy() *BlobStorageTokenStore { + if in == nil { + return nil + } + out := new(BlobStorageTokenStore) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BlobStorageTokenStore_STATUS) DeepCopyInto(out *BlobStorageTokenStore_STATUS) { + *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.SasUrlSettingName != nil { + in, out := &in.SasUrlSettingName, &out.SasUrlSettingName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlobStorageTokenStore_STATUS. +func (in *BlobStorageTokenStore_STATUS) DeepCopy() *BlobStorageTokenStore_STATUS { + if in == nil { + return nil + } + out := new(BlobStorageTokenStore_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 *ClientRegistration) DeepCopyInto(out *ClientRegistration) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.ClientSecretSettingName != nil { + in, out := &in.ClientSecretSettingName, &out.ClientSecretSettingName + *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 ClientRegistration. +func (in *ClientRegistration) DeepCopy() *ClientRegistration { + if in == nil { + return nil + } + out := new(ClientRegistration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientRegistration_STATUS) DeepCopyInto(out *ClientRegistration_STATUS) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.ClientSecretSettingName != nil { + in, out := &in.ClientSecretSettingName, &out.ClientSecretSettingName + *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 ClientRegistration_STATUS. +func (in *ClientRegistration_STATUS) DeepCopy() *ClientRegistration_STATUS { + if in == nil { + return nil + } + out := new(ClientRegistration_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 *Configuration) DeepCopyInto(out *Configuration) { + *out = *in + if in.ActiveRevisionsMode != nil { + in, out := &in.ActiveRevisionsMode, &out.ActiveRevisionsMode + *out = new(string) + **out = **in + } + if in.Dapr != nil { + in, out := &in.Dapr, &out.Dapr + *out = new(Dapr) + (*in).DeepCopyInto(*out) + } + if in.Ingress != nil { + in, out := &in.Ingress, &out.Ingress + *out = new(Ingress) + (*in).DeepCopyInto(*out) + } + if in.MaxInactiveRevisions != nil { + in, out := &in.MaxInactiveRevisions, &out.MaxInactiveRevisions + *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.Registries != nil { + in, out := &in.Registries, &out.Registries + *out = make([]RegistryCredentials, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Secrets != nil { + in, out := &in.Secrets, &out.Secrets + *out = make([]Secret, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(Service) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Configuration. +func (in *Configuration) DeepCopy() *Configuration { + if in == nil { + return nil + } + out := new(Configuration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Configuration_STATUS) DeepCopyInto(out *Configuration_STATUS) { + *out = *in + if in.ActiveRevisionsMode != nil { + in, out := &in.ActiveRevisionsMode, &out.ActiveRevisionsMode + *out = new(string) + **out = **in + } + if in.Dapr != nil { + in, out := &in.Dapr, &out.Dapr + *out = new(Dapr_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Ingress != nil { + in, out := &in.Ingress, &out.Ingress + *out = new(Ingress_STATUS) + (*in).DeepCopyInto(*out) + } + if in.MaxInactiveRevisions != nil { + in, out := &in.MaxInactiveRevisions, &out.MaxInactiveRevisions + *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.Registries != nil { + in, out := &in.Registries, &out.Registries + *out = make([]RegistryCredentials_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Secrets != nil { + in, out := &in.Secrets, &out.Secrets + *out = make([]Secret_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(Service_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Configuration_STATUS. +func (in *Configuration_STATUS) DeepCopy() *Configuration_STATUS { + if in == nil { + return nil + } + out := new(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 *Container) DeepCopyInto(out *Container) { + *out = *in + if in.Args != nil { + in, out := &in.Args, &out.Args + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Command != nil { + in, out := &in.Command, &out.Command + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Env != nil { + in, out := &in.Env, &out.Env + *out = make([]EnvironmentVar, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Image != nil { + in, out := &in.Image, &out.Image + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Probes != nil { + in, out := &in.Probes, &out.Probes + *out = make([]ContainerAppProbe, 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.Resources != nil { + in, out := &in.Resources, &out.Resources + *out = new(ContainerResources) + (*in).DeepCopyInto(*out) + } + if in.VolumeMounts != nil { + in, out := &in.VolumeMounts, &out.VolumeMounts + *out = make([]VolumeMount, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Container. +func (in *Container) DeepCopy() *Container { + if in == nil { + return nil + } + out := new(Container) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerApp) DeepCopyInto(out *ContainerApp) { + *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 ContainerApp. +func (in *ContainerApp) DeepCopy() *ContainerApp { + if in == nil { + return nil + } + out := new(ContainerApp) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ContainerApp) 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 *ContainerAppList) DeepCopyInto(out *ContainerAppList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ContainerApp, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerAppList. +func (in *ContainerAppList) DeepCopy() *ContainerAppList { + if in == nil { + return nil + } + out := new(ContainerAppList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ContainerAppList) 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 *ContainerAppOperatorConfigMaps) DeepCopyInto(out *ContainerAppOperatorConfigMaps) { + *out = *in + if in.EventStreamEndpoint != nil { + in, out := &in.EventStreamEndpoint, &out.EventStreamEndpoint + *out = new(genruntime.ConfigMapDestination) + **out = **in + } + if in.Fqdn != nil { + in, out := &in.Fqdn, &out.Fqdn + *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 ContainerAppOperatorConfigMaps. +func (in *ContainerAppOperatorConfigMaps) DeepCopy() *ContainerAppOperatorConfigMaps { + if in == nil { + return nil + } + out := new(ContainerAppOperatorConfigMaps) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerAppOperatorSpec) DeepCopyInto(out *ContainerAppOperatorSpec) { + *out = *in + if in.ConfigMapExpressions != nil { + in, out := &in.ConfigMapExpressions, &out.ConfigMapExpressions + *out = make([]*core.DestinationExpression, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(core.DestinationExpression) + **out = **in + } + } + } + if in.ConfigMaps != nil { + in, out := &in.ConfigMaps, &out.ConfigMaps + *out = new(ContainerAppOperatorConfigMaps) + (*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.SecretExpressions != nil { + in, out := &in.SecretExpressions, &out.SecretExpressions + *out = make([]*core.DestinationExpression, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(core.DestinationExpression) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerAppOperatorSpec. +func (in *ContainerAppOperatorSpec) DeepCopy() *ContainerAppOperatorSpec { + if in == nil { + return nil + } + out := new(ContainerAppOperatorSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerAppProbe) DeepCopyInto(out *ContainerAppProbe) { + *out = *in + if in.FailureThreshold != nil { + in, out := &in.FailureThreshold, &out.FailureThreshold + *out = new(int) + **out = **in + } + if in.HttpGet != nil { + in, out := &in.HttpGet, &out.HttpGet + *out = new(ContainerAppProbe_HttpGet) + (*in).DeepCopyInto(*out) + } + if in.InitialDelaySeconds != nil { + in, out := &in.InitialDelaySeconds, &out.InitialDelaySeconds + *out = new(int) + **out = **in + } + if in.PeriodSeconds != nil { + in, out := &in.PeriodSeconds, &out.PeriodSeconds + *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.SuccessThreshold != nil { + in, out := &in.SuccessThreshold, &out.SuccessThreshold + *out = new(int) + **out = **in + } + if in.TcpSocket != nil { + in, out := &in.TcpSocket, &out.TcpSocket + *out = new(ContainerAppProbe_TcpSocket) + (*in).DeepCopyInto(*out) + } + if in.TerminationGracePeriodSeconds != nil { + in, out := &in.TerminationGracePeriodSeconds, &out.TerminationGracePeriodSeconds + *out = new(int) + **out = **in + } + if in.TimeoutSeconds != nil { + in, out := &in.TimeoutSeconds, &out.TimeoutSeconds + *out = new(int) + **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 ContainerAppProbe. +func (in *ContainerAppProbe) DeepCopy() *ContainerAppProbe { + if in == nil { + return nil + } + out := new(ContainerAppProbe) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerAppProbe_HttpGet) DeepCopyInto(out *ContainerAppProbe_HttpGet) { + *out = *in + if in.Host != nil { + in, out := &in.Host, &out.Host + *out = new(string) + **out = **in + } + if in.HttpHeaders != nil { + in, out := &in.HttpHeaders, &out.HttpHeaders + *out = make([]ContainerAppProbe_HttpGet_HttpHeaders, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *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.Scheme != nil { + in, out := &in.Scheme, &out.Scheme + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerAppProbe_HttpGet. +func (in *ContainerAppProbe_HttpGet) DeepCopy() *ContainerAppProbe_HttpGet { + if in == nil { + return nil + } + out := new(ContainerAppProbe_HttpGet) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerAppProbe_HttpGet_HttpHeaders) DeepCopyInto(out *ContainerAppProbe_HttpGet_HttpHeaders) { + *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.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 ContainerAppProbe_HttpGet_HttpHeaders. +func (in *ContainerAppProbe_HttpGet_HttpHeaders) DeepCopy() *ContainerAppProbe_HttpGet_HttpHeaders { + if in == nil { + return nil + } + out := new(ContainerAppProbe_HttpGet_HttpHeaders) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerAppProbe_HttpGet_HttpHeaders_STATUS) DeepCopyInto(out *ContainerAppProbe_HttpGet_HttpHeaders_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.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 ContainerAppProbe_HttpGet_HttpHeaders_STATUS. +func (in *ContainerAppProbe_HttpGet_HttpHeaders_STATUS) DeepCopy() *ContainerAppProbe_HttpGet_HttpHeaders_STATUS { + if in == nil { + return nil + } + out := new(ContainerAppProbe_HttpGet_HttpHeaders_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 *ContainerAppProbe_HttpGet_STATUS) DeepCopyInto(out *ContainerAppProbe_HttpGet_STATUS) { + *out = *in + if in.Host != nil { + in, out := &in.Host, &out.Host + *out = new(string) + **out = **in + } + if in.HttpHeaders != nil { + in, out := &in.HttpHeaders, &out.HttpHeaders + *out = make([]ContainerAppProbe_HttpGet_HttpHeaders_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *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.Scheme != nil { + in, out := &in.Scheme, &out.Scheme + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerAppProbe_HttpGet_STATUS. +func (in *ContainerAppProbe_HttpGet_STATUS) DeepCopy() *ContainerAppProbe_HttpGet_STATUS { + if in == nil { + return nil + } + out := new(ContainerAppProbe_HttpGet_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 *ContainerAppProbe_STATUS) DeepCopyInto(out *ContainerAppProbe_STATUS) { + *out = *in + if in.FailureThreshold != nil { + in, out := &in.FailureThreshold, &out.FailureThreshold + *out = new(int) + **out = **in + } + if in.HttpGet != nil { + in, out := &in.HttpGet, &out.HttpGet + *out = new(ContainerAppProbe_HttpGet_STATUS) + (*in).DeepCopyInto(*out) + } + if in.InitialDelaySeconds != nil { + in, out := &in.InitialDelaySeconds, &out.InitialDelaySeconds + *out = new(int) + **out = **in + } + if in.PeriodSeconds != nil { + in, out := &in.PeriodSeconds, &out.PeriodSeconds + *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.SuccessThreshold != nil { + in, out := &in.SuccessThreshold, &out.SuccessThreshold + *out = new(int) + **out = **in + } + if in.TcpSocket != nil { + in, out := &in.TcpSocket, &out.TcpSocket + *out = new(ContainerAppProbe_TcpSocket_STATUS) + (*in).DeepCopyInto(*out) + } + if in.TerminationGracePeriodSeconds != nil { + in, out := &in.TerminationGracePeriodSeconds, &out.TerminationGracePeriodSeconds + *out = new(int) + **out = **in + } + if in.TimeoutSeconds != nil { + in, out := &in.TimeoutSeconds, &out.TimeoutSeconds + *out = new(int) + **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 ContainerAppProbe_STATUS. +func (in *ContainerAppProbe_STATUS) DeepCopy() *ContainerAppProbe_STATUS { + if in == nil { + return nil + } + out := new(ContainerAppProbe_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 *ContainerAppProbe_TcpSocket) DeepCopyInto(out *ContainerAppProbe_TcpSocket) { + *out = *in + if in.Host != nil { + in, out := &in.Host, &out.Host + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerAppProbe_TcpSocket. +func (in *ContainerAppProbe_TcpSocket) DeepCopy() *ContainerAppProbe_TcpSocket { + if in == nil { + return nil + } + out := new(ContainerAppProbe_TcpSocket) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerAppProbe_TcpSocket_STATUS) DeepCopyInto(out *ContainerAppProbe_TcpSocket_STATUS) { + *out = *in + if in.Host != nil { + in, out := &in.Host, &out.Host + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerAppProbe_TcpSocket_STATUS. +func (in *ContainerAppProbe_TcpSocket_STATUS) DeepCopy() *ContainerAppProbe_TcpSocket_STATUS { + if in == nil { + return nil + } + out := new(ContainerAppProbe_TcpSocket_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 *ContainerApp_STATUS) DeepCopyInto(out *ContainerApp_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.Configuration != nil { + in, out := &in.Configuration, &out.Configuration + *out = new(Configuration_STATUS) + (*in).DeepCopyInto(*out) + } + if in.CustomDomainVerificationId != nil { + in, out := &in.CustomDomainVerificationId, &out.CustomDomainVerificationId + *out = new(string) + **out = **in + } + if in.EnvironmentId != nil { + in, out := &in.EnvironmentId, &out.EnvironmentId + *out = new(string) + **out = **in + } + if in.EventStreamEndpoint != nil { + in, out := &in.EventStreamEndpoint, &out.EventStreamEndpoint + *out = new(string) + **out = **in + } + if in.ExtendedLocation != nil { + in, out := &in.ExtendedLocation, &out.ExtendedLocation + *out = new(ExtendedLocation_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(ManagedServiceIdentity_STATUS) + (*in).DeepCopyInto(*out) + } + if in.LatestReadyRevisionName != nil { + in, out := &in.LatestReadyRevisionName, &out.LatestReadyRevisionName + *out = new(string) + **out = **in + } + if in.LatestRevisionFqdn != nil { + in, out := &in.LatestRevisionFqdn, &out.LatestRevisionFqdn + *out = new(string) + **out = **in + } + if in.LatestRevisionName != nil { + in, out := &in.LatestRevisionName, &out.LatestRevisionName + *out = new(string) + **out = **in + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.ManagedBy != nil { + in, out := &in.ManagedBy, &out.ManagedBy + *out = new(string) + **out = **in + } + if in.ManagedEnvironmentId != nil { + in, out := &in.ManagedEnvironmentId, &out.ManagedEnvironmentId + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.OutboundIpAddresses != nil { + in, out := &in.OutboundIpAddresses, &out.OutboundIpAddresses + *out = make([]string, len(*in)) + copy(*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.ProvisioningState != nil { + in, out := &in.ProvisioningState, &out.ProvisioningState + *out = new(string) + **out = **in + } + 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.Template != nil { + in, out := &in.Template, &out.Template + *out = new(Template_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + if in.WorkloadProfileName != nil { + in, out := &in.WorkloadProfileName, &out.WorkloadProfileName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerApp_STATUS. +func (in *ContainerApp_STATUS) DeepCopy() *ContainerApp_STATUS { + if in == nil { + return nil + } + out := new(ContainerApp_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 *ContainerApp_Spec) DeepCopyInto(out *ContainerApp_Spec) { + *out = *in + if in.Configuration != nil { + in, out := &in.Configuration, &out.Configuration + *out = new(Configuration) + (*in).DeepCopyInto(*out) + } + if in.EnvironmentReference != nil { + in, out := &in.EnvironmentReference, &out.EnvironmentReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.ExtendedLocation != nil { + in, out := &in.ExtendedLocation, &out.ExtendedLocation + *out = new(ExtendedLocation) + (*in).DeepCopyInto(*out) + } + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(ManagedServiceIdentity) + (*in).DeepCopyInto(*out) + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.ManagedByReference != nil { + in, out := &in.ManagedByReference, &out.ManagedByReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.ManagedEnvironmentReference != nil { + in, out := &in.ManagedEnvironmentReference, &out.ManagedEnvironmentReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.OperatorSpec != nil { + in, out := &in.OperatorSpec, &out.OperatorSpec + *out = new(ContainerAppOperatorSpec) + (*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.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.Template != nil { + in, out := &in.Template, &out.Template + *out = new(Template) + (*in).DeepCopyInto(*out) + } + if in.WorkloadProfileName != nil { + in, out := &in.WorkloadProfileName, &out.WorkloadProfileName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerApp_Spec. +func (in *ContainerApp_Spec) DeepCopy() *ContainerApp_Spec { + if in == nil { + return nil + } + out := new(ContainerApp_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 *ContainerResources) DeepCopyInto(out *ContainerResources) { + *out = *in + if in.Cpu != nil { + in, out := &in.Cpu, &out.Cpu + *out = new(float64) + **out = **in + } + if in.Memory != nil { + in, out := &in.Memory, &out.Memory + *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 ContainerResources. +func (in *ContainerResources) DeepCopy() *ContainerResources { + if in == nil { + return nil + } + out := new(ContainerResources) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerResources_STATUS) DeepCopyInto(out *ContainerResources_STATUS) { + *out = *in + if in.Cpu != nil { + in, out := &in.Cpu, &out.Cpu + *out = new(float64) + **out = **in + } + if in.EphemeralStorage != nil { + in, out := &in.EphemeralStorage, &out.EphemeralStorage + *out = new(string) + **out = **in + } + if in.Memory != nil { + in, out := &in.Memory, &out.Memory + *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 ContainerResources_STATUS. +func (in *ContainerResources_STATUS) DeepCopy() *ContainerResources_STATUS { + if in == nil { + return nil + } + out := new(ContainerResources_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 *Container_STATUS) DeepCopyInto(out *Container_STATUS) { + *out = *in + if in.Args != nil { + in, out := &in.Args, &out.Args + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Command != nil { + in, out := &in.Command, &out.Command + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Env != nil { + in, out := &in.Env, &out.Env + *out = make([]EnvironmentVar_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Image != nil { + in, out := &in.Image, &out.Image + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Probes != nil { + in, out := &in.Probes, &out.Probes + *out = make([]ContainerAppProbe_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.Resources != nil { + in, out := &in.Resources, &out.Resources + *out = new(ContainerResources_STATUS) + (*in).DeepCopyInto(*out) + } + if in.VolumeMounts != nil { + in, out := &in.VolumeMounts, &out.VolumeMounts + *out = make([]VolumeMount_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Container_STATUS. +func (in *Container_STATUS) DeepCopy() *Container_STATUS { + if in == nil { + return nil + } + out := new(Container_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 *CookieExpiration) DeepCopyInto(out *CookieExpiration) { + *out = *in + if in.Convention != nil { + in, out := &in.Convention, &out.Convention + *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.TimeToExpiration != nil { + in, out := &in.TimeToExpiration, &out.TimeToExpiration + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CookieExpiration. +func (in *CookieExpiration) DeepCopy() *CookieExpiration { + if in == nil { + return nil + } + out := new(CookieExpiration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CookieExpiration_STATUS) DeepCopyInto(out *CookieExpiration_STATUS) { + *out = *in + if in.Convention != nil { + in, out := &in.Convention, &out.Convention + *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.TimeToExpiration != nil { + in, out := &in.TimeToExpiration, &out.TimeToExpiration + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CookieExpiration_STATUS. +func (in *CookieExpiration_STATUS) DeepCopy() *CookieExpiration_STATUS { + if in == nil { + return nil + } + out := new(CookieExpiration_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 *CorsPolicy) DeepCopyInto(out *CorsPolicy) { + *out = *in + if in.AllowCredentials != nil { + in, out := &in.AllowCredentials, &out.AllowCredentials + *out = new(bool) + **out = **in + } + if in.AllowedHeaders != nil { + in, out := &in.AllowedHeaders, &out.AllowedHeaders + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.AllowedMethods != nil { + in, out := &in.AllowedMethods, &out.AllowedMethods + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.AllowedOrigins != nil { + in, out := &in.AllowedOrigins, &out.AllowedOrigins + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.ExposeHeaders != nil { + in, out := &in.ExposeHeaders, &out.ExposeHeaders + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.MaxAge != nil { + in, out := &in.MaxAge, &out.MaxAge + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CorsPolicy. +func (in *CorsPolicy) DeepCopy() *CorsPolicy { + if in == nil { + return nil + } + out := new(CorsPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CorsPolicy_STATUS) DeepCopyInto(out *CorsPolicy_STATUS) { + *out = *in + if in.AllowCredentials != nil { + in, out := &in.AllowCredentials, &out.AllowCredentials + *out = new(bool) + **out = **in + } + if in.AllowedHeaders != nil { + in, out := &in.AllowedHeaders, &out.AllowedHeaders + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.AllowedMethods != nil { + in, out := &in.AllowedMethods, &out.AllowedMethods + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.AllowedOrigins != nil { + in, out := &in.AllowedOrigins, &out.AllowedOrigins + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.ExposeHeaders != nil { + in, out := &in.ExposeHeaders, &out.ExposeHeaders + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.MaxAge != nil { + in, out := &in.MaxAge, &out.MaxAge + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CorsPolicy_STATUS. +func (in *CorsPolicy_STATUS) DeepCopy() *CorsPolicy_STATUS { + if in == nil { + return nil + } + out := new(CorsPolicy_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 *CustomDomain) DeepCopyInto(out *CustomDomain) { + *out = *in + if in.BindingType != nil { + in, out := &in.BindingType, &out.BindingType + *out = new(string) + **out = **in + } + if in.CertificateReference != nil { + in, out := &in.CertificateReference, &out.CertificateReference + *out = new(genruntime.ResourceReference) + **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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomDomain. +func (in *CustomDomain) DeepCopy() *CustomDomain { + if in == nil { + return nil + } + out := new(CustomDomain) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomDomainConfiguration) DeepCopyInto(out *CustomDomainConfiguration) { + *out = *in + if in.CertificatePassword != nil { + in, out := &in.CertificatePassword, &out.CertificatePassword + *out = new(genruntime.SecretReference) + **out = **in + } + if in.CertificateValue != nil { + in, out := &in.CertificateValue, &out.CertificateValue + *out = new(genruntime.SecretReference) + **out = **in + } + if in.DnsSuffix != nil { + in, out := &in.DnsSuffix, &out.DnsSuffix + *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 CustomDomainConfiguration. +func (in *CustomDomainConfiguration) DeepCopy() *CustomDomainConfiguration { + if in == nil { + return nil + } + out := new(CustomDomainConfiguration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomDomainConfiguration_STATUS) DeepCopyInto(out *CustomDomainConfiguration_STATUS) { + *out = *in + if in.CustomDomainVerificationId != nil { + in, out := &in.CustomDomainVerificationId, &out.CustomDomainVerificationId + *out = new(string) + **out = **in + } + if in.DnsSuffix != nil { + in, out := &in.DnsSuffix, &out.DnsSuffix + *out = new(string) + **out = **in + } + if in.ExpirationDate != nil { + in, out := &in.ExpirationDate, &out.ExpirationDate + *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.SubjectName != nil { + in, out := &in.SubjectName, &out.SubjectName + *out = new(string) + **out = **in + } + if in.Thumbprint != nil { + in, out := &in.Thumbprint, &out.Thumbprint + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomDomainConfiguration_STATUS. +func (in *CustomDomainConfiguration_STATUS) DeepCopy() *CustomDomainConfiguration_STATUS { + if in == nil { + return nil + } + out := new(CustomDomainConfiguration_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 *CustomDomain_STATUS) DeepCopyInto(out *CustomDomain_STATUS) { + *out = *in + if in.BindingType != nil { + in, out := &in.BindingType, &out.BindingType + *out = new(string) + **out = **in + } + if in.CertificateId != nil { + in, out := &in.CertificateId, &out.CertificateId + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomDomain_STATUS. +func (in *CustomDomain_STATUS) DeepCopy() *CustomDomain_STATUS { + if in == nil { + return nil + } + out := new(CustomDomain_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 *CustomOpenIdConnectProvider) DeepCopyInto(out *CustomOpenIdConnectProvider) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(OpenIdConnectLogin) + (*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.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(OpenIdConnectRegistration) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomOpenIdConnectProvider. +func (in *CustomOpenIdConnectProvider) DeepCopy() *CustomOpenIdConnectProvider { + if in == nil { + return nil + } + out := new(CustomOpenIdConnectProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomOpenIdConnectProvider_STATUS) DeepCopyInto(out *CustomOpenIdConnectProvider_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(OpenIdConnectLogin_STATUS) + (*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.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(OpenIdConnectRegistration_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomOpenIdConnectProvider_STATUS. +func (in *CustomOpenIdConnectProvider_STATUS) DeepCopy() *CustomOpenIdConnectProvider_STATUS { + if in == nil { + return nil + } + out := new(CustomOpenIdConnectProvider_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 *CustomScaleRule) DeepCopyInto(out *CustomScaleRule) { + *out = *in + if in.Auth != nil { + in, out := &in.Auth, &out.Auth + *out = make([]ScaleRuleAuth, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Metadata != nil { + in, out := &in.Metadata, &out.Metadata + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + 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 CustomScaleRule. +func (in *CustomScaleRule) DeepCopy() *CustomScaleRule { + if in == nil { + return nil + } + out := new(CustomScaleRule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomScaleRule_STATUS) DeepCopyInto(out *CustomScaleRule_STATUS) { + *out = *in + if in.Auth != nil { + in, out := &in.Auth, &out.Auth + *out = make([]ScaleRuleAuth_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Metadata != nil { + in, out := &in.Metadata, &out.Metadata + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + 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 CustomScaleRule_STATUS. +func (in *CustomScaleRule_STATUS) DeepCopy() *CustomScaleRule_STATUS { + if in == nil { + return nil + } + out := new(CustomScaleRule_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 *Dapr) DeepCopyInto(out *Dapr) { + *out = *in + if in.AppId != nil { + in, out := &in.AppId, &out.AppId + *out = new(string) + **out = **in + } + if in.AppPort != nil { + in, out := &in.AppPort, &out.AppPort + *out = new(int) + **out = **in + } + if in.AppProtocol != nil { + in, out := &in.AppProtocol, &out.AppProtocol + *out = new(string) + **out = **in + } + if in.EnableApiLogging != nil { + in, out := &in.EnableApiLogging, &out.EnableApiLogging + *out = new(bool) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.HttpMaxRequestSize != nil { + in, out := &in.HttpMaxRequestSize, &out.HttpMaxRequestSize + *out = new(int) + **out = **in + } + if in.HttpReadBufferSize != nil { + in, out := &in.HttpReadBufferSize, &out.HttpReadBufferSize + *out = new(int) + **out = **in + } + if in.LogLevel != nil { + in, out := &in.LogLevel, &out.LogLevel + *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 Dapr. +func (in *Dapr) DeepCopy() *Dapr { + if in == nil { + return nil + } + out := new(Dapr) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DaprConfiguration_STATUS) DeepCopyInto(out *DaprConfiguration_STATUS) { + *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.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 DaprConfiguration_STATUS. +func (in *DaprConfiguration_STATUS) DeepCopy() *DaprConfiguration_STATUS { + if in == nil { + return nil + } + out := new(DaprConfiguration_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 *Dapr_STATUS) DeepCopyInto(out *Dapr_STATUS) { + *out = *in + if in.AppId != nil { + in, out := &in.AppId, &out.AppId + *out = new(string) + **out = **in + } + if in.AppPort != nil { + in, out := &in.AppPort, &out.AppPort + *out = new(int) + **out = **in + } + if in.AppProtocol != nil { + in, out := &in.AppProtocol, &out.AppProtocol + *out = new(string) + **out = **in + } + if in.EnableApiLogging != nil { + in, out := &in.EnableApiLogging, &out.EnableApiLogging + *out = new(bool) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.HttpMaxRequestSize != nil { + in, out := &in.HttpMaxRequestSize, &out.HttpMaxRequestSize + *out = new(int) + **out = **in + } + if in.HttpReadBufferSize != nil { + in, out := &in.HttpReadBufferSize, &out.HttpReadBufferSize + *out = new(int) + **out = **in + } + if in.LogLevel != nil { + in, out := &in.LogLevel, &out.LogLevel + *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 Dapr_STATUS. +func (in *Dapr_STATUS) DeepCopy() *Dapr_STATUS { + if in == nil { + return nil + } + out := new(Dapr_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 *DefaultAuthorizationPolicy) DeepCopyInto(out *DefaultAuthorizationPolicy) { + *out = *in + if in.AllowedApplications != nil { + in, out := &in.AllowedApplications, &out.AllowedApplications + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.AllowedPrincipals != nil { + in, out := &in.AllowedPrincipals, &out.AllowedPrincipals + *out = new(AllowedPrincipals) + (*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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultAuthorizationPolicy. +func (in *DefaultAuthorizationPolicy) DeepCopy() *DefaultAuthorizationPolicy { + if in == nil { + return nil + } + out := new(DefaultAuthorizationPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultAuthorizationPolicy_STATUS) DeepCopyInto(out *DefaultAuthorizationPolicy_STATUS) { + *out = *in + if in.AllowedApplications != nil { + in, out := &in.AllowedApplications, &out.AllowedApplications + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.AllowedPrincipals != nil { + in, out := &in.AllowedPrincipals, &out.AllowedPrincipals + *out = new(AllowedPrincipals_STATUS) + (*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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultAuthorizationPolicy_STATUS. +func (in *DefaultAuthorizationPolicy_STATUS) DeepCopy() *DefaultAuthorizationPolicy_STATUS { + if in == nil { + return nil + } + out := new(DefaultAuthorizationPolicy_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 *EncryptionSettings) DeepCopyInto(out *EncryptionSettings) { + *out = *in + if in.ContainerAppAuthEncryptionSecretName != nil { + in, out := &in.ContainerAppAuthEncryptionSecretName, &out.ContainerAppAuthEncryptionSecretName + *out = new(string) + **out = **in + } + if in.ContainerAppAuthSigningSecretName != nil { + in, out := &in.ContainerAppAuthSigningSecretName, &out.ContainerAppAuthSigningSecretName + *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 EncryptionSettings. +func (in *EncryptionSettings) DeepCopy() *EncryptionSettings { + if in == nil { + return nil + } + out := new(EncryptionSettings) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EncryptionSettings_STATUS) DeepCopyInto(out *EncryptionSettings_STATUS) { + *out = *in + if in.ContainerAppAuthEncryptionSecretName != nil { + in, out := &in.ContainerAppAuthEncryptionSecretName, &out.ContainerAppAuthEncryptionSecretName + *out = new(string) + **out = **in + } + if in.ContainerAppAuthSigningSecretName != nil { + in, out := &in.ContainerAppAuthSigningSecretName, &out.ContainerAppAuthSigningSecretName + *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 EncryptionSettings_STATUS. +func (in *EncryptionSettings_STATUS) DeepCopy() *EncryptionSettings_STATUS { + if in == nil { + return nil + } + out := new(EncryptionSettings_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 *EnvironmentVar) DeepCopyInto(out *EnvironmentVar) { + *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.SecretRef != nil { + in, out := &in.SecretRef, &out.SecretRef + *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 EnvironmentVar. +func (in *EnvironmentVar) DeepCopy() *EnvironmentVar { + if in == nil { + return nil + } + out := new(EnvironmentVar) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnvironmentVar_STATUS) DeepCopyInto(out *EnvironmentVar_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.SecretRef != nil { + in, out := &in.SecretRef, &out.SecretRef + *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 EnvironmentVar_STATUS. +func (in *EnvironmentVar_STATUS) DeepCopy() *EnvironmentVar_STATUS { + if in == nil { + return nil + } + out := new(EnvironmentVar_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 *ExtendedLocation) DeepCopyInto(out *ExtendedLocation) { + *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.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 ExtendedLocation. +func (in *ExtendedLocation) DeepCopy() *ExtendedLocation { + if in == nil { + return nil + } + out := new(ExtendedLocation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExtendedLocation_STATUS) DeepCopyInto(out *ExtendedLocation_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.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 ExtendedLocation_STATUS. +func (in *ExtendedLocation_STATUS) DeepCopy() *ExtendedLocation_STATUS { + if in == nil { + return nil + } + out := new(ExtendedLocation_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 *Facebook) DeepCopyInto(out *Facebook) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.GraphApiVersion != nil { + in, out := &in.GraphApiVersion, &out.GraphApiVersion + *out = new(string) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(LoginScopes) + (*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.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(AppRegistration) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Facebook. +func (in *Facebook) DeepCopy() *Facebook { + if in == nil { + return nil + } + out := new(Facebook) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Facebook_STATUS) DeepCopyInto(out *Facebook_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.GraphApiVersion != nil { + in, out := &in.GraphApiVersion, &out.GraphApiVersion + *out = new(string) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(LoginScopes_STATUS) + (*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.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(AppRegistration_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Facebook_STATUS. +func (in *Facebook_STATUS) DeepCopy() *Facebook_STATUS { + if in == nil { + return nil + } + out := new(Facebook_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 *ForwardProxy) DeepCopyInto(out *ForwardProxy) { + *out = *in + if in.Convention != nil { + in, out := &in.Convention, &out.Convention + *out = new(string) + **out = **in + } + if in.CustomHostHeaderName != nil { + in, out := &in.CustomHostHeaderName, &out.CustomHostHeaderName + *out = new(string) + **out = **in + } + if in.CustomProtoHeaderName != nil { + in, out := &in.CustomProtoHeaderName, &out.CustomProtoHeaderName + *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 ForwardProxy. +func (in *ForwardProxy) DeepCopy() *ForwardProxy { + if in == nil { + return nil + } + out := new(ForwardProxy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ForwardProxy_STATUS) DeepCopyInto(out *ForwardProxy_STATUS) { + *out = *in + if in.Convention != nil { + in, out := &in.Convention, &out.Convention + *out = new(string) + **out = **in + } + if in.CustomHostHeaderName != nil { + in, out := &in.CustomHostHeaderName, &out.CustomHostHeaderName + *out = new(string) + **out = **in + } + if in.CustomProtoHeaderName != nil { + in, out := &in.CustomProtoHeaderName, &out.CustomProtoHeaderName + *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 ForwardProxy_STATUS. +func (in *ForwardProxy_STATUS) DeepCopy() *ForwardProxy_STATUS { + if in == nil { + return nil + } + out := new(ForwardProxy_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 *GitHub) DeepCopyInto(out *GitHub) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(LoginScopes) + (*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.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(ClientRegistration) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitHub. +func (in *GitHub) DeepCopy() *GitHub { + if in == nil { + return nil + } + out := new(GitHub) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GitHub_STATUS) DeepCopyInto(out *GitHub_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(LoginScopes_STATUS) + (*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.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(ClientRegistration_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitHub_STATUS. +func (in *GitHub_STATUS) DeepCopy() *GitHub_STATUS { + if in == nil { + return nil + } + out := new(GitHub_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 *GlobalValidation) DeepCopyInto(out *GlobalValidation) { + *out = *in + if in.ExcludedPaths != nil { + in, out := &in.ExcludedPaths, &out.ExcludedPaths + *out = make([]string, len(*in)) + copy(*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.RedirectToProvider != nil { + in, out := &in.RedirectToProvider, &out.RedirectToProvider + *out = new(string) + **out = **in + } + if in.UnauthenticatedClientAction != nil { + in, out := &in.UnauthenticatedClientAction, &out.UnauthenticatedClientAction + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalValidation. +func (in *GlobalValidation) DeepCopy() *GlobalValidation { + if in == nil { + return nil + } + out := new(GlobalValidation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GlobalValidation_STATUS) DeepCopyInto(out *GlobalValidation_STATUS) { + *out = *in + if in.ExcludedPaths != nil { + in, out := &in.ExcludedPaths, &out.ExcludedPaths + *out = make([]string, len(*in)) + copy(*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.RedirectToProvider != nil { + in, out := &in.RedirectToProvider, &out.RedirectToProvider + *out = new(string) + **out = **in + } + if in.UnauthenticatedClientAction != nil { + in, out := &in.UnauthenticatedClientAction, &out.UnauthenticatedClientAction + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalValidation_STATUS. +func (in *GlobalValidation_STATUS) DeepCopy() *GlobalValidation_STATUS { + if in == nil { + return nil + } + out := new(GlobalValidation_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 *Google) DeepCopyInto(out *Google) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(LoginScopes) + (*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.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(ClientRegistration) + (*in).DeepCopyInto(*out) + } + if in.Validation != nil { + in, out := &in.Validation, &out.Validation + *out = new(AllowedAudiencesValidation) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Google. +func (in *Google) DeepCopy() *Google { + if in == nil { + return nil + } + out := new(Google) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Google_STATUS) DeepCopyInto(out *Google_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(LoginScopes_STATUS) + (*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.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(ClientRegistration_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Validation != nil { + in, out := &in.Validation, &out.Validation + *out = new(AllowedAudiencesValidation_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Google_STATUS. +func (in *Google_STATUS) DeepCopy() *Google_STATUS { + if in == nil { + return nil + } + out := new(Google_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 *HttpScaleRule) DeepCopyInto(out *HttpScaleRule) { + *out = *in + if in.Auth != nil { + in, out := &in.Auth, &out.Auth + *out = make([]ScaleRuleAuth, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Metadata != nil { + in, out := &in.Metadata, &out.Metadata + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + 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 HttpScaleRule. +func (in *HttpScaleRule) DeepCopy() *HttpScaleRule { + if in == nil { + return nil + } + out := new(HttpScaleRule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HttpScaleRule_STATUS) DeepCopyInto(out *HttpScaleRule_STATUS) { + *out = *in + if in.Auth != nil { + in, out := &in.Auth, &out.Auth + *out = make([]ScaleRuleAuth_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Metadata != nil { + in, out := &in.Metadata, &out.Metadata + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + 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 HttpScaleRule_STATUS. +func (in *HttpScaleRule_STATUS) DeepCopy() *HttpScaleRule_STATUS { + if in == nil { + return nil + } + out := new(HttpScaleRule_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 *HttpSettings) DeepCopyInto(out *HttpSettings) { + *out = *in + if in.ForwardProxy != nil { + in, out := &in.ForwardProxy, &out.ForwardProxy + *out = new(ForwardProxy) + (*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.RequireHttps != nil { + in, out := &in.RequireHttps, &out.RequireHttps + *out = new(bool) + **out = **in + } + if in.Routes != nil { + in, out := &in.Routes, &out.Routes + *out = new(HttpSettingsRoutes) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HttpSettings. +func (in *HttpSettings) DeepCopy() *HttpSettings { + if in == nil { + return nil + } + out := new(HttpSettings) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HttpSettingsRoutes) DeepCopyInto(out *HttpSettingsRoutes) { + *out = *in + if in.ApiPrefix != nil { + in, out := &in.ApiPrefix, &out.ApiPrefix + *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 HttpSettingsRoutes. +func (in *HttpSettingsRoutes) DeepCopy() *HttpSettingsRoutes { + if in == nil { + return nil + } + out := new(HttpSettingsRoutes) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HttpSettingsRoutes_STATUS) DeepCopyInto(out *HttpSettingsRoutes_STATUS) { + *out = *in + if in.ApiPrefix != nil { + in, out := &in.ApiPrefix, &out.ApiPrefix + *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 HttpSettingsRoutes_STATUS. +func (in *HttpSettingsRoutes_STATUS) DeepCopy() *HttpSettingsRoutes_STATUS { + if in == nil { + return nil + } + out := new(HttpSettingsRoutes_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 *HttpSettings_STATUS) DeepCopyInto(out *HttpSettings_STATUS) { + *out = *in + if in.ForwardProxy != nil { + in, out := &in.ForwardProxy, &out.ForwardProxy + *out = new(ForwardProxy_STATUS) + (*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.RequireHttps != nil { + in, out := &in.RequireHttps, &out.RequireHttps + *out = new(bool) + **out = **in + } + if in.Routes != nil { + in, out := &in.Routes, &out.Routes + *out = new(HttpSettingsRoutes_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HttpSettings_STATUS. +func (in *HttpSettings_STATUS) DeepCopy() *HttpSettings_STATUS { + if in == nil { + return nil + } + out := new(HttpSettings_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 *IdentityProviders) DeepCopyInto(out *IdentityProviders) { + *out = *in + if in.Apple != nil { + in, out := &in.Apple, &out.Apple + *out = new(Apple) + (*in).DeepCopyInto(*out) + } + if in.AzureActiveDirectory != nil { + in, out := &in.AzureActiveDirectory, &out.AzureActiveDirectory + *out = new(AzureActiveDirectory) + (*in).DeepCopyInto(*out) + } + if in.AzureStaticWebApps != nil { + in, out := &in.AzureStaticWebApps, &out.AzureStaticWebApps + *out = new(AzureStaticWebApps) + (*in).DeepCopyInto(*out) + } + if in.CustomOpenIdConnectProviders != nil { + in, out := &in.CustomOpenIdConnectProviders, &out.CustomOpenIdConnectProviders + *out = make(map[string]CustomOpenIdConnectProvider, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } + if in.Facebook != nil { + in, out := &in.Facebook, &out.Facebook + *out = new(Facebook) + (*in).DeepCopyInto(*out) + } + if in.GitHub != nil { + in, out := &in.GitHub, &out.GitHub + *out = new(GitHub) + (*in).DeepCopyInto(*out) + } + if in.Google != nil { + in, out := &in.Google, &out.Google + *out = new(Google) + (*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.Twitter != nil { + in, out := &in.Twitter, &out.Twitter + *out = new(Twitter) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdentityProviders. +func (in *IdentityProviders) DeepCopy() *IdentityProviders { + if in == nil { + return nil + } + out := new(IdentityProviders) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IdentityProviders_STATUS) DeepCopyInto(out *IdentityProviders_STATUS) { + *out = *in + if in.Apple != nil { + in, out := &in.Apple, &out.Apple + *out = new(Apple_STATUS) + (*in).DeepCopyInto(*out) + } + if in.AzureActiveDirectory != nil { + in, out := &in.AzureActiveDirectory, &out.AzureActiveDirectory + *out = new(AzureActiveDirectory_STATUS) + (*in).DeepCopyInto(*out) + } + if in.AzureStaticWebApps != nil { + in, out := &in.AzureStaticWebApps, &out.AzureStaticWebApps + *out = new(AzureStaticWebApps_STATUS) + (*in).DeepCopyInto(*out) + } + if in.CustomOpenIdConnectProviders != nil { + in, out := &in.CustomOpenIdConnectProviders, &out.CustomOpenIdConnectProviders + *out = make(map[string]CustomOpenIdConnectProvider_STATUS, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } + if in.Facebook != nil { + in, out := &in.Facebook, &out.Facebook + *out = new(Facebook_STATUS) + (*in).DeepCopyInto(*out) + } + if in.GitHub != nil { + in, out := &in.GitHub, &out.GitHub + *out = new(GitHub_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Google != nil { + in, out := &in.Google, &out.Google + *out = new(Google_STATUS) + (*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.Twitter != nil { + in, out := &in.Twitter, &out.Twitter + *out = new(Twitter_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdentityProviders_STATUS. +func (in *IdentityProviders_STATUS) DeepCopy() *IdentityProviders_STATUS { + if in == nil { + return nil + } + out := new(IdentityProviders_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 *Ingress) DeepCopyInto(out *Ingress) { + *out = *in + if in.AdditionalPortMappings != nil { + in, out := &in.AdditionalPortMappings, &out.AdditionalPortMappings + *out = make([]IngressPortMapping, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AllowInsecure != nil { + in, out := &in.AllowInsecure, &out.AllowInsecure + *out = new(bool) + **out = **in + } + if in.ClientCertificateMode != nil { + in, out := &in.ClientCertificateMode, &out.ClientCertificateMode + *out = new(string) + **out = **in + } + if in.CorsPolicy != nil { + in, out := &in.CorsPolicy, &out.CorsPolicy + *out = new(CorsPolicy) + (*in).DeepCopyInto(*out) + } + if in.CustomDomains != nil { + in, out := &in.CustomDomains, &out.CustomDomains + *out = make([]CustomDomain, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ExposedPort != nil { + in, out := &in.ExposedPort, &out.ExposedPort + *out = new(int) + **out = **in + } + if in.External != nil { + in, out := &in.External, &out.External + *out = new(bool) + **out = **in + } + if in.IpSecurityRestrictions != nil { + in, out := &in.IpSecurityRestrictions, &out.IpSecurityRestrictions + *out = make([]IpSecurityRestrictionRule, 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.StickySessions != nil { + in, out := &in.StickySessions, &out.StickySessions + *out = new(Ingress_StickySessions) + (*in).DeepCopyInto(*out) + } + if in.TargetPort != nil { + in, out := &in.TargetPort, &out.TargetPort + *out = new(int) + **out = **in + } + if in.Traffic != nil { + in, out := &in.Traffic, &out.Traffic + *out = make([]TrafficWeight, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Transport != nil { + in, out := &in.Transport, &out.Transport + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ingress. +func (in *Ingress) DeepCopy() *Ingress { + if in == nil { + return nil + } + out := new(Ingress) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IngressPortMapping) DeepCopyInto(out *IngressPortMapping) { + *out = *in + if in.ExposedPort != nil { + in, out := &in.ExposedPort, &out.ExposedPort + *out = new(int) + **out = **in + } + if in.External != nil { + in, out := &in.External, &out.External + *out = new(bool) + **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.TargetPort != nil { + in, out := &in.TargetPort, &out.TargetPort + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressPortMapping. +func (in *IngressPortMapping) DeepCopy() *IngressPortMapping { + if in == nil { + return nil + } + out := new(IngressPortMapping) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IngressPortMapping_STATUS) DeepCopyInto(out *IngressPortMapping_STATUS) { + *out = *in + if in.ExposedPort != nil { + in, out := &in.ExposedPort, &out.ExposedPort + *out = new(int) + **out = **in + } + if in.External != nil { + in, out := &in.External, &out.External + *out = new(bool) + **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.TargetPort != nil { + in, out := &in.TargetPort, &out.TargetPort + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressPortMapping_STATUS. +func (in *IngressPortMapping_STATUS) DeepCopy() *IngressPortMapping_STATUS { + if in == nil { + return nil + } + out := new(IngressPortMapping_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 *Ingress_STATUS) DeepCopyInto(out *Ingress_STATUS) { + *out = *in + if in.AdditionalPortMappings != nil { + in, out := &in.AdditionalPortMappings, &out.AdditionalPortMappings + *out = make([]IngressPortMapping_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AllowInsecure != nil { + in, out := &in.AllowInsecure, &out.AllowInsecure + *out = new(bool) + **out = **in + } + if in.ClientCertificateMode != nil { + in, out := &in.ClientCertificateMode, &out.ClientCertificateMode + *out = new(string) + **out = **in + } + if in.CorsPolicy != nil { + in, out := &in.CorsPolicy, &out.CorsPolicy + *out = new(CorsPolicy_STATUS) + (*in).DeepCopyInto(*out) + } + if in.CustomDomains != nil { + in, out := &in.CustomDomains, &out.CustomDomains + *out = make([]CustomDomain_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ExposedPort != nil { + in, out := &in.ExposedPort, &out.ExposedPort + *out = new(int) + **out = **in + } + if in.External != nil { + in, out := &in.External, &out.External + *out = new(bool) + **out = **in + } + if in.Fqdn != nil { + in, out := &in.Fqdn, &out.Fqdn + *out = new(string) + **out = **in + } + if in.IpSecurityRestrictions != nil { + in, out := &in.IpSecurityRestrictions, &out.IpSecurityRestrictions + *out = make([]IpSecurityRestrictionRule_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.StickySessions != nil { + in, out := &in.StickySessions, &out.StickySessions + *out = new(Ingress_StickySessions_STATUS) + (*in).DeepCopyInto(*out) + } + if in.TargetPort != nil { + in, out := &in.TargetPort, &out.TargetPort + *out = new(int) + **out = **in + } + if in.Traffic != nil { + in, out := &in.Traffic, &out.Traffic + *out = make([]TrafficWeight_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Transport != nil { + in, out := &in.Transport, &out.Transport + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ingress_STATUS. +func (in *Ingress_STATUS) DeepCopy() *Ingress_STATUS { + if in == nil { + return nil + } + out := new(Ingress_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 *Ingress_StickySessions) DeepCopyInto(out *Ingress_StickySessions) { + *out = *in + if in.Affinity != nil { + in, out := &in.Affinity, &out.Affinity + *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 Ingress_StickySessions. +func (in *Ingress_StickySessions) DeepCopy() *Ingress_StickySessions { + if in == nil { + return nil + } + out := new(Ingress_StickySessions) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Ingress_StickySessions_STATUS) DeepCopyInto(out *Ingress_StickySessions_STATUS) { + *out = *in + if in.Affinity != nil { + in, out := &in.Affinity, &out.Affinity + *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 Ingress_StickySessions_STATUS. +func (in *Ingress_StickySessions_STATUS) DeepCopy() *Ingress_StickySessions_STATUS { + if in == nil { + return nil + } + out := new(Ingress_StickySessions_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 *IpSecurityRestrictionRule) DeepCopyInto(out *IpSecurityRestrictionRule) { + *out = *in + if in.Action != nil { + in, out := &in.Action, &out.Action + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.IpAddressRange != nil { + in, out := &in.IpAddressRange, &out.IpAddressRange + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpSecurityRestrictionRule. +func (in *IpSecurityRestrictionRule) DeepCopy() *IpSecurityRestrictionRule { + if in == nil { + return nil + } + out := new(IpSecurityRestrictionRule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IpSecurityRestrictionRule_STATUS) DeepCopyInto(out *IpSecurityRestrictionRule_STATUS) { + *out = *in + if in.Action != nil { + in, out := &in.Action, &out.Action + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.IpAddressRange != nil { + in, out := &in.IpAddressRange, &out.IpAddressRange + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpSecurityRestrictionRule_STATUS. +func (in *IpSecurityRestrictionRule_STATUS) DeepCopy() *IpSecurityRestrictionRule_STATUS { + if in == nil { + return nil + } + out := new(IpSecurityRestrictionRule_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 *Job) DeepCopyInto(out *Job) { + *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 Job. +func (in *Job) DeepCopy() *Job { + if in == nil { + return nil + } + out := new(Job) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Job) 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 *JobConfiguration) DeepCopyInto(out *JobConfiguration) { + *out = *in + if in.EventTriggerConfig != nil { + in, out := &in.EventTriggerConfig, &out.EventTriggerConfig + *out = new(JobConfiguration_EventTriggerConfig) + (*in).DeepCopyInto(*out) + } + if in.ManualTriggerConfig != nil { + in, out := &in.ManualTriggerConfig, &out.ManualTriggerConfig + *out = new(JobConfiguration_ManualTriggerConfig) + (*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.Registries != nil { + in, out := &in.Registries, &out.Registries + *out = make([]RegistryCredentials, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ReplicaRetryLimit != nil { + in, out := &in.ReplicaRetryLimit, &out.ReplicaRetryLimit + *out = new(int) + **out = **in + } + if in.ReplicaTimeout != nil { + in, out := &in.ReplicaTimeout, &out.ReplicaTimeout + *out = new(int) + **out = **in + } + if in.ScheduleTriggerConfig != nil { + in, out := &in.ScheduleTriggerConfig, &out.ScheduleTriggerConfig + *out = new(JobConfiguration_ScheduleTriggerConfig) + (*in).DeepCopyInto(*out) + } + if in.Secrets != nil { + in, out := &in.Secrets, &out.Secrets + *out = make([]Secret, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TriggerType != nil { + in, out := &in.TriggerType, &out.TriggerType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobConfiguration. +func (in *JobConfiguration) DeepCopy() *JobConfiguration { + if in == nil { + return nil + } + out := new(JobConfiguration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobConfiguration_EventTriggerConfig) DeepCopyInto(out *JobConfiguration_EventTriggerConfig) { + *out = *in + if in.Parallelism != nil { + in, out := &in.Parallelism, &out.Parallelism + *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.ReplicaCompletionCount != nil { + in, out := &in.ReplicaCompletionCount, &out.ReplicaCompletionCount + *out = new(int) + **out = **in + } + if in.Scale != nil { + in, out := &in.Scale, &out.Scale + *out = new(JobScale) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobConfiguration_EventTriggerConfig. +func (in *JobConfiguration_EventTriggerConfig) DeepCopy() *JobConfiguration_EventTriggerConfig { + if in == nil { + return nil + } + out := new(JobConfiguration_EventTriggerConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobConfiguration_EventTriggerConfig_STATUS) DeepCopyInto(out *JobConfiguration_EventTriggerConfig_STATUS) { + *out = *in + if in.Parallelism != nil { + in, out := &in.Parallelism, &out.Parallelism + *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.ReplicaCompletionCount != nil { + in, out := &in.ReplicaCompletionCount, &out.ReplicaCompletionCount + *out = new(int) + **out = **in + } + if in.Scale != nil { + in, out := &in.Scale, &out.Scale + *out = new(JobScale_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobConfiguration_EventTriggerConfig_STATUS. +func (in *JobConfiguration_EventTriggerConfig_STATUS) DeepCopy() *JobConfiguration_EventTriggerConfig_STATUS { + if in == nil { + return nil + } + out := new(JobConfiguration_EventTriggerConfig_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 *JobConfiguration_ManualTriggerConfig) DeepCopyInto(out *JobConfiguration_ManualTriggerConfig) { + *out = *in + if in.Parallelism != nil { + in, out := &in.Parallelism, &out.Parallelism + *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.ReplicaCompletionCount != nil { + in, out := &in.ReplicaCompletionCount, &out.ReplicaCompletionCount + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobConfiguration_ManualTriggerConfig. +func (in *JobConfiguration_ManualTriggerConfig) DeepCopy() *JobConfiguration_ManualTriggerConfig { + if in == nil { + return nil + } + out := new(JobConfiguration_ManualTriggerConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobConfiguration_ManualTriggerConfig_STATUS) DeepCopyInto(out *JobConfiguration_ManualTriggerConfig_STATUS) { + *out = *in + if in.Parallelism != nil { + in, out := &in.Parallelism, &out.Parallelism + *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.ReplicaCompletionCount != nil { + in, out := &in.ReplicaCompletionCount, &out.ReplicaCompletionCount + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobConfiguration_ManualTriggerConfig_STATUS. +func (in *JobConfiguration_ManualTriggerConfig_STATUS) DeepCopy() *JobConfiguration_ManualTriggerConfig_STATUS { + if in == nil { + return nil + } + out := new(JobConfiguration_ManualTriggerConfig_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 *JobConfiguration_STATUS) DeepCopyInto(out *JobConfiguration_STATUS) { + *out = *in + if in.EventTriggerConfig != nil { + in, out := &in.EventTriggerConfig, &out.EventTriggerConfig + *out = new(JobConfiguration_EventTriggerConfig_STATUS) + (*in).DeepCopyInto(*out) + } + if in.ManualTriggerConfig != nil { + in, out := &in.ManualTriggerConfig, &out.ManualTriggerConfig + *out = new(JobConfiguration_ManualTriggerConfig_STATUS) + (*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.Registries != nil { + in, out := &in.Registries, &out.Registries + *out = make([]RegistryCredentials_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ReplicaRetryLimit != nil { + in, out := &in.ReplicaRetryLimit, &out.ReplicaRetryLimit + *out = new(int) + **out = **in + } + if in.ReplicaTimeout != nil { + in, out := &in.ReplicaTimeout, &out.ReplicaTimeout + *out = new(int) + **out = **in + } + if in.ScheduleTriggerConfig != nil { + in, out := &in.ScheduleTriggerConfig, &out.ScheduleTriggerConfig + *out = new(JobConfiguration_ScheduleTriggerConfig_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Secrets != nil { + in, out := &in.Secrets, &out.Secrets + *out = make([]Secret_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TriggerType != nil { + in, out := &in.TriggerType, &out.TriggerType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobConfiguration_STATUS. +func (in *JobConfiguration_STATUS) DeepCopy() *JobConfiguration_STATUS { + if in == nil { + return nil + } + out := new(JobConfiguration_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 *JobConfiguration_ScheduleTriggerConfig) DeepCopyInto(out *JobConfiguration_ScheduleTriggerConfig) { + *out = *in + if in.CronExpression != nil { + in, out := &in.CronExpression, &out.CronExpression + *out = new(string) + **out = **in + } + if in.Parallelism != nil { + in, out := &in.Parallelism, &out.Parallelism + *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.ReplicaCompletionCount != nil { + in, out := &in.ReplicaCompletionCount, &out.ReplicaCompletionCount + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobConfiguration_ScheduleTriggerConfig. +func (in *JobConfiguration_ScheduleTriggerConfig) DeepCopy() *JobConfiguration_ScheduleTriggerConfig { + if in == nil { + return nil + } + out := new(JobConfiguration_ScheduleTriggerConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobConfiguration_ScheduleTriggerConfig_STATUS) DeepCopyInto(out *JobConfiguration_ScheduleTriggerConfig_STATUS) { + *out = *in + if in.CronExpression != nil { + in, out := &in.CronExpression, &out.CronExpression + *out = new(string) + **out = **in + } + if in.Parallelism != nil { + in, out := &in.Parallelism, &out.Parallelism + *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.ReplicaCompletionCount != nil { + in, out := &in.ReplicaCompletionCount, &out.ReplicaCompletionCount + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobConfiguration_ScheduleTriggerConfig_STATUS. +func (in *JobConfiguration_ScheduleTriggerConfig_STATUS) DeepCopy() *JobConfiguration_ScheduleTriggerConfig_STATUS { + if in == nil { + return nil + } + out := new(JobConfiguration_ScheduleTriggerConfig_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 *JobList) DeepCopyInto(out *JobList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Job, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobList. +func (in *JobList) DeepCopy() *JobList { + if in == nil { + return nil + } + out := new(JobList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *JobList) 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 *JobOperatorSpec) DeepCopyInto(out *JobOperatorSpec) { + *out = *in + if in.ConfigMapExpressions != nil { + in, out := &in.ConfigMapExpressions, &out.ConfigMapExpressions + *out = make([]*core.DestinationExpression, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(core.DestinationExpression) + **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.SecretExpressions != nil { + in, out := &in.SecretExpressions, &out.SecretExpressions + *out = make([]*core.DestinationExpression, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(core.DestinationExpression) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobOperatorSpec. +func (in *JobOperatorSpec) DeepCopy() *JobOperatorSpec { + if in == nil { + return nil + } + out := new(JobOperatorSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobScale) DeepCopyInto(out *JobScale) { + *out = *in + if in.MaxExecutions != nil { + in, out := &in.MaxExecutions, &out.MaxExecutions + *out = new(int) + **out = **in + } + if in.MinExecutions != nil { + in, out := &in.MinExecutions, &out.MinExecutions + *out = new(int) + **out = **in + } + if in.PollingInterval != nil { + in, out := &in.PollingInterval, &out.PollingInterval + *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.Rules != nil { + in, out := &in.Rules, &out.Rules + *out = make([]JobScaleRule, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobScale. +func (in *JobScale) DeepCopy() *JobScale { + if in == nil { + return nil + } + out := new(JobScale) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobScaleRule) DeepCopyInto(out *JobScaleRule) { + *out = *in + if in.Auth != nil { + in, out := &in.Auth, &out.Auth + *out = make([]ScaleRuleAuth, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Metadata != nil { + in, out := &in.Metadata, &out.Metadata + *out = make(map[string]v1.JSON, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } + 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.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 JobScaleRule. +func (in *JobScaleRule) DeepCopy() *JobScaleRule { + if in == nil { + return nil + } + out := new(JobScaleRule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobScaleRule_STATUS) DeepCopyInto(out *JobScaleRule_STATUS) { + *out = *in + if in.Auth != nil { + in, out := &in.Auth, &out.Auth + *out = make([]ScaleRuleAuth_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Metadata != nil { + in, out := &in.Metadata, &out.Metadata + *out = make(map[string]v1.JSON, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } + 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.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 JobScaleRule_STATUS. +func (in *JobScaleRule_STATUS) DeepCopy() *JobScaleRule_STATUS { + if in == nil { + return nil + } + out := new(JobScaleRule_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 *JobScale_STATUS) DeepCopyInto(out *JobScale_STATUS) { + *out = *in + if in.MaxExecutions != nil { + in, out := &in.MaxExecutions, &out.MaxExecutions + *out = new(int) + **out = **in + } + if in.MinExecutions != nil { + in, out := &in.MinExecutions, &out.MinExecutions + *out = new(int) + **out = **in + } + if in.PollingInterval != nil { + in, out := &in.PollingInterval, &out.PollingInterval + *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.Rules != nil { + in, out := &in.Rules, &out.Rules + *out = make([]JobScaleRule_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobScale_STATUS. +func (in *JobScale_STATUS) DeepCopy() *JobScale_STATUS { + if in == nil { + return nil + } + out := new(JobScale_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 *JobTemplate) DeepCopyInto(out *JobTemplate) { + *out = *in + if in.Containers != nil { + in, out := &in.Containers, &out.Containers + *out = make([]Container, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InitContainers != nil { + in, out := &in.InitContainers, &out.InitContainers + *out = make([]BaseContainer, 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.Volumes != nil { + in, out := &in.Volumes, &out.Volumes + *out = make([]Volume, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobTemplate. +func (in *JobTemplate) DeepCopy() *JobTemplate { + if in == nil { + return nil + } + out := new(JobTemplate) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobTemplate_STATUS) DeepCopyInto(out *JobTemplate_STATUS) { + *out = *in + if in.Containers != nil { + in, out := &in.Containers, &out.Containers + *out = make([]Container_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InitContainers != nil { + in, out := &in.InitContainers, &out.InitContainers + *out = make([]BaseContainer_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.Volumes != nil { + in, out := &in.Volumes, &out.Volumes + *out = make([]Volume_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobTemplate_STATUS. +func (in *JobTemplate_STATUS) DeepCopy() *JobTemplate_STATUS { + if in == nil { + return nil + } + out := new(JobTemplate_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 *Job_STATUS) DeepCopyInto(out *Job_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.Configuration != nil { + in, out := &in.Configuration, &out.Configuration + *out = new(JobConfiguration_STATUS) + (*in).DeepCopyInto(*out) + } + if in.EnvironmentId != nil { + in, out := &in.EnvironmentId, &out.EnvironmentId + *out = new(string) + **out = **in + } + if in.EventStreamEndpoint != nil { + in, out := &in.EventStreamEndpoint, &out.EventStreamEndpoint + *out = new(string) + **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(ManagedServiceIdentity_STATUS) + (*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.OutboundIpAddresses != nil { + in, out := &in.OutboundIpAddresses, &out.OutboundIpAddresses + *out = make([]string, len(*in)) + copy(*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.ProvisioningState != nil { + in, out := &in.ProvisioningState, &out.ProvisioningState + *out = new(string) + **out = **in + } + 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.Template != nil { + in, out := &in.Template, &out.Template + *out = new(JobTemplate_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + if in.WorkloadProfileName != nil { + in, out := &in.WorkloadProfileName, &out.WorkloadProfileName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Job_STATUS. +func (in *Job_STATUS) DeepCopy() *Job_STATUS { + if in == nil { + return nil + } + out := new(Job_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 *Job_Spec) DeepCopyInto(out *Job_Spec) { + *out = *in + if in.Configuration != nil { + in, out := &in.Configuration, &out.Configuration + *out = new(JobConfiguration) + (*in).DeepCopyInto(*out) + } + if in.EnvironmentReference != nil { + in, out := &in.EnvironmentReference, &out.EnvironmentReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(ManagedServiceIdentity) + (*in).DeepCopyInto(*out) + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.OperatorSpec != nil { + in, out := &in.OperatorSpec, &out.OperatorSpec + *out = new(JobOperatorSpec) + (*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.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.Template != nil { + in, out := &in.Template, &out.Template + *out = new(JobTemplate) + (*in).DeepCopyInto(*out) + } + if in.WorkloadProfileName != nil { + in, out := &in.WorkloadProfileName, &out.WorkloadProfileName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Job_Spec. +func (in *Job_Spec) DeepCopy() *Job_Spec { + if in == nil { + return nil + } + out := new(Job_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 *JwtClaimChecks) DeepCopyInto(out *JwtClaimChecks) { + *out = *in + if in.AllowedClientApplications != nil { + in, out := &in.AllowedClientApplications, &out.AllowedClientApplications + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.AllowedGroups != nil { + in, out := &in.AllowedGroups, &out.AllowedGroups + *out = make([]string, len(*in)) + copy(*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 JwtClaimChecks. +func (in *JwtClaimChecks) DeepCopy() *JwtClaimChecks { + if in == nil { + return nil + } + out := new(JwtClaimChecks) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JwtClaimChecks_STATUS) DeepCopyInto(out *JwtClaimChecks_STATUS) { + *out = *in + if in.AllowedClientApplications != nil { + in, out := &in.AllowedClientApplications, &out.AllowedClientApplications + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.AllowedGroups != nil { + in, out := &in.AllowedGroups, &out.AllowedGroups + *out = make([]string, len(*in)) + copy(*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 JwtClaimChecks_STATUS. +func (in *JwtClaimChecks_STATUS) DeepCopy() *JwtClaimChecks_STATUS { + if in == nil { + return nil + } + out := new(JwtClaimChecks_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 *KedaConfiguration_STATUS) DeepCopyInto(out *KedaConfiguration_STATUS) { + *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.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 KedaConfiguration_STATUS. +func (in *KedaConfiguration_STATUS) DeepCopy() *KedaConfiguration_STATUS { + if in == nil { + return nil + } + out := new(KedaConfiguration_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 *LogAnalyticsConfiguration) DeepCopyInto(out *LogAnalyticsConfiguration) { + *out = *in + if in.CustomerId != nil { + in, out := &in.CustomerId, &out.CustomerId + *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.SharedKey != nil { + in, out := &in.SharedKey, &out.SharedKey + *out = new(genruntime.SecretReference) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogAnalyticsConfiguration. +func (in *LogAnalyticsConfiguration) DeepCopy() *LogAnalyticsConfiguration { + if in == nil { + return nil + } + out := new(LogAnalyticsConfiguration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LogAnalyticsConfiguration_STATUS) DeepCopyInto(out *LogAnalyticsConfiguration_STATUS) { + *out = *in + if in.CustomerId != nil { + in, out := &in.CustomerId, &out.CustomerId + *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 LogAnalyticsConfiguration_STATUS. +func (in *LogAnalyticsConfiguration_STATUS) DeepCopy() *LogAnalyticsConfiguration_STATUS { + if in == nil { + return nil + } + out := new(LogAnalyticsConfiguration_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 *Login) DeepCopyInto(out *Login) { + *out = *in + if in.AllowedExternalRedirectUrls != nil { + in, out := &in.AllowedExternalRedirectUrls, &out.AllowedExternalRedirectUrls + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.CookieExpiration != nil { + in, out := &in.CookieExpiration, &out.CookieExpiration + *out = new(CookieExpiration) + (*in).DeepCopyInto(*out) + } + if in.Nonce != nil { + in, out := &in.Nonce, &out.Nonce + *out = new(Nonce) + (*in).DeepCopyInto(*out) + } + if in.PreserveUrlFragmentsForLogins != nil { + in, out := &in.PreserveUrlFragmentsForLogins, &out.PreserveUrlFragmentsForLogins + *out = new(bool) + **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.Routes != nil { + in, out := &in.Routes, &out.Routes + *out = new(LoginRoutes) + (*in).DeepCopyInto(*out) + } + if in.TokenStore != nil { + in, out := &in.TokenStore, &out.TokenStore + *out = new(TokenStore) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Login. +func (in *Login) DeepCopy() *Login { + if in == nil { + return nil + } + out := new(Login) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LoginRoutes) DeepCopyInto(out *LoginRoutes) { + *out = *in + if in.LogoutEndpoint != nil { + in, out := &in.LogoutEndpoint, &out.LogoutEndpoint + *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 LoginRoutes. +func (in *LoginRoutes) DeepCopy() *LoginRoutes { + if in == nil { + return nil + } + out := new(LoginRoutes) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LoginRoutes_STATUS) DeepCopyInto(out *LoginRoutes_STATUS) { + *out = *in + if in.LogoutEndpoint != nil { + in, out := &in.LogoutEndpoint, &out.LogoutEndpoint + *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 LoginRoutes_STATUS. +func (in *LoginRoutes_STATUS) DeepCopy() *LoginRoutes_STATUS { + if in == nil { + return nil + } + out := new(LoginRoutes_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 *LoginScopes) DeepCopyInto(out *LoginScopes) { + *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.Scopes != nil { + in, out := &in.Scopes, &out.Scopes + *out = make([]string, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoginScopes. +func (in *LoginScopes) DeepCopy() *LoginScopes { + if in == nil { + return nil + } + out := new(LoginScopes) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LoginScopes_STATUS) DeepCopyInto(out *LoginScopes_STATUS) { + *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.Scopes != nil { + in, out := &in.Scopes, &out.Scopes + *out = make([]string, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoginScopes_STATUS. +func (in *LoginScopes_STATUS) DeepCopy() *LoginScopes_STATUS { + if in == nil { + return nil + } + out := new(LoginScopes_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 *Login_STATUS) DeepCopyInto(out *Login_STATUS) { + *out = *in + if in.AllowedExternalRedirectUrls != nil { + in, out := &in.AllowedExternalRedirectUrls, &out.AllowedExternalRedirectUrls + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.CookieExpiration != nil { + in, out := &in.CookieExpiration, &out.CookieExpiration + *out = new(CookieExpiration_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Nonce != nil { + in, out := &in.Nonce, &out.Nonce + *out = new(Nonce_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PreserveUrlFragmentsForLogins != nil { + in, out := &in.PreserveUrlFragmentsForLogins, &out.PreserveUrlFragmentsForLogins + *out = new(bool) + **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.Routes != nil { + in, out := &in.Routes, &out.Routes + *out = new(LoginRoutes_STATUS) + (*in).DeepCopyInto(*out) + } + if in.TokenStore != nil { + in, out := &in.TokenStore, &out.TokenStore + *out = new(TokenStore_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Login_STATUS. +func (in *Login_STATUS) DeepCopy() *Login_STATUS { + if in == nil { + return nil + } + out := new(Login_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 *ManagedEnvironment) DeepCopyInto(out *ManagedEnvironment) { + *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 ManagedEnvironment. +func (in *ManagedEnvironment) DeepCopy() *ManagedEnvironment { + if in == nil { + return nil + } + out := new(ManagedEnvironment) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ManagedEnvironment) 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 *ManagedEnvironmentList) DeepCopyInto(out *ManagedEnvironmentList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ManagedEnvironment, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedEnvironmentList. +func (in *ManagedEnvironmentList) DeepCopy() *ManagedEnvironmentList { + if in == nil { + return nil + } + out := new(ManagedEnvironmentList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ManagedEnvironmentList) 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 *ManagedEnvironmentOperatorSpec) DeepCopyInto(out *ManagedEnvironmentOperatorSpec) { + *out = *in + if in.ConfigMapExpressions != nil { + in, out := &in.ConfigMapExpressions, &out.ConfigMapExpressions + *out = make([]*core.DestinationExpression, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(core.DestinationExpression) + **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.SecretExpressions != nil { + in, out := &in.SecretExpressions, &out.SecretExpressions + *out = make([]*core.DestinationExpression, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(core.DestinationExpression) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedEnvironmentOperatorSpec. +func (in *ManagedEnvironmentOperatorSpec) DeepCopy() *ManagedEnvironmentOperatorSpec { + if in == nil { + return nil + } + out := new(ManagedEnvironmentOperatorSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedEnvironment_Properties_PeerAuthentication_STATUS) DeepCopyInto(out *ManagedEnvironment_Properties_PeerAuthentication_STATUS) { + *out = *in + if in.Mtls != nil { + in, out := &in.Mtls, &out.Mtls + *out = new(Mtls_STATUS) + (*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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedEnvironment_Properties_PeerAuthentication_STATUS. +func (in *ManagedEnvironment_Properties_PeerAuthentication_STATUS) DeepCopy() *ManagedEnvironment_Properties_PeerAuthentication_STATUS { + if in == nil { + return nil + } + out := new(ManagedEnvironment_Properties_PeerAuthentication_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 *ManagedEnvironment_Properties_PeerAuthentication_Spec) DeepCopyInto(out *ManagedEnvironment_Properties_PeerAuthentication_Spec) { + *out = *in + if in.Mtls != nil { + in, out := &in.Mtls, &out.Mtls + *out = new(Mtls) + (*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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedEnvironment_Properties_PeerAuthentication_Spec. +func (in *ManagedEnvironment_Properties_PeerAuthentication_Spec) DeepCopy() *ManagedEnvironment_Properties_PeerAuthentication_Spec { + if in == nil { + return nil + } + out := new(ManagedEnvironment_Properties_PeerAuthentication_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 *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS) DeepCopyInto(out *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **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 ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS. +func (in *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS) DeepCopy() *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS { + if in == nil { + return nil + } + out := new(ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_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 *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec) DeepCopyInto(out *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **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 ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec. +func (in *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec) DeepCopy() *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec { + if in == nil { + return nil + } + out := new(ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_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 *ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS) DeepCopyInto(out *ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS) { + *out = *in + if in.Encryption != nil { + in, out := &in.Encryption, &out.Encryption + *out = new(ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS) + (*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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS. +func (in *ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS) DeepCopy() *ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS { + if in == nil { + return nil + } + out := new(ManagedEnvironment_Properties_PeerTrafficConfiguration_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 *ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec) DeepCopyInto(out *ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec) { + *out = *in + if in.Encryption != nil { + in, out := &in.Encryption, &out.Encryption + *out = new(ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec) + (*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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec. +func (in *ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec) DeepCopy() *ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec { + if in == nil { + return nil + } + out := new(ManagedEnvironment_Properties_PeerTrafficConfiguration_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 *ManagedEnvironment_STATUS) DeepCopyInto(out *ManagedEnvironment_STATUS) { + *out = *in + if in.AppLogsConfiguration != nil { + in, out := &in.AppLogsConfiguration, &out.AppLogsConfiguration + *out = new(AppLogsConfiguration_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.CustomDomainConfiguration != nil { + in, out := &in.CustomDomainConfiguration, &out.CustomDomainConfiguration + *out = new(CustomDomainConfiguration_STATUS) + (*in).DeepCopyInto(*out) + } + if in.DaprConfiguration != nil { + in, out := &in.DaprConfiguration, &out.DaprConfiguration + *out = new(DaprConfiguration_STATUS) + (*in).DeepCopyInto(*out) + } + if in.DefaultDomain != nil { + in, out := &in.DefaultDomain, &out.DefaultDomain + *out = new(string) + **out = **in + } + if in.DeploymentErrors != nil { + in, out := &in.DeploymentErrors, &out.DeploymentErrors + *out = new(string) + **out = **in + } + if in.EventStreamEndpoint != nil { + in, out := &in.EventStreamEndpoint, &out.EventStreamEndpoint + *out = new(string) + **out = **in + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.InfrastructureResourceGroup != nil { + in, out := &in.InfrastructureResourceGroup, &out.InfrastructureResourceGroup + *out = new(string) + **out = **in + } + if in.KedaConfiguration != nil { + in, out := &in.KedaConfiguration, &out.KedaConfiguration + *out = new(KedaConfiguration_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Kind != nil { + in, out := &in.Kind, &out.Kind + *out = new(string) + **out = **in + } + 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.PeerAuthentication != nil { + in, out := &in.PeerAuthentication, &out.PeerAuthentication + *out = new(ManagedEnvironment_Properties_PeerAuthentication_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PeerTrafficConfiguration != nil { + in, out := &in.PeerTrafficConfiguration, &out.PeerTrafficConfiguration + *out = new(ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS) + (*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.ProvisioningState != nil { + in, out := &in.ProvisioningState, &out.ProvisioningState + *out = new(string) + **out = **in + } + if in.StaticIp != nil { + in, out := &in.StaticIp, &out.StaticIp + *out = new(string) + **out = **in + } + 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.VnetConfiguration != nil { + in, out := &in.VnetConfiguration, &out.VnetConfiguration + *out = new(VnetConfiguration_STATUS) + (*in).DeepCopyInto(*out) + } + if in.WorkloadProfiles != nil { + in, out := &in.WorkloadProfiles, &out.WorkloadProfiles + *out = make([]WorkloadProfile_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ZoneRedundant != nil { + in, out := &in.ZoneRedundant, &out.ZoneRedundant + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedEnvironment_STATUS. +func (in *ManagedEnvironment_STATUS) DeepCopy() *ManagedEnvironment_STATUS { + if in == nil { + return nil + } + out := new(ManagedEnvironment_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 *ManagedEnvironment_Spec) DeepCopyInto(out *ManagedEnvironment_Spec) { + *out = *in + if in.AppLogsConfiguration != nil { + in, out := &in.AppLogsConfiguration, &out.AppLogsConfiguration + *out = new(AppLogsConfiguration) + (*in).DeepCopyInto(*out) + } + if in.CustomDomainConfiguration != nil { + in, out := &in.CustomDomainConfiguration, &out.CustomDomainConfiguration + *out = new(CustomDomainConfiguration) + (*in).DeepCopyInto(*out) + } + if in.DaprAIConnectionString != nil { + in, out := &in.DaprAIConnectionString, &out.DaprAIConnectionString + *out = new(genruntime.SecretReference) + **out = **in + } + if in.DaprAIInstrumentationKey != nil { + in, out := &in.DaprAIInstrumentationKey, &out.DaprAIInstrumentationKey + *out = new(genruntime.SecretReference) + **out = **in + } + if in.InfrastructureResourceGroup != nil { + in, out := &in.InfrastructureResourceGroup, &out.InfrastructureResourceGroup + *out = new(string) + **out = **in + } + if in.Kind != nil { + in, out := &in.Kind, &out.Kind + *out = new(string) + **out = **in + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.OperatorSpec != nil { + in, out := &in.OperatorSpec, &out.OperatorSpec + *out = new(ManagedEnvironmentOperatorSpec) + (*in).DeepCopyInto(*out) + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.KnownResourceReference) + **out = **in + } + if in.PeerAuthentication != nil { + in, out := &in.PeerAuthentication, &out.PeerAuthentication + *out = new(ManagedEnvironment_Properties_PeerAuthentication_Spec) + (*in).DeepCopyInto(*out) + } + if in.PeerTrafficConfiguration != nil { + in, out := &in.PeerTrafficConfiguration, &out.PeerTrafficConfiguration + *out = new(ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec) + (*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.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.VnetConfiguration != nil { + in, out := &in.VnetConfiguration, &out.VnetConfiguration + *out = new(VnetConfiguration) + (*in).DeepCopyInto(*out) + } + if in.WorkloadProfiles != nil { + in, out := &in.WorkloadProfiles, &out.WorkloadProfiles + *out = make([]WorkloadProfile, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ZoneRedundant != nil { + in, out := &in.ZoneRedundant, &out.ZoneRedundant + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedEnvironment_Spec. +func (in *ManagedEnvironment_Spec) DeepCopy() *ManagedEnvironment_Spec { + if in == nil { + return nil + } + out := new(ManagedEnvironment_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 *ManagedServiceIdentity) DeepCopyInto(out *ManagedServiceIdentity) { + *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 ManagedServiceIdentity. +func (in *ManagedServiceIdentity) DeepCopy() *ManagedServiceIdentity { + if in == nil { + return nil + } + out := new(ManagedServiceIdentity) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedServiceIdentity_STATUS) DeepCopyInto(out *ManagedServiceIdentity_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]UserAssignedIdentity_STATUS, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedServiceIdentity_STATUS. +func (in *ManagedServiceIdentity_STATUS) DeepCopy() *ManagedServiceIdentity_STATUS { + if in == nil { + return nil + } + out := new(ManagedServiceIdentity_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 *Mtls) DeepCopyInto(out *Mtls) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **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 Mtls. +func (in *Mtls) DeepCopy() *Mtls { + if in == nil { + return nil + } + out := new(Mtls) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Mtls_STATUS) DeepCopyInto(out *Mtls_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **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 Mtls_STATUS. +func (in *Mtls_STATUS) DeepCopy() *Mtls_STATUS { + if in == nil { + return nil + } + out := new(Mtls_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 *Nonce) DeepCopyInto(out *Nonce) { + *out = *in + if in.NonceExpirationInterval != nil { + in, out := &in.NonceExpirationInterval, &out.NonceExpirationInterval + *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.ValidateNonce != nil { + in, out := &in.ValidateNonce, &out.ValidateNonce + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Nonce. +func (in *Nonce) DeepCopy() *Nonce { + if in == nil { + return nil + } + out := new(Nonce) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Nonce_STATUS) DeepCopyInto(out *Nonce_STATUS) { + *out = *in + if in.NonceExpirationInterval != nil { + in, out := &in.NonceExpirationInterval, &out.NonceExpirationInterval + *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.ValidateNonce != nil { + in, out := &in.ValidateNonce, &out.ValidateNonce + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Nonce_STATUS. +func (in *Nonce_STATUS) DeepCopy() *Nonce_STATUS { + if in == nil { + return nil + } + out := new(Nonce_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 *OpenIdConnectClientCredential) DeepCopyInto(out *OpenIdConnectClientCredential) { + *out = *in + if in.ClientSecretSettingName != nil { + in, out := &in.ClientSecretSettingName, &out.ClientSecretSettingName + *out = new(string) + **out = **in + } + if in.Method != nil { + in, out := &in.Method, &out.Method + *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 OpenIdConnectClientCredential. +func (in *OpenIdConnectClientCredential) DeepCopy() *OpenIdConnectClientCredential { + if in == nil { + return nil + } + out := new(OpenIdConnectClientCredential) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OpenIdConnectClientCredential_STATUS) DeepCopyInto(out *OpenIdConnectClientCredential_STATUS) { + *out = *in + if in.ClientSecretSettingName != nil { + in, out := &in.ClientSecretSettingName, &out.ClientSecretSettingName + *out = new(string) + **out = **in + } + if in.Method != nil { + in, out := &in.Method, &out.Method + *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 OpenIdConnectClientCredential_STATUS. +func (in *OpenIdConnectClientCredential_STATUS) DeepCopy() *OpenIdConnectClientCredential_STATUS { + if in == nil { + return nil + } + out := new(OpenIdConnectClientCredential_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 *OpenIdConnectConfig) DeepCopyInto(out *OpenIdConnectConfig) { + *out = *in + if in.AuthorizationEndpoint != nil { + in, out := &in.AuthorizationEndpoint, &out.AuthorizationEndpoint + *out = new(string) + **out = **in + } + if in.CertificationUri != nil { + in, out := &in.CertificationUri, &out.CertificationUri + *out = new(string) + **out = **in + } + if in.Issuer != nil { + in, out := &in.Issuer, &out.Issuer + *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.TokenEndpoint != nil { + in, out := &in.TokenEndpoint, &out.TokenEndpoint + *out = new(string) + **out = **in + } + if in.WellKnownOpenIdConfiguration != nil { + in, out := &in.WellKnownOpenIdConfiguration, &out.WellKnownOpenIdConfiguration + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenIdConnectConfig. +func (in *OpenIdConnectConfig) DeepCopy() *OpenIdConnectConfig { + if in == nil { + return nil + } + out := new(OpenIdConnectConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OpenIdConnectConfig_STATUS) DeepCopyInto(out *OpenIdConnectConfig_STATUS) { + *out = *in + if in.AuthorizationEndpoint != nil { + in, out := &in.AuthorizationEndpoint, &out.AuthorizationEndpoint + *out = new(string) + **out = **in + } + if in.CertificationUri != nil { + in, out := &in.CertificationUri, &out.CertificationUri + *out = new(string) + **out = **in + } + if in.Issuer != nil { + in, out := &in.Issuer, &out.Issuer + *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.TokenEndpoint != nil { + in, out := &in.TokenEndpoint, &out.TokenEndpoint + *out = new(string) + **out = **in + } + if in.WellKnownOpenIdConfiguration != nil { + in, out := &in.WellKnownOpenIdConfiguration, &out.WellKnownOpenIdConfiguration + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenIdConnectConfig_STATUS. +func (in *OpenIdConnectConfig_STATUS) DeepCopy() *OpenIdConnectConfig_STATUS { + if in == nil { + return nil + } + out := new(OpenIdConnectConfig_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 *OpenIdConnectLogin) DeepCopyInto(out *OpenIdConnectLogin) { + *out = *in + if in.NameClaimType != nil { + in, out := &in.NameClaimType, &out.NameClaimType + *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.Scopes != nil { + in, out := &in.Scopes, &out.Scopes + *out = make([]string, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenIdConnectLogin. +func (in *OpenIdConnectLogin) DeepCopy() *OpenIdConnectLogin { + if in == nil { + return nil + } + out := new(OpenIdConnectLogin) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OpenIdConnectLogin_STATUS) DeepCopyInto(out *OpenIdConnectLogin_STATUS) { + *out = *in + if in.NameClaimType != nil { + in, out := &in.NameClaimType, &out.NameClaimType + *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.Scopes != nil { + in, out := &in.Scopes, &out.Scopes + *out = make([]string, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenIdConnectLogin_STATUS. +func (in *OpenIdConnectLogin_STATUS) DeepCopy() *OpenIdConnectLogin_STATUS { + if in == nil { + return nil + } + out := new(OpenIdConnectLogin_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 *OpenIdConnectRegistration) DeepCopyInto(out *OpenIdConnectRegistration) { + *out = *in + if in.ClientCredential != nil { + in, out := &in.ClientCredential, &out.ClientCredential + *out = new(OpenIdConnectClientCredential) + (*in).DeepCopyInto(*out) + } + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.OpenIdConnectConfiguration != nil { + in, out := &in.OpenIdConnectConfiguration, &out.OpenIdConnectConfiguration + *out = new(OpenIdConnectConfig) + (*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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenIdConnectRegistration. +func (in *OpenIdConnectRegistration) DeepCopy() *OpenIdConnectRegistration { + if in == nil { + return nil + } + out := new(OpenIdConnectRegistration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OpenIdConnectRegistration_STATUS) DeepCopyInto(out *OpenIdConnectRegistration_STATUS) { + *out = *in + if in.ClientCredential != nil { + in, out := &in.ClientCredential, &out.ClientCredential + *out = new(OpenIdConnectClientCredential_STATUS) + (*in).DeepCopyInto(*out) + } + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.OpenIdConnectConfiguration != nil { + in, out := &in.OpenIdConnectConfiguration, &out.OpenIdConnectConfiguration + *out = new(OpenIdConnectConfig_STATUS) + (*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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenIdConnectRegistration_STATUS. +func (in *OpenIdConnectRegistration_STATUS) DeepCopy() *OpenIdConnectRegistration_STATUS { + if in == nil { + return nil + } + out := new(OpenIdConnectRegistration_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 *QueueScaleRule) DeepCopyInto(out *QueueScaleRule) { + *out = *in + if in.Auth != nil { + in, out := &in.Auth, &out.Auth + *out = make([]ScaleRuleAuth, 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.QueueLength != nil { + in, out := &in.QueueLength, &out.QueueLength + *out = new(int) + **out = **in + } + if in.QueueName != nil { + in, out := &in.QueueName, &out.QueueName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueScaleRule. +func (in *QueueScaleRule) DeepCopy() *QueueScaleRule { + if in == nil { + return nil + } + out := new(QueueScaleRule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *QueueScaleRule_STATUS) DeepCopyInto(out *QueueScaleRule_STATUS) { + *out = *in + if in.Auth != nil { + in, out := &in.Auth, &out.Auth + *out = make([]ScaleRuleAuth_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.QueueLength != nil { + in, out := &in.QueueLength, &out.QueueLength + *out = new(int) + **out = **in + } + if in.QueueName != nil { + in, out := &in.QueueName, &out.QueueName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueScaleRule_STATUS. +func (in *QueueScaleRule_STATUS) DeepCopy() *QueueScaleRule_STATUS { + if in == nil { + return nil + } + out := new(QueueScaleRule_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 *RegistryCredentials) DeepCopyInto(out *RegistryCredentials) { + *out = *in + if in.IdentityReference != nil { + in, out := &in.IdentityReference, &out.IdentityReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.PasswordSecretRef != nil { + in, out := &in.PasswordSecretRef, &out.PasswordSecretRef + *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.Server != nil { + in, out := &in.Server, &out.Server + *out = new(string) + **out = **in + } + if in.Username != nil { + in, out := &in.Username, &out.Username + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryCredentials. +func (in *RegistryCredentials) DeepCopy() *RegistryCredentials { + if in == nil { + return nil + } + out := new(RegistryCredentials) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegistryCredentials_STATUS) DeepCopyInto(out *RegistryCredentials_STATUS) { + *out = *in + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(string) + **out = **in + } + if in.PasswordSecretRef != nil { + in, out := &in.PasswordSecretRef, &out.PasswordSecretRef + *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.Server != nil { + in, out := &in.Server, &out.Server + *out = new(string) + **out = **in + } + if in.Username != nil { + in, out := &in.Username, &out.Username + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryCredentials_STATUS. +func (in *RegistryCredentials_STATUS) DeepCopy() *RegistryCredentials_STATUS { + if in == nil { + return nil + } + out := new(RegistryCredentials_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 *Scale) DeepCopyInto(out *Scale) { + *out = *in + if in.MaxReplicas != nil { + in, out := &in.MaxReplicas, &out.MaxReplicas + *out = new(int) + **out = **in + } + if in.MinReplicas != nil { + in, out := &in.MinReplicas, &out.MinReplicas + *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.Rules != nil { + in, out := &in.Rules, &out.Rules + *out = make([]ScaleRule, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Scale. +func (in *Scale) DeepCopy() *Scale { + if in == nil { + return nil + } + out := new(Scale) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ScaleRule) DeepCopyInto(out *ScaleRule) { + *out = *in + if in.AzureQueue != nil { + in, out := &in.AzureQueue, &out.AzureQueue + *out = new(QueueScaleRule) + (*in).DeepCopyInto(*out) + } + if in.Custom != nil { + in, out := &in.Custom, &out.Custom + *out = new(CustomScaleRule) + (*in).DeepCopyInto(*out) + } + if in.Http != nil { + in, out := &in.Http, &out.Http + *out = new(HttpScaleRule) + (*in).DeepCopyInto(*out) + } + 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.Tcp != nil { + in, out := &in.Tcp, &out.Tcp + *out = new(TcpScaleRule) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScaleRule. +func (in *ScaleRule) DeepCopy() *ScaleRule { + if in == nil { + return nil + } + out := new(ScaleRule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ScaleRuleAuth) DeepCopyInto(out *ScaleRuleAuth) { + *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.SecretRef != nil { + in, out := &in.SecretRef, &out.SecretRef + *out = new(string) + **out = **in + } + if in.TriggerParameter != nil { + in, out := &in.TriggerParameter, &out.TriggerParameter + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScaleRuleAuth. +func (in *ScaleRuleAuth) DeepCopy() *ScaleRuleAuth { + if in == nil { + return nil + } + out := new(ScaleRuleAuth) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ScaleRuleAuth_STATUS) DeepCopyInto(out *ScaleRuleAuth_STATUS) { + *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.SecretRef != nil { + in, out := &in.SecretRef, &out.SecretRef + *out = new(string) + **out = **in + } + if in.TriggerParameter != nil { + in, out := &in.TriggerParameter, &out.TriggerParameter + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScaleRuleAuth_STATUS. +func (in *ScaleRuleAuth_STATUS) DeepCopy() *ScaleRuleAuth_STATUS { + if in == nil { + return nil + } + out := new(ScaleRuleAuth_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 *ScaleRule_STATUS) DeepCopyInto(out *ScaleRule_STATUS) { + *out = *in + if in.AzureQueue != nil { + in, out := &in.AzureQueue, &out.AzureQueue + *out = new(QueueScaleRule_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Custom != nil { + in, out := &in.Custom, &out.Custom + *out = new(CustomScaleRule_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Http != nil { + in, out := &in.Http, &out.Http + *out = new(HttpScaleRule_STATUS) + (*in).DeepCopyInto(*out) + } + 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.Tcp != nil { + in, out := &in.Tcp, &out.Tcp + *out = new(TcpScaleRule_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScaleRule_STATUS. +func (in *ScaleRule_STATUS) DeepCopy() *ScaleRule_STATUS { + if in == nil { + return nil + } + out := new(ScaleRule_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 *Scale_STATUS) DeepCopyInto(out *Scale_STATUS) { + *out = *in + if in.MaxReplicas != nil { + in, out := &in.MaxReplicas, &out.MaxReplicas + *out = new(int) + **out = **in + } + if in.MinReplicas != nil { + in, out := &in.MinReplicas, &out.MinReplicas + *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.Rules != nil { + in, out := &in.Rules, &out.Rules + *out = make([]ScaleRule_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Scale_STATUS. +func (in *Scale_STATUS) DeepCopy() *Scale_STATUS { + if in == nil { + return nil + } + out := new(Scale_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 *Secret) DeepCopyInto(out *Secret) { + *out = *in + if in.IdentityReference != nil { + in, out := &in.IdentityReference, &out.IdentityReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.KeyVaultUrl != nil { + in, out := &in.KeyVaultUrl, &out.KeyVaultUrl + *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.Value != nil { + in, out := &in.Value, &out.Value + *out = new(genruntime.SecretReference) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Secret. +func (in *Secret) DeepCopy() *Secret { + if in == nil { + return nil + } + out := new(Secret) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretVolumeItem) DeepCopyInto(out *SecretVolumeItem) { + *out = *in + if in.Path != nil { + in, out := &in.Path, &out.Path + *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.SecretRef != nil { + in, out := &in.SecretRef, &out.SecretRef + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretVolumeItem. +func (in *SecretVolumeItem) DeepCopy() *SecretVolumeItem { + if in == nil { + return nil + } + out := new(SecretVolumeItem) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretVolumeItem_STATUS) DeepCopyInto(out *SecretVolumeItem_STATUS) { + *out = *in + if in.Path != nil { + in, out := &in.Path, &out.Path + *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.SecretRef != nil { + in, out := &in.SecretRef, &out.SecretRef + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretVolumeItem_STATUS. +func (in *SecretVolumeItem_STATUS) DeepCopy() *SecretVolumeItem_STATUS { + if in == nil { + return nil + } + out := new(SecretVolumeItem_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 *Secret_STATUS) DeepCopyInto(out *Secret_STATUS) { + *out = *in + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(string) + **out = **in + } + if in.KeyVaultUrl != nil { + in, out := &in.KeyVaultUrl, &out.KeyVaultUrl + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Secret_STATUS. +func (in *Secret_STATUS) DeepCopy() *Secret_STATUS { + if in == nil { + return nil + } + out := new(Secret_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 *Service) DeepCopyInto(out *Service) { + *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 Service. +func (in *Service) DeepCopy() *Service { + if in == nil { + return nil + } + out := new(Service) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceBind) DeepCopyInto(out *ServiceBind) { + *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.ServiceReference != nil { + in, out := &in.ServiceReference, &out.ServiceReference + *out = new(genruntime.ResourceReference) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceBind. +func (in *ServiceBind) DeepCopy() *ServiceBind { + if in == nil { + return nil + } + out := new(ServiceBind) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceBind_STATUS) DeepCopyInto(out *ServiceBind_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.ServiceId != nil { + in, out := &in.ServiceId, &out.ServiceId + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceBind_STATUS. +func (in *ServiceBind_STATUS) DeepCopy() *ServiceBind_STATUS { + if in == nil { + return nil + } + out := new(ServiceBind_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 *Service_STATUS) DeepCopyInto(out *Service_STATUS) { + *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 Service_STATUS. +func (in *Service_STATUS) DeepCopy() *Service_STATUS { + if in == nil { + return nil + } + out := new(Service_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 *TcpScaleRule) DeepCopyInto(out *TcpScaleRule) { + *out = *in + if in.Auth != nil { + in, out := &in.Auth, &out.Auth + *out = make([]ScaleRuleAuth, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Metadata != nil { + in, out := &in.Metadata, &out.Metadata + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + 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 TcpScaleRule. +func (in *TcpScaleRule) DeepCopy() *TcpScaleRule { + if in == nil { + return nil + } + out := new(TcpScaleRule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TcpScaleRule_STATUS) DeepCopyInto(out *TcpScaleRule_STATUS) { + *out = *in + if in.Auth != nil { + in, out := &in.Auth, &out.Auth + *out = make([]ScaleRuleAuth_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Metadata != nil { + in, out := &in.Metadata, &out.Metadata + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + 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 TcpScaleRule_STATUS. +func (in *TcpScaleRule_STATUS) DeepCopy() *TcpScaleRule_STATUS { + if in == nil { + return nil + } + out := new(TcpScaleRule_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 *Template) DeepCopyInto(out *Template) { + *out = *in + if in.Containers != nil { + in, out := &in.Containers, &out.Containers + *out = make([]Container, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InitContainers != nil { + in, out := &in.InitContainers, &out.InitContainers + *out = make([]BaseContainer, 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.RevisionSuffix != nil { + in, out := &in.RevisionSuffix, &out.RevisionSuffix + *out = new(string) + **out = **in + } + if in.Scale != nil { + in, out := &in.Scale, &out.Scale + *out = new(Scale) + (*in).DeepCopyInto(*out) + } + if in.ServiceBinds != nil { + in, out := &in.ServiceBinds, &out.ServiceBinds + *out = make([]ServiceBind, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TerminationGracePeriodSeconds != nil { + in, out := &in.TerminationGracePeriodSeconds, &out.TerminationGracePeriodSeconds + *out = new(int) + **out = **in + } + if in.Volumes != nil { + in, out := &in.Volumes, &out.Volumes + *out = make([]Volume, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Template. +func (in *Template) DeepCopy() *Template { + if in == nil { + return nil + } + out := new(Template) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Template_STATUS) DeepCopyInto(out *Template_STATUS) { + *out = *in + if in.Containers != nil { + in, out := &in.Containers, &out.Containers + *out = make([]Container_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InitContainers != nil { + in, out := &in.InitContainers, &out.InitContainers + *out = make([]BaseContainer_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.RevisionSuffix != nil { + in, out := &in.RevisionSuffix, &out.RevisionSuffix + *out = new(string) + **out = **in + } + if in.Scale != nil { + in, out := &in.Scale, &out.Scale + *out = new(Scale_STATUS) + (*in).DeepCopyInto(*out) + } + if in.ServiceBinds != nil { + in, out := &in.ServiceBinds, &out.ServiceBinds + *out = make([]ServiceBind_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TerminationGracePeriodSeconds != nil { + in, out := &in.TerminationGracePeriodSeconds, &out.TerminationGracePeriodSeconds + *out = new(int) + **out = **in + } + if in.Volumes != nil { + in, out := &in.Volumes, &out.Volumes + *out = make([]Volume_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Template_STATUS. +func (in *Template_STATUS) DeepCopy() *Template_STATUS { + if in == nil { + return nil + } + out := new(Template_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 *TokenStore) DeepCopyInto(out *TokenStore) { + *out = *in + if in.AzureBlobStorage != nil { + in, out := &in.AzureBlobStorage, &out.AzureBlobStorage + *out = new(BlobStorageTokenStore) + (*in).DeepCopyInto(*out) + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **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.TokenRefreshExtensionHours != nil { + in, out := &in.TokenRefreshExtensionHours, &out.TokenRefreshExtensionHours + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenStore. +func (in *TokenStore) DeepCopy() *TokenStore { + if in == nil { + return nil + } + out := new(TokenStore) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TokenStore_STATUS) DeepCopyInto(out *TokenStore_STATUS) { + *out = *in + if in.AzureBlobStorage != nil { + in, out := &in.AzureBlobStorage, &out.AzureBlobStorage + *out = new(BlobStorageTokenStore_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **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.TokenRefreshExtensionHours != nil { + in, out := &in.TokenRefreshExtensionHours, &out.TokenRefreshExtensionHours + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenStore_STATUS. +func (in *TokenStore_STATUS) DeepCopy() *TokenStore_STATUS { + if in == nil { + return nil + } + out := new(TokenStore_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 *TrafficWeight) DeepCopyInto(out *TrafficWeight) { + *out = *in + if in.Label != nil { + in, out := &in.Label, &out.Label + *out = new(string) + **out = **in + } + if in.LatestRevision != nil { + in, out := &in.LatestRevision, &out.LatestRevision + *out = new(bool) + **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.RevisionName != nil { + in, out := &in.RevisionName, &out.RevisionName + *out = new(string) + **out = **in + } + if in.Weight != nil { + in, out := &in.Weight, &out.Weight + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficWeight. +func (in *TrafficWeight) DeepCopy() *TrafficWeight { + if in == nil { + return nil + } + out := new(TrafficWeight) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TrafficWeight_STATUS) DeepCopyInto(out *TrafficWeight_STATUS) { + *out = *in + if in.Label != nil { + in, out := &in.Label, &out.Label + *out = new(string) + **out = **in + } + if in.LatestRevision != nil { + in, out := &in.LatestRevision, &out.LatestRevision + *out = new(bool) + **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.RevisionName != nil { + in, out := &in.RevisionName, &out.RevisionName + *out = new(string) + **out = **in + } + if in.Weight != nil { + in, out := &in.Weight, &out.Weight + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficWeight_STATUS. +func (in *TrafficWeight_STATUS) DeepCopy() *TrafficWeight_STATUS { + if in == nil { + return nil + } + out := new(TrafficWeight_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 *Twitter) DeepCopyInto(out *Twitter) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **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.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(TwitterRegistration) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Twitter. +func (in *Twitter) DeepCopy() *Twitter { + if in == nil { + return nil + } + out := new(Twitter) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TwitterRegistration) DeepCopyInto(out *TwitterRegistration) { + *out = *in + if in.ConsumerKey != nil { + in, out := &in.ConsumerKey, &out.ConsumerKey + *out = new(string) + **out = **in + } + if in.ConsumerSecretSettingName != nil { + in, out := &in.ConsumerSecretSettingName, &out.ConsumerSecretSettingName + *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 TwitterRegistration. +func (in *TwitterRegistration) DeepCopy() *TwitterRegistration { + if in == nil { + return nil + } + out := new(TwitterRegistration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TwitterRegistration_STATUS) DeepCopyInto(out *TwitterRegistration_STATUS) { + *out = *in + if in.ConsumerKey != nil { + in, out := &in.ConsumerKey, &out.ConsumerKey + *out = new(string) + **out = **in + } + if in.ConsumerSecretSettingName != nil { + in, out := &in.ConsumerSecretSettingName, &out.ConsumerSecretSettingName + *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 TwitterRegistration_STATUS. +func (in *TwitterRegistration_STATUS) DeepCopy() *TwitterRegistration_STATUS { + if in == nil { + return nil + } + out := new(TwitterRegistration_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 *Twitter_STATUS) DeepCopyInto(out *Twitter_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **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.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(TwitterRegistration_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Twitter_STATUS. +func (in *Twitter_STATUS) DeepCopy() *Twitter_STATUS { + if in == nil { + return nil + } + out := new(Twitter_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 +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserAssignedIdentity_STATUS) DeepCopyInto(out *UserAssignedIdentity_STATUS) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAssignedIdentity_STATUS. +func (in *UserAssignedIdentity_STATUS) DeepCopy() *UserAssignedIdentity_STATUS { + if in == nil { + return nil + } + out := new(UserAssignedIdentity_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 *VnetConfiguration) DeepCopyInto(out *VnetConfiguration) { + *out = *in + if in.DockerBridgeCidr != nil { + in, out := &in.DockerBridgeCidr, &out.DockerBridgeCidr + *out = new(string) + **out = **in + } + if in.InfrastructureSubnetReference != nil { + in, out := &in.InfrastructureSubnetReference, &out.InfrastructureSubnetReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.Internal != nil { + in, out := &in.Internal, &out.Internal + *out = new(bool) + **out = **in + } + if in.PlatformReservedCidr != nil { + in, out := &in.PlatformReservedCidr, &out.PlatformReservedCidr + *out = new(string) + **out = **in + } + if in.PlatformReservedDnsIP != nil { + in, out := &in.PlatformReservedDnsIP, &out.PlatformReservedDnsIP + *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 VnetConfiguration. +func (in *VnetConfiguration) DeepCopy() *VnetConfiguration { + if in == nil { + return nil + } + out := new(VnetConfiguration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VnetConfiguration_STATUS) DeepCopyInto(out *VnetConfiguration_STATUS) { + *out = *in + if in.DockerBridgeCidr != nil { + in, out := &in.DockerBridgeCidr, &out.DockerBridgeCidr + *out = new(string) + **out = **in + } + if in.InfrastructureSubnetId != nil { + in, out := &in.InfrastructureSubnetId, &out.InfrastructureSubnetId + *out = new(string) + **out = **in + } + if in.Internal != nil { + in, out := &in.Internal, &out.Internal + *out = new(bool) + **out = **in + } + if in.PlatformReservedCidr != nil { + in, out := &in.PlatformReservedCidr, &out.PlatformReservedCidr + *out = new(string) + **out = **in + } + if in.PlatformReservedDnsIP != nil { + in, out := &in.PlatformReservedDnsIP, &out.PlatformReservedDnsIP + *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 VnetConfiguration_STATUS. +func (in *VnetConfiguration_STATUS) DeepCopy() *VnetConfiguration_STATUS { + if in == nil { + return nil + } + out := new(VnetConfiguration_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 *Volume) DeepCopyInto(out *Volume) { + *out = *in + if in.MountOptions != nil { + in, out := &in.MountOptions, &out.MountOptions + *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.Secrets != nil { + in, out := &in.Secrets, &out.Secrets + *out = make([]SecretVolumeItem, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.StorageName != nil { + in, out := &in.StorageName, &out.StorageName + *out = new(string) + **out = **in + } + if in.StorageType != nil { + in, out := &in.StorageType, &out.StorageType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Volume. +func (in *Volume) DeepCopy() *Volume { + if in == nil { + return nil + } + out := new(Volume) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VolumeMount) DeepCopyInto(out *VolumeMount) { + *out = *in + if in.MountPath != nil { + in, out := &in.MountPath, &out.MountPath + *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.SubPath != nil { + in, out := &in.SubPath, &out.SubPath + *out = new(string) + **out = **in + } + if in.VolumeName != nil { + in, out := &in.VolumeName, &out.VolumeName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeMount. +func (in *VolumeMount) DeepCopy() *VolumeMount { + if in == nil { + return nil + } + out := new(VolumeMount) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VolumeMount_STATUS) DeepCopyInto(out *VolumeMount_STATUS) { + *out = *in + if in.MountPath != nil { + in, out := &in.MountPath, &out.MountPath + *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.SubPath != nil { + in, out := &in.SubPath, &out.SubPath + *out = new(string) + **out = **in + } + if in.VolumeName != nil { + in, out := &in.VolumeName, &out.VolumeName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeMount_STATUS. +func (in *VolumeMount_STATUS) DeepCopy() *VolumeMount_STATUS { + if in == nil { + return nil + } + out := new(VolumeMount_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 *Volume_STATUS) DeepCopyInto(out *Volume_STATUS) { + *out = *in + if in.MountOptions != nil { + in, out := &in.MountOptions, &out.MountOptions + *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.Secrets != nil { + in, out := &in.Secrets, &out.Secrets + *out = make([]SecretVolumeItem_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.StorageName != nil { + in, out := &in.StorageName, &out.StorageName + *out = new(string) + **out = **in + } + if in.StorageType != nil { + in, out := &in.StorageType, &out.StorageType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Volume_STATUS. +func (in *Volume_STATUS) DeepCopy() *Volume_STATUS { + if in == nil { + return nil + } + out := new(Volume_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 *WorkloadProfile) DeepCopyInto(out *WorkloadProfile) { + *out = *in + if in.MaximumCount != nil { + in, out := &in.MaximumCount, &out.MaximumCount + *out = new(int) + **out = **in + } + if in.MinimumCount != nil { + in, out := &in.MinimumCount, &out.MinimumCount + *out = new(int) + **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.WorkloadProfileType != nil { + in, out := &in.WorkloadProfileType, &out.WorkloadProfileType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadProfile. +func (in *WorkloadProfile) DeepCopy() *WorkloadProfile { + if in == nil { + return nil + } + out := new(WorkloadProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WorkloadProfile_STATUS) DeepCopyInto(out *WorkloadProfile_STATUS) { + *out = *in + if in.MaximumCount != nil { + in, out := &in.MaximumCount, &out.MaximumCount + *out = new(int) + **out = **in + } + if in.MinimumCount != nil { + in, out := &in.MinimumCount, &out.MinimumCount + *out = new(int) + **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.WorkloadProfileType != nil { + in, out := &in.WorkloadProfileType, &out.WorkloadProfileType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadProfile_STATUS. +func (in *WorkloadProfile_STATUS) DeepCopy() *WorkloadProfile_STATUS { + if in == nil { + return nil + } + out := new(WorkloadProfile_STATUS) + in.DeepCopyInto(out) + return out +} diff --git a/v2/api/app/v1api20240301/structure.txt b/v2/api/app/v1api20240301/structure.txt new file mode 100644 index 00000000000..f3dedfc3ce2 --- /dev/null +++ b/v2/api/app/v1api20240301/structure.txt @@ -0,0 +1,1112 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +github.com/Azure/azure-service-operator/v2/api/app/v1api20240301 +---------------------------------------------------------------- +APIVersion: Enum (1 value) +└── "2024-03-01" +AuthConfig: Resource +├── Owner: ContainerApp +├── Spec: Object (9 properties) +│ ├── AzureName: string +│ ├── EncryptionSettings: *Object (2 properties) +│ │ ├── ContainerAppAuthEncryptionSecretName: *string +│ │ └── ContainerAppAuthSigningSecretName: *string +│ ├── GlobalValidation: *Object (3 properties) +│ │ ├── ExcludedPaths: string[] +│ │ ├── RedirectToProvider: *string +│ │ └── UnauthenticatedClientAction: *Enum (4 values) +│ │ ├── "AllowAnonymous" +│ │ ├── "RedirectToLoginPage" +│ │ ├── "Return401" +│ │ └── "Return403" +│ ├── HttpSettings: *Object (3 properties) +│ │ ├── ForwardProxy: *Object (3 properties) +│ │ │ ├── Convention: *Enum (3 values) +│ │ │ │ ├── "Custom" +│ │ │ │ ├── "NoProxy" +│ │ │ │ └── "Standard" +│ │ │ ├── CustomHostHeaderName: *string +│ │ │ └── CustomProtoHeaderName: *string +│ │ ├── RequireHttps: *bool +│ │ └── Routes: *Object (1 property) +│ │ └── ApiPrefix: *string +│ ├── IdentityProviders: *Object (8 properties) +│ │ ├── Apple: *Object (3 properties) +│ │ │ ├── Enabled: *bool +│ │ │ ├── Login: *Object (1 property) +│ │ │ │ └── Scopes: string[] +│ │ │ └── Registration: *Object (2 properties) +│ │ │ ├── ClientId: *string +│ │ │ └── ClientSecretSettingName: *string +│ │ ├── AzureActiveDirectory: *Object (5 properties) +│ │ │ ├── Enabled: *bool +│ │ │ ├── IsAutoProvisioned: *bool +│ │ │ ├── Login: *Object (2 properties) +│ │ │ │ ├── DisableWWWAuthenticate: *bool +│ │ │ │ └── LoginParameters: string[] +│ │ │ ├── Registration: *Object (6 properties) +│ │ │ │ ├── ClientId: *string +│ │ │ │ ├── ClientSecretCertificateIssuer: *string +│ │ │ │ ├── ClientSecretCertificateSubjectAlternativeName: *string +│ │ │ │ ├── ClientSecretCertificateThumbprint: *string +│ │ │ │ ├── ClientSecretSettingName: *string +│ │ │ │ └── OpenIdIssuer: *string +│ │ │ └── Validation: *Object (3 properties) +│ │ │ ├── AllowedAudiences: string[] +│ │ │ ├── DefaultAuthorizationPolicy: *Object (2 properties) +│ │ │ │ ├── AllowedApplications: string[] +│ │ │ │ └── AllowedPrincipals: *Object (2 properties) +│ │ │ │ ├── Groups: string[] +│ │ │ │ └── Identities: string[] +│ │ │ └── JwtClaimChecks: *Object (2 properties) +│ │ │ ├── AllowedClientApplications: string[] +│ │ │ └── AllowedGroups: string[] +│ │ ├── AzureStaticWebApps: *Object (2 properties) +│ │ │ ├── Enabled: *bool +│ │ │ └── Registration: *Object (1 property) +│ │ │ └── ClientId: *string +│ │ ├── CustomOpenIdConnectProviders: map[string]Object (3 properties) +│ │ │ ├── Enabled: *bool +│ │ │ ├── Login: *Object (2 properties) +│ │ │ │ ├── NameClaimType: *string +│ │ │ │ └── Scopes: string[] +│ │ │ └── Registration: *Object (3 properties) +│ │ │ ├── ClientCredential: *Object (2 properties) +│ │ │ │ ├── ClientSecretSettingName: *string +│ │ │ │ └── Method: *Enum (1 value) +│ │ │ │ └── "ClientSecretPost" +│ │ │ ├── ClientId: *string +│ │ │ └── OpenIdConnectConfiguration: *Object (5 properties) +│ │ │ ├── AuthorizationEndpoint: *string +│ │ │ ├── CertificationUri: *string +│ │ │ ├── Issuer: *string +│ │ │ ├── TokenEndpoint: *string +│ │ │ └── WellKnownOpenIdConfiguration: *string +│ │ ├── Facebook: *Object (4 properties) +│ │ │ ├── Enabled: *bool +│ │ │ ├── GraphApiVersion: *string +│ │ │ ├── Login: *Object (1 property) +│ │ │ │ └── Scopes: string[] +│ │ │ └── Registration: *Object (2 properties) +│ │ │ ├── AppId: *string +│ │ │ └── AppSecretSettingName: *string +│ │ ├── GitHub: *Object (3 properties) +│ │ │ ├── Enabled: *bool +│ │ │ ├── Login: *Object (1 property) +│ │ │ │ └── Scopes: string[] +│ │ │ └── Registration: *Object (2 properties) +│ │ │ ├── ClientId: *string +│ │ │ └── ClientSecretSettingName: *string +│ │ ├── Google: *Object (4 properties) +│ │ │ ├── Enabled: *bool +│ │ │ ├── Login: *Object (1 property) +│ │ │ │ └── Scopes: string[] +│ │ │ ├── Registration: *Object (2 properties) +│ │ │ │ ├── ClientId: *string +│ │ │ │ └── ClientSecretSettingName: *string +│ │ │ └── Validation: *Object (1 property) +│ │ │ └── AllowedAudiences: string[] +│ │ └── Twitter: *Object (2 properties) +│ │ ├── Enabled: *bool +│ │ └── Registration: *Object (2 properties) +│ │ ├── ConsumerKey: *string +│ │ └── ConsumerSecretSettingName: *string +│ ├── Login: *Object (6 properties) +│ │ ├── AllowedExternalRedirectUrls: string[] +│ │ ├── CookieExpiration: *Object (2 properties) +│ │ │ ├── Convention: *Enum (2 values) +│ │ │ │ ├── "FixedTime" +│ │ │ │ └── "IdentityProviderDerived" +│ │ │ └── TimeToExpiration: *string +│ │ ├── Nonce: *Object (2 properties) +│ │ │ ├── NonceExpirationInterval: *string +│ │ │ └── ValidateNonce: *bool +│ │ ├── PreserveUrlFragmentsForLogins: *bool +│ │ ├── Routes: *Object (1 property) +│ │ │ └── LogoutEndpoint: *string +│ │ └── TokenStore: *Object (3 properties) +│ │ ├── AzureBlobStorage: *Object (1 property) +│ │ │ └── SasUrlSettingName: *string +│ │ ├── Enabled: *bool +│ │ └── TokenRefreshExtensionHours: *float64 +│ ├── OperatorSpec: *Object (2 properties) +│ │ ├── ConfigMapExpressions: *core.DestinationExpression[] +│ │ └── SecretExpressions: *core.DestinationExpression[] +│ ├── Owner: *genruntime.KnownResourceReference +│ └── Platform: *Object (2 properties) +│ ├── Enabled: *bool +│ └── RuntimeVersion: *string +└── Status: Object (11 properties) + ├── Conditions: conditions.Condition[] + ├── EncryptionSettings: *Object (2 properties) + │ ├── ContainerAppAuthEncryptionSecretName: *string + │ └── ContainerAppAuthSigningSecretName: *string + ├── GlobalValidation: *Object (3 properties) + │ ├── ExcludedPaths: string[] + │ ├── RedirectToProvider: *string + │ └── UnauthenticatedClientAction: *Enum (4 values) + │ ├── "AllowAnonymous" + │ ├── "RedirectToLoginPage" + │ ├── "Return401" + │ └── "Return403" + ├── HttpSettings: *Object (3 properties) + │ ├── ForwardProxy: *Object (3 properties) + │ │ ├── Convention: *Enum (3 values) + │ │ │ ├── "Custom" + │ │ │ ├── "NoProxy" + │ │ │ └── "Standard" + │ │ ├── CustomHostHeaderName: *string + │ │ └── CustomProtoHeaderName: *string + │ ├── RequireHttps: *bool + │ └── Routes: *Object (1 property) + │ └── ApiPrefix: *string + ├── Id: *string + ├── IdentityProviders: *Object (8 properties) + │ ├── Apple: *Object (3 properties) + │ │ ├── Enabled: *bool + │ │ ├── Login: *Object (1 property) + │ │ │ └── Scopes: string[] + │ │ └── Registration: *Object (2 properties) + │ │ ├── ClientId: *string + │ │ └── ClientSecretSettingName: *string + │ ├── AzureActiveDirectory: *Object (5 properties) + │ │ ├── Enabled: *bool + │ │ ├── IsAutoProvisioned: *bool + │ │ ├── Login: *Object (2 properties) + │ │ │ ├── DisableWWWAuthenticate: *bool + │ │ │ └── LoginParameters: string[] + │ │ ├── Registration: *Object (6 properties) + │ │ │ ├── ClientId: *string + │ │ │ ├── ClientSecretCertificateIssuer: *string + │ │ │ ├── ClientSecretCertificateSubjectAlternativeName: *string + │ │ │ ├── ClientSecretCertificateThumbprint: *string + │ │ │ ├── ClientSecretSettingName: *string + │ │ │ └── OpenIdIssuer: *string + │ │ └── Validation: *Object (3 properties) + │ │ ├── AllowedAudiences: string[] + │ │ ├── DefaultAuthorizationPolicy: *Object (2 properties) + │ │ │ ├── AllowedApplications: string[] + │ │ │ └── AllowedPrincipals: *Object (2 properties) + │ │ │ ├── Groups: string[] + │ │ │ └── Identities: string[] + │ │ └── JwtClaimChecks: *Object (2 properties) + │ │ ├── AllowedClientApplications: string[] + │ │ └── AllowedGroups: string[] + │ ├── AzureStaticWebApps: *Object (2 properties) + │ │ ├── Enabled: *bool + │ │ └── Registration: *Object (1 property) + │ │ └── ClientId: *string + │ ├── CustomOpenIdConnectProviders: map[string]Object (3 properties) + │ │ ├── Enabled: *bool + │ │ ├── Login: *Object (2 properties) + │ │ │ ├── NameClaimType: *string + │ │ │ └── Scopes: string[] + │ │ └── Registration: *Object (3 properties) + │ │ ├── ClientCredential: *Object (2 properties) + │ │ │ ├── ClientSecretSettingName: *string + │ │ │ └── Method: *Enum (1 value) + │ │ │ └── "ClientSecretPost" + │ │ ├── ClientId: *string + │ │ └── OpenIdConnectConfiguration: *Object (5 properties) + │ │ ├── AuthorizationEndpoint: *string + │ │ ├── CertificationUri: *string + │ │ ├── Issuer: *string + │ │ ├── TokenEndpoint: *string + │ │ └── WellKnownOpenIdConfiguration: *string + │ ├── Facebook: *Object (4 properties) + │ │ ├── Enabled: *bool + │ │ ├── GraphApiVersion: *string + │ │ ├── Login: *Object (1 property) + │ │ │ └── Scopes: string[] + │ │ └── Registration: *Object (2 properties) + │ │ ├── AppId: *string + │ │ └── AppSecretSettingName: *string + │ ├── GitHub: *Object (3 properties) + │ │ ├── Enabled: *bool + │ │ ├── Login: *Object (1 property) + │ │ │ └── Scopes: string[] + │ │ └── Registration: *Object (2 properties) + │ │ ├── ClientId: *string + │ │ └── ClientSecretSettingName: *string + │ ├── Google: *Object (4 properties) + │ │ ├── Enabled: *bool + │ │ ├── Login: *Object (1 property) + │ │ │ └── Scopes: string[] + │ │ ├── Registration: *Object (2 properties) + │ │ │ ├── ClientId: *string + │ │ │ └── ClientSecretSettingName: *string + │ │ └── Validation: *Object (1 property) + │ │ └── AllowedAudiences: string[] + │ └── Twitter: *Object (2 properties) + │ ├── Enabled: *bool + │ └── Registration: *Object (2 properties) + │ ├── ConsumerKey: *string + │ └── ConsumerSecretSettingName: *string + ├── Login: *Object (6 properties) + │ ├── AllowedExternalRedirectUrls: string[] + │ ├── CookieExpiration: *Object (2 properties) + │ │ ├── Convention: *Enum (2 values) + │ │ │ ├── "FixedTime" + │ │ │ └── "IdentityProviderDerived" + │ │ └── TimeToExpiration: *string + │ ├── Nonce: *Object (2 properties) + │ │ ├── NonceExpirationInterval: *string + │ │ └── ValidateNonce: *bool + │ ├── PreserveUrlFragmentsForLogins: *bool + │ ├── Routes: *Object (1 property) + │ │ └── LogoutEndpoint: *string + │ └── TokenStore: *Object (3 properties) + │ ├── AzureBlobStorage: *Object (1 property) + │ │ └── SasUrlSettingName: *string + │ ├── Enabled: *bool + │ └── TokenRefreshExtensionHours: *float64 + ├── Name: *string + ├── Platform: *Object (2 properties) + │ ├── Enabled: *bool + │ └── RuntimeVersion: *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 +ContainerApp: Resource +├── Owner: resources/v1apiv20191001.ResourceGroup +├── Spec: Object (13 properties) +│ ├── AzureName: string +│ ├── Configuration: *Object (7 properties) +│ │ ├── ActiveRevisionsMode: *Enum (2 values) +│ │ │ ├── "Multiple" +│ │ │ └── "Single" +│ │ ├── Dapr: *Object (8 properties) +│ │ │ ├── AppId: *string +│ │ │ ├── AppPort: *int +│ │ │ ├── AppProtocol: *Enum (2 values) +│ │ │ │ ├── "grpc" +│ │ │ │ └── "http" +│ │ │ ├── EnableApiLogging: *bool +│ │ │ ├── Enabled: *bool +│ │ │ ├── HttpMaxRequestSize: *int +│ │ │ ├── HttpReadBufferSize: *int +│ │ │ └── LogLevel: *Enum (4 values) +│ │ │ ├── "debug" +│ │ │ ├── "error" +│ │ │ ├── "info" +│ │ │ └── "warn" +│ │ ├── Ingress: *Object (12 properties) +│ │ │ ├── AdditionalPortMappings: Object (3 properties)[] +│ │ │ │ ├── ExposedPort: *int +│ │ │ │ ├── External: *bool +│ │ │ │ └── TargetPort: *int +│ │ │ ├── AllowInsecure: *bool +│ │ │ ├── ClientCertificateMode: *Enum (3 values) +│ │ │ │ ├── "accept" +│ │ │ │ ├── "ignore" +│ │ │ │ └── "require" +│ │ │ ├── CorsPolicy: *Object (6 properties) +│ │ │ │ ├── AllowCredentials: *bool +│ │ │ │ ├── AllowedHeaders: string[] +│ │ │ │ ├── AllowedMethods: string[] +│ │ │ │ ├── AllowedOrigins: string[] +│ │ │ │ ├── ExposeHeaders: string[] +│ │ │ │ └── MaxAge: *int +│ │ │ ├── CustomDomains: Object (3 properties)[] +│ │ │ │ ├── BindingType: *Enum (2 values) +│ │ │ │ │ ├── "Disabled" +│ │ │ │ │ └── "SniEnabled" +│ │ │ │ ├── CertificateReference: *genruntime.ResourceReference +│ │ │ │ └── Name: *string +│ │ │ ├── ExposedPort: *int +│ │ │ ├── External: *bool +│ │ │ ├── IpSecurityRestrictions: Object (4 properties)[] +│ │ │ │ ├── Action: *Enum (2 values) +│ │ │ │ │ ├── "Allow" +│ │ │ │ │ └── "Deny" +│ │ │ │ ├── Description: *string +│ │ │ │ ├── IpAddressRange: *string +│ │ │ │ └── Name: *string +│ │ │ ├── StickySessions: *Object (1 property) +│ │ │ │ └── Affinity: *Enum (2 values) +│ │ │ │ ├── "none" +│ │ │ │ └── "sticky" +│ │ │ ├── TargetPort: *int +│ │ │ ├── Traffic: Object (4 properties)[] +│ │ │ │ ├── Label: *string +│ │ │ │ ├── LatestRevision: *bool +│ │ │ │ ├── RevisionName: *string +│ │ │ │ └── Weight: *int +│ │ │ └── Transport: *Enum (4 values) +│ │ │ ├── "auto" +│ │ │ ├── "http" +│ │ │ ├── "http2" +│ │ │ └── "tcp" +│ │ ├── MaxInactiveRevisions: *int +│ │ ├── Registries: Object (4 properties)[] +│ │ │ ├── IdentityReference: *genruntime.ResourceReference +│ │ │ ├── PasswordSecretRef: *string +│ │ │ ├── Server: *string +│ │ │ └── Username: *string +│ │ ├── Secrets: Object (4 properties)[] +│ │ │ ├── IdentityReference: *genruntime.ResourceReference +│ │ │ ├── KeyVaultUrl: *string +│ │ │ ├── Name: *string +│ │ │ └── Value: *genruntime.SecretReference +│ │ └── Service: *Object (1 property) +│ │ └── Type: *string +│ ├── EnvironmentReference: *genruntime.ResourceReference +│ ├── ExtendedLocation: *Object (2 properties) +│ │ ├── Name: *string +│ │ └── Type: *Enum (1 value) +│ │ └── "CustomLocation" +│ ├── Identity: *Object (2 properties) +│ │ ├── Type: *Enum (4 values) +│ │ │ ├── "None" +│ │ │ ├── "SystemAssigned" +│ │ │ ├── "SystemAssigned,UserAssigned" +│ │ │ └── "UserAssigned" +│ │ └── UserAssignedIdentities: Object (1 property)[] +│ │ └── Reference: genruntime.ResourceReference +│ ├── Location: *string +│ ├── ManagedByReference: *genruntime.ResourceReference +│ ├── ManagedEnvironmentReference: *genruntime.ResourceReference +│ ├── OperatorSpec: *Object (3 properties) +│ │ ├── ConfigMapExpressions: *core.DestinationExpression[] +│ │ ├── ConfigMaps: *Object (2 properties) +│ │ │ ├── EventStreamEndpoint: *genruntime.ConfigMapDestination +│ │ │ └── Fqdn: *genruntime.ConfigMapDestination +│ │ └── SecretExpressions: *core.DestinationExpression[] +│ ├── Owner: *genruntime.KnownResourceReference +│ ├── Tags: map[string]string +│ ├── Template: *Object (7 properties) +│ │ ├── Containers: Object (8 properties)[] +│ │ │ ├── Args: string[] +│ │ │ ├── Command: string[] +│ │ │ ├── Env: Object (3 properties)[] +│ │ │ │ ├── Name: *string +│ │ │ │ ├── SecretRef: *string +│ │ │ │ └── Value: *string +│ │ │ ├── Image: *string +│ │ │ ├── Name: *string +│ │ │ ├── Probes: Object (9 properties)[] +│ │ │ │ ├── FailureThreshold: *int +│ │ │ │ ├── HttpGet: *Object (5 properties) +│ │ │ │ │ ├── Host: *string +│ │ │ │ │ ├── HttpHeaders: Object (2 properties)[] +│ │ │ │ │ │ ├── Name: *string +│ │ │ │ │ │ └── Value: *string +│ │ │ │ │ ├── Path: *string +│ │ │ │ │ ├── Port: *int +│ │ │ │ │ └── Scheme: *Enum (2 values) +│ │ │ │ │ ├── "HTTP" +│ │ │ │ │ └── "HTTPS" +│ │ │ │ ├── InitialDelaySeconds: *int +│ │ │ │ ├── PeriodSeconds: *int +│ │ │ │ ├── SuccessThreshold: *int +│ │ │ │ ├── TcpSocket: *Object (2 properties) +│ │ │ │ │ ├── Host: *string +│ │ │ │ │ └── Port: *int +│ │ │ │ ├── TerminationGracePeriodSeconds: *int +│ │ │ │ ├── TimeoutSeconds: *int +│ │ │ │ └── Type: *Enum (3 values) +│ │ │ │ ├── "Liveness" +│ │ │ │ ├── "Readiness" +│ │ │ │ └── "Startup" +│ │ │ ├── Resources: *Object (2 properties) +│ │ │ │ ├── Cpu: *float64 +│ │ │ │ └── Memory: *string +│ │ │ └── VolumeMounts: Object (3 properties)[] +│ │ │ ├── MountPath: *string +│ │ │ ├── SubPath: *string +│ │ │ └── VolumeName: *string +│ │ ├── InitContainers: Object (7 properties)[] +│ │ │ ├── Args: string[] +│ │ │ ├── Command: string[] +│ │ │ ├── Env: Object (3 properties)[] +│ │ │ │ ├── Name: *string +│ │ │ │ ├── SecretRef: *string +│ │ │ │ └── Value: *string +│ │ │ ├── Image: *string +│ │ │ ├── Name: *string +│ │ │ ├── Resources: *Object (2 properties) +│ │ │ │ ├── Cpu: *float64 +│ │ │ │ └── Memory: *string +│ │ │ └── VolumeMounts: Object (3 properties)[] +│ │ │ ├── MountPath: *string +│ │ │ ├── SubPath: *string +│ │ │ └── VolumeName: *string +│ │ ├── RevisionSuffix: *string +│ │ ├── Scale: *Object (3 properties) +│ │ │ ├── MaxReplicas: *int +│ │ │ ├── MinReplicas: *int +│ │ │ └── Rules: Object (5 properties)[] +│ │ │ ├── AzureQueue: *Object (3 properties) +│ │ │ │ ├── Auth: Object (2 properties)[] +│ │ │ │ │ ├── SecretRef: *string +│ │ │ │ │ └── TriggerParameter: *string +│ │ │ │ ├── QueueLength: *int +│ │ │ │ └── QueueName: *string +│ │ │ ├── Custom: *Object (3 properties) +│ │ │ │ ├── Auth: Object (2 properties)[] +│ │ │ │ │ ├── SecretRef: *string +│ │ │ │ │ └── TriggerParameter: *string +│ │ │ │ ├── Metadata: map[string]string +│ │ │ │ └── Type: *string +│ │ │ ├── Http: *Object (2 properties) +│ │ │ │ ├── Auth: Object (2 properties)[] +│ │ │ │ │ ├── SecretRef: *string +│ │ │ │ │ └── TriggerParameter: *string +│ │ │ │ └── Metadata: map[string]string +│ │ │ ├── Name: *string +│ │ │ └── Tcp: *Object (2 properties) +│ │ │ ├── Auth: Object (2 properties)[] +│ │ │ │ ├── SecretRef: *string +│ │ │ │ └── TriggerParameter: *string +│ │ │ └── Metadata: map[string]string +│ │ ├── ServiceBinds: Object (2 properties)[] +│ │ │ ├── Name: *string +│ │ │ └── ServiceReference: *genruntime.ResourceReference +│ │ ├── TerminationGracePeriodSeconds: *int +│ │ └── Volumes: Object (5 properties)[] +│ │ ├── MountOptions: *string +│ │ ├── Name: *string +│ │ ├── Secrets: Object (2 properties)[] +│ │ │ ├── Path: *string +│ │ │ └── SecretRef: *string +│ │ ├── StorageName: *string +│ │ └── StorageType: *Enum (3 values) +│ │ ├── "AzureFile" +│ │ ├── "EmptyDir" +│ │ └── "Secret" +│ └── WorkloadProfileName: *string +└── Status: Object (22 properties) + ├── Conditions: conditions.Condition[] + ├── Configuration: *Object (7 properties) + │ ├── ActiveRevisionsMode: *Enum (2 values) + │ │ ├── "Multiple" + │ │ └── "Single" + │ ├── Dapr: *Object (8 properties) + │ │ ├── AppId: *string + │ │ ├── AppPort: *int + │ │ ├── AppProtocol: *Enum (2 values) + │ │ │ ├── "grpc" + │ │ │ └── "http" + │ │ ├── EnableApiLogging: *bool + │ │ ├── Enabled: *bool + │ │ ├── HttpMaxRequestSize: *int + │ │ ├── HttpReadBufferSize: *int + │ │ └── LogLevel: *Enum (4 values) + │ │ ├── "debug" + │ │ ├── "error" + │ │ ├── "info" + │ │ └── "warn" + │ ├── Ingress: *Object (13 properties) + │ │ ├── AdditionalPortMappings: Object (3 properties)[] + │ │ │ ├── ExposedPort: *int + │ │ │ ├── External: *bool + │ │ │ └── TargetPort: *int + │ │ ├── AllowInsecure: *bool + │ │ ├── ClientCertificateMode: *Enum (3 values) + │ │ │ ├── "accept" + │ │ │ ├── "ignore" + │ │ │ └── "require" + │ │ ├── CorsPolicy: *Object (6 properties) + │ │ │ ├── AllowCredentials: *bool + │ │ │ ├── AllowedHeaders: string[] + │ │ │ ├── AllowedMethods: string[] + │ │ │ ├── AllowedOrigins: string[] + │ │ │ ├── ExposeHeaders: string[] + │ │ │ └── MaxAge: *int + │ │ ├── CustomDomains: Object (3 properties)[] + │ │ │ ├── BindingType: *Enum (2 values) + │ │ │ │ ├── "Disabled" + │ │ │ │ └── "SniEnabled" + │ │ │ ├── CertificateId: *string + │ │ │ └── Name: *string + │ │ ├── ExposedPort: *int + │ │ ├── External: *bool + │ │ ├── Fqdn: *string + │ │ ├── IpSecurityRestrictions: Object (4 properties)[] + │ │ │ ├── Action: *Enum (2 values) + │ │ │ │ ├── "Allow" + │ │ │ │ └── "Deny" + │ │ │ ├── Description: *string + │ │ │ ├── IpAddressRange: *string + │ │ │ └── Name: *string + │ │ ├── StickySessions: *Object (1 property) + │ │ │ └── Affinity: *Enum (2 values) + │ │ │ ├── "none" + │ │ │ └── "sticky" + │ │ ├── TargetPort: *int + │ │ ├── Traffic: Object (4 properties)[] + │ │ │ ├── Label: *string + │ │ │ ├── LatestRevision: *bool + │ │ │ ├── RevisionName: *string + │ │ │ └── Weight: *int + │ │ └── Transport: *Enum (4 values) + │ │ ├── "auto" + │ │ ├── "http" + │ │ ├── "http2" + │ │ └── "tcp" + │ ├── MaxInactiveRevisions: *int + │ ├── Registries: Object (4 properties)[] + │ │ ├── Identity: *string + │ │ ├── PasswordSecretRef: *string + │ │ ├── Server: *string + │ │ └── Username: *string + │ ├── Secrets: Object (3 properties)[] + │ │ ├── Identity: *string + │ │ ├── KeyVaultUrl: *string + │ │ └── Name: *string + │ └── Service: *Object (1 property) + │ └── Type: *string + ├── CustomDomainVerificationId: *string + ├── EnvironmentId: *string + ├── EventStreamEndpoint: *string + ├── ExtendedLocation: *Object (2 properties) + │ ├── Name: *string + │ └── Type: *Enum (1 value) + │ └── "CustomLocation" + ├── Id: *string + ├── Identity: *Object (4 properties) + │ ├── PrincipalId: *string + │ ├── TenantId: *string + │ ├── Type: *Enum (4 values) + │ │ ├── "None" + │ │ ├── "SystemAssigned" + │ │ ├── "SystemAssigned,UserAssigned" + │ │ └── "UserAssigned" + │ └── UserAssignedIdentities: map[string]Object (2 properties) + │ ├── ClientId: *string + │ └── PrincipalId: *string + ├── LatestReadyRevisionName: *string + ├── LatestRevisionFqdn: *string + ├── LatestRevisionName: *string + ├── Location: *string + ├── ManagedBy: *string + ├── ManagedEnvironmentId: *string + ├── Name: *string + ├── OutboundIpAddresses: string[] + ├── ProvisioningState: *Enum (5 values) + │ ├── "Canceled" + │ ├── "Deleting" + │ ├── "Failed" + │ ├── "InProgress" + │ └── "Succeeded" + ├── 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 + ├── Template: *Object (7 properties) + │ ├── Containers: Object (8 properties)[] + │ │ ├── Args: string[] + │ │ ├── Command: string[] + │ │ ├── Env: Object (3 properties)[] + │ │ │ ├── Name: *string + │ │ │ ├── SecretRef: *string + │ │ │ └── Value: *string + │ │ ├── Image: *string + │ │ ├── Name: *string + │ │ ├── Probes: Object (9 properties)[] + │ │ │ ├── FailureThreshold: *int + │ │ │ ├── HttpGet: *Object (5 properties) + │ │ │ │ ├── Host: *string + │ │ │ │ ├── HttpHeaders: Object (2 properties)[] + │ │ │ │ │ ├── Name: *string + │ │ │ │ │ └── Value: *string + │ │ │ │ ├── Path: *string + │ │ │ │ ├── Port: *int + │ │ │ │ └── Scheme: *Enum (2 values) + │ │ │ │ ├── "HTTP" + │ │ │ │ └── "HTTPS" + │ │ │ ├── InitialDelaySeconds: *int + │ │ │ ├── PeriodSeconds: *int + │ │ │ ├── SuccessThreshold: *int + │ │ │ ├── TcpSocket: *Object (2 properties) + │ │ │ │ ├── Host: *string + │ │ │ │ └── Port: *int + │ │ │ ├── TerminationGracePeriodSeconds: *int + │ │ │ ├── TimeoutSeconds: *int + │ │ │ └── Type: *Enum (3 values) + │ │ │ ├── "Liveness" + │ │ │ ├── "Readiness" + │ │ │ └── "Startup" + │ │ ├── Resources: *Object (3 properties) + │ │ │ ├── Cpu: *float64 + │ │ │ ├── EphemeralStorage: *string + │ │ │ └── Memory: *string + │ │ └── VolumeMounts: Object (3 properties)[] + │ │ ├── MountPath: *string + │ │ ├── SubPath: *string + │ │ └── VolumeName: *string + │ ├── InitContainers: Object (7 properties)[] + │ │ ├── Args: string[] + │ │ ├── Command: string[] + │ │ ├── Env: Object (3 properties)[] + │ │ │ ├── Name: *string + │ │ │ ├── SecretRef: *string + │ │ │ └── Value: *string + │ │ ├── Image: *string + │ │ ├── Name: *string + │ │ ├── Resources: *Object (3 properties) + │ │ │ ├── Cpu: *float64 + │ │ │ ├── EphemeralStorage: *string + │ │ │ └── Memory: *string + │ │ └── VolumeMounts: Object (3 properties)[] + │ │ ├── MountPath: *string + │ │ ├── SubPath: *string + │ │ └── VolumeName: *string + │ ├── RevisionSuffix: *string + │ ├── Scale: *Object (3 properties) + │ │ ├── MaxReplicas: *int + │ │ ├── MinReplicas: *int + │ │ └── Rules: Object (5 properties)[] + │ │ ├── AzureQueue: *Object (3 properties) + │ │ │ ├── Auth: Object (2 properties)[] + │ │ │ │ ├── SecretRef: *string + │ │ │ │ └── TriggerParameter: *string + │ │ │ ├── QueueLength: *int + │ │ │ └── QueueName: *string + │ │ ├── Custom: *Object (3 properties) + │ │ │ ├── Auth: Object (2 properties)[] + │ │ │ │ ├── SecretRef: *string + │ │ │ │ └── TriggerParameter: *string + │ │ │ ├── Metadata: map[string]string + │ │ │ └── Type: *string + │ │ ├── Http: *Object (2 properties) + │ │ │ ├── Auth: Object (2 properties)[] + │ │ │ │ ├── SecretRef: *string + │ │ │ │ └── TriggerParameter: *string + │ │ │ └── Metadata: map[string]string + │ │ ├── Name: *string + │ │ └── Tcp: *Object (2 properties) + │ │ ├── Auth: Object (2 properties)[] + │ │ │ ├── SecretRef: *string + │ │ │ └── TriggerParameter: *string + │ │ └── Metadata: map[string]string + │ ├── ServiceBinds: Object (2 properties)[] + │ │ ├── Name: *string + │ │ └── ServiceId: *string + │ ├── TerminationGracePeriodSeconds: *int + │ └── Volumes: Object (5 properties)[] + │ ├── MountOptions: *string + │ ├── Name: *string + │ ├── Secrets: Object (2 properties)[] + │ │ ├── Path: *string + │ │ └── SecretRef: *string + │ ├── StorageName: *string + │ └── StorageType: *Enum (3 values) + │ ├── "AzureFile" + │ ├── "EmptyDir" + │ └── "Secret" + ├── Type: *string + └── WorkloadProfileName: *string +Job: Resource +├── Owner: resources/v1apiv20191001.ResourceGroup +├── Spec: Object (10 properties) +│ ├── AzureName: Validated (1 rule) +│ │ └── Rule 0: Pattern: "^[-\\w\\._\\(\\)]+$" +│ ├── Configuration: *Object (8 properties) +│ │ ├── EventTriggerConfig: *Object (3 properties) +│ │ │ ├── Parallelism: *int +│ │ │ ├── ReplicaCompletionCount: *int +│ │ │ └── Scale: *Object (4 properties) +│ │ │ ├── MaxExecutions: *int +│ │ │ ├── MinExecutions: *int +│ │ │ ├── PollingInterval: *int +│ │ │ └── Rules: Object (4 properties)[] +│ │ │ ├── Auth: Object (2 properties)[] +│ │ │ │ ├── SecretRef: *string +│ │ │ │ └── TriggerParameter: *string +│ │ │ ├── Metadata: map[string]v1.JSON +│ │ │ ├── Name: *string +│ │ │ └── Type: *string +│ │ ├── ManualTriggerConfig: *Object (2 properties) +│ │ │ ├── Parallelism: *int +│ │ │ └── ReplicaCompletionCount: *int +│ │ ├── Registries: Object (4 properties)[] +│ │ │ ├── IdentityReference: *genruntime.ResourceReference +│ │ │ ├── PasswordSecretRef: *string +│ │ │ ├── Server: *string +│ │ │ └── Username: *string +│ │ ├── ReplicaRetryLimit: *int +│ │ ├── ReplicaTimeout: *int +│ │ ├── ScheduleTriggerConfig: *Object (3 properties) +│ │ │ ├── CronExpression: *string +│ │ │ ├── Parallelism: *int +│ │ │ └── ReplicaCompletionCount: *int +│ │ ├── Secrets: Object (4 properties)[] +│ │ │ ├── IdentityReference: *genruntime.ResourceReference +│ │ │ ├── KeyVaultUrl: *string +│ │ │ ├── Name: *string +│ │ │ └── Value: *genruntime.SecretReference +│ │ └── TriggerType: *Enum (3 values) +│ │ ├── "Event" +│ │ ├── "Manual" +│ │ └── "Schedule" +│ ├── EnvironmentReference: *genruntime.ResourceReference +│ ├── Identity: *Object (2 properties) +│ │ ├── Type: *Enum (4 values) +│ │ │ ├── "None" +│ │ │ ├── "SystemAssigned" +│ │ │ ├── "SystemAssigned,UserAssigned" +│ │ │ └── "UserAssigned" +│ │ └── UserAssignedIdentities: Object (1 property)[] +│ │ └── Reference: genruntime.ResourceReference +│ ├── Location: *string +│ ├── OperatorSpec: *Object (2 properties) +│ │ ├── ConfigMapExpressions: *core.DestinationExpression[] +│ │ └── SecretExpressions: *core.DestinationExpression[] +│ ├── Owner: *genruntime.KnownResourceReference +│ ├── Tags: map[string]string +│ ├── Template: *Object (3 properties) +│ │ ├── Containers: Object (8 properties)[] +│ │ │ ├── Args: string[] +│ │ │ ├── Command: string[] +│ │ │ ├── Env: Object (3 properties)[] +│ │ │ │ ├── Name: *string +│ │ │ │ ├── SecretRef: *string +│ │ │ │ └── Value: *string +│ │ │ ├── Image: *string +│ │ │ ├── Name: *string +│ │ │ ├── Probes: Object (9 properties)[] +│ │ │ │ ├── FailureThreshold: *int +│ │ │ │ ├── HttpGet: *Object (5 properties) +│ │ │ │ │ ├── Host: *string +│ │ │ │ │ ├── HttpHeaders: Object (2 properties)[] +│ │ │ │ │ │ ├── Name: *string +│ │ │ │ │ │ └── Value: *string +│ │ │ │ │ ├── Path: *string +│ │ │ │ │ ├── Port: *int +│ │ │ │ │ └── Scheme: *Enum (2 values) +│ │ │ │ │ ├── "HTTP" +│ │ │ │ │ └── "HTTPS" +│ │ │ │ ├── InitialDelaySeconds: *int +│ │ │ │ ├── PeriodSeconds: *int +│ │ │ │ ├── SuccessThreshold: *int +│ │ │ │ ├── TcpSocket: *Object (2 properties) +│ │ │ │ │ ├── Host: *string +│ │ │ │ │ └── Port: *int +│ │ │ │ ├── TerminationGracePeriodSeconds: *int +│ │ │ │ ├── TimeoutSeconds: *int +│ │ │ │ └── Type: *Enum (3 values) +│ │ │ │ ├── "Liveness" +│ │ │ │ ├── "Readiness" +│ │ │ │ └── "Startup" +│ │ │ ├── Resources: *Object (2 properties) +│ │ │ │ ├── Cpu: *float64 +│ │ │ │ └── Memory: *string +│ │ │ └── VolumeMounts: Object (3 properties)[] +│ │ │ ├── MountPath: *string +│ │ │ ├── SubPath: *string +│ │ │ └── VolumeName: *string +│ │ ├── InitContainers: Object (7 properties)[] +│ │ │ ├── Args: string[] +│ │ │ ├── Command: string[] +│ │ │ ├── Env: Object (3 properties)[] +│ │ │ │ ├── Name: *string +│ │ │ │ ├── SecretRef: *string +│ │ │ │ └── Value: *string +│ │ │ ├── Image: *string +│ │ │ ├── Name: *string +│ │ │ ├── Resources: *Object (2 properties) +│ │ │ │ ├── Cpu: *float64 +│ │ │ │ └── Memory: *string +│ │ │ └── VolumeMounts: Object (3 properties)[] +│ │ │ ├── MountPath: *string +│ │ │ ├── SubPath: *string +│ │ │ └── VolumeName: *string +│ │ └── Volumes: Object (5 properties)[] +│ │ ├── MountOptions: *string +│ │ ├── Name: *string +│ │ ├── Secrets: Object (2 properties)[] +│ │ │ ├── Path: *string +│ │ │ └── SecretRef: *string +│ │ ├── StorageName: *string +│ │ └── StorageType: *Enum (3 values) +│ │ ├── "AzureFile" +│ │ ├── "EmptyDir" +│ │ └── "Secret" +│ └── WorkloadProfileName: *string +└── Status: Object (15 properties) + ├── Conditions: conditions.Condition[] + ├── Configuration: *Object (8 properties) + │ ├── EventTriggerConfig: *Object (3 properties) + │ │ ├── Parallelism: *int + │ │ ├── ReplicaCompletionCount: *int + │ │ └── Scale: *Object (4 properties) + │ │ ├── MaxExecutions: *int + │ │ ├── MinExecutions: *int + │ │ ├── PollingInterval: *int + │ │ └── Rules: Object (4 properties)[] + │ │ ├── Auth: Object (2 properties)[] + │ │ │ ├── SecretRef: *string + │ │ │ └── TriggerParameter: *string + │ │ ├── Metadata: map[string]v1.JSON + │ │ ├── Name: *string + │ │ └── Type: *string + │ ├── ManualTriggerConfig: *Object (2 properties) + │ │ ├── Parallelism: *int + │ │ └── ReplicaCompletionCount: *int + │ ├── Registries: Object (4 properties)[] + │ │ ├── Identity: *string + │ │ ├── PasswordSecretRef: *string + │ │ ├── Server: *string + │ │ └── Username: *string + │ ├── ReplicaRetryLimit: *int + │ ├── ReplicaTimeout: *int + │ ├── ScheduleTriggerConfig: *Object (3 properties) + │ │ ├── CronExpression: *string + │ │ ├── Parallelism: *int + │ │ └── ReplicaCompletionCount: *int + │ ├── Secrets: Object (3 properties)[] + │ │ ├── Identity: *string + │ │ ├── KeyVaultUrl: *string + │ │ └── Name: *string + │ └── TriggerType: *Enum (3 values) + │ ├── "Event" + │ ├── "Manual" + │ └── "Schedule" + ├── EnvironmentId: *string + ├── EventStreamEndpoint: *string + ├── Id: *string + ├── Identity: *Object (4 properties) + │ ├── PrincipalId: *string + │ ├── TenantId: *string + │ ├── Type: *Enum (4 values) + │ │ ├── "None" + │ │ ├── "SystemAssigned" + │ │ ├── "SystemAssigned,UserAssigned" + │ │ └── "UserAssigned" + │ └── UserAssignedIdentities: map[string]Object (2 properties) + │ ├── ClientId: *string + │ └── PrincipalId: *string + ├── Location: *string + ├── Name: *string + ├── OutboundIpAddresses: string[] + ├── ProvisioningState: *Enum (5 values) + │ ├── "Canceled" + │ ├── "Deleting" + │ ├── "Failed" + │ ├── "InProgress" + │ └── "Succeeded" + ├── 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 + ├── Template: *Object (3 properties) + │ ├── Containers: Object (8 properties)[] + │ │ ├── Args: string[] + │ │ ├── Command: string[] + │ │ ├── Env: Object (3 properties)[] + │ │ │ ├── Name: *string + │ │ │ ├── SecretRef: *string + │ │ │ └── Value: *string + │ │ ├── Image: *string + │ │ ├── Name: *string + │ │ ├── Probes: Object (9 properties)[] + │ │ │ ├── FailureThreshold: *int + │ │ │ ├── HttpGet: *Object (5 properties) + │ │ │ │ ├── Host: *string + │ │ │ │ ├── HttpHeaders: Object (2 properties)[] + │ │ │ │ │ ├── Name: *string + │ │ │ │ │ └── Value: *string + │ │ │ │ ├── Path: *string + │ │ │ │ ├── Port: *int + │ │ │ │ └── Scheme: *Enum (2 values) + │ │ │ │ ├── "HTTP" + │ │ │ │ └── "HTTPS" + │ │ │ ├── InitialDelaySeconds: *int + │ │ │ ├── PeriodSeconds: *int + │ │ │ ├── SuccessThreshold: *int + │ │ │ ├── TcpSocket: *Object (2 properties) + │ │ │ │ ├── Host: *string + │ │ │ │ └── Port: *int + │ │ │ ├── TerminationGracePeriodSeconds: *int + │ │ │ ├── TimeoutSeconds: *int + │ │ │ └── Type: *Enum (3 values) + │ │ │ ├── "Liveness" + │ │ │ ├── "Readiness" + │ │ │ └── "Startup" + │ │ ├── Resources: *Object (3 properties) + │ │ │ ├── Cpu: *float64 + │ │ │ ├── EphemeralStorage: *string + │ │ │ └── Memory: *string + │ │ └── VolumeMounts: Object (3 properties)[] + │ │ ├── MountPath: *string + │ │ ├── SubPath: *string + │ │ └── VolumeName: *string + │ ├── InitContainers: Object (7 properties)[] + │ │ ├── Args: string[] + │ │ ├── Command: string[] + │ │ ├── Env: Object (3 properties)[] + │ │ │ ├── Name: *string + │ │ │ ├── SecretRef: *string + │ │ │ └── Value: *string + │ │ ├── Image: *string + │ │ ├── Name: *string + │ │ ├── Resources: *Object (3 properties) + │ │ │ ├── Cpu: *float64 + │ │ │ ├── EphemeralStorage: *string + │ │ │ └── Memory: *string + │ │ └── VolumeMounts: Object (3 properties)[] + │ │ ├── MountPath: *string + │ │ ├── SubPath: *string + │ │ └── VolumeName: *string + │ └── Volumes: Object (5 properties)[] + │ ├── MountOptions: *string + │ ├── Name: *string + │ ├── Secrets: Object (2 properties)[] + │ │ ├── Path: *string + │ │ └── SecretRef: *string + │ ├── StorageName: *string + │ └── StorageType: *Enum (3 values) + │ ├── "AzureFile" + │ ├── "EmptyDir" + │ └── "Secret" + ├── Type: *string + └── WorkloadProfileName: *string +ManagedEnvironment: Resource +├── Owner: resources/v1apiv20191001.ResourceGroup +├── Spec: Object (16 properties) +│ ├── AppLogsConfiguration: *Object (2 properties) +│ │ ├── Destination: *string +│ │ └── LogAnalyticsConfiguration: *Object (2 properties) +│ │ ├── CustomerId: *string +│ │ └── SharedKey: *genruntime.SecretReference +│ ├── AzureName: string +│ ├── CustomDomainConfiguration: *Object (3 properties) +│ │ ├── CertificatePassword: *genruntime.SecretReference +│ │ ├── CertificateValue: *genruntime.SecretReference +│ │ └── DnsSuffix: *string +│ ├── DaprAIConnectionString: *genruntime.SecretReference +│ ├── DaprAIInstrumentationKey: *genruntime.SecretReference +│ ├── InfrastructureResourceGroup: *string +│ ├── Kind: *string +│ ├── Location: *string +│ ├── OperatorSpec: *Object (2 properties) +│ │ ├── ConfigMapExpressions: *core.DestinationExpression[] +│ │ └── SecretExpressions: *core.DestinationExpression[] +│ ├── Owner: *genruntime.KnownResourceReference +│ ├── PeerAuthentication: *Object (1 property) +│ │ └── Mtls: *Object (1 property) +│ │ └── Enabled: *bool +│ ├── PeerTrafficConfiguration: *Object (1 property) +│ │ └── Encryption: *Object (1 property) +│ │ └── Enabled: *bool +│ ├── Tags: map[string]string +│ ├── VnetConfiguration: *Object (5 properties) +│ │ ├── DockerBridgeCidr: *string +│ │ ├── InfrastructureSubnetReference: *genruntime.ResourceReference +│ │ ├── Internal: *bool +│ │ ├── PlatformReservedCidr: *string +│ │ └── PlatformReservedDnsIP: *string +│ ├── WorkloadProfiles: Object (4 properties)[] +│ │ ├── MaximumCount: *int +│ │ ├── MinimumCount: *int +│ │ ├── Name: *string +│ │ └── WorkloadProfileType: *string +│ └── ZoneRedundant: *bool +└── Status: Object (23 properties) + ├── AppLogsConfiguration: *Object (2 properties) + │ ├── Destination: *string + │ └── LogAnalyticsConfiguration: *Object (1 property) + │ └── CustomerId: *string + ├── Conditions: conditions.Condition[] + ├── CustomDomainConfiguration: *Object (5 properties) + │ ├── CustomDomainVerificationId: *string + │ ├── DnsSuffix: *string + │ ├── ExpirationDate: *string + │ ├── SubjectName: *string + │ └── Thumbprint: *string + ├── DaprConfiguration: *Object (1 property) + │ └── Version: *string + ├── DefaultDomain: *string + ├── DeploymentErrors: *string + ├── EventStreamEndpoint: *string + ├── Id: *string + ├── InfrastructureResourceGroup: *string + ├── KedaConfiguration: *Object (1 property) + │ └── Version: *string + ├── Kind: *string + ├── Location: *string + ├── Name: *string + ├── PeerAuthentication: *Object (1 property) + │ └── Mtls: *Object (1 property) + │ └── Enabled: *bool + ├── PeerTrafficConfiguration: *Object (1 property) + │ └── Encryption: *Object (1 property) + │ └── Enabled: *bool + ├── ProvisioningState: *Enum (10 values) + │ ├── "Canceled" + │ ├── "Failed" + │ ├── "InfrastructureSetupComplete" + │ ├── "InfrastructureSetupInProgress" + │ ├── "InitializationInProgress" + │ ├── "ScheduledForDelete" + │ ├── "Succeeded" + │ ├── "UpgradeFailed" + │ ├── "UpgradeRequested" + │ └── "Waiting" + ├── StaticIp: *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 + ├── VnetConfiguration: *Object (5 properties) + │ ├── DockerBridgeCidr: *string + │ ├── InfrastructureSubnetId: *string + │ ├── Internal: *bool + │ ├── PlatformReservedCidr: *string + │ └── PlatformReservedDnsIP: *string + ├── WorkloadProfiles: Object (4 properties)[] + │ ├── MaximumCount: *int + │ ├── MinimumCount: *int + │ ├── Name: *string + │ └── WorkloadProfileType: *string + └── ZoneRedundant: *bool diff --git a/v2/api/app/v1api20240301/zz_generated.deepcopy.go b/v2/api/app/v1api20240301/zz_generated.deepcopy.go new file mode 100644 index 00000000000..0983d693a6e --- /dev/null +++ b/v2/api/app/v1api20240301/zz_generated.deepcopy.go @@ -0,0 +1,6955 @@ +//go:build !ignore_autogenerated + +/* +Copyright (c) Microsoft Corporation. +Licensed under the MIT license. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1api20240301 + +import ( + "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/core" + "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 *AllowedAudiencesValidation) DeepCopyInto(out *AllowedAudiencesValidation) { + *out = *in + if in.AllowedAudiences != nil { + in, out := &in.AllowedAudiences, &out.AllowedAudiences + *out = make([]string, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowedAudiencesValidation. +func (in *AllowedAudiencesValidation) DeepCopy() *AllowedAudiencesValidation { + if in == nil { + return nil + } + out := new(AllowedAudiencesValidation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AllowedAudiencesValidation_STATUS) DeepCopyInto(out *AllowedAudiencesValidation_STATUS) { + *out = *in + if in.AllowedAudiences != nil { + in, out := &in.AllowedAudiences, &out.AllowedAudiences + *out = make([]string, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowedAudiencesValidation_STATUS. +func (in *AllowedAudiencesValidation_STATUS) DeepCopy() *AllowedAudiencesValidation_STATUS { + if in == nil { + return nil + } + out := new(AllowedAudiencesValidation_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 *AllowedPrincipals) DeepCopyInto(out *AllowedPrincipals) { + *out = *in + if in.Groups != nil { + in, out := &in.Groups, &out.Groups + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Identities != nil { + in, out := &in.Identities, &out.Identities + *out = make([]string, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowedPrincipals. +func (in *AllowedPrincipals) DeepCopy() *AllowedPrincipals { + if in == nil { + return nil + } + out := new(AllowedPrincipals) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AllowedPrincipals_STATUS) DeepCopyInto(out *AllowedPrincipals_STATUS) { + *out = *in + if in.Groups != nil { + in, out := &in.Groups, &out.Groups + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Identities != nil { + in, out := &in.Identities, &out.Identities + *out = make([]string, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowedPrincipals_STATUS. +func (in *AllowedPrincipals_STATUS) DeepCopy() *AllowedPrincipals_STATUS { + if in == nil { + return nil + } + out := new(AllowedPrincipals_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 *AppLogsConfiguration) DeepCopyInto(out *AppLogsConfiguration) { + *out = *in + if in.Destination != nil { + in, out := &in.Destination, &out.Destination + *out = new(string) + **out = **in + } + if in.LogAnalyticsConfiguration != nil { + in, out := &in.LogAnalyticsConfiguration, &out.LogAnalyticsConfiguration + *out = new(LogAnalyticsConfiguration) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppLogsConfiguration. +func (in *AppLogsConfiguration) DeepCopy() *AppLogsConfiguration { + if in == nil { + return nil + } + out := new(AppLogsConfiguration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppLogsConfiguration_STATUS) DeepCopyInto(out *AppLogsConfiguration_STATUS) { + *out = *in + if in.Destination != nil { + in, out := &in.Destination, &out.Destination + *out = new(string) + **out = **in + } + if in.LogAnalyticsConfiguration != nil { + in, out := &in.LogAnalyticsConfiguration, &out.LogAnalyticsConfiguration + *out = new(LogAnalyticsConfiguration_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppLogsConfiguration_STATUS. +func (in *AppLogsConfiguration_STATUS) DeepCopy() *AppLogsConfiguration_STATUS { + if in == nil { + return nil + } + out := new(AppLogsConfiguration_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 *AppRegistration) DeepCopyInto(out *AppRegistration) { + *out = *in + if in.AppId != nil { + in, out := &in.AppId, &out.AppId + *out = new(string) + **out = **in + } + if in.AppSecretSettingName != nil { + in, out := &in.AppSecretSettingName, &out.AppSecretSettingName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppRegistration. +func (in *AppRegistration) DeepCopy() *AppRegistration { + if in == nil { + return nil + } + out := new(AppRegistration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppRegistration_STATUS) DeepCopyInto(out *AppRegistration_STATUS) { + *out = *in + if in.AppId != nil { + in, out := &in.AppId, &out.AppId + *out = new(string) + **out = **in + } + if in.AppSecretSettingName != nil { + in, out := &in.AppSecretSettingName, &out.AppSecretSettingName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppRegistration_STATUS. +func (in *AppRegistration_STATUS) DeepCopy() *AppRegistration_STATUS { + if in == nil { + return nil + } + out := new(AppRegistration_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 *Apple) DeepCopyInto(out *Apple) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(LoginScopes) + (*in).DeepCopyInto(*out) + } + if in.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(AppleRegistration) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Apple. +func (in *Apple) DeepCopy() *Apple { + if in == nil { + return nil + } + out := new(Apple) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppleRegistration) DeepCopyInto(out *AppleRegistration) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.ClientSecretSettingName != nil { + in, out := &in.ClientSecretSettingName, &out.ClientSecretSettingName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppleRegistration. +func (in *AppleRegistration) DeepCopy() *AppleRegistration { + if in == nil { + return nil + } + out := new(AppleRegistration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppleRegistration_STATUS) DeepCopyInto(out *AppleRegistration_STATUS) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.ClientSecretSettingName != nil { + in, out := &in.ClientSecretSettingName, &out.ClientSecretSettingName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppleRegistration_STATUS. +func (in *AppleRegistration_STATUS) DeepCopy() *AppleRegistration_STATUS { + if in == nil { + return nil + } + out := new(AppleRegistration_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 *Apple_STATUS) DeepCopyInto(out *Apple_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(LoginScopes_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(AppleRegistration_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Apple_STATUS. +func (in *Apple_STATUS) DeepCopy() *Apple_STATUS { + if in == nil { + return nil + } + out := new(Apple_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 *AuthConfig) DeepCopyInto(out *AuthConfig) { + *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 AuthConfig. +func (in *AuthConfig) DeepCopy() *AuthConfig { + if in == nil { + return nil + } + out := new(AuthConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AuthConfig) 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 *AuthConfigList) DeepCopyInto(out *AuthConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]AuthConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthConfigList. +func (in *AuthConfigList) DeepCopy() *AuthConfigList { + if in == nil { + return nil + } + out := new(AuthConfigList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AuthConfigList) 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 *AuthConfigOperatorSpec) DeepCopyInto(out *AuthConfigOperatorSpec) { + *out = *in + if in.ConfigMapExpressions != nil { + in, out := &in.ConfigMapExpressions, &out.ConfigMapExpressions + *out = make([]*core.DestinationExpression, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(core.DestinationExpression) + **out = **in + } + } + } + if in.SecretExpressions != nil { + in, out := &in.SecretExpressions, &out.SecretExpressions + *out = make([]*core.DestinationExpression, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(core.DestinationExpression) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthConfigOperatorSpec. +func (in *AuthConfigOperatorSpec) DeepCopy() *AuthConfigOperatorSpec { + if in == nil { + return nil + } + out := new(AuthConfigOperatorSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AuthConfig_STATUS) DeepCopyInto(out *AuthConfig_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.EncryptionSettings != nil { + in, out := &in.EncryptionSettings, &out.EncryptionSettings + *out = new(EncryptionSettings_STATUS) + (*in).DeepCopyInto(*out) + } + if in.GlobalValidation != nil { + in, out := &in.GlobalValidation, &out.GlobalValidation + *out = new(GlobalValidation_STATUS) + (*in).DeepCopyInto(*out) + } + if in.HttpSettings != nil { + in, out := &in.HttpSettings, &out.HttpSettings + *out = new(HttpSettings_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.IdentityProviders != nil { + in, out := &in.IdentityProviders, &out.IdentityProviders + *out = new(IdentityProviders_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(Login_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Platform != nil { + in, out := &in.Platform, &out.Platform + *out = new(AuthPlatform_STATUS) + (*in).DeepCopyInto(*out) + } + 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 AuthConfig_STATUS. +func (in *AuthConfig_STATUS) DeepCopy() *AuthConfig_STATUS { + if in == nil { + return nil + } + out := new(AuthConfig_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 *AuthConfig_Spec) DeepCopyInto(out *AuthConfig_Spec) { + *out = *in + if in.EncryptionSettings != nil { + in, out := &in.EncryptionSettings, &out.EncryptionSettings + *out = new(EncryptionSettings) + (*in).DeepCopyInto(*out) + } + if in.GlobalValidation != nil { + in, out := &in.GlobalValidation, &out.GlobalValidation + *out = new(GlobalValidation) + (*in).DeepCopyInto(*out) + } + if in.HttpSettings != nil { + in, out := &in.HttpSettings, &out.HttpSettings + *out = new(HttpSettings) + (*in).DeepCopyInto(*out) + } + if in.IdentityProviders != nil { + in, out := &in.IdentityProviders, &out.IdentityProviders + *out = new(IdentityProviders) + (*in).DeepCopyInto(*out) + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(Login) + (*in).DeepCopyInto(*out) + } + if in.OperatorSpec != nil { + in, out := &in.OperatorSpec, &out.OperatorSpec + *out = new(AuthConfigOperatorSpec) + (*in).DeepCopyInto(*out) + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.KnownResourceReference) + **out = **in + } + if in.Platform != nil { + in, out := &in.Platform, &out.Platform + *out = new(AuthPlatform) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthConfig_Spec. +func (in *AuthConfig_Spec) DeepCopy() *AuthConfig_Spec { + if in == nil { + return nil + } + out := new(AuthConfig_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 *AuthPlatform) DeepCopyInto(out *AuthPlatform) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.RuntimeVersion != nil { + in, out := &in.RuntimeVersion, &out.RuntimeVersion + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthPlatform. +func (in *AuthPlatform) DeepCopy() *AuthPlatform { + if in == nil { + return nil + } + out := new(AuthPlatform) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AuthPlatform_STATUS) DeepCopyInto(out *AuthPlatform_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.RuntimeVersion != nil { + in, out := &in.RuntimeVersion, &out.RuntimeVersion + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthPlatform_STATUS. +func (in *AuthPlatform_STATUS) DeepCopy() *AuthPlatform_STATUS { + if in == nil { + return nil + } + out := new(AuthPlatform_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 *AzureActiveDirectory) DeepCopyInto(out *AzureActiveDirectory) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.IsAutoProvisioned != nil { + in, out := &in.IsAutoProvisioned, &out.IsAutoProvisioned + *out = new(bool) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(AzureActiveDirectoryLogin) + (*in).DeepCopyInto(*out) + } + if in.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(AzureActiveDirectoryRegistration) + (*in).DeepCopyInto(*out) + } + if in.Validation != nil { + in, out := &in.Validation, &out.Validation + *out = new(AzureActiveDirectoryValidation) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureActiveDirectory. +func (in *AzureActiveDirectory) DeepCopy() *AzureActiveDirectory { + if in == nil { + return nil + } + out := new(AzureActiveDirectory) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AzureActiveDirectoryLogin) DeepCopyInto(out *AzureActiveDirectoryLogin) { + *out = *in + if in.DisableWWWAuthenticate != nil { + in, out := &in.DisableWWWAuthenticate, &out.DisableWWWAuthenticate + *out = new(bool) + **out = **in + } + if in.LoginParameters != nil { + in, out := &in.LoginParameters, &out.LoginParameters + *out = make([]string, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureActiveDirectoryLogin. +func (in *AzureActiveDirectoryLogin) DeepCopy() *AzureActiveDirectoryLogin { + if in == nil { + return nil + } + out := new(AzureActiveDirectoryLogin) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AzureActiveDirectoryLogin_STATUS) DeepCopyInto(out *AzureActiveDirectoryLogin_STATUS) { + *out = *in + if in.DisableWWWAuthenticate != nil { + in, out := &in.DisableWWWAuthenticate, &out.DisableWWWAuthenticate + *out = new(bool) + **out = **in + } + if in.LoginParameters != nil { + in, out := &in.LoginParameters, &out.LoginParameters + *out = make([]string, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureActiveDirectoryLogin_STATUS. +func (in *AzureActiveDirectoryLogin_STATUS) DeepCopy() *AzureActiveDirectoryLogin_STATUS { + if in == nil { + return nil + } + out := new(AzureActiveDirectoryLogin_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 *AzureActiveDirectoryRegistration) DeepCopyInto(out *AzureActiveDirectoryRegistration) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.ClientSecretCertificateIssuer != nil { + in, out := &in.ClientSecretCertificateIssuer, &out.ClientSecretCertificateIssuer + *out = new(string) + **out = **in + } + if in.ClientSecretCertificateSubjectAlternativeName != nil { + in, out := &in.ClientSecretCertificateSubjectAlternativeName, &out.ClientSecretCertificateSubjectAlternativeName + *out = new(string) + **out = **in + } + if in.ClientSecretCertificateThumbprint != nil { + in, out := &in.ClientSecretCertificateThumbprint, &out.ClientSecretCertificateThumbprint + *out = new(string) + **out = **in + } + if in.ClientSecretSettingName != nil { + in, out := &in.ClientSecretSettingName, &out.ClientSecretSettingName + *out = new(string) + **out = **in + } + if in.OpenIdIssuer != nil { + in, out := &in.OpenIdIssuer, &out.OpenIdIssuer + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureActiveDirectoryRegistration. +func (in *AzureActiveDirectoryRegistration) DeepCopy() *AzureActiveDirectoryRegistration { + if in == nil { + return nil + } + out := new(AzureActiveDirectoryRegistration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AzureActiveDirectoryRegistration_STATUS) DeepCopyInto(out *AzureActiveDirectoryRegistration_STATUS) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.ClientSecretCertificateIssuer != nil { + in, out := &in.ClientSecretCertificateIssuer, &out.ClientSecretCertificateIssuer + *out = new(string) + **out = **in + } + if in.ClientSecretCertificateSubjectAlternativeName != nil { + in, out := &in.ClientSecretCertificateSubjectAlternativeName, &out.ClientSecretCertificateSubjectAlternativeName + *out = new(string) + **out = **in + } + if in.ClientSecretCertificateThumbprint != nil { + in, out := &in.ClientSecretCertificateThumbprint, &out.ClientSecretCertificateThumbprint + *out = new(string) + **out = **in + } + if in.ClientSecretSettingName != nil { + in, out := &in.ClientSecretSettingName, &out.ClientSecretSettingName + *out = new(string) + **out = **in + } + if in.OpenIdIssuer != nil { + in, out := &in.OpenIdIssuer, &out.OpenIdIssuer + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureActiveDirectoryRegistration_STATUS. +func (in *AzureActiveDirectoryRegistration_STATUS) DeepCopy() *AzureActiveDirectoryRegistration_STATUS { + if in == nil { + return nil + } + out := new(AzureActiveDirectoryRegistration_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 *AzureActiveDirectoryValidation) DeepCopyInto(out *AzureActiveDirectoryValidation) { + *out = *in + if in.AllowedAudiences != nil { + in, out := &in.AllowedAudiences, &out.AllowedAudiences + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.DefaultAuthorizationPolicy != nil { + in, out := &in.DefaultAuthorizationPolicy, &out.DefaultAuthorizationPolicy + *out = new(DefaultAuthorizationPolicy) + (*in).DeepCopyInto(*out) + } + if in.JwtClaimChecks != nil { + in, out := &in.JwtClaimChecks, &out.JwtClaimChecks + *out = new(JwtClaimChecks) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureActiveDirectoryValidation. +func (in *AzureActiveDirectoryValidation) DeepCopy() *AzureActiveDirectoryValidation { + if in == nil { + return nil + } + out := new(AzureActiveDirectoryValidation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AzureActiveDirectoryValidation_STATUS) DeepCopyInto(out *AzureActiveDirectoryValidation_STATUS) { + *out = *in + if in.AllowedAudiences != nil { + in, out := &in.AllowedAudiences, &out.AllowedAudiences + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.DefaultAuthorizationPolicy != nil { + in, out := &in.DefaultAuthorizationPolicy, &out.DefaultAuthorizationPolicy + *out = new(DefaultAuthorizationPolicy_STATUS) + (*in).DeepCopyInto(*out) + } + if in.JwtClaimChecks != nil { + in, out := &in.JwtClaimChecks, &out.JwtClaimChecks + *out = new(JwtClaimChecks_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureActiveDirectoryValidation_STATUS. +func (in *AzureActiveDirectoryValidation_STATUS) DeepCopy() *AzureActiveDirectoryValidation_STATUS { + if in == nil { + return nil + } + out := new(AzureActiveDirectoryValidation_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 *AzureActiveDirectory_STATUS) DeepCopyInto(out *AzureActiveDirectory_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.IsAutoProvisioned != nil { + in, out := &in.IsAutoProvisioned, &out.IsAutoProvisioned + *out = new(bool) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(AzureActiveDirectoryLogin_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(AzureActiveDirectoryRegistration_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Validation != nil { + in, out := &in.Validation, &out.Validation + *out = new(AzureActiveDirectoryValidation_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureActiveDirectory_STATUS. +func (in *AzureActiveDirectory_STATUS) DeepCopy() *AzureActiveDirectory_STATUS { + if in == nil { + return nil + } + out := new(AzureActiveDirectory_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 *AzureStaticWebApps) DeepCopyInto(out *AzureStaticWebApps) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(AzureStaticWebAppsRegistration) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureStaticWebApps. +func (in *AzureStaticWebApps) DeepCopy() *AzureStaticWebApps { + if in == nil { + return nil + } + out := new(AzureStaticWebApps) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AzureStaticWebAppsRegistration) DeepCopyInto(out *AzureStaticWebAppsRegistration) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureStaticWebAppsRegistration. +func (in *AzureStaticWebAppsRegistration) DeepCopy() *AzureStaticWebAppsRegistration { + if in == nil { + return nil + } + out := new(AzureStaticWebAppsRegistration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AzureStaticWebAppsRegistration_STATUS) DeepCopyInto(out *AzureStaticWebAppsRegistration_STATUS) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureStaticWebAppsRegistration_STATUS. +func (in *AzureStaticWebAppsRegistration_STATUS) DeepCopy() *AzureStaticWebAppsRegistration_STATUS { + if in == nil { + return nil + } + out := new(AzureStaticWebAppsRegistration_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 *AzureStaticWebApps_STATUS) DeepCopyInto(out *AzureStaticWebApps_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(AzureStaticWebAppsRegistration_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureStaticWebApps_STATUS. +func (in *AzureStaticWebApps_STATUS) DeepCopy() *AzureStaticWebApps_STATUS { + if in == nil { + return nil + } + out := new(AzureStaticWebApps_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 *BaseContainer) DeepCopyInto(out *BaseContainer) { + *out = *in + if in.Args != nil { + in, out := &in.Args, &out.Args + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Command != nil { + in, out := &in.Command, &out.Command + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Env != nil { + in, out := &in.Env, &out.Env + *out = make([]EnvironmentVar, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Image != nil { + in, out := &in.Image, &out.Image + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Resources != nil { + in, out := &in.Resources, &out.Resources + *out = new(ContainerResources) + (*in).DeepCopyInto(*out) + } + if in.VolumeMounts != nil { + in, out := &in.VolumeMounts, &out.VolumeMounts + *out = make([]VolumeMount, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaseContainer. +func (in *BaseContainer) DeepCopy() *BaseContainer { + if in == nil { + return nil + } + out := new(BaseContainer) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BaseContainer_STATUS) DeepCopyInto(out *BaseContainer_STATUS) { + *out = *in + if in.Args != nil { + in, out := &in.Args, &out.Args + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Command != nil { + in, out := &in.Command, &out.Command + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Env != nil { + in, out := &in.Env, &out.Env + *out = make([]EnvironmentVar_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Image != nil { + in, out := &in.Image, &out.Image + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Resources != nil { + in, out := &in.Resources, &out.Resources + *out = new(ContainerResources_STATUS) + (*in).DeepCopyInto(*out) + } + if in.VolumeMounts != nil { + in, out := &in.VolumeMounts, &out.VolumeMounts + *out = make([]VolumeMount_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaseContainer_STATUS. +func (in *BaseContainer_STATUS) DeepCopy() *BaseContainer_STATUS { + if in == nil { + return nil + } + out := new(BaseContainer_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 *BlobStorageTokenStore) DeepCopyInto(out *BlobStorageTokenStore) { + *out = *in + if in.SasUrlSettingName != nil { + in, out := &in.SasUrlSettingName, &out.SasUrlSettingName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlobStorageTokenStore. +func (in *BlobStorageTokenStore) DeepCopy() *BlobStorageTokenStore { + if in == nil { + return nil + } + out := new(BlobStorageTokenStore) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BlobStorageTokenStore_STATUS) DeepCopyInto(out *BlobStorageTokenStore_STATUS) { + *out = *in + if in.SasUrlSettingName != nil { + in, out := &in.SasUrlSettingName, &out.SasUrlSettingName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlobStorageTokenStore_STATUS. +func (in *BlobStorageTokenStore_STATUS) DeepCopy() *BlobStorageTokenStore_STATUS { + if in == nil { + return nil + } + out := new(BlobStorageTokenStore_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 *ClientRegistration) DeepCopyInto(out *ClientRegistration) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.ClientSecretSettingName != nil { + in, out := &in.ClientSecretSettingName, &out.ClientSecretSettingName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientRegistration. +func (in *ClientRegistration) DeepCopy() *ClientRegistration { + if in == nil { + return nil + } + out := new(ClientRegistration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientRegistration_STATUS) DeepCopyInto(out *ClientRegistration_STATUS) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.ClientSecretSettingName != nil { + in, out := &in.ClientSecretSettingName, &out.ClientSecretSettingName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientRegistration_STATUS. +func (in *ClientRegistration_STATUS) DeepCopy() *ClientRegistration_STATUS { + if in == nil { + return nil + } + out := new(ClientRegistration_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 *Configuration) DeepCopyInto(out *Configuration) { + *out = *in + if in.ActiveRevisionsMode != nil { + in, out := &in.ActiveRevisionsMode, &out.ActiveRevisionsMode + *out = new(Configuration_ActiveRevisionsMode) + **out = **in + } + if in.Dapr != nil { + in, out := &in.Dapr, &out.Dapr + *out = new(Dapr) + (*in).DeepCopyInto(*out) + } + if in.Ingress != nil { + in, out := &in.Ingress, &out.Ingress + *out = new(Ingress) + (*in).DeepCopyInto(*out) + } + if in.MaxInactiveRevisions != nil { + in, out := &in.MaxInactiveRevisions, &out.MaxInactiveRevisions + *out = new(int) + **out = **in + } + if in.Registries != nil { + in, out := &in.Registries, &out.Registries + *out = make([]RegistryCredentials, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Secrets != nil { + in, out := &in.Secrets, &out.Secrets + *out = make([]Secret, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(Service) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Configuration. +func (in *Configuration) DeepCopy() *Configuration { + if in == nil { + return nil + } + out := new(Configuration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Configuration_STATUS) DeepCopyInto(out *Configuration_STATUS) { + *out = *in + if in.ActiveRevisionsMode != nil { + in, out := &in.ActiveRevisionsMode, &out.ActiveRevisionsMode + *out = new(Configuration_ActiveRevisionsMode_STATUS) + **out = **in + } + if in.Dapr != nil { + in, out := &in.Dapr, &out.Dapr + *out = new(Dapr_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Ingress != nil { + in, out := &in.Ingress, &out.Ingress + *out = new(Ingress_STATUS) + (*in).DeepCopyInto(*out) + } + if in.MaxInactiveRevisions != nil { + in, out := &in.MaxInactiveRevisions, &out.MaxInactiveRevisions + *out = new(int) + **out = **in + } + if in.Registries != nil { + in, out := &in.Registries, &out.Registries + *out = make([]RegistryCredentials_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Secrets != nil { + in, out := &in.Secrets, &out.Secrets + *out = make([]Secret_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(Service_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Configuration_STATUS. +func (in *Configuration_STATUS) DeepCopy() *Configuration_STATUS { + if in == nil { + return nil + } + out := new(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 *Container) DeepCopyInto(out *Container) { + *out = *in + if in.Args != nil { + in, out := &in.Args, &out.Args + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Command != nil { + in, out := &in.Command, &out.Command + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Env != nil { + in, out := &in.Env, &out.Env + *out = make([]EnvironmentVar, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Image != nil { + in, out := &in.Image, &out.Image + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Probes != nil { + in, out := &in.Probes, &out.Probes + *out = make([]ContainerAppProbe, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Resources != nil { + in, out := &in.Resources, &out.Resources + *out = new(ContainerResources) + (*in).DeepCopyInto(*out) + } + if in.VolumeMounts != nil { + in, out := &in.VolumeMounts, &out.VolumeMounts + *out = make([]VolumeMount, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Container. +func (in *Container) DeepCopy() *Container { + if in == nil { + return nil + } + out := new(Container) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerApp) DeepCopyInto(out *ContainerApp) { + *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 ContainerApp. +func (in *ContainerApp) DeepCopy() *ContainerApp { + if in == nil { + return nil + } + out := new(ContainerApp) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ContainerApp) 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 *ContainerAppList) DeepCopyInto(out *ContainerAppList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ContainerApp, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerAppList. +func (in *ContainerAppList) DeepCopy() *ContainerAppList { + if in == nil { + return nil + } + out := new(ContainerAppList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ContainerAppList) 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 *ContainerAppOperatorConfigMaps) DeepCopyInto(out *ContainerAppOperatorConfigMaps) { + *out = *in + if in.EventStreamEndpoint != nil { + in, out := &in.EventStreamEndpoint, &out.EventStreamEndpoint + *out = new(genruntime.ConfigMapDestination) + **out = **in + } + if in.Fqdn != nil { + in, out := &in.Fqdn, &out.Fqdn + *out = new(genruntime.ConfigMapDestination) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerAppOperatorConfigMaps. +func (in *ContainerAppOperatorConfigMaps) DeepCopy() *ContainerAppOperatorConfigMaps { + if in == nil { + return nil + } + out := new(ContainerAppOperatorConfigMaps) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerAppOperatorSpec) DeepCopyInto(out *ContainerAppOperatorSpec) { + *out = *in + if in.ConfigMapExpressions != nil { + in, out := &in.ConfigMapExpressions, &out.ConfigMapExpressions + *out = make([]*core.DestinationExpression, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(core.DestinationExpression) + **out = **in + } + } + } + if in.ConfigMaps != nil { + in, out := &in.ConfigMaps, &out.ConfigMaps + *out = new(ContainerAppOperatorConfigMaps) + (*in).DeepCopyInto(*out) + } + if in.SecretExpressions != nil { + in, out := &in.SecretExpressions, &out.SecretExpressions + *out = make([]*core.DestinationExpression, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(core.DestinationExpression) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerAppOperatorSpec. +func (in *ContainerAppOperatorSpec) DeepCopy() *ContainerAppOperatorSpec { + if in == nil { + return nil + } + out := new(ContainerAppOperatorSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerAppProbe) DeepCopyInto(out *ContainerAppProbe) { + *out = *in + if in.FailureThreshold != nil { + in, out := &in.FailureThreshold, &out.FailureThreshold + *out = new(int) + **out = **in + } + if in.HttpGet != nil { + in, out := &in.HttpGet, &out.HttpGet + *out = new(ContainerAppProbe_HttpGet) + (*in).DeepCopyInto(*out) + } + if in.InitialDelaySeconds != nil { + in, out := &in.InitialDelaySeconds, &out.InitialDelaySeconds + *out = new(int) + **out = **in + } + if in.PeriodSeconds != nil { + in, out := &in.PeriodSeconds, &out.PeriodSeconds + *out = new(int) + **out = **in + } + if in.SuccessThreshold != nil { + in, out := &in.SuccessThreshold, &out.SuccessThreshold + *out = new(int) + **out = **in + } + if in.TcpSocket != nil { + in, out := &in.TcpSocket, &out.TcpSocket + *out = new(ContainerAppProbe_TcpSocket) + (*in).DeepCopyInto(*out) + } + if in.TerminationGracePeriodSeconds != nil { + in, out := &in.TerminationGracePeriodSeconds, &out.TerminationGracePeriodSeconds + *out = new(int) + **out = **in + } + if in.TimeoutSeconds != nil { + in, out := &in.TimeoutSeconds, &out.TimeoutSeconds + *out = new(int) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(ContainerAppProbe_Type) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerAppProbe. +func (in *ContainerAppProbe) DeepCopy() *ContainerAppProbe { + if in == nil { + return nil + } + out := new(ContainerAppProbe) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerAppProbe_HttpGet) DeepCopyInto(out *ContainerAppProbe_HttpGet) { + *out = *in + if in.Host != nil { + in, out := &in.Host, &out.Host + *out = new(string) + **out = **in + } + if in.HttpHeaders != nil { + in, out := &in.HttpHeaders, &out.HttpHeaders + *out = make([]ContainerAppProbe_HttpGet_HttpHeaders, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(int) + **out = **in + } + if in.Scheme != nil { + in, out := &in.Scheme, &out.Scheme + *out = new(ContainerAppProbe_HttpGet_Scheme) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerAppProbe_HttpGet. +func (in *ContainerAppProbe_HttpGet) DeepCopy() *ContainerAppProbe_HttpGet { + if in == nil { + return nil + } + out := new(ContainerAppProbe_HttpGet) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerAppProbe_HttpGet_HttpHeaders) DeepCopyInto(out *ContainerAppProbe_HttpGet_HttpHeaders) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *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 ContainerAppProbe_HttpGet_HttpHeaders. +func (in *ContainerAppProbe_HttpGet_HttpHeaders) DeepCopy() *ContainerAppProbe_HttpGet_HttpHeaders { + if in == nil { + return nil + } + out := new(ContainerAppProbe_HttpGet_HttpHeaders) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerAppProbe_HttpGet_HttpHeaders_STATUS) DeepCopyInto(out *ContainerAppProbe_HttpGet_HttpHeaders_STATUS) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *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 ContainerAppProbe_HttpGet_HttpHeaders_STATUS. +func (in *ContainerAppProbe_HttpGet_HttpHeaders_STATUS) DeepCopy() *ContainerAppProbe_HttpGet_HttpHeaders_STATUS { + if in == nil { + return nil + } + out := new(ContainerAppProbe_HttpGet_HttpHeaders_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 *ContainerAppProbe_HttpGet_STATUS) DeepCopyInto(out *ContainerAppProbe_HttpGet_STATUS) { + *out = *in + if in.Host != nil { + in, out := &in.Host, &out.Host + *out = new(string) + **out = **in + } + if in.HttpHeaders != nil { + in, out := &in.HttpHeaders, &out.HttpHeaders + *out = make([]ContainerAppProbe_HttpGet_HttpHeaders_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(int) + **out = **in + } + if in.Scheme != nil { + in, out := &in.Scheme, &out.Scheme + *out = new(ContainerAppProbe_HttpGet_Scheme_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerAppProbe_HttpGet_STATUS. +func (in *ContainerAppProbe_HttpGet_STATUS) DeepCopy() *ContainerAppProbe_HttpGet_STATUS { + if in == nil { + return nil + } + out := new(ContainerAppProbe_HttpGet_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 *ContainerAppProbe_STATUS) DeepCopyInto(out *ContainerAppProbe_STATUS) { + *out = *in + if in.FailureThreshold != nil { + in, out := &in.FailureThreshold, &out.FailureThreshold + *out = new(int) + **out = **in + } + if in.HttpGet != nil { + in, out := &in.HttpGet, &out.HttpGet + *out = new(ContainerAppProbe_HttpGet_STATUS) + (*in).DeepCopyInto(*out) + } + if in.InitialDelaySeconds != nil { + in, out := &in.InitialDelaySeconds, &out.InitialDelaySeconds + *out = new(int) + **out = **in + } + if in.PeriodSeconds != nil { + in, out := &in.PeriodSeconds, &out.PeriodSeconds + *out = new(int) + **out = **in + } + if in.SuccessThreshold != nil { + in, out := &in.SuccessThreshold, &out.SuccessThreshold + *out = new(int) + **out = **in + } + if in.TcpSocket != nil { + in, out := &in.TcpSocket, &out.TcpSocket + *out = new(ContainerAppProbe_TcpSocket_STATUS) + (*in).DeepCopyInto(*out) + } + if in.TerminationGracePeriodSeconds != nil { + in, out := &in.TerminationGracePeriodSeconds, &out.TerminationGracePeriodSeconds + *out = new(int) + **out = **in + } + if in.TimeoutSeconds != nil { + in, out := &in.TimeoutSeconds, &out.TimeoutSeconds + *out = new(int) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(ContainerAppProbe_Type_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerAppProbe_STATUS. +func (in *ContainerAppProbe_STATUS) DeepCopy() *ContainerAppProbe_STATUS { + if in == nil { + return nil + } + out := new(ContainerAppProbe_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 *ContainerAppProbe_TcpSocket) DeepCopyInto(out *ContainerAppProbe_TcpSocket) { + *out = *in + if in.Host != nil { + in, out := &in.Host, &out.Host + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerAppProbe_TcpSocket. +func (in *ContainerAppProbe_TcpSocket) DeepCopy() *ContainerAppProbe_TcpSocket { + if in == nil { + return nil + } + out := new(ContainerAppProbe_TcpSocket) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerAppProbe_TcpSocket_STATUS) DeepCopyInto(out *ContainerAppProbe_TcpSocket_STATUS) { + *out = *in + if in.Host != nil { + in, out := &in.Host, &out.Host + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerAppProbe_TcpSocket_STATUS. +func (in *ContainerAppProbe_TcpSocket_STATUS) DeepCopy() *ContainerAppProbe_TcpSocket_STATUS { + if in == nil { + return nil + } + out := new(ContainerAppProbe_TcpSocket_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 *ContainerApp_STATUS) DeepCopyInto(out *ContainerApp_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.Configuration != nil { + in, out := &in.Configuration, &out.Configuration + *out = new(Configuration_STATUS) + (*in).DeepCopyInto(*out) + } + if in.CustomDomainVerificationId != nil { + in, out := &in.CustomDomainVerificationId, &out.CustomDomainVerificationId + *out = new(string) + **out = **in + } + if in.EnvironmentId != nil { + in, out := &in.EnvironmentId, &out.EnvironmentId + *out = new(string) + **out = **in + } + if in.EventStreamEndpoint != nil { + in, out := &in.EventStreamEndpoint, &out.EventStreamEndpoint + *out = new(string) + **out = **in + } + if in.ExtendedLocation != nil { + in, out := &in.ExtendedLocation, &out.ExtendedLocation + *out = new(ExtendedLocation_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(ManagedServiceIdentity_STATUS) + (*in).DeepCopyInto(*out) + } + if in.LatestReadyRevisionName != nil { + in, out := &in.LatestReadyRevisionName, &out.LatestReadyRevisionName + *out = new(string) + **out = **in + } + if in.LatestRevisionFqdn != nil { + in, out := &in.LatestRevisionFqdn, &out.LatestRevisionFqdn + *out = new(string) + **out = **in + } + if in.LatestRevisionName != nil { + in, out := &in.LatestRevisionName, &out.LatestRevisionName + *out = new(string) + **out = **in + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.ManagedBy != nil { + in, out := &in.ManagedBy, &out.ManagedBy + *out = new(string) + **out = **in + } + if in.ManagedEnvironmentId != nil { + in, out := &in.ManagedEnvironmentId, &out.ManagedEnvironmentId + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.OutboundIpAddresses != nil { + in, out := &in.OutboundIpAddresses, &out.OutboundIpAddresses + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.ProvisioningState != nil { + in, out := &in.ProvisioningState, &out.ProvisioningState + *out = new(ContainerApp_Properties_ProvisioningState_STATUS) + **out = **in + } + 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.Template != nil { + in, out := &in.Template, &out.Template + *out = new(Template_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + if in.WorkloadProfileName != nil { + in, out := &in.WorkloadProfileName, &out.WorkloadProfileName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerApp_STATUS. +func (in *ContainerApp_STATUS) DeepCopy() *ContainerApp_STATUS { + if in == nil { + return nil + } + out := new(ContainerApp_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 *ContainerApp_Spec) DeepCopyInto(out *ContainerApp_Spec) { + *out = *in + if in.Configuration != nil { + in, out := &in.Configuration, &out.Configuration + *out = new(Configuration) + (*in).DeepCopyInto(*out) + } + if in.EnvironmentReference != nil { + in, out := &in.EnvironmentReference, &out.EnvironmentReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.ExtendedLocation != nil { + in, out := &in.ExtendedLocation, &out.ExtendedLocation + *out = new(ExtendedLocation) + (*in).DeepCopyInto(*out) + } + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(ManagedServiceIdentity) + (*in).DeepCopyInto(*out) + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.ManagedByReference != nil { + in, out := &in.ManagedByReference, &out.ManagedByReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.ManagedEnvironmentReference != nil { + in, out := &in.ManagedEnvironmentReference, &out.ManagedEnvironmentReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.OperatorSpec != nil { + in, out := &in.OperatorSpec, &out.OperatorSpec + *out = new(ContainerAppOperatorSpec) + (*in).DeepCopyInto(*out) + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.KnownResourceReference) + **out = **in + } + 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.Template != nil { + in, out := &in.Template, &out.Template + *out = new(Template) + (*in).DeepCopyInto(*out) + } + if in.WorkloadProfileName != nil { + in, out := &in.WorkloadProfileName, &out.WorkloadProfileName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerApp_Spec. +func (in *ContainerApp_Spec) DeepCopy() *ContainerApp_Spec { + if in == nil { + return nil + } + out := new(ContainerApp_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 *ContainerResources) DeepCopyInto(out *ContainerResources) { + *out = *in + if in.Cpu != nil { + in, out := &in.Cpu, &out.Cpu + *out = new(float64) + **out = **in + } + if in.Memory != nil { + in, out := &in.Memory, &out.Memory + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerResources. +func (in *ContainerResources) DeepCopy() *ContainerResources { + if in == nil { + return nil + } + out := new(ContainerResources) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerResources_STATUS) DeepCopyInto(out *ContainerResources_STATUS) { + *out = *in + if in.Cpu != nil { + in, out := &in.Cpu, &out.Cpu + *out = new(float64) + **out = **in + } + if in.EphemeralStorage != nil { + in, out := &in.EphemeralStorage, &out.EphemeralStorage + *out = new(string) + **out = **in + } + if in.Memory != nil { + in, out := &in.Memory, &out.Memory + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerResources_STATUS. +func (in *ContainerResources_STATUS) DeepCopy() *ContainerResources_STATUS { + if in == nil { + return nil + } + out := new(ContainerResources_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 *Container_STATUS) DeepCopyInto(out *Container_STATUS) { + *out = *in + if in.Args != nil { + in, out := &in.Args, &out.Args + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Command != nil { + in, out := &in.Command, &out.Command + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Env != nil { + in, out := &in.Env, &out.Env + *out = make([]EnvironmentVar_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Image != nil { + in, out := &in.Image, &out.Image + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Probes != nil { + in, out := &in.Probes, &out.Probes + *out = make([]ContainerAppProbe_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Resources != nil { + in, out := &in.Resources, &out.Resources + *out = new(ContainerResources_STATUS) + (*in).DeepCopyInto(*out) + } + if in.VolumeMounts != nil { + in, out := &in.VolumeMounts, &out.VolumeMounts + *out = make([]VolumeMount_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Container_STATUS. +func (in *Container_STATUS) DeepCopy() *Container_STATUS { + if in == nil { + return nil + } + out := new(Container_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 *CookieExpiration) DeepCopyInto(out *CookieExpiration) { + *out = *in + if in.Convention != nil { + in, out := &in.Convention, &out.Convention + *out = new(CookieExpiration_Convention) + **out = **in + } + if in.TimeToExpiration != nil { + in, out := &in.TimeToExpiration, &out.TimeToExpiration + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CookieExpiration. +func (in *CookieExpiration) DeepCopy() *CookieExpiration { + if in == nil { + return nil + } + out := new(CookieExpiration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CookieExpiration_STATUS) DeepCopyInto(out *CookieExpiration_STATUS) { + *out = *in + if in.Convention != nil { + in, out := &in.Convention, &out.Convention + *out = new(CookieExpiration_Convention_STATUS) + **out = **in + } + if in.TimeToExpiration != nil { + in, out := &in.TimeToExpiration, &out.TimeToExpiration + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CookieExpiration_STATUS. +func (in *CookieExpiration_STATUS) DeepCopy() *CookieExpiration_STATUS { + if in == nil { + return nil + } + out := new(CookieExpiration_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 *CorsPolicy) DeepCopyInto(out *CorsPolicy) { + *out = *in + if in.AllowCredentials != nil { + in, out := &in.AllowCredentials, &out.AllowCredentials + *out = new(bool) + **out = **in + } + if in.AllowedHeaders != nil { + in, out := &in.AllowedHeaders, &out.AllowedHeaders + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.AllowedMethods != nil { + in, out := &in.AllowedMethods, &out.AllowedMethods + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.AllowedOrigins != nil { + in, out := &in.AllowedOrigins, &out.AllowedOrigins + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.ExposeHeaders != nil { + in, out := &in.ExposeHeaders, &out.ExposeHeaders + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.MaxAge != nil { + in, out := &in.MaxAge, &out.MaxAge + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CorsPolicy. +func (in *CorsPolicy) DeepCopy() *CorsPolicy { + if in == nil { + return nil + } + out := new(CorsPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CorsPolicy_STATUS) DeepCopyInto(out *CorsPolicy_STATUS) { + *out = *in + if in.AllowCredentials != nil { + in, out := &in.AllowCredentials, &out.AllowCredentials + *out = new(bool) + **out = **in + } + if in.AllowedHeaders != nil { + in, out := &in.AllowedHeaders, &out.AllowedHeaders + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.AllowedMethods != nil { + in, out := &in.AllowedMethods, &out.AllowedMethods + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.AllowedOrigins != nil { + in, out := &in.AllowedOrigins, &out.AllowedOrigins + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.ExposeHeaders != nil { + in, out := &in.ExposeHeaders, &out.ExposeHeaders + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.MaxAge != nil { + in, out := &in.MaxAge, &out.MaxAge + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CorsPolicy_STATUS. +func (in *CorsPolicy_STATUS) DeepCopy() *CorsPolicy_STATUS { + if in == nil { + return nil + } + out := new(CorsPolicy_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 *CustomDomain) DeepCopyInto(out *CustomDomain) { + *out = *in + if in.BindingType != nil { + in, out := &in.BindingType, &out.BindingType + *out = new(CustomDomain_BindingType) + **out = **in + } + if in.CertificateReference != nil { + in, out := &in.CertificateReference, &out.CertificateReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomDomain. +func (in *CustomDomain) DeepCopy() *CustomDomain { + if in == nil { + return nil + } + out := new(CustomDomain) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomDomainConfiguration) DeepCopyInto(out *CustomDomainConfiguration) { + *out = *in + if in.CertificatePassword != nil { + in, out := &in.CertificatePassword, &out.CertificatePassword + *out = new(genruntime.SecretReference) + **out = **in + } + if in.CertificateValue != nil { + in, out := &in.CertificateValue, &out.CertificateValue + *out = new(genruntime.SecretReference) + **out = **in + } + if in.DnsSuffix != nil { + in, out := &in.DnsSuffix, &out.DnsSuffix + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomDomainConfiguration. +func (in *CustomDomainConfiguration) DeepCopy() *CustomDomainConfiguration { + if in == nil { + return nil + } + out := new(CustomDomainConfiguration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomDomainConfiguration_STATUS) DeepCopyInto(out *CustomDomainConfiguration_STATUS) { + *out = *in + if in.CustomDomainVerificationId != nil { + in, out := &in.CustomDomainVerificationId, &out.CustomDomainVerificationId + *out = new(string) + **out = **in + } + if in.DnsSuffix != nil { + in, out := &in.DnsSuffix, &out.DnsSuffix + *out = new(string) + **out = **in + } + if in.ExpirationDate != nil { + in, out := &in.ExpirationDate, &out.ExpirationDate + *out = new(string) + **out = **in + } + if in.SubjectName != nil { + in, out := &in.SubjectName, &out.SubjectName + *out = new(string) + **out = **in + } + if in.Thumbprint != nil { + in, out := &in.Thumbprint, &out.Thumbprint + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomDomainConfiguration_STATUS. +func (in *CustomDomainConfiguration_STATUS) DeepCopy() *CustomDomainConfiguration_STATUS { + if in == nil { + return nil + } + out := new(CustomDomainConfiguration_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 *CustomDomain_STATUS) DeepCopyInto(out *CustomDomain_STATUS) { + *out = *in + if in.BindingType != nil { + in, out := &in.BindingType, &out.BindingType + *out = new(CustomDomain_BindingType_STATUS) + **out = **in + } + if in.CertificateId != nil { + in, out := &in.CertificateId, &out.CertificateId + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomDomain_STATUS. +func (in *CustomDomain_STATUS) DeepCopy() *CustomDomain_STATUS { + if in == nil { + return nil + } + out := new(CustomDomain_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 *CustomOpenIdConnectProvider) DeepCopyInto(out *CustomOpenIdConnectProvider) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(OpenIdConnectLogin) + (*in).DeepCopyInto(*out) + } + if in.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(OpenIdConnectRegistration) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomOpenIdConnectProvider. +func (in *CustomOpenIdConnectProvider) DeepCopy() *CustomOpenIdConnectProvider { + if in == nil { + return nil + } + out := new(CustomOpenIdConnectProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomOpenIdConnectProvider_STATUS) DeepCopyInto(out *CustomOpenIdConnectProvider_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(OpenIdConnectLogin_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(OpenIdConnectRegistration_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomOpenIdConnectProvider_STATUS. +func (in *CustomOpenIdConnectProvider_STATUS) DeepCopy() *CustomOpenIdConnectProvider_STATUS { + if in == nil { + return nil + } + out := new(CustomOpenIdConnectProvider_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 *CustomScaleRule) DeepCopyInto(out *CustomScaleRule) { + *out = *in + if in.Auth != nil { + in, out := &in.Auth, &out.Auth + *out = make([]ScaleRuleAuth, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Metadata != nil { + in, out := &in.Metadata, &out.Metadata + *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 CustomScaleRule. +func (in *CustomScaleRule) DeepCopy() *CustomScaleRule { + if in == nil { + return nil + } + out := new(CustomScaleRule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomScaleRule_STATUS) DeepCopyInto(out *CustomScaleRule_STATUS) { + *out = *in + if in.Auth != nil { + in, out := &in.Auth, &out.Auth + *out = make([]ScaleRuleAuth_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Metadata != nil { + in, out := &in.Metadata, &out.Metadata + *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 CustomScaleRule_STATUS. +func (in *CustomScaleRule_STATUS) DeepCopy() *CustomScaleRule_STATUS { + if in == nil { + return nil + } + out := new(CustomScaleRule_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 *Dapr) DeepCopyInto(out *Dapr) { + *out = *in + if in.AppId != nil { + in, out := &in.AppId, &out.AppId + *out = new(string) + **out = **in + } + if in.AppPort != nil { + in, out := &in.AppPort, &out.AppPort + *out = new(int) + **out = **in + } + if in.AppProtocol != nil { + in, out := &in.AppProtocol, &out.AppProtocol + *out = new(Dapr_AppProtocol) + **out = **in + } + if in.EnableApiLogging != nil { + in, out := &in.EnableApiLogging, &out.EnableApiLogging + *out = new(bool) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.HttpMaxRequestSize != nil { + in, out := &in.HttpMaxRequestSize, &out.HttpMaxRequestSize + *out = new(int) + **out = **in + } + if in.HttpReadBufferSize != nil { + in, out := &in.HttpReadBufferSize, &out.HttpReadBufferSize + *out = new(int) + **out = **in + } + if in.LogLevel != nil { + in, out := &in.LogLevel, &out.LogLevel + *out = new(Dapr_LogLevel) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Dapr. +func (in *Dapr) DeepCopy() *Dapr { + if in == nil { + return nil + } + out := new(Dapr) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DaprConfiguration_STATUS) DeepCopyInto(out *DaprConfiguration_STATUS) { + *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 DaprConfiguration_STATUS. +func (in *DaprConfiguration_STATUS) DeepCopy() *DaprConfiguration_STATUS { + if in == nil { + return nil + } + out := new(DaprConfiguration_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 *Dapr_STATUS) DeepCopyInto(out *Dapr_STATUS) { + *out = *in + if in.AppId != nil { + in, out := &in.AppId, &out.AppId + *out = new(string) + **out = **in + } + if in.AppPort != nil { + in, out := &in.AppPort, &out.AppPort + *out = new(int) + **out = **in + } + if in.AppProtocol != nil { + in, out := &in.AppProtocol, &out.AppProtocol + *out = new(Dapr_AppProtocol_STATUS) + **out = **in + } + if in.EnableApiLogging != nil { + in, out := &in.EnableApiLogging, &out.EnableApiLogging + *out = new(bool) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.HttpMaxRequestSize != nil { + in, out := &in.HttpMaxRequestSize, &out.HttpMaxRequestSize + *out = new(int) + **out = **in + } + if in.HttpReadBufferSize != nil { + in, out := &in.HttpReadBufferSize, &out.HttpReadBufferSize + *out = new(int) + **out = **in + } + if in.LogLevel != nil { + in, out := &in.LogLevel, &out.LogLevel + *out = new(Dapr_LogLevel_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Dapr_STATUS. +func (in *Dapr_STATUS) DeepCopy() *Dapr_STATUS { + if in == nil { + return nil + } + out := new(Dapr_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 *DefaultAuthorizationPolicy) DeepCopyInto(out *DefaultAuthorizationPolicy) { + *out = *in + if in.AllowedApplications != nil { + in, out := &in.AllowedApplications, &out.AllowedApplications + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.AllowedPrincipals != nil { + in, out := &in.AllowedPrincipals, &out.AllowedPrincipals + *out = new(AllowedPrincipals) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultAuthorizationPolicy. +func (in *DefaultAuthorizationPolicy) DeepCopy() *DefaultAuthorizationPolicy { + if in == nil { + return nil + } + out := new(DefaultAuthorizationPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultAuthorizationPolicy_STATUS) DeepCopyInto(out *DefaultAuthorizationPolicy_STATUS) { + *out = *in + if in.AllowedApplications != nil { + in, out := &in.AllowedApplications, &out.AllowedApplications + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.AllowedPrincipals != nil { + in, out := &in.AllowedPrincipals, &out.AllowedPrincipals + *out = new(AllowedPrincipals_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultAuthorizationPolicy_STATUS. +func (in *DefaultAuthorizationPolicy_STATUS) DeepCopy() *DefaultAuthorizationPolicy_STATUS { + if in == nil { + return nil + } + out := new(DefaultAuthorizationPolicy_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 *EncryptionSettings) DeepCopyInto(out *EncryptionSettings) { + *out = *in + if in.ContainerAppAuthEncryptionSecretName != nil { + in, out := &in.ContainerAppAuthEncryptionSecretName, &out.ContainerAppAuthEncryptionSecretName + *out = new(string) + **out = **in + } + if in.ContainerAppAuthSigningSecretName != nil { + in, out := &in.ContainerAppAuthSigningSecretName, &out.ContainerAppAuthSigningSecretName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionSettings. +func (in *EncryptionSettings) DeepCopy() *EncryptionSettings { + if in == nil { + return nil + } + out := new(EncryptionSettings) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EncryptionSettings_STATUS) DeepCopyInto(out *EncryptionSettings_STATUS) { + *out = *in + if in.ContainerAppAuthEncryptionSecretName != nil { + in, out := &in.ContainerAppAuthEncryptionSecretName, &out.ContainerAppAuthEncryptionSecretName + *out = new(string) + **out = **in + } + if in.ContainerAppAuthSigningSecretName != nil { + in, out := &in.ContainerAppAuthSigningSecretName, &out.ContainerAppAuthSigningSecretName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionSettings_STATUS. +func (in *EncryptionSettings_STATUS) DeepCopy() *EncryptionSettings_STATUS { + if in == nil { + return nil + } + out := new(EncryptionSettings_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 *EnvironmentVar) DeepCopyInto(out *EnvironmentVar) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.SecretRef != nil { + in, out := &in.SecretRef, &out.SecretRef + *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 EnvironmentVar. +func (in *EnvironmentVar) DeepCopy() *EnvironmentVar { + if in == nil { + return nil + } + out := new(EnvironmentVar) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnvironmentVar_STATUS) DeepCopyInto(out *EnvironmentVar_STATUS) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.SecretRef != nil { + in, out := &in.SecretRef, &out.SecretRef + *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 EnvironmentVar_STATUS. +func (in *EnvironmentVar_STATUS) DeepCopy() *EnvironmentVar_STATUS { + if in == nil { + return nil + } + out := new(EnvironmentVar_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 *ExtendedLocation) DeepCopyInto(out *ExtendedLocation) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(ExtendedLocationType) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtendedLocation. +func (in *ExtendedLocation) DeepCopy() *ExtendedLocation { + if in == nil { + return nil + } + out := new(ExtendedLocation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExtendedLocation_STATUS) DeepCopyInto(out *ExtendedLocation_STATUS) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(ExtendedLocationType_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtendedLocation_STATUS. +func (in *ExtendedLocation_STATUS) DeepCopy() *ExtendedLocation_STATUS { + if in == nil { + return nil + } + out := new(ExtendedLocation_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 *Facebook) DeepCopyInto(out *Facebook) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.GraphApiVersion != nil { + in, out := &in.GraphApiVersion, &out.GraphApiVersion + *out = new(string) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(LoginScopes) + (*in).DeepCopyInto(*out) + } + if in.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(AppRegistration) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Facebook. +func (in *Facebook) DeepCopy() *Facebook { + if in == nil { + return nil + } + out := new(Facebook) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Facebook_STATUS) DeepCopyInto(out *Facebook_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.GraphApiVersion != nil { + in, out := &in.GraphApiVersion, &out.GraphApiVersion + *out = new(string) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(LoginScopes_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(AppRegistration_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Facebook_STATUS. +func (in *Facebook_STATUS) DeepCopy() *Facebook_STATUS { + if in == nil { + return nil + } + out := new(Facebook_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 *ForwardProxy) DeepCopyInto(out *ForwardProxy) { + *out = *in + if in.Convention != nil { + in, out := &in.Convention, &out.Convention + *out = new(ForwardProxy_Convention) + **out = **in + } + if in.CustomHostHeaderName != nil { + in, out := &in.CustomHostHeaderName, &out.CustomHostHeaderName + *out = new(string) + **out = **in + } + if in.CustomProtoHeaderName != nil { + in, out := &in.CustomProtoHeaderName, &out.CustomProtoHeaderName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForwardProxy. +func (in *ForwardProxy) DeepCopy() *ForwardProxy { + if in == nil { + return nil + } + out := new(ForwardProxy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ForwardProxy_STATUS) DeepCopyInto(out *ForwardProxy_STATUS) { + *out = *in + if in.Convention != nil { + in, out := &in.Convention, &out.Convention + *out = new(ForwardProxy_Convention_STATUS) + **out = **in + } + if in.CustomHostHeaderName != nil { + in, out := &in.CustomHostHeaderName, &out.CustomHostHeaderName + *out = new(string) + **out = **in + } + if in.CustomProtoHeaderName != nil { + in, out := &in.CustomProtoHeaderName, &out.CustomProtoHeaderName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForwardProxy_STATUS. +func (in *ForwardProxy_STATUS) DeepCopy() *ForwardProxy_STATUS { + if in == nil { + return nil + } + out := new(ForwardProxy_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 *GitHub) DeepCopyInto(out *GitHub) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(LoginScopes) + (*in).DeepCopyInto(*out) + } + if in.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(ClientRegistration) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitHub. +func (in *GitHub) DeepCopy() *GitHub { + if in == nil { + return nil + } + out := new(GitHub) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GitHub_STATUS) DeepCopyInto(out *GitHub_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(LoginScopes_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(ClientRegistration_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitHub_STATUS. +func (in *GitHub_STATUS) DeepCopy() *GitHub_STATUS { + if in == nil { + return nil + } + out := new(GitHub_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 *GlobalValidation) DeepCopyInto(out *GlobalValidation) { + *out = *in + if in.ExcludedPaths != nil { + in, out := &in.ExcludedPaths, &out.ExcludedPaths + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.RedirectToProvider != nil { + in, out := &in.RedirectToProvider, &out.RedirectToProvider + *out = new(string) + **out = **in + } + if in.UnauthenticatedClientAction != nil { + in, out := &in.UnauthenticatedClientAction, &out.UnauthenticatedClientAction + *out = new(GlobalValidation_UnauthenticatedClientAction) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalValidation. +func (in *GlobalValidation) DeepCopy() *GlobalValidation { + if in == nil { + return nil + } + out := new(GlobalValidation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GlobalValidation_STATUS) DeepCopyInto(out *GlobalValidation_STATUS) { + *out = *in + if in.ExcludedPaths != nil { + in, out := &in.ExcludedPaths, &out.ExcludedPaths + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.RedirectToProvider != nil { + in, out := &in.RedirectToProvider, &out.RedirectToProvider + *out = new(string) + **out = **in + } + if in.UnauthenticatedClientAction != nil { + in, out := &in.UnauthenticatedClientAction, &out.UnauthenticatedClientAction + *out = new(GlobalValidation_UnauthenticatedClientAction_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalValidation_STATUS. +func (in *GlobalValidation_STATUS) DeepCopy() *GlobalValidation_STATUS { + if in == nil { + return nil + } + out := new(GlobalValidation_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 *Google) DeepCopyInto(out *Google) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(LoginScopes) + (*in).DeepCopyInto(*out) + } + if in.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(ClientRegistration) + (*in).DeepCopyInto(*out) + } + if in.Validation != nil { + in, out := &in.Validation, &out.Validation + *out = new(AllowedAudiencesValidation) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Google. +func (in *Google) DeepCopy() *Google { + if in == nil { + return nil + } + out := new(Google) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Google_STATUS) DeepCopyInto(out *Google_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(LoginScopes_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(ClientRegistration_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Validation != nil { + in, out := &in.Validation, &out.Validation + *out = new(AllowedAudiencesValidation_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Google_STATUS. +func (in *Google_STATUS) DeepCopy() *Google_STATUS { + if in == nil { + return nil + } + out := new(Google_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 *HttpScaleRule) DeepCopyInto(out *HttpScaleRule) { + *out = *in + if in.Auth != nil { + in, out := &in.Auth, &out.Auth + *out = make([]ScaleRuleAuth, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Metadata != nil { + in, out := &in.Metadata, &out.Metadata + *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 HttpScaleRule. +func (in *HttpScaleRule) DeepCopy() *HttpScaleRule { + if in == nil { + return nil + } + out := new(HttpScaleRule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HttpScaleRule_STATUS) DeepCopyInto(out *HttpScaleRule_STATUS) { + *out = *in + if in.Auth != nil { + in, out := &in.Auth, &out.Auth + *out = make([]ScaleRuleAuth_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Metadata != nil { + in, out := &in.Metadata, &out.Metadata + *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 HttpScaleRule_STATUS. +func (in *HttpScaleRule_STATUS) DeepCopy() *HttpScaleRule_STATUS { + if in == nil { + return nil + } + out := new(HttpScaleRule_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 *HttpSettings) DeepCopyInto(out *HttpSettings) { + *out = *in + if in.ForwardProxy != nil { + in, out := &in.ForwardProxy, &out.ForwardProxy + *out = new(ForwardProxy) + (*in).DeepCopyInto(*out) + } + if in.RequireHttps != nil { + in, out := &in.RequireHttps, &out.RequireHttps + *out = new(bool) + **out = **in + } + if in.Routes != nil { + in, out := &in.Routes, &out.Routes + *out = new(HttpSettingsRoutes) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HttpSettings. +func (in *HttpSettings) DeepCopy() *HttpSettings { + if in == nil { + return nil + } + out := new(HttpSettings) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HttpSettingsRoutes) DeepCopyInto(out *HttpSettingsRoutes) { + *out = *in + if in.ApiPrefix != nil { + in, out := &in.ApiPrefix, &out.ApiPrefix + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HttpSettingsRoutes. +func (in *HttpSettingsRoutes) DeepCopy() *HttpSettingsRoutes { + if in == nil { + return nil + } + out := new(HttpSettingsRoutes) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HttpSettingsRoutes_STATUS) DeepCopyInto(out *HttpSettingsRoutes_STATUS) { + *out = *in + if in.ApiPrefix != nil { + in, out := &in.ApiPrefix, &out.ApiPrefix + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HttpSettingsRoutes_STATUS. +func (in *HttpSettingsRoutes_STATUS) DeepCopy() *HttpSettingsRoutes_STATUS { + if in == nil { + return nil + } + out := new(HttpSettingsRoutes_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 *HttpSettings_STATUS) DeepCopyInto(out *HttpSettings_STATUS) { + *out = *in + if in.ForwardProxy != nil { + in, out := &in.ForwardProxy, &out.ForwardProxy + *out = new(ForwardProxy_STATUS) + (*in).DeepCopyInto(*out) + } + if in.RequireHttps != nil { + in, out := &in.RequireHttps, &out.RequireHttps + *out = new(bool) + **out = **in + } + if in.Routes != nil { + in, out := &in.Routes, &out.Routes + *out = new(HttpSettingsRoutes_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HttpSettings_STATUS. +func (in *HttpSettings_STATUS) DeepCopy() *HttpSettings_STATUS { + if in == nil { + return nil + } + out := new(HttpSettings_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 *IdentityProviders) DeepCopyInto(out *IdentityProviders) { + *out = *in + if in.Apple != nil { + in, out := &in.Apple, &out.Apple + *out = new(Apple) + (*in).DeepCopyInto(*out) + } + if in.AzureActiveDirectory != nil { + in, out := &in.AzureActiveDirectory, &out.AzureActiveDirectory + *out = new(AzureActiveDirectory) + (*in).DeepCopyInto(*out) + } + if in.AzureStaticWebApps != nil { + in, out := &in.AzureStaticWebApps, &out.AzureStaticWebApps + *out = new(AzureStaticWebApps) + (*in).DeepCopyInto(*out) + } + if in.CustomOpenIdConnectProviders != nil { + in, out := &in.CustomOpenIdConnectProviders, &out.CustomOpenIdConnectProviders + *out = make(map[string]CustomOpenIdConnectProvider, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } + if in.Facebook != nil { + in, out := &in.Facebook, &out.Facebook + *out = new(Facebook) + (*in).DeepCopyInto(*out) + } + if in.GitHub != nil { + in, out := &in.GitHub, &out.GitHub + *out = new(GitHub) + (*in).DeepCopyInto(*out) + } + if in.Google != nil { + in, out := &in.Google, &out.Google + *out = new(Google) + (*in).DeepCopyInto(*out) + } + if in.Twitter != nil { + in, out := &in.Twitter, &out.Twitter + *out = new(Twitter) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdentityProviders. +func (in *IdentityProviders) DeepCopy() *IdentityProviders { + if in == nil { + return nil + } + out := new(IdentityProviders) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IdentityProviders_STATUS) DeepCopyInto(out *IdentityProviders_STATUS) { + *out = *in + if in.Apple != nil { + in, out := &in.Apple, &out.Apple + *out = new(Apple_STATUS) + (*in).DeepCopyInto(*out) + } + if in.AzureActiveDirectory != nil { + in, out := &in.AzureActiveDirectory, &out.AzureActiveDirectory + *out = new(AzureActiveDirectory_STATUS) + (*in).DeepCopyInto(*out) + } + if in.AzureStaticWebApps != nil { + in, out := &in.AzureStaticWebApps, &out.AzureStaticWebApps + *out = new(AzureStaticWebApps_STATUS) + (*in).DeepCopyInto(*out) + } + if in.CustomOpenIdConnectProviders != nil { + in, out := &in.CustomOpenIdConnectProviders, &out.CustomOpenIdConnectProviders + *out = make(map[string]CustomOpenIdConnectProvider_STATUS, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } + if in.Facebook != nil { + in, out := &in.Facebook, &out.Facebook + *out = new(Facebook_STATUS) + (*in).DeepCopyInto(*out) + } + if in.GitHub != nil { + in, out := &in.GitHub, &out.GitHub + *out = new(GitHub_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Google != nil { + in, out := &in.Google, &out.Google + *out = new(Google_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Twitter != nil { + in, out := &in.Twitter, &out.Twitter + *out = new(Twitter_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdentityProviders_STATUS. +func (in *IdentityProviders_STATUS) DeepCopy() *IdentityProviders_STATUS { + if in == nil { + return nil + } + out := new(IdentityProviders_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 *Ingress) DeepCopyInto(out *Ingress) { + *out = *in + if in.AdditionalPortMappings != nil { + in, out := &in.AdditionalPortMappings, &out.AdditionalPortMappings + *out = make([]IngressPortMapping, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AllowInsecure != nil { + in, out := &in.AllowInsecure, &out.AllowInsecure + *out = new(bool) + **out = **in + } + if in.ClientCertificateMode != nil { + in, out := &in.ClientCertificateMode, &out.ClientCertificateMode + *out = new(Ingress_ClientCertificateMode) + **out = **in + } + if in.CorsPolicy != nil { + in, out := &in.CorsPolicy, &out.CorsPolicy + *out = new(CorsPolicy) + (*in).DeepCopyInto(*out) + } + if in.CustomDomains != nil { + in, out := &in.CustomDomains, &out.CustomDomains + *out = make([]CustomDomain, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ExposedPort != nil { + in, out := &in.ExposedPort, &out.ExposedPort + *out = new(int) + **out = **in + } + if in.External != nil { + in, out := &in.External, &out.External + *out = new(bool) + **out = **in + } + if in.IpSecurityRestrictions != nil { + in, out := &in.IpSecurityRestrictions, &out.IpSecurityRestrictions + *out = make([]IpSecurityRestrictionRule, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.StickySessions != nil { + in, out := &in.StickySessions, &out.StickySessions + *out = new(Ingress_StickySessions) + (*in).DeepCopyInto(*out) + } + if in.TargetPort != nil { + in, out := &in.TargetPort, &out.TargetPort + *out = new(int) + **out = **in + } + if in.Traffic != nil { + in, out := &in.Traffic, &out.Traffic + *out = make([]TrafficWeight, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Transport != nil { + in, out := &in.Transport, &out.Transport + *out = new(Ingress_Transport) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ingress. +func (in *Ingress) DeepCopy() *Ingress { + if in == nil { + return nil + } + out := new(Ingress) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IngressPortMapping) DeepCopyInto(out *IngressPortMapping) { + *out = *in + if in.ExposedPort != nil { + in, out := &in.ExposedPort, &out.ExposedPort + *out = new(int) + **out = **in + } + if in.External != nil { + in, out := &in.External, &out.External + *out = new(bool) + **out = **in + } + if in.TargetPort != nil { + in, out := &in.TargetPort, &out.TargetPort + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressPortMapping. +func (in *IngressPortMapping) DeepCopy() *IngressPortMapping { + if in == nil { + return nil + } + out := new(IngressPortMapping) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IngressPortMapping_STATUS) DeepCopyInto(out *IngressPortMapping_STATUS) { + *out = *in + if in.ExposedPort != nil { + in, out := &in.ExposedPort, &out.ExposedPort + *out = new(int) + **out = **in + } + if in.External != nil { + in, out := &in.External, &out.External + *out = new(bool) + **out = **in + } + if in.TargetPort != nil { + in, out := &in.TargetPort, &out.TargetPort + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressPortMapping_STATUS. +func (in *IngressPortMapping_STATUS) DeepCopy() *IngressPortMapping_STATUS { + if in == nil { + return nil + } + out := new(IngressPortMapping_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 *Ingress_STATUS) DeepCopyInto(out *Ingress_STATUS) { + *out = *in + if in.AdditionalPortMappings != nil { + in, out := &in.AdditionalPortMappings, &out.AdditionalPortMappings + *out = make([]IngressPortMapping_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AllowInsecure != nil { + in, out := &in.AllowInsecure, &out.AllowInsecure + *out = new(bool) + **out = **in + } + if in.ClientCertificateMode != nil { + in, out := &in.ClientCertificateMode, &out.ClientCertificateMode + *out = new(Ingress_ClientCertificateMode_STATUS) + **out = **in + } + if in.CorsPolicy != nil { + in, out := &in.CorsPolicy, &out.CorsPolicy + *out = new(CorsPolicy_STATUS) + (*in).DeepCopyInto(*out) + } + if in.CustomDomains != nil { + in, out := &in.CustomDomains, &out.CustomDomains + *out = make([]CustomDomain_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ExposedPort != nil { + in, out := &in.ExposedPort, &out.ExposedPort + *out = new(int) + **out = **in + } + if in.External != nil { + in, out := &in.External, &out.External + *out = new(bool) + **out = **in + } + if in.Fqdn != nil { + in, out := &in.Fqdn, &out.Fqdn + *out = new(string) + **out = **in + } + if in.IpSecurityRestrictions != nil { + in, out := &in.IpSecurityRestrictions, &out.IpSecurityRestrictions + *out = make([]IpSecurityRestrictionRule_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.StickySessions != nil { + in, out := &in.StickySessions, &out.StickySessions + *out = new(Ingress_StickySessions_STATUS) + (*in).DeepCopyInto(*out) + } + if in.TargetPort != nil { + in, out := &in.TargetPort, &out.TargetPort + *out = new(int) + **out = **in + } + if in.Traffic != nil { + in, out := &in.Traffic, &out.Traffic + *out = make([]TrafficWeight_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Transport != nil { + in, out := &in.Transport, &out.Transport + *out = new(Ingress_Transport_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ingress_STATUS. +func (in *Ingress_STATUS) DeepCopy() *Ingress_STATUS { + if in == nil { + return nil + } + out := new(Ingress_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 *Ingress_StickySessions) DeepCopyInto(out *Ingress_StickySessions) { + *out = *in + if in.Affinity != nil { + in, out := &in.Affinity, &out.Affinity + *out = new(Ingress_StickySessions_Affinity) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ingress_StickySessions. +func (in *Ingress_StickySessions) DeepCopy() *Ingress_StickySessions { + if in == nil { + return nil + } + out := new(Ingress_StickySessions) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Ingress_StickySessions_STATUS) DeepCopyInto(out *Ingress_StickySessions_STATUS) { + *out = *in + if in.Affinity != nil { + in, out := &in.Affinity, &out.Affinity + *out = new(Ingress_StickySessions_Affinity_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ingress_StickySessions_STATUS. +func (in *Ingress_StickySessions_STATUS) DeepCopy() *Ingress_StickySessions_STATUS { + if in == nil { + return nil + } + out := new(Ingress_StickySessions_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 *IpSecurityRestrictionRule) DeepCopyInto(out *IpSecurityRestrictionRule) { + *out = *in + if in.Action != nil { + in, out := &in.Action, &out.Action + *out = new(IpSecurityRestrictionRule_Action) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.IpAddressRange != nil { + in, out := &in.IpAddressRange, &out.IpAddressRange + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpSecurityRestrictionRule. +func (in *IpSecurityRestrictionRule) DeepCopy() *IpSecurityRestrictionRule { + if in == nil { + return nil + } + out := new(IpSecurityRestrictionRule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IpSecurityRestrictionRule_STATUS) DeepCopyInto(out *IpSecurityRestrictionRule_STATUS) { + *out = *in + if in.Action != nil { + in, out := &in.Action, &out.Action + *out = new(IpSecurityRestrictionRule_Action_STATUS) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.IpAddressRange != nil { + in, out := &in.IpAddressRange, &out.IpAddressRange + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpSecurityRestrictionRule_STATUS. +func (in *IpSecurityRestrictionRule_STATUS) DeepCopy() *IpSecurityRestrictionRule_STATUS { + if in == nil { + return nil + } + out := new(IpSecurityRestrictionRule_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 *Job) DeepCopyInto(out *Job) { + *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 Job. +func (in *Job) DeepCopy() *Job { + if in == nil { + return nil + } + out := new(Job) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Job) 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 *JobConfiguration) DeepCopyInto(out *JobConfiguration) { + *out = *in + if in.EventTriggerConfig != nil { + in, out := &in.EventTriggerConfig, &out.EventTriggerConfig + *out = new(JobConfiguration_EventTriggerConfig) + (*in).DeepCopyInto(*out) + } + if in.ManualTriggerConfig != nil { + in, out := &in.ManualTriggerConfig, &out.ManualTriggerConfig + *out = new(JobConfiguration_ManualTriggerConfig) + (*in).DeepCopyInto(*out) + } + if in.Registries != nil { + in, out := &in.Registries, &out.Registries + *out = make([]RegistryCredentials, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ReplicaRetryLimit != nil { + in, out := &in.ReplicaRetryLimit, &out.ReplicaRetryLimit + *out = new(int) + **out = **in + } + if in.ReplicaTimeout != nil { + in, out := &in.ReplicaTimeout, &out.ReplicaTimeout + *out = new(int) + **out = **in + } + if in.ScheduleTriggerConfig != nil { + in, out := &in.ScheduleTriggerConfig, &out.ScheduleTriggerConfig + *out = new(JobConfiguration_ScheduleTriggerConfig) + (*in).DeepCopyInto(*out) + } + if in.Secrets != nil { + in, out := &in.Secrets, &out.Secrets + *out = make([]Secret, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TriggerType != nil { + in, out := &in.TriggerType, &out.TriggerType + *out = new(JobConfiguration_TriggerType) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobConfiguration. +func (in *JobConfiguration) DeepCopy() *JobConfiguration { + if in == nil { + return nil + } + out := new(JobConfiguration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobConfiguration_EventTriggerConfig) DeepCopyInto(out *JobConfiguration_EventTriggerConfig) { + *out = *in + if in.Parallelism != nil { + in, out := &in.Parallelism, &out.Parallelism + *out = new(int) + **out = **in + } + if in.ReplicaCompletionCount != nil { + in, out := &in.ReplicaCompletionCount, &out.ReplicaCompletionCount + *out = new(int) + **out = **in + } + if in.Scale != nil { + in, out := &in.Scale, &out.Scale + *out = new(JobScale) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobConfiguration_EventTriggerConfig. +func (in *JobConfiguration_EventTriggerConfig) DeepCopy() *JobConfiguration_EventTriggerConfig { + if in == nil { + return nil + } + out := new(JobConfiguration_EventTriggerConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobConfiguration_EventTriggerConfig_STATUS) DeepCopyInto(out *JobConfiguration_EventTriggerConfig_STATUS) { + *out = *in + if in.Parallelism != nil { + in, out := &in.Parallelism, &out.Parallelism + *out = new(int) + **out = **in + } + if in.ReplicaCompletionCount != nil { + in, out := &in.ReplicaCompletionCount, &out.ReplicaCompletionCount + *out = new(int) + **out = **in + } + if in.Scale != nil { + in, out := &in.Scale, &out.Scale + *out = new(JobScale_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobConfiguration_EventTriggerConfig_STATUS. +func (in *JobConfiguration_EventTriggerConfig_STATUS) DeepCopy() *JobConfiguration_EventTriggerConfig_STATUS { + if in == nil { + return nil + } + out := new(JobConfiguration_EventTriggerConfig_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 *JobConfiguration_ManualTriggerConfig) DeepCopyInto(out *JobConfiguration_ManualTriggerConfig) { + *out = *in + if in.Parallelism != nil { + in, out := &in.Parallelism, &out.Parallelism + *out = new(int) + **out = **in + } + if in.ReplicaCompletionCount != nil { + in, out := &in.ReplicaCompletionCount, &out.ReplicaCompletionCount + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobConfiguration_ManualTriggerConfig. +func (in *JobConfiguration_ManualTriggerConfig) DeepCopy() *JobConfiguration_ManualTriggerConfig { + if in == nil { + return nil + } + out := new(JobConfiguration_ManualTriggerConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobConfiguration_ManualTriggerConfig_STATUS) DeepCopyInto(out *JobConfiguration_ManualTriggerConfig_STATUS) { + *out = *in + if in.Parallelism != nil { + in, out := &in.Parallelism, &out.Parallelism + *out = new(int) + **out = **in + } + if in.ReplicaCompletionCount != nil { + in, out := &in.ReplicaCompletionCount, &out.ReplicaCompletionCount + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobConfiguration_ManualTriggerConfig_STATUS. +func (in *JobConfiguration_ManualTriggerConfig_STATUS) DeepCopy() *JobConfiguration_ManualTriggerConfig_STATUS { + if in == nil { + return nil + } + out := new(JobConfiguration_ManualTriggerConfig_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 *JobConfiguration_STATUS) DeepCopyInto(out *JobConfiguration_STATUS) { + *out = *in + if in.EventTriggerConfig != nil { + in, out := &in.EventTriggerConfig, &out.EventTriggerConfig + *out = new(JobConfiguration_EventTriggerConfig_STATUS) + (*in).DeepCopyInto(*out) + } + if in.ManualTriggerConfig != nil { + in, out := &in.ManualTriggerConfig, &out.ManualTriggerConfig + *out = new(JobConfiguration_ManualTriggerConfig_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Registries != nil { + in, out := &in.Registries, &out.Registries + *out = make([]RegistryCredentials_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ReplicaRetryLimit != nil { + in, out := &in.ReplicaRetryLimit, &out.ReplicaRetryLimit + *out = new(int) + **out = **in + } + if in.ReplicaTimeout != nil { + in, out := &in.ReplicaTimeout, &out.ReplicaTimeout + *out = new(int) + **out = **in + } + if in.ScheduleTriggerConfig != nil { + in, out := &in.ScheduleTriggerConfig, &out.ScheduleTriggerConfig + *out = new(JobConfiguration_ScheduleTriggerConfig_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Secrets != nil { + in, out := &in.Secrets, &out.Secrets + *out = make([]Secret_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TriggerType != nil { + in, out := &in.TriggerType, &out.TriggerType + *out = new(JobConfiguration_TriggerType_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobConfiguration_STATUS. +func (in *JobConfiguration_STATUS) DeepCopy() *JobConfiguration_STATUS { + if in == nil { + return nil + } + out := new(JobConfiguration_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 *JobConfiguration_ScheduleTriggerConfig) DeepCopyInto(out *JobConfiguration_ScheduleTriggerConfig) { + *out = *in + if in.CronExpression != nil { + in, out := &in.CronExpression, &out.CronExpression + *out = new(string) + **out = **in + } + if in.Parallelism != nil { + in, out := &in.Parallelism, &out.Parallelism + *out = new(int) + **out = **in + } + if in.ReplicaCompletionCount != nil { + in, out := &in.ReplicaCompletionCount, &out.ReplicaCompletionCount + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobConfiguration_ScheduleTriggerConfig. +func (in *JobConfiguration_ScheduleTriggerConfig) DeepCopy() *JobConfiguration_ScheduleTriggerConfig { + if in == nil { + return nil + } + out := new(JobConfiguration_ScheduleTriggerConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobConfiguration_ScheduleTriggerConfig_STATUS) DeepCopyInto(out *JobConfiguration_ScheduleTriggerConfig_STATUS) { + *out = *in + if in.CronExpression != nil { + in, out := &in.CronExpression, &out.CronExpression + *out = new(string) + **out = **in + } + if in.Parallelism != nil { + in, out := &in.Parallelism, &out.Parallelism + *out = new(int) + **out = **in + } + if in.ReplicaCompletionCount != nil { + in, out := &in.ReplicaCompletionCount, &out.ReplicaCompletionCount + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobConfiguration_ScheduleTriggerConfig_STATUS. +func (in *JobConfiguration_ScheduleTriggerConfig_STATUS) DeepCopy() *JobConfiguration_ScheduleTriggerConfig_STATUS { + if in == nil { + return nil + } + out := new(JobConfiguration_ScheduleTriggerConfig_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 *JobList) DeepCopyInto(out *JobList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Job, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobList. +func (in *JobList) DeepCopy() *JobList { + if in == nil { + return nil + } + out := new(JobList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *JobList) 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 *JobOperatorSpec) DeepCopyInto(out *JobOperatorSpec) { + *out = *in + if in.ConfigMapExpressions != nil { + in, out := &in.ConfigMapExpressions, &out.ConfigMapExpressions + *out = make([]*core.DestinationExpression, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(core.DestinationExpression) + **out = **in + } + } + } + if in.SecretExpressions != nil { + in, out := &in.SecretExpressions, &out.SecretExpressions + *out = make([]*core.DestinationExpression, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(core.DestinationExpression) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobOperatorSpec. +func (in *JobOperatorSpec) DeepCopy() *JobOperatorSpec { + if in == nil { + return nil + } + out := new(JobOperatorSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobScale) DeepCopyInto(out *JobScale) { + *out = *in + if in.MaxExecutions != nil { + in, out := &in.MaxExecutions, &out.MaxExecutions + *out = new(int) + **out = **in + } + if in.MinExecutions != nil { + in, out := &in.MinExecutions, &out.MinExecutions + *out = new(int) + **out = **in + } + if in.PollingInterval != nil { + in, out := &in.PollingInterval, &out.PollingInterval + *out = new(int) + **out = **in + } + if in.Rules != nil { + in, out := &in.Rules, &out.Rules + *out = make([]JobScaleRule, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobScale. +func (in *JobScale) DeepCopy() *JobScale { + if in == nil { + return nil + } + out := new(JobScale) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobScaleRule) DeepCopyInto(out *JobScaleRule) { + *out = *in + if in.Auth != nil { + in, out := &in.Auth, &out.Auth + *out = make([]ScaleRuleAuth, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Metadata != nil { + in, out := &in.Metadata, &out.Metadata + *out = make(map[string]v1.JSON, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *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 JobScaleRule. +func (in *JobScaleRule) DeepCopy() *JobScaleRule { + if in == nil { + return nil + } + out := new(JobScaleRule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobScaleRule_STATUS) DeepCopyInto(out *JobScaleRule_STATUS) { + *out = *in + if in.Auth != nil { + in, out := &in.Auth, &out.Auth + *out = make([]ScaleRuleAuth_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Metadata != nil { + in, out := &in.Metadata, &out.Metadata + *out = make(map[string]v1.JSON, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *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 JobScaleRule_STATUS. +func (in *JobScaleRule_STATUS) DeepCopy() *JobScaleRule_STATUS { + if in == nil { + return nil + } + out := new(JobScaleRule_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 *JobScale_STATUS) DeepCopyInto(out *JobScale_STATUS) { + *out = *in + if in.MaxExecutions != nil { + in, out := &in.MaxExecutions, &out.MaxExecutions + *out = new(int) + **out = **in + } + if in.MinExecutions != nil { + in, out := &in.MinExecutions, &out.MinExecutions + *out = new(int) + **out = **in + } + if in.PollingInterval != nil { + in, out := &in.PollingInterval, &out.PollingInterval + *out = new(int) + **out = **in + } + if in.Rules != nil { + in, out := &in.Rules, &out.Rules + *out = make([]JobScaleRule_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobScale_STATUS. +func (in *JobScale_STATUS) DeepCopy() *JobScale_STATUS { + if in == nil { + return nil + } + out := new(JobScale_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 *JobTemplate) DeepCopyInto(out *JobTemplate) { + *out = *in + if in.Containers != nil { + in, out := &in.Containers, &out.Containers + *out = make([]Container, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InitContainers != nil { + in, out := &in.InitContainers, &out.InitContainers + *out = make([]BaseContainer, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Volumes != nil { + in, out := &in.Volumes, &out.Volumes + *out = make([]Volume, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobTemplate. +func (in *JobTemplate) DeepCopy() *JobTemplate { + if in == nil { + return nil + } + out := new(JobTemplate) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobTemplate_STATUS) DeepCopyInto(out *JobTemplate_STATUS) { + *out = *in + if in.Containers != nil { + in, out := &in.Containers, &out.Containers + *out = make([]Container_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InitContainers != nil { + in, out := &in.InitContainers, &out.InitContainers + *out = make([]BaseContainer_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Volumes != nil { + in, out := &in.Volumes, &out.Volumes + *out = make([]Volume_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobTemplate_STATUS. +func (in *JobTemplate_STATUS) DeepCopy() *JobTemplate_STATUS { + if in == nil { + return nil + } + out := new(JobTemplate_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 *Job_STATUS) DeepCopyInto(out *Job_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.Configuration != nil { + in, out := &in.Configuration, &out.Configuration + *out = new(JobConfiguration_STATUS) + (*in).DeepCopyInto(*out) + } + if in.EnvironmentId != nil { + in, out := &in.EnvironmentId, &out.EnvironmentId + *out = new(string) + **out = **in + } + if in.EventStreamEndpoint != nil { + in, out := &in.EventStreamEndpoint, &out.EventStreamEndpoint + *out = new(string) + **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(ManagedServiceIdentity_STATUS) + (*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.OutboundIpAddresses != nil { + in, out := &in.OutboundIpAddresses, &out.OutboundIpAddresses + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.ProvisioningState != nil { + in, out := &in.ProvisioningState, &out.ProvisioningState + *out = new(Job_Properties_ProvisioningState_STATUS) + **out = **in + } + 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.Template != nil { + in, out := &in.Template, &out.Template + *out = new(JobTemplate_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + if in.WorkloadProfileName != nil { + in, out := &in.WorkloadProfileName, &out.WorkloadProfileName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Job_STATUS. +func (in *Job_STATUS) DeepCopy() *Job_STATUS { + if in == nil { + return nil + } + out := new(Job_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 *Job_Spec) DeepCopyInto(out *Job_Spec) { + *out = *in + if in.Configuration != nil { + in, out := &in.Configuration, &out.Configuration + *out = new(JobConfiguration) + (*in).DeepCopyInto(*out) + } + if in.EnvironmentReference != nil { + in, out := &in.EnvironmentReference, &out.EnvironmentReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(ManagedServiceIdentity) + (*in).DeepCopyInto(*out) + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.OperatorSpec != nil { + in, out := &in.OperatorSpec, &out.OperatorSpec + *out = new(JobOperatorSpec) + (*in).DeepCopyInto(*out) + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.KnownResourceReference) + **out = **in + } + 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.Template != nil { + in, out := &in.Template, &out.Template + *out = new(JobTemplate) + (*in).DeepCopyInto(*out) + } + if in.WorkloadProfileName != nil { + in, out := &in.WorkloadProfileName, &out.WorkloadProfileName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Job_Spec. +func (in *Job_Spec) DeepCopy() *Job_Spec { + if in == nil { + return nil + } + out := new(Job_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 *JwtClaimChecks) DeepCopyInto(out *JwtClaimChecks) { + *out = *in + if in.AllowedClientApplications != nil { + in, out := &in.AllowedClientApplications, &out.AllowedClientApplications + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.AllowedGroups != nil { + in, out := &in.AllowedGroups, &out.AllowedGroups + *out = make([]string, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JwtClaimChecks. +func (in *JwtClaimChecks) DeepCopy() *JwtClaimChecks { + if in == nil { + return nil + } + out := new(JwtClaimChecks) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JwtClaimChecks_STATUS) DeepCopyInto(out *JwtClaimChecks_STATUS) { + *out = *in + if in.AllowedClientApplications != nil { + in, out := &in.AllowedClientApplications, &out.AllowedClientApplications + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.AllowedGroups != nil { + in, out := &in.AllowedGroups, &out.AllowedGroups + *out = make([]string, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JwtClaimChecks_STATUS. +func (in *JwtClaimChecks_STATUS) DeepCopy() *JwtClaimChecks_STATUS { + if in == nil { + return nil + } + out := new(JwtClaimChecks_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 *KedaConfiguration_STATUS) DeepCopyInto(out *KedaConfiguration_STATUS) { + *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 KedaConfiguration_STATUS. +func (in *KedaConfiguration_STATUS) DeepCopy() *KedaConfiguration_STATUS { + if in == nil { + return nil + } + out := new(KedaConfiguration_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 *LogAnalyticsConfiguration) DeepCopyInto(out *LogAnalyticsConfiguration) { + *out = *in + if in.CustomerId != nil { + in, out := &in.CustomerId, &out.CustomerId + *out = new(string) + **out = **in + } + if in.SharedKey != nil { + in, out := &in.SharedKey, &out.SharedKey + *out = new(genruntime.SecretReference) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogAnalyticsConfiguration. +func (in *LogAnalyticsConfiguration) DeepCopy() *LogAnalyticsConfiguration { + if in == nil { + return nil + } + out := new(LogAnalyticsConfiguration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LogAnalyticsConfiguration_STATUS) DeepCopyInto(out *LogAnalyticsConfiguration_STATUS) { + *out = *in + if in.CustomerId != nil { + in, out := &in.CustomerId, &out.CustomerId + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogAnalyticsConfiguration_STATUS. +func (in *LogAnalyticsConfiguration_STATUS) DeepCopy() *LogAnalyticsConfiguration_STATUS { + if in == nil { + return nil + } + out := new(LogAnalyticsConfiguration_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 *Login) DeepCopyInto(out *Login) { + *out = *in + if in.AllowedExternalRedirectUrls != nil { + in, out := &in.AllowedExternalRedirectUrls, &out.AllowedExternalRedirectUrls + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.CookieExpiration != nil { + in, out := &in.CookieExpiration, &out.CookieExpiration + *out = new(CookieExpiration) + (*in).DeepCopyInto(*out) + } + if in.Nonce != nil { + in, out := &in.Nonce, &out.Nonce + *out = new(Nonce) + (*in).DeepCopyInto(*out) + } + if in.PreserveUrlFragmentsForLogins != nil { + in, out := &in.PreserveUrlFragmentsForLogins, &out.PreserveUrlFragmentsForLogins + *out = new(bool) + **out = **in + } + if in.Routes != nil { + in, out := &in.Routes, &out.Routes + *out = new(LoginRoutes) + (*in).DeepCopyInto(*out) + } + if in.TokenStore != nil { + in, out := &in.TokenStore, &out.TokenStore + *out = new(TokenStore) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Login. +func (in *Login) DeepCopy() *Login { + if in == nil { + return nil + } + out := new(Login) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LoginRoutes) DeepCopyInto(out *LoginRoutes) { + *out = *in + if in.LogoutEndpoint != nil { + in, out := &in.LogoutEndpoint, &out.LogoutEndpoint + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoginRoutes. +func (in *LoginRoutes) DeepCopy() *LoginRoutes { + if in == nil { + return nil + } + out := new(LoginRoutes) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LoginRoutes_STATUS) DeepCopyInto(out *LoginRoutes_STATUS) { + *out = *in + if in.LogoutEndpoint != nil { + in, out := &in.LogoutEndpoint, &out.LogoutEndpoint + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoginRoutes_STATUS. +func (in *LoginRoutes_STATUS) DeepCopy() *LoginRoutes_STATUS { + if in == nil { + return nil + } + out := new(LoginRoutes_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 *LoginScopes) DeepCopyInto(out *LoginScopes) { + *out = *in + if in.Scopes != nil { + in, out := &in.Scopes, &out.Scopes + *out = make([]string, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoginScopes. +func (in *LoginScopes) DeepCopy() *LoginScopes { + if in == nil { + return nil + } + out := new(LoginScopes) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LoginScopes_STATUS) DeepCopyInto(out *LoginScopes_STATUS) { + *out = *in + if in.Scopes != nil { + in, out := &in.Scopes, &out.Scopes + *out = make([]string, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoginScopes_STATUS. +func (in *LoginScopes_STATUS) DeepCopy() *LoginScopes_STATUS { + if in == nil { + return nil + } + out := new(LoginScopes_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 *Login_STATUS) DeepCopyInto(out *Login_STATUS) { + *out = *in + if in.AllowedExternalRedirectUrls != nil { + in, out := &in.AllowedExternalRedirectUrls, &out.AllowedExternalRedirectUrls + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.CookieExpiration != nil { + in, out := &in.CookieExpiration, &out.CookieExpiration + *out = new(CookieExpiration_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Nonce != nil { + in, out := &in.Nonce, &out.Nonce + *out = new(Nonce_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PreserveUrlFragmentsForLogins != nil { + in, out := &in.PreserveUrlFragmentsForLogins, &out.PreserveUrlFragmentsForLogins + *out = new(bool) + **out = **in + } + if in.Routes != nil { + in, out := &in.Routes, &out.Routes + *out = new(LoginRoutes_STATUS) + (*in).DeepCopyInto(*out) + } + if in.TokenStore != nil { + in, out := &in.TokenStore, &out.TokenStore + *out = new(TokenStore_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Login_STATUS. +func (in *Login_STATUS) DeepCopy() *Login_STATUS { + if in == nil { + return nil + } + out := new(Login_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 *ManagedEnvironment) DeepCopyInto(out *ManagedEnvironment) { + *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 ManagedEnvironment. +func (in *ManagedEnvironment) DeepCopy() *ManagedEnvironment { + if in == nil { + return nil + } + out := new(ManagedEnvironment) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ManagedEnvironment) 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 *ManagedEnvironmentList) DeepCopyInto(out *ManagedEnvironmentList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ManagedEnvironment, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedEnvironmentList. +func (in *ManagedEnvironmentList) DeepCopy() *ManagedEnvironmentList { + if in == nil { + return nil + } + out := new(ManagedEnvironmentList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ManagedEnvironmentList) 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 *ManagedEnvironmentOperatorSpec) DeepCopyInto(out *ManagedEnvironmentOperatorSpec) { + *out = *in + if in.ConfigMapExpressions != nil { + in, out := &in.ConfigMapExpressions, &out.ConfigMapExpressions + *out = make([]*core.DestinationExpression, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(core.DestinationExpression) + **out = **in + } + } + } + if in.SecretExpressions != nil { + in, out := &in.SecretExpressions, &out.SecretExpressions + *out = make([]*core.DestinationExpression, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(core.DestinationExpression) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedEnvironmentOperatorSpec. +func (in *ManagedEnvironmentOperatorSpec) DeepCopy() *ManagedEnvironmentOperatorSpec { + if in == nil { + return nil + } + out := new(ManagedEnvironmentOperatorSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedEnvironment_Properties_PeerAuthentication_STATUS) DeepCopyInto(out *ManagedEnvironment_Properties_PeerAuthentication_STATUS) { + *out = *in + if in.Mtls != nil { + in, out := &in.Mtls, &out.Mtls + *out = new(Mtls_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedEnvironment_Properties_PeerAuthentication_STATUS. +func (in *ManagedEnvironment_Properties_PeerAuthentication_STATUS) DeepCopy() *ManagedEnvironment_Properties_PeerAuthentication_STATUS { + if in == nil { + return nil + } + out := new(ManagedEnvironment_Properties_PeerAuthentication_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 *ManagedEnvironment_Properties_PeerAuthentication_Spec) DeepCopyInto(out *ManagedEnvironment_Properties_PeerAuthentication_Spec) { + *out = *in + if in.Mtls != nil { + in, out := &in.Mtls, &out.Mtls + *out = new(Mtls) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedEnvironment_Properties_PeerAuthentication_Spec. +func (in *ManagedEnvironment_Properties_PeerAuthentication_Spec) DeepCopy() *ManagedEnvironment_Properties_PeerAuthentication_Spec { + if in == nil { + return nil + } + out := new(ManagedEnvironment_Properties_PeerAuthentication_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 *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS) DeepCopyInto(out *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS. +func (in *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS) DeepCopy() *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS { + if in == nil { + return nil + } + out := new(ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_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 *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec) DeepCopyInto(out *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec. +func (in *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec) DeepCopy() *ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec { + if in == nil { + return nil + } + out := new(ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_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 *ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS) DeepCopyInto(out *ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS) { + *out = *in + if in.Encryption != nil { + in, out := &in.Encryption, &out.Encryption + *out = new(ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS. +func (in *ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS) DeepCopy() *ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS { + if in == nil { + return nil + } + out := new(ManagedEnvironment_Properties_PeerTrafficConfiguration_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 *ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec) DeepCopyInto(out *ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec) { + *out = *in + if in.Encryption != nil { + in, out := &in.Encryption, &out.Encryption + *out = new(ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec. +func (in *ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec) DeepCopy() *ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec { + if in == nil { + return nil + } + out := new(ManagedEnvironment_Properties_PeerTrafficConfiguration_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 *ManagedEnvironment_STATUS) DeepCopyInto(out *ManagedEnvironment_STATUS) { + *out = *in + if in.AppLogsConfiguration != nil { + in, out := &in.AppLogsConfiguration, &out.AppLogsConfiguration + *out = new(AppLogsConfiguration_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.CustomDomainConfiguration != nil { + in, out := &in.CustomDomainConfiguration, &out.CustomDomainConfiguration + *out = new(CustomDomainConfiguration_STATUS) + (*in).DeepCopyInto(*out) + } + if in.DaprConfiguration != nil { + in, out := &in.DaprConfiguration, &out.DaprConfiguration + *out = new(DaprConfiguration_STATUS) + (*in).DeepCopyInto(*out) + } + if in.DefaultDomain != nil { + in, out := &in.DefaultDomain, &out.DefaultDomain + *out = new(string) + **out = **in + } + if in.DeploymentErrors != nil { + in, out := &in.DeploymentErrors, &out.DeploymentErrors + *out = new(string) + **out = **in + } + if in.EventStreamEndpoint != nil { + in, out := &in.EventStreamEndpoint, &out.EventStreamEndpoint + *out = new(string) + **out = **in + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.InfrastructureResourceGroup != nil { + in, out := &in.InfrastructureResourceGroup, &out.InfrastructureResourceGroup + *out = new(string) + **out = **in + } + if in.KedaConfiguration != nil { + in, out := &in.KedaConfiguration, &out.KedaConfiguration + *out = new(KedaConfiguration_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Kind != nil { + in, out := &in.Kind, &out.Kind + *out = new(string) + **out = **in + } + 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.PeerAuthentication != nil { + in, out := &in.PeerAuthentication, &out.PeerAuthentication + *out = new(ManagedEnvironment_Properties_PeerAuthentication_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PeerTrafficConfiguration != nil { + in, out := &in.PeerTrafficConfiguration, &out.PeerTrafficConfiguration + *out = new(ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS) + (*in).DeepCopyInto(*out) + } + if in.ProvisioningState != nil { + in, out := &in.ProvisioningState, &out.ProvisioningState + *out = new(ManagedEnvironment_Properties_ProvisioningState_STATUS) + **out = **in + } + if in.StaticIp != nil { + in, out := &in.StaticIp, &out.StaticIp + *out = new(string) + **out = **in + } + 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.VnetConfiguration != nil { + in, out := &in.VnetConfiguration, &out.VnetConfiguration + *out = new(VnetConfiguration_STATUS) + (*in).DeepCopyInto(*out) + } + if in.WorkloadProfiles != nil { + in, out := &in.WorkloadProfiles, &out.WorkloadProfiles + *out = make([]WorkloadProfile_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ZoneRedundant != nil { + in, out := &in.ZoneRedundant, &out.ZoneRedundant + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedEnvironment_STATUS. +func (in *ManagedEnvironment_STATUS) DeepCopy() *ManagedEnvironment_STATUS { + if in == nil { + return nil + } + out := new(ManagedEnvironment_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 *ManagedEnvironment_Spec) DeepCopyInto(out *ManagedEnvironment_Spec) { + *out = *in + if in.AppLogsConfiguration != nil { + in, out := &in.AppLogsConfiguration, &out.AppLogsConfiguration + *out = new(AppLogsConfiguration) + (*in).DeepCopyInto(*out) + } + if in.CustomDomainConfiguration != nil { + in, out := &in.CustomDomainConfiguration, &out.CustomDomainConfiguration + *out = new(CustomDomainConfiguration) + (*in).DeepCopyInto(*out) + } + if in.DaprAIConnectionString != nil { + in, out := &in.DaprAIConnectionString, &out.DaprAIConnectionString + *out = new(genruntime.SecretReference) + **out = **in + } + if in.DaprAIInstrumentationKey != nil { + in, out := &in.DaprAIInstrumentationKey, &out.DaprAIInstrumentationKey + *out = new(genruntime.SecretReference) + **out = **in + } + if in.InfrastructureResourceGroup != nil { + in, out := &in.InfrastructureResourceGroup, &out.InfrastructureResourceGroup + *out = new(string) + **out = **in + } + if in.Kind != nil { + in, out := &in.Kind, &out.Kind + *out = new(string) + **out = **in + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.OperatorSpec != nil { + in, out := &in.OperatorSpec, &out.OperatorSpec + *out = new(ManagedEnvironmentOperatorSpec) + (*in).DeepCopyInto(*out) + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.KnownResourceReference) + **out = **in + } + if in.PeerAuthentication != nil { + in, out := &in.PeerAuthentication, &out.PeerAuthentication + *out = new(ManagedEnvironment_Properties_PeerAuthentication_Spec) + (*in).DeepCopyInto(*out) + } + if in.PeerTrafficConfiguration != nil { + in, out := &in.PeerTrafficConfiguration, &out.PeerTrafficConfiguration + *out = new(ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec) + (*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.VnetConfiguration != nil { + in, out := &in.VnetConfiguration, &out.VnetConfiguration + *out = new(VnetConfiguration) + (*in).DeepCopyInto(*out) + } + if in.WorkloadProfiles != nil { + in, out := &in.WorkloadProfiles, &out.WorkloadProfiles + *out = make([]WorkloadProfile, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ZoneRedundant != nil { + in, out := &in.ZoneRedundant, &out.ZoneRedundant + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedEnvironment_Spec. +func (in *ManagedEnvironment_Spec) DeepCopy() *ManagedEnvironment_Spec { + if in == nil { + return nil + } + out := new(ManagedEnvironment_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 *ManagedServiceIdentity) DeepCopyInto(out *ManagedServiceIdentity) { + *out = *in + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(ManagedServiceIdentityType) + **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 ManagedServiceIdentity. +func (in *ManagedServiceIdentity) DeepCopy() *ManagedServiceIdentity { + if in == nil { + return nil + } + out := new(ManagedServiceIdentity) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedServiceIdentity_STATUS) DeepCopyInto(out *ManagedServiceIdentity_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(ManagedServiceIdentityType_STATUS) + **out = **in + } + if in.UserAssignedIdentities != nil { + in, out := &in.UserAssignedIdentities, &out.UserAssignedIdentities + *out = make(map[string]UserAssignedIdentity_STATUS, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedServiceIdentity_STATUS. +func (in *ManagedServiceIdentity_STATUS) DeepCopy() *ManagedServiceIdentity_STATUS { + if in == nil { + return nil + } + out := new(ManagedServiceIdentity_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 *Mtls) DeepCopyInto(out *Mtls) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Mtls. +func (in *Mtls) DeepCopy() *Mtls { + if in == nil { + return nil + } + out := new(Mtls) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Mtls_STATUS) DeepCopyInto(out *Mtls_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Mtls_STATUS. +func (in *Mtls_STATUS) DeepCopy() *Mtls_STATUS { + if in == nil { + return nil + } + out := new(Mtls_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 *Nonce) DeepCopyInto(out *Nonce) { + *out = *in + if in.NonceExpirationInterval != nil { + in, out := &in.NonceExpirationInterval, &out.NonceExpirationInterval + *out = new(string) + **out = **in + } + if in.ValidateNonce != nil { + in, out := &in.ValidateNonce, &out.ValidateNonce + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Nonce. +func (in *Nonce) DeepCopy() *Nonce { + if in == nil { + return nil + } + out := new(Nonce) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Nonce_STATUS) DeepCopyInto(out *Nonce_STATUS) { + *out = *in + if in.NonceExpirationInterval != nil { + in, out := &in.NonceExpirationInterval, &out.NonceExpirationInterval + *out = new(string) + **out = **in + } + if in.ValidateNonce != nil { + in, out := &in.ValidateNonce, &out.ValidateNonce + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Nonce_STATUS. +func (in *Nonce_STATUS) DeepCopy() *Nonce_STATUS { + if in == nil { + return nil + } + out := new(Nonce_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 *OpenIdConnectClientCredential) DeepCopyInto(out *OpenIdConnectClientCredential) { + *out = *in + if in.ClientSecretSettingName != nil { + in, out := &in.ClientSecretSettingName, &out.ClientSecretSettingName + *out = new(string) + **out = **in + } + if in.Method != nil { + in, out := &in.Method, &out.Method + *out = new(OpenIdConnectClientCredential_Method) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenIdConnectClientCredential. +func (in *OpenIdConnectClientCredential) DeepCopy() *OpenIdConnectClientCredential { + if in == nil { + return nil + } + out := new(OpenIdConnectClientCredential) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OpenIdConnectClientCredential_STATUS) DeepCopyInto(out *OpenIdConnectClientCredential_STATUS) { + *out = *in + if in.ClientSecretSettingName != nil { + in, out := &in.ClientSecretSettingName, &out.ClientSecretSettingName + *out = new(string) + **out = **in + } + if in.Method != nil { + in, out := &in.Method, &out.Method + *out = new(OpenIdConnectClientCredential_Method_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenIdConnectClientCredential_STATUS. +func (in *OpenIdConnectClientCredential_STATUS) DeepCopy() *OpenIdConnectClientCredential_STATUS { + if in == nil { + return nil + } + out := new(OpenIdConnectClientCredential_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 *OpenIdConnectConfig) DeepCopyInto(out *OpenIdConnectConfig) { + *out = *in + if in.AuthorizationEndpoint != nil { + in, out := &in.AuthorizationEndpoint, &out.AuthorizationEndpoint + *out = new(string) + **out = **in + } + if in.CertificationUri != nil { + in, out := &in.CertificationUri, &out.CertificationUri + *out = new(string) + **out = **in + } + if in.Issuer != nil { + in, out := &in.Issuer, &out.Issuer + *out = new(string) + **out = **in + } + if in.TokenEndpoint != nil { + in, out := &in.TokenEndpoint, &out.TokenEndpoint + *out = new(string) + **out = **in + } + if in.WellKnownOpenIdConfiguration != nil { + in, out := &in.WellKnownOpenIdConfiguration, &out.WellKnownOpenIdConfiguration + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenIdConnectConfig. +func (in *OpenIdConnectConfig) DeepCopy() *OpenIdConnectConfig { + if in == nil { + return nil + } + out := new(OpenIdConnectConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OpenIdConnectConfig_STATUS) DeepCopyInto(out *OpenIdConnectConfig_STATUS) { + *out = *in + if in.AuthorizationEndpoint != nil { + in, out := &in.AuthorizationEndpoint, &out.AuthorizationEndpoint + *out = new(string) + **out = **in + } + if in.CertificationUri != nil { + in, out := &in.CertificationUri, &out.CertificationUri + *out = new(string) + **out = **in + } + if in.Issuer != nil { + in, out := &in.Issuer, &out.Issuer + *out = new(string) + **out = **in + } + if in.TokenEndpoint != nil { + in, out := &in.TokenEndpoint, &out.TokenEndpoint + *out = new(string) + **out = **in + } + if in.WellKnownOpenIdConfiguration != nil { + in, out := &in.WellKnownOpenIdConfiguration, &out.WellKnownOpenIdConfiguration + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenIdConnectConfig_STATUS. +func (in *OpenIdConnectConfig_STATUS) DeepCopy() *OpenIdConnectConfig_STATUS { + if in == nil { + return nil + } + out := new(OpenIdConnectConfig_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 *OpenIdConnectLogin) DeepCopyInto(out *OpenIdConnectLogin) { + *out = *in + if in.NameClaimType != nil { + in, out := &in.NameClaimType, &out.NameClaimType + *out = new(string) + **out = **in + } + if in.Scopes != nil { + in, out := &in.Scopes, &out.Scopes + *out = make([]string, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenIdConnectLogin. +func (in *OpenIdConnectLogin) DeepCopy() *OpenIdConnectLogin { + if in == nil { + return nil + } + out := new(OpenIdConnectLogin) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OpenIdConnectLogin_STATUS) DeepCopyInto(out *OpenIdConnectLogin_STATUS) { + *out = *in + if in.NameClaimType != nil { + in, out := &in.NameClaimType, &out.NameClaimType + *out = new(string) + **out = **in + } + if in.Scopes != nil { + in, out := &in.Scopes, &out.Scopes + *out = make([]string, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenIdConnectLogin_STATUS. +func (in *OpenIdConnectLogin_STATUS) DeepCopy() *OpenIdConnectLogin_STATUS { + if in == nil { + return nil + } + out := new(OpenIdConnectLogin_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 *OpenIdConnectRegistration) DeepCopyInto(out *OpenIdConnectRegistration) { + *out = *in + if in.ClientCredential != nil { + in, out := &in.ClientCredential, &out.ClientCredential + *out = new(OpenIdConnectClientCredential) + (*in).DeepCopyInto(*out) + } + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.OpenIdConnectConfiguration != nil { + in, out := &in.OpenIdConnectConfiguration, &out.OpenIdConnectConfiguration + *out = new(OpenIdConnectConfig) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenIdConnectRegistration. +func (in *OpenIdConnectRegistration) DeepCopy() *OpenIdConnectRegistration { + if in == nil { + return nil + } + out := new(OpenIdConnectRegistration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OpenIdConnectRegistration_STATUS) DeepCopyInto(out *OpenIdConnectRegistration_STATUS) { + *out = *in + if in.ClientCredential != nil { + in, out := &in.ClientCredential, &out.ClientCredential + *out = new(OpenIdConnectClientCredential_STATUS) + (*in).DeepCopyInto(*out) + } + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.OpenIdConnectConfiguration != nil { + in, out := &in.OpenIdConnectConfiguration, &out.OpenIdConnectConfiguration + *out = new(OpenIdConnectConfig_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenIdConnectRegistration_STATUS. +func (in *OpenIdConnectRegistration_STATUS) DeepCopy() *OpenIdConnectRegistration_STATUS { + if in == nil { + return nil + } + out := new(OpenIdConnectRegistration_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 *QueueScaleRule) DeepCopyInto(out *QueueScaleRule) { + *out = *in + if in.Auth != nil { + in, out := &in.Auth, &out.Auth + *out = make([]ScaleRuleAuth, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.QueueLength != nil { + in, out := &in.QueueLength, &out.QueueLength + *out = new(int) + **out = **in + } + if in.QueueName != nil { + in, out := &in.QueueName, &out.QueueName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueScaleRule. +func (in *QueueScaleRule) DeepCopy() *QueueScaleRule { + if in == nil { + return nil + } + out := new(QueueScaleRule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *QueueScaleRule_STATUS) DeepCopyInto(out *QueueScaleRule_STATUS) { + *out = *in + if in.Auth != nil { + in, out := &in.Auth, &out.Auth + *out = make([]ScaleRuleAuth_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.QueueLength != nil { + in, out := &in.QueueLength, &out.QueueLength + *out = new(int) + **out = **in + } + if in.QueueName != nil { + in, out := &in.QueueName, &out.QueueName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueScaleRule_STATUS. +func (in *QueueScaleRule_STATUS) DeepCopy() *QueueScaleRule_STATUS { + if in == nil { + return nil + } + out := new(QueueScaleRule_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 *RegistryCredentials) DeepCopyInto(out *RegistryCredentials) { + *out = *in + if in.IdentityReference != nil { + in, out := &in.IdentityReference, &out.IdentityReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.PasswordSecretRef != nil { + in, out := &in.PasswordSecretRef, &out.PasswordSecretRef + *out = new(string) + **out = **in + } + if in.Server != nil { + in, out := &in.Server, &out.Server + *out = new(string) + **out = **in + } + if in.Username != nil { + in, out := &in.Username, &out.Username + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryCredentials. +func (in *RegistryCredentials) DeepCopy() *RegistryCredentials { + if in == nil { + return nil + } + out := new(RegistryCredentials) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegistryCredentials_STATUS) DeepCopyInto(out *RegistryCredentials_STATUS) { + *out = *in + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(string) + **out = **in + } + if in.PasswordSecretRef != nil { + in, out := &in.PasswordSecretRef, &out.PasswordSecretRef + *out = new(string) + **out = **in + } + if in.Server != nil { + in, out := &in.Server, &out.Server + *out = new(string) + **out = **in + } + if in.Username != nil { + in, out := &in.Username, &out.Username + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryCredentials_STATUS. +func (in *RegistryCredentials_STATUS) DeepCopy() *RegistryCredentials_STATUS { + if in == nil { + return nil + } + out := new(RegistryCredentials_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 *Scale) DeepCopyInto(out *Scale) { + *out = *in + if in.MaxReplicas != nil { + in, out := &in.MaxReplicas, &out.MaxReplicas + *out = new(int) + **out = **in + } + if in.MinReplicas != nil { + in, out := &in.MinReplicas, &out.MinReplicas + *out = new(int) + **out = **in + } + if in.Rules != nil { + in, out := &in.Rules, &out.Rules + *out = make([]ScaleRule, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Scale. +func (in *Scale) DeepCopy() *Scale { + if in == nil { + return nil + } + out := new(Scale) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ScaleRule) DeepCopyInto(out *ScaleRule) { + *out = *in + if in.AzureQueue != nil { + in, out := &in.AzureQueue, &out.AzureQueue + *out = new(QueueScaleRule) + (*in).DeepCopyInto(*out) + } + if in.Custom != nil { + in, out := &in.Custom, &out.Custom + *out = new(CustomScaleRule) + (*in).DeepCopyInto(*out) + } + if in.Http != nil { + in, out := &in.Http, &out.Http + *out = new(HttpScaleRule) + (*in).DeepCopyInto(*out) + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Tcp != nil { + in, out := &in.Tcp, &out.Tcp + *out = new(TcpScaleRule) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScaleRule. +func (in *ScaleRule) DeepCopy() *ScaleRule { + if in == nil { + return nil + } + out := new(ScaleRule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ScaleRuleAuth) DeepCopyInto(out *ScaleRuleAuth) { + *out = *in + if in.SecretRef != nil { + in, out := &in.SecretRef, &out.SecretRef + *out = new(string) + **out = **in + } + if in.TriggerParameter != nil { + in, out := &in.TriggerParameter, &out.TriggerParameter + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScaleRuleAuth. +func (in *ScaleRuleAuth) DeepCopy() *ScaleRuleAuth { + if in == nil { + return nil + } + out := new(ScaleRuleAuth) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ScaleRuleAuth_STATUS) DeepCopyInto(out *ScaleRuleAuth_STATUS) { + *out = *in + if in.SecretRef != nil { + in, out := &in.SecretRef, &out.SecretRef + *out = new(string) + **out = **in + } + if in.TriggerParameter != nil { + in, out := &in.TriggerParameter, &out.TriggerParameter + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScaleRuleAuth_STATUS. +func (in *ScaleRuleAuth_STATUS) DeepCopy() *ScaleRuleAuth_STATUS { + if in == nil { + return nil + } + out := new(ScaleRuleAuth_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 *ScaleRule_STATUS) DeepCopyInto(out *ScaleRule_STATUS) { + *out = *in + if in.AzureQueue != nil { + in, out := &in.AzureQueue, &out.AzureQueue + *out = new(QueueScaleRule_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Custom != nil { + in, out := &in.Custom, &out.Custom + *out = new(CustomScaleRule_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Http != nil { + in, out := &in.Http, &out.Http + *out = new(HttpScaleRule_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Tcp != nil { + in, out := &in.Tcp, &out.Tcp + *out = new(TcpScaleRule_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScaleRule_STATUS. +func (in *ScaleRule_STATUS) DeepCopy() *ScaleRule_STATUS { + if in == nil { + return nil + } + out := new(ScaleRule_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 *Scale_STATUS) DeepCopyInto(out *Scale_STATUS) { + *out = *in + if in.MaxReplicas != nil { + in, out := &in.MaxReplicas, &out.MaxReplicas + *out = new(int) + **out = **in + } + if in.MinReplicas != nil { + in, out := &in.MinReplicas, &out.MinReplicas + *out = new(int) + **out = **in + } + if in.Rules != nil { + in, out := &in.Rules, &out.Rules + *out = make([]ScaleRule_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Scale_STATUS. +func (in *Scale_STATUS) DeepCopy() *Scale_STATUS { + if in == nil { + return nil + } + out := new(Scale_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 *Secret) DeepCopyInto(out *Secret) { + *out = *in + if in.IdentityReference != nil { + in, out := &in.IdentityReference, &out.IdentityReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.KeyVaultUrl != nil { + in, out := &in.KeyVaultUrl, &out.KeyVaultUrl + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(genruntime.SecretReference) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Secret. +func (in *Secret) DeepCopy() *Secret { + if in == nil { + return nil + } + out := new(Secret) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretVolumeItem) DeepCopyInto(out *SecretVolumeItem) { + *out = *in + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } + if in.SecretRef != nil { + in, out := &in.SecretRef, &out.SecretRef + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretVolumeItem. +func (in *SecretVolumeItem) DeepCopy() *SecretVolumeItem { + if in == nil { + return nil + } + out := new(SecretVolumeItem) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretVolumeItem_STATUS) DeepCopyInto(out *SecretVolumeItem_STATUS) { + *out = *in + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } + if in.SecretRef != nil { + in, out := &in.SecretRef, &out.SecretRef + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretVolumeItem_STATUS. +func (in *SecretVolumeItem_STATUS) DeepCopy() *SecretVolumeItem_STATUS { + if in == nil { + return nil + } + out := new(SecretVolumeItem_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 *Secret_STATUS) DeepCopyInto(out *Secret_STATUS) { + *out = *in + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(string) + **out = **in + } + if in.KeyVaultUrl != nil { + in, out := &in.KeyVaultUrl, &out.KeyVaultUrl + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Secret_STATUS. +func (in *Secret_STATUS) DeepCopy() *Secret_STATUS { + if in == nil { + return nil + } + out := new(Secret_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 *Service) DeepCopyInto(out *Service) { + *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 Service. +func (in *Service) DeepCopy() *Service { + if in == nil { + return nil + } + out := new(Service) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceBind) DeepCopyInto(out *ServiceBind) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.ServiceReference != nil { + in, out := &in.ServiceReference, &out.ServiceReference + *out = new(genruntime.ResourceReference) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceBind. +func (in *ServiceBind) DeepCopy() *ServiceBind { + if in == nil { + return nil + } + out := new(ServiceBind) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceBind_STATUS) DeepCopyInto(out *ServiceBind_STATUS) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.ServiceId != nil { + in, out := &in.ServiceId, &out.ServiceId + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceBind_STATUS. +func (in *ServiceBind_STATUS) DeepCopy() *ServiceBind_STATUS { + if in == nil { + return nil + } + out := new(ServiceBind_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 *Service_STATUS) DeepCopyInto(out *Service_STATUS) { + *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 Service_STATUS. +func (in *Service_STATUS) DeepCopy() *Service_STATUS { + if in == nil { + return nil + } + out := new(Service_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(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 *TcpScaleRule) DeepCopyInto(out *TcpScaleRule) { + *out = *in + if in.Auth != nil { + in, out := &in.Auth, &out.Auth + *out = make([]ScaleRuleAuth, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Metadata != nil { + in, out := &in.Metadata, &out.Metadata + *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 TcpScaleRule. +func (in *TcpScaleRule) DeepCopy() *TcpScaleRule { + if in == nil { + return nil + } + out := new(TcpScaleRule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TcpScaleRule_STATUS) DeepCopyInto(out *TcpScaleRule_STATUS) { + *out = *in + if in.Auth != nil { + in, out := &in.Auth, &out.Auth + *out = make([]ScaleRuleAuth_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Metadata != nil { + in, out := &in.Metadata, &out.Metadata + *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 TcpScaleRule_STATUS. +func (in *TcpScaleRule_STATUS) DeepCopy() *TcpScaleRule_STATUS { + if in == nil { + return nil + } + out := new(TcpScaleRule_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 *Template) DeepCopyInto(out *Template) { + *out = *in + if in.Containers != nil { + in, out := &in.Containers, &out.Containers + *out = make([]Container, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InitContainers != nil { + in, out := &in.InitContainers, &out.InitContainers + *out = make([]BaseContainer, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RevisionSuffix != nil { + in, out := &in.RevisionSuffix, &out.RevisionSuffix + *out = new(string) + **out = **in + } + if in.Scale != nil { + in, out := &in.Scale, &out.Scale + *out = new(Scale) + (*in).DeepCopyInto(*out) + } + if in.ServiceBinds != nil { + in, out := &in.ServiceBinds, &out.ServiceBinds + *out = make([]ServiceBind, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TerminationGracePeriodSeconds != nil { + in, out := &in.TerminationGracePeriodSeconds, &out.TerminationGracePeriodSeconds + *out = new(int) + **out = **in + } + if in.Volumes != nil { + in, out := &in.Volumes, &out.Volumes + *out = make([]Volume, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Template. +func (in *Template) DeepCopy() *Template { + if in == nil { + return nil + } + out := new(Template) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Template_STATUS) DeepCopyInto(out *Template_STATUS) { + *out = *in + if in.Containers != nil { + in, out := &in.Containers, &out.Containers + *out = make([]Container_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InitContainers != nil { + in, out := &in.InitContainers, &out.InitContainers + *out = make([]BaseContainer_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RevisionSuffix != nil { + in, out := &in.RevisionSuffix, &out.RevisionSuffix + *out = new(string) + **out = **in + } + if in.Scale != nil { + in, out := &in.Scale, &out.Scale + *out = new(Scale_STATUS) + (*in).DeepCopyInto(*out) + } + if in.ServiceBinds != nil { + in, out := &in.ServiceBinds, &out.ServiceBinds + *out = make([]ServiceBind_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TerminationGracePeriodSeconds != nil { + in, out := &in.TerminationGracePeriodSeconds, &out.TerminationGracePeriodSeconds + *out = new(int) + **out = **in + } + if in.Volumes != nil { + in, out := &in.Volumes, &out.Volumes + *out = make([]Volume_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Template_STATUS. +func (in *Template_STATUS) DeepCopy() *Template_STATUS { + if in == nil { + return nil + } + out := new(Template_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 *TokenStore) DeepCopyInto(out *TokenStore) { + *out = *in + if in.AzureBlobStorage != nil { + in, out := &in.AzureBlobStorage, &out.AzureBlobStorage + *out = new(BlobStorageTokenStore) + (*in).DeepCopyInto(*out) + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.TokenRefreshExtensionHours != nil { + in, out := &in.TokenRefreshExtensionHours, &out.TokenRefreshExtensionHours + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenStore. +func (in *TokenStore) DeepCopy() *TokenStore { + if in == nil { + return nil + } + out := new(TokenStore) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TokenStore_STATUS) DeepCopyInto(out *TokenStore_STATUS) { + *out = *in + if in.AzureBlobStorage != nil { + in, out := &in.AzureBlobStorage, &out.AzureBlobStorage + *out = new(BlobStorageTokenStore_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.TokenRefreshExtensionHours != nil { + in, out := &in.TokenRefreshExtensionHours, &out.TokenRefreshExtensionHours + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenStore_STATUS. +func (in *TokenStore_STATUS) DeepCopy() *TokenStore_STATUS { + if in == nil { + return nil + } + out := new(TokenStore_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 *TrafficWeight) DeepCopyInto(out *TrafficWeight) { + *out = *in + if in.Label != nil { + in, out := &in.Label, &out.Label + *out = new(string) + **out = **in + } + if in.LatestRevision != nil { + in, out := &in.LatestRevision, &out.LatestRevision + *out = new(bool) + **out = **in + } + if in.RevisionName != nil { + in, out := &in.RevisionName, &out.RevisionName + *out = new(string) + **out = **in + } + if in.Weight != nil { + in, out := &in.Weight, &out.Weight + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficWeight. +func (in *TrafficWeight) DeepCopy() *TrafficWeight { + if in == nil { + return nil + } + out := new(TrafficWeight) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TrafficWeight_STATUS) DeepCopyInto(out *TrafficWeight_STATUS) { + *out = *in + if in.Label != nil { + in, out := &in.Label, &out.Label + *out = new(string) + **out = **in + } + if in.LatestRevision != nil { + in, out := &in.LatestRevision, &out.LatestRevision + *out = new(bool) + **out = **in + } + if in.RevisionName != nil { + in, out := &in.RevisionName, &out.RevisionName + *out = new(string) + **out = **in + } + if in.Weight != nil { + in, out := &in.Weight, &out.Weight + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficWeight_STATUS. +func (in *TrafficWeight_STATUS) DeepCopy() *TrafficWeight_STATUS { + if in == nil { + return nil + } + out := new(TrafficWeight_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 *Twitter) DeepCopyInto(out *Twitter) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(TwitterRegistration) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Twitter. +func (in *Twitter) DeepCopy() *Twitter { + if in == nil { + return nil + } + out := new(Twitter) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TwitterRegistration) DeepCopyInto(out *TwitterRegistration) { + *out = *in + if in.ConsumerKey != nil { + in, out := &in.ConsumerKey, &out.ConsumerKey + *out = new(string) + **out = **in + } + if in.ConsumerSecretSettingName != nil { + in, out := &in.ConsumerSecretSettingName, &out.ConsumerSecretSettingName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TwitterRegistration. +func (in *TwitterRegistration) DeepCopy() *TwitterRegistration { + if in == nil { + return nil + } + out := new(TwitterRegistration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TwitterRegistration_STATUS) DeepCopyInto(out *TwitterRegistration_STATUS) { + *out = *in + if in.ConsumerKey != nil { + in, out := &in.ConsumerKey, &out.ConsumerKey + *out = new(string) + **out = **in + } + if in.ConsumerSecretSettingName != nil { + in, out := &in.ConsumerSecretSettingName, &out.ConsumerSecretSettingName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TwitterRegistration_STATUS. +func (in *TwitterRegistration_STATUS) DeepCopy() *TwitterRegistration_STATUS { + if in == nil { + return nil + } + out := new(TwitterRegistration_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 *Twitter_STATUS) DeepCopyInto(out *Twitter_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Registration != nil { + in, out := &in.Registration, &out.Registration + *out = new(TwitterRegistration_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Twitter_STATUS. +func (in *Twitter_STATUS) DeepCopy() *Twitter_STATUS { + if in == nil { + return nil + } + out := new(Twitter_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 + 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 *UserAssignedIdentity_STATUS) DeepCopyInto(out *UserAssignedIdentity_STATUS) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.PrincipalId != nil { + in, out := &in.PrincipalId, &out.PrincipalId + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAssignedIdentity_STATUS. +func (in *UserAssignedIdentity_STATUS) DeepCopy() *UserAssignedIdentity_STATUS { + if in == nil { + return nil + } + out := new(UserAssignedIdentity_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 *VnetConfiguration) DeepCopyInto(out *VnetConfiguration) { + *out = *in + if in.DockerBridgeCidr != nil { + in, out := &in.DockerBridgeCidr, &out.DockerBridgeCidr + *out = new(string) + **out = **in + } + if in.InfrastructureSubnetReference != nil { + in, out := &in.InfrastructureSubnetReference, &out.InfrastructureSubnetReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.Internal != nil { + in, out := &in.Internal, &out.Internal + *out = new(bool) + **out = **in + } + if in.PlatformReservedCidr != nil { + in, out := &in.PlatformReservedCidr, &out.PlatformReservedCidr + *out = new(string) + **out = **in + } + if in.PlatformReservedDnsIP != nil { + in, out := &in.PlatformReservedDnsIP, &out.PlatformReservedDnsIP + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VnetConfiguration. +func (in *VnetConfiguration) DeepCopy() *VnetConfiguration { + if in == nil { + return nil + } + out := new(VnetConfiguration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VnetConfiguration_STATUS) DeepCopyInto(out *VnetConfiguration_STATUS) { + *out = *in + if in.DockerBridgeCidr != nil { + in, out := &in.DockerBridgeCidr, &out.DockerBridgeCidr + *out = new(string) + **out = **in + } + if in.InfrastructureSubnetId != nil { + in, out := &in.InfrastructureSubnetId, &out.InfrastructureSubnetId + *out = new(string) + **out = **in + } + if in.Internal != nil { + in, out := &in.Internal, &out.Internal + *out = new(bool) + **out = **in + } + if in.PlatformReservedCidr != nil { + in, out := &in.PlatformReservedCidr, &out.PlatformReservedCidr + *out = new(string) + **out = **in + } + if in.PlatformReservedDnsIP != nil { + in, out := &in.PlatformReservedDnsIP, &out.PlatformReservedDnsIP + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VnetConfiguration_STATUS. +func (in *VnetConfiguration_STATUS) DeepCopy() *VnetConfiguration_STATUS { + if in == nil { + return nil + } + out := new(VnetConfiguration_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 *Volume) DeepCopyInto(out *Volume) { + *out = *in + if in.MountOptions != nil { + in, out := &in.MountOptions, &out.MountOptions + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Secrets != nil { + in, out := &in.Secrets, &out.Secrets + *out = make([]SecretVolumeItem, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.StorageName != nil { + in, out := &in.StorageName, &out.StorageName + *out = new(string) + **out = **in + } + if in.StorageType != nil { + in, out := &in.StorageType, &out.StorageType + *out = new(Volume_StorageType) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Volume. +func (in *Volume) DeepCopy() *Volume { + if in == nil { + return nil + } + out := new(Volume) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VolumeMount) DeepCopyInto(out *VolumeMount) { + *out = *in + if in.MountPath != nil { + in, out := &in.MountPath, &out.MountPath + *out = new(string) + **out = **in + } + if in.SubPath != nil { + in, out := &in.SubPath, &out.SubPath + *out = new(string) + **out = **in + } + if in.VolumeName != nil { + in, out := &in.VolumeName, &out.VolumeName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeMount. +func (in *VolumeMount) DeepCopy() *VolumeMount { + if in == nil { + return nil + } + out := new(VolumeMount) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VolumeMount_STATUS) DeepCopyInto(out *VolumeMount_STATUS) { + *out = *in + if in.MountPath != nil { + in, out := &in.MountPath, &out.MountPath + *out = new(string) + **out = **in + } + if in.SubPath != nil { + in, out := &in.SubPath, &out.SubPath + *out = new(string) + **out = **in + } + if in.VolumeName != nil { + in, out := &in.VolumeName, &out.VolumeName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeMount_STATUS. +func (in *VolumeMount_STATUS) DeepCopy() *VolumeMount_STATUS { + if in == nil { + return nil + } + out := new(VolumeMount_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 *Volume_STATUS) DeepCopyInto(out *Volume_STATUS) { + *out = *in + if in.MountOptions != nil { + in, out := &in.MountOptions, &out.MountOptions + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Secrets != nil { + in, out := &in.Secrets, &out.Secrets + *out = make([]SecretVolumeItem_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.StorageName != nil { + in, out := &in.StorageName, &out.StorageName + *out = new(string) + **out = **in + } + if in.StorageType != nil { + in, out := &in.StorageType, &out.StorageType + *out = new(Volume_StorageType_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Volume_STATUS. +func (in *Volume_STATUS) DeepCopy() *Volume_STATUS { + if in == nil { + return nil + } + out := new(Volume_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 *WorkloadProfile) DeepCopyInto(out *WorkloadProfile) { + *out = *in + if in.MaximumCount != nil { + in, out := &in.MaximumCount, &out.MaximumCount + *out = new(int) + **out = **in + } + if in.MinimumCount != nil { + in, out := &in.MinimumCount, &out.MinimumCount + *out = new(int) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.WorkloadProfileType != nil { + in, out := &in.WorkloadProfileType, &out.WorkloadProfileType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadProfile. +func (in *WorkloadProfile) DeepCopy() *WorkloadProfile { + if in == nil { + return nil + } + out := new(WorkloadProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WorkloadProfile_STATUS) DeepCopyInto(out *WorkloadProfile_STATUS) { + *out = *in + if in.MaximumCount != nil { + in, out := &in.MaximumCount, &out.MaximumCount + *out = new(int) + **out = **in + } + if in.MinimumCount != nil { + in, out := &in.MinimumCount, &out.MinimumCount + *out = new(int) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.WorkloadProfileType != nil { + in, out := &in.WorkloadProfileType, &out.WorkloadProfileType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadProfile_STATUS. +func (in *WorkloadProfile_STATUS) DeepCopy() *WorkloadProfile_STATUS { + if in == nil { + return nil + } + out := new(WorkloadProfile_STATUS) + in.DeepCopyInto(out) + return out +} diff --git a/v2/api/app/versions_matrix.md b/v2/api/app/versions_matrix.md new file mode 100644 index 00000000000..d749b667bba --- /dev/null +++ b/v2/api/app/versions_matrix.md @@ -0,0 +1,245 @@ +| Type Definitions in package "app" | v1api20240301 | +|--------------------------------------------------------------------------|---------------| +| APIVersion | v1api20240301 | +| AllowedAudiencesValidation | v1api20240301 | +| AllowedAudiencesValidation_STATUS | v1api20240301 | +| AllowedPrincipals | v1api20240301 | +| AllowedPrincipals_STATUS | v1api20240301 | +| AppLogsConfiguration | v1api20240301 | +| AppLogsConfiguration_STATUS | v1api20240301 | +| AppRegistration | v1api20240301 | +| AppRegistration_STATUS | v1api20240301 | +| Apple | v1api20240301 | +| AppleRegistration | v1api20240301 | +| AppleRegistration_STATUS | v1api20240301 | +| Apple_STATUS | v1api20240301 | +| AuthConfig | v1api20240301 | +| AuthConfig_STATUS | v1api20240301 | +| AuthConfig_Spec | v1api20240301 | +| AuthPlatform | v1api20240301 | +| AuthPlatform_STATUS | v1api20240301 | +| AzureActiveDirectory | v1api20240301 | +| AzureActiveDirectoryLogin | v1api20240301 | +| AzureActiveDirectoryLogin_STATUS | v1api20240301 | +| AzureActiveDirectoryRegistration | v1api20240301 | +| AzureActiveDirectoryRegistration_STATUS | v1api20240301 | +| AzureActiveDirectoryValidation | v1api20240301 | +| AzureActiveDirectoryValidation_STATUS | v1api20240301 | +| AzureActiveDirectory_STATUS | v1api20240301 | +| AzureStaticWebApps | v1api20240301 | +| AzureStaticWebAppsRegistration | v1api20240301 | +| AzureStaticWebAppsRegistration_STATUS | v1api20240301 | +| AzureStaticWebApps_STATUS | v1api20240301 | +| BaseContainer | v1api20240301 | +| BaseContainer_STATUS | v1api20240301 | +| BlobStorageTokenStore | v1api20240301 | +| BlobStorageTokenStore_STATUS | v1api20240301 | +| ClientRegistration | v1api20240301 | +| ClientRegistration_STATUS | v1api20240301 | +| Configuration | v1api20240301 | +| Configuration_ActiveRevisionsMode | v1api20240301 | +| Configuration_ActiveRevisionsMode_STATUS | v1api20240301 | +| Configuration_STATUS | v1api20240301 | +| Container | v1api20240301 | +| ContainerApp | v1api20240301 | +| ContainerAppProbe | v1api20240301 | +| ContainerAppProbe_HttpGet | v1api20240301 | +| ContainerAppProbe_HttpGet_HttpHeaders | v1api20240301 | +| ContainerAppProbe_HttpGet_HttpHeaders_STATUS | v1api20240301 | +| ContainerAppProbe_HttpGet_STATUS | v1api20240301 | +| ContainerAppProbe_HttpGet_Scheme | v1api20240301 | +| ContainerAppProbe_HttpGet_Scheme_STATUS | v1api20240301 | +| ContainerAppProbe_STATUS | v1api20240301 | +| ContainerAppProbe_TcpSocket | v1api20240301 | +| ContainerAppProbe_TcpSocket_STATUS | v1api20240301 | +| ContainerAppProbe_Type | v1api20240301 | +| ContainerAppProbe_Type_STATUS | v1api20240301 | +| ContainerApp_Properties_ProvisioningState_STATUS | v1api20240301 | +| ContainerApp_Properties_STATUS | v1api20240301 | +| ContainerApp_Properties_Spec | v1api20240301 | +| ContainerApp_STATUS | v1api20240301 | +| ContainerApp_Spec | v1api20240301 | +| ContainerApps_AuthConfig_Properties_STATUS | v1api20240301 | +| ContainerApps_AuthConfig_Properties_Spec | v1api20240301 | +| ContainerResources | v1api20240301 | +| ContainerResources_STATUS | v1api20240301 | +| Container_STATUS | v1api20240301 | +| CookieExpiration | v1api20240301 | +| CookieExpiration_Convention | v1api20240301 | +| CookieExpiration_Convention_STATUS | v1api20240301 | +| CookieExpiration_STATUS | v1api20240301 | +| CorsPolicy | v1api20240301 | +| CorsPolicy_STATUS | v1api20240301 | +| CustomDomain | v1api20240301 | +| CustomDomainConfiguration | v1api20240301 | +| CustomDomainConfiguration_STATUS | v1api20240301 | +| CustomDomain_BindingType | v1api20240301 | +| CustomDomain_BindingType_STATUS | v1api20240301 | +| CustomDomain_STATUS | v1api20240301 | +| CustomOpenIdConnectProvider | v1api20240301 | +| CustomOpenIdConnectProvider_STATUS | v1api20240301 | +| CustomScaleRule | v1api20240301 | +| CustomScaleRule_STATUS | v1api20240301 | +| Dapr | v1api20240301 | +| DaprConfiguration_STATUS | v1api20240301 | +| Dapr_AppProtocol | v1api20240301 | +| Dapr_AppProtocol_STATUS | v1api20240301 | +| Dapr_LogLevel | v1api20240301 | +| Dapr_LogLevel_STATUS | v1api20240301 | +| Dapr_STATUS | v1api20240301 | +| DefaultAuthorizationPolicy | v1api20240301 | +| DefaultAuthorizationPolicy_STATUS | v1api20240301 | +| EncryptionSettings | v1api20240301 | +| EncryptionSettings_STATUS | v1api20240301 | +| EnvironmentVar | v1api20240301 | +| EnvironmentVar_STATUS | v1api20240301 | +| ExtendedLocation | v1api20240301 | +| ExtendedLocationType | v1api20240301 | +| ExtendedLocationType_STATUS | v1api20240301 | +| ExtendedLocation_STATUS | v1api20240301 | +| Facebook | v1api20240301 | +| Facebook_STATUS | v1api20240301 | +| ForwardProxy | v1api20240301 | +| ForwardProxy_Convention | v1api20240301 | +| ForwardProxy_Convention_STATUS | v1api20240301 | +| ForwardProxy_STATUS | v1api20240301 | +| GitHub | v1api20240301 | +| GitHub_STATUS | v1api20240301 | +| GlobalValidation | v1api20240301 | +| GlobalValidation_STATUS | v1api20240301 | +| GlobalValidation_UnauthenticatedClientAction | v1api20240301 | +| GlobalValidation_UnauthenticatedClientAction_STATUS | v1api20240301 | +| Google | v1api20240301 | +| Google_STATUS | v1api20240301 | +| HttpScaleRule | v1api20240301 | +| HttpScaleRule_STATUS | v1api20240301 | +| HttpSettings | v1api20240301 | +| HttpSettingsRoutes | v1api20240301 | +| HttpSettingsRoutes_STATUS | v1api20240301 | +| HttpSettings_STATUS | v1api20240301 | +| IdentityProviders | v1api20240301 | +| IdentityProviders_STATUS | v1api20240301 | +| Ingress | v1api20240301 | +| IngressPortMapping | v1api20240301 | +| IngressPortMapping_STATUS | v1api20240301 | +| Ingress_ClientCertificateMode | v1api20240301 | +| Ingress_ClientCertificateMode_STATUS | v1api20240301 | +| Ingress_STATUS | v1api20240301 | +| Ingress_StickySessions | v1api20240301 | +| Ingress_StickySessions_Affinity | v1api20240301 | +| Ingress_StickySessions_Affinity_STATUS | v1api20240301 | +| Ingress_StickySessions_STATUS | v1api20240301 | +| Ingress_Transport | v1api20240301 | +| Ingress_Transport_STATUS | v1api20240301 | +| IpSecurityRestrictionRule | v1api20240301 | +| IpSecurityRestrictionRule_Action | v1api20240301 | +| IpSecurityRestrictionRule_Action_STATUS | v1api20240301 | +| IpSecurityRestrictionRule_STATUS | v1api20240301 | +| Job | v1api20240301 | +| JobConfiguration | v1api20240301 | +| JobConfiguration_EventTriggerConfig | v1api20240301 | +| JobConfiguration_EventTriggerConfig_STATUS | v1api20240301 | +| JobConfiguration_ManualTriggerConfig | v1api20240301 | +| JobConfiguration_ManualTriggerConfig_STATUS | v1api20240301 | +| JobConfiguration_STATUS | v1api20240301 | +| JobConfiguration_ScheduleTriggerConfig | v1api20240301 | +| JobConfiguration_ScheduleTriggerConfig_STATUS | v1api20240301 | +| JobConfiguration_TriggerType | v1api20240301 | +| JobConfiguration_TriggerType_STATUS | v1api20240301 | +| JobScale | v1api20240301 | +| JobScaleRule | v1api20240301 | +| JobScaleRule_STATUS | v1api20240301 | +| JobScale_STATUS | v1api20240301 | +| JobTemplate | v1api20240301 | +| JobTemplate_STATUS | v1api20240301 | +| Job_Properties_ProvisioningState_STATUS | v1api20240301 | +| Job_Properties_STATUS | v1api20240301 | +| Job_Properties_Spec | v1api20240301 | +| Job_STATUS | v1api20240301 | +| Job_Spec | v1api20240301 | +| JwtClaimChecks | v1api20240301 | +| JwtClaimChecks_STATUS | v1api20240301 | +| KedaConfiguration_STATUS | v1api20240301 | +| LogAnalyticsConfiguration | v1api20240301 | +| LogAnalyticsConfiguration_STATUS | v1api20240301 | +| Login | v1api20240301 | +| LoginRoutes | v1api20240301 | +| LoginRoutes_STATUS | v1api20240301 | +| LoginScopes | v1api20240301 | +| LoginScopes_STATUS | v1api20240301 | +| Login_STATUS | v1api20240301 | +| ManagedEnvironment | v1api20240301 | +| ManagedEnvironment_Properties_PeerAuthentication_STATUS | v1api20240301 | +| ManagedEnvironment_Properties_PeerAuthentication_Spec | v1api20240301 | +| ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS | v1api20240301 | +| ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec | v1api20240301 | +| ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS | v1api20240301 | +| ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec | v1api20240301 | +| ManagedEnvironment_Properties_ProvisioningState_STATUS | v1api20240301 | +| ManagedEnvironment_Properties_STATUS | v1api20240301 | +| ManagedEnvironment_Properties_Spec | v1api20240301 | +| ManagedEnvironment_STATUS | v1api20240301 | +| ManagedEnvironment_Spec | v1api20240301 | +| ManagedServiceIdentity | v1api20240301 | +| ManagedServiceIdentityType | v1api20240301 | +| ManagedServiceIdentityType_STATUS | v1api20240301 | +| ManagedServiceIdentity_STATUS | v1api20240301 | +| Mtls | v1api20240301 | +| Mtls_STATUS | v1api20240301 | +| Nonce | v1api20240301 | +| Nonce_STATUS | v1api20240301 | +| OpenIdConnectClientCredential | v1api20240301 | +| OpenIdConnectClientCredential_Method | v1api20240301 | +| OpenIdConnectClientCredential_Method_STATUS | v1api20240301 | +| OpenIdConnectClientCredential_STATUS | v1api20240301 | +| OpenIdConnectConfig | v1api20240301 | +| OpenIdConnectConfig_STATUS | v1api20240301 | +| OpenIdConnectLogin | v1api20240301 | +| OpenIdConnectLogin_STATUS | v1api20240301 | +| OpenIdConnectRegistration | v1api20240301 | +| OpenIdConnectRegistration_STATUS | v1api20240301 | +| QueueScaleRule | v1api20240301 | +| QueueScaleRule_STATUS | v1api20240301 | +| RegistryCredentials | v1api20240301 | +| RegistryCredentials_STATUS | v1api20240301 | +| Scale | v1api20240301 | +| ScaleRule | v1api20240301 | +| ScaleRuleAuth | v1api20240301 | +| ScaleRuleAuth_STATUS | v1api20240301 | +| ScaleRule_STATUS | v1api20240301 | +| Scale_STATUS | v1api20240301 | +| Secret | v1api20240301 | +| SecretVolumeItem | v1api20240301 | +| SecretVolumeItem_STATUS | v1api20240301 | +| Secret_STATUS | v1api20240301 | +| Service | v1api20240301 | +| ServiceBind | v1api20240301 | +| ServiceBind_STATUS | v1api20240301 | +| Service_STATUS | v1api20240301 | +| SystemData_CreatedByType_STATUS | v1api20240301 | +| SystemData_LastModifiedByType_STATUS | v1api20240301 | +| SystemData_STATUS | v1api20240301 | +| TcpScaleRule | v1api20240301 | +| TcpScaleRule_STATUS | v1api20240301 | +| Template | v1api20240301 | +| Template_STATUS | v1api20240301 | +| TokenStore | v1api20240301 | +| TokenStore_STATUS | v1api20240301 | +| TrafficWeight | v1api20240301 | +| TrafficWeight_STATUS | v1api20240301 | +| Twitter | v1api20240301 | +| TwitterRegistration | v1api20240301 | +| TwitterRegistration_STATUS | v1api20240301 | +| Twitter_STATUS | v1api20240301 | +| UserAssignedIdentityDetails | v1api20240301 | +| UserAssignedIdentity_STATUS | v1api20240301 | +| VnetConfiguration | v1api20240301 | +| VnetConfiguration_STATUS | v1api20240301 | +| Volume | v1api20240301 | +| VolumeMount | v1api20240301 | +| VolumeMount_STATUS | v1api20240301 | +| Volume_STATUS | v1api20240301 | +| Volume_StorageType | v1api20240301 | +| Volume_StorageType_STATUS | v1api20240301 | +| WorkloadProfile | v1api20240301 | +| WorkloadProfile_STATUS | v1api20240301 | diff --git a/v2/azure-arm.yaml b/v2/azure-arm.yaml index 4f5e6baeb02..6ee85c30473 100644 --- a/v2/azure-arm.yaml +++ b/v2/azure-arm.yaml @@ -1172,6 +1172,54 @@ objectModelConfiguration: VirtualNetworkConfiguration: SubnetResourceId: $armReference: true + app: + 2024-03-01: + ContainerApp: + $export: true + $supportedFrom: v2.12.0 + $generatedConfigs: + EventStreamEndpoint: $.Status.EventStreamEndpoint + Fqdn: $.Status.LatestRevisionFqdn + ContainerApps_AuthConfig: + $exportAs: AuthConfig + $supportedFrom: v2.12.0 + RegistryCredentials: + passwordSecretRef: + $isSecret: false + Identity: + $armReference: true + ServiceBind: + ServiceId: + $armReference: true + Secret: + Identity: + $armReference: true + ContainerApp_Spec: + ManagedBy: + $armReference: true + ContainerApp_Properties_Spec: + EnvironmentId: + $armReference: true + ManagedEnvironmentId: + $armReference: true + CustomDomain: + CertificateId: + $armReference: true + OpenIdConnectConfig: + TokenEndpoint: + $isSecret: false + ManagedEnvironment: + $export: true + $supportedFrom: v2.12.0 + VnetConfiguration: + InfrastructureSubnetId: + $armReference: true + Job: + $export: true + $supportedFrom: v2.12.0 + Job_Properties_Spec: + EnvironmentId: + $armReference: true appconfiguration: 2022-05-01: ConfigurationStore: diff --git a/v2/internal/controllers/app_containerapp_20230301_test.go b/v2/internal/controllers/app_containerapp_20230301_test.go new file mode 100644 index 00000000000..adcf198bf39 --- /dev/null +++ b/v2/internal/controllers/app_containerapp_20230301_test.go @@ -0,0 +1,127 @@ +/* +Copyright (c) Microsoft Corporation. +Licensed under the MIT license. +*/ + +package controllers_test + +import ( + "testing" + + . "github.com/onsi/gomega" + + app "github.com/Azure/azure-service-operator/v2/api/app/v1api20240301" + 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" +) + +func Test_App_ContainerApps_CRUD(t *testing.T) { + t.Parallel() + + tc := globalTestContext.ForTest(t) + + rg := tc.CreateTestResourceGroupAndWait() + + managedEnv := newManagedEnvironment(tc, rg) + tc.CreateResourcesAndWait(managedEnv) + + containerApp := newContainerApp(tc, managedEnv, rg) + + tc.CreateResourceAndWait(containerApp) + + tc.Expect(containerApp.Status.Id).ToNot(BeNil()) + armId := *containerApp.Status.Id + + old := containerApp.DeepCopy() + containerApp.Spec.Tags = map[string]string{"foo": "bar"} + tc.PatchResourceAndWait(old, containerApp) + + tc.RunParallelSubtests( + testcommon.Subtest{ + Name: "AuthConfig CRUD", + Test: func(tc *testcommon.KubePerTestContext) { + ContainerApps_AuthConfig_CRUD(tc, containerApp) + }, + }, + ) + + tc.DeleteResourceAndWait(containerApp) + + // Ensure that the resource was really deleted in Azure + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( + tc.Ctx, + armId, + string(app.APIVersion_Value)) + tc.Expect(err).ToNot(HaveOccurred()) + tc.Expect(exists).To(BeFalse()) +} + +func ContainerApps_AuthConfig_CRUD(tc *testcommon.KubePerTestContext, containerApp *app.ContainerApp) { + authConfig := &app.AuthConfig{ + ObjectMeta: tc.MakeObjectMetaWithName("current"), + Spec: app.AuthConfig_Spec{ + HttpSettings: &app.HttpSettings{ + RequireHttps: to.Ptr(true), + }, + Owner: testcommon.AsOwner(containerApp), + }, + } + + tc.CreateResourceAndWait(authConfig) +} + +func newContainerApp(tc *testcommon.KubePerTestContext, managedEnv *app.ManagedEnvironment, rg *resources.ResourceGroup) *app.ContainerApp { + containerApp := &app.ContainerApp{ + ObjectMeta: tc.MakeObjectMeta("app"), + Spec: app.ContainerApp_Spec{ + Configuration: &app.Configuration{ + Ingress: &app.Ingress{ + AllowInsecure: to.Ptr(false), + TargetPort: to.Ptr(80), + }, + }, + EnvironmentReference: tc.MakeReferenceFromResource(managedEnv), + Location: tc.AzureRegion, + Owner: testcommon.AsOwner(rg), + Template: &app.Template{ + Containers: []app.Container{ + { + Image: to.Ptr("nginx:latest"), + Name: to.Ptr("nginx"), + VolumeMounts: []app.VolumeMount{ + { + MountPath: to.Ptr("/usr/share/nginx/html"), + VolumeName: to.Ptr("shared"), + }, + }, + }, + }, + InitContainers: []app.BaseContainer{ + { + Args: []string{ + "-c", + "echo Hello World", + }, + Command: []string{"/bin/sh"}, + Image: to.Ptr("debian:latest"), + Name: to.Ptr("debian"), + VolumeMounts: []app.VolumeMount{ + { + MountPath: to.Ptr("/shared"), + VolumeName: to.Ptr("shared"), + }, + }, + }, + }, + Volumes: []app.Volume{ + { + Name: to.Ptr("shared"), + StorageType: to.Ptr(app.Volume_StorageType_EmptyDir), + }, + }, + }, + }, + } + return containerApp +} diff --git a/v2/internal/controllers/app_job_20230301_test.go b/v2/internal/controllers/app_job_20230301_test.go new file mode 100644 index 00000000000..8125ae79984 --- /dev/null +++ b/v2/internal/controllers/app_job_20230301_test.go @@ -0,0 +1,73 @@ +/* +Copyright (c) Microsoft Corporation. +Licensed under the MIT license. +*/ + +package controllers_test + +import ( + "testing" + + . "github.com/onsi/gomega" + + app "github.com/Azure/azure-service-operator/v2/api/app/v1api20240301" + "github.com/Azure/azure-service-operator/v2/internal/testcommon" + "github.com/Azure/azure-service-operator/v2/internal/util/to" +) + +func Test_App_Job_CRUD(t *testing.T) { + t.Parallel() + + tc := globalTestContext.ForTest(t) + + rg := tc.CreateTestResourceGroupAndWait() + + managedEnv := newManagedEnvironment(tc, rg) + tc.CreateResourcesAndWait(managedEnv) + + job := &app.Job{ + ObjectMeta: tc.MakeObjectMeta("job"), + Spec: app.Job_Spec{ + Configuration: &app.JobConfiguration{ + EventTriggerConfig: nil, + ManualTriggerConfig: &app.JobConfiguration_ManualTriggerConfig{ + Parallelism: to.Ptr(1), + ReplicaCompletionCount: to.Ptr(1), + }, + ReplicaRetryLimit: to.Ptr(10), + ReplicaTimeout: to.Ptr(10), + TriggerType: to.Ptr(app.JobConfiguration_TriggerType_Manual), + }, + EnvironmentReference: tc.MakeReferenceFromResource(managedEnv), + Location: tc.AzureRegion, + Owner: testcommon.AsOwner(rg), + Template: &app.JobTemplate{ + Containers: []app.Container{ + { + Image: to.Ptr("mcr.microsoft.com/k8se/quickstart-jobs:latest"), + Name: to.Ptr("testcontainerappsjob"), + }, + }, + }, + }, + } + + tc.CreateResourcesAndWait(job) + + tc.Expect(job.Status.Id).ToNot(BeNil()) + armId := *job.Status.Id + + old := job.DeepCopy() + job.Spec.Tags = map[string]string{"foo": "bar"} + tc.PatchResourceAndWait(old, job) + + tc.DeleteResourceAndWait(job) + + // Ensure that the resource was really deleted in Azure + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( + tc.Ctx, + armId, + string(app.APIVersion_Value)) + tc.Expect(err).ToNot(HaveOccurred()) + tc.Expect(exists).To(BeFalse()) +} diff --git a/v2/internal/controllers/app_managedenvironment_20230301_test.go b/v2/internal/controllers/app_managedenvironment_20230301_test.go new file mode 100644 index 00000000000..0e3b0f81421 --- /dev/null +++ b/v2/internal/controllers/app_managedenvironment_20230301_test.go @@ -0,0 +1,64 @@ +/* +Copyright (c) Microsoft Corporation. +Licensed under the MIT license. +*/ + +package controllers_test + +import ( + "testing" + + . "github.com/onsi/gomega" + + app "github.com/Azure/azure-service-operator/v2/api/app/v1api20240301" + 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" +) + +func Test_App_ManagedEnvironment_CRUD(t *testing.T) { + t.Parallel() + + tc := globalTestContext.ForTest(t) + + rg := tc.CreateTestResourceGroupAndWait() + + managedEnv := newManagedEnvironment(tc, rg) + tc.CreateResourcesAndWait(managedEnv) + + tc.Expect(managedEnv.Status.Id).ToNot(BeNil()) + armId := *managedEnv.Status.Id + + old := managedEnv.DeepCopy() + managedEnv.Spec.Tags = map[string]string{"foo": "bar"} + tc.PatchResourceAndWait(old, managedEnv) + + tc.DeleteResourceAndWait(managedEnv) + + // Ensure that the resource was really deleted in Azure + exists, _, err := tc.AzureClient.CheckExistenceWithGetByID( + tc.Ctx, + armId, + string(app.APIVersion_Value)) + tc.Expect(err).ToNot(HaveOccurred()) + tc.Expect(exists).To(BeFalse()) +} + +func newManagedEnvironment(tc *testcommon.KubePerTestContext, rg *resources.ResourceGroup) *app.ManagedEnvironment { + managedEnv := &app.ManagedEnvironment{ + ObjectMeta: tc.MakeObjectMeta("env"), + Spec: app.ManagedEnvironment_Spec{ + Location: tc.AzureRegion, + Owner: testcommon.AsOwner(rg), + WorkloadProfiles: []app.WorkloadProfile{ + { + MaximumCount: to.Ptr(2), + MinimumCount: to.Ptr(1), + Name: to.Ptr("profile1"), + WorkloadProfileType: to.Ptr("D4"), + }, + }, + }, + } + return managedEnv +} diff --git a/v2/internal/controllers/controller_resources_gen.go b/v2/internal/controllers/controller_resources_gen.go index 2bbfcc794a7..e73a404ff91 100644 --- a/v2/internal/controllers/controller_resources_gen.go +++ b/v2/internal/controllers/controller_resources_gen.go @@ -14,6 +14,9 @@ import ( apimanagement_v20220801s "github.com/Azure/azure-service-operator/v2/api/apimanagement/v1api20220801/storage" apimanagement_v20230501p "github.com/Azure/azure-service-operator/v2/api/apimanagement/v1api20230501preview" apimanagement_v20230501ps "github.com/Azure/azure-service-operator/v2/api/apimanagement/v1api20230501preview/storage" + app_customizations "github.com/Azure/azure-service-operator/v2/api/app/customizations" + app_v20240301 "github.com/Azure/azure-service-operator/v2/api/app/v1api20240301" + app_v20240301s "github.com/Azure/azure-service-operator/v2/api/app/v1api20240301/storage" appconfiguration_customizations "github.com/Azure/azure-service-operator/v2/api/appconfiguration/customizations" appconfiguration_v20220501 "github.com/Azure/azure-service-operator/v2/api/appconfiguration/v1api20220501" appconfiguration_v20220501s "github.com/Azure/azure-service-operator/v2/api/appconfiguration/v1api20220501/storage" @@ -390,6 +393,68 @@ func getKnownStorageTypes() []*registration.StorageType { }, }, }) + result = append(result, ®istration.StorageType{Obj: new(app_v20240301s.AuthConfig)}) + result = append(result, ®istration.StorageType{ + Obj: new(app_v20240301s.ContainerApp), + Indexes: []registration.Index{ + { + Key: ".spec.configuration.secrets.value", + Func: indexAppContainerAppValue, + }, + }, + Watches: []registration.Watch{ + { + Type: &v1.Secret{}, + MakeEventHandler: watchSecretsFactory([]string{".spec.configuration.secrets.value"}, &app_v20240301s.ContainerAppList{}), + }, + }, + }) + result = append(result, ®istration.StorageType{ + Obj: new(app_v20240301s.Job), + Indexes: []registration.Index{ + { + Key: ".spec.configuration.secrets.value", + Func: indexAppJobValue, + }, + }, + Watches: []registration.Watch{ + { + Type: &v1.Secret{}, + MakeEventHandler: watchSecretsFactory([]string{".spec.configuration.secrets.value"}, &app_v20240301s.JobList{}), + }, + }, + }) + result = append(result, ®istration.StorageType{ + Obj: new(app_v20240301s.ManagedEnvironment), + Indexes: []registration.Index{ + { + Key: ".spec.customDomainConfiguration.certificatePassword", + Func: indexAppManagedEnvironmentCertificatePassword, + }, + { + Key: ".spec.customDomainConfiguration.certificateValue", + Func: indexAppManagedEnvironmentCertificateValue, + }, + { + Key: ".spec.daprAIConnectionString", + Func: indexAppManagedEnvironmentDaprAIConnectionString, + }, + { + Key: ".spec.daprAIInstrumentationKey", + Func: indexAppManagedEnvironmentDaprAIInstrumentationKey, + }, + { + Key: ".spec.appLogsConfiguration.logAnalyticsConfiguration.sharedKey", + Func: indexAppManagedEnvironmentSharedKey, + }, + }, + Watches: []registration.Watch{ + { + Type: &v1.Secret{}, + MakeEventHandler: watchSecretsFactory([]string{".spec.appLogsConfiguration.logAnalyticsConfiguration.sharedKey", ".spec.customDomainConfiguration.certificatePassword", ".spec.customDomainConfiguration.certificateValue", ".spec.daprAIConnectionString", ".spec.daprAIInstrumentationKey"}, &app_v20240301s.ManagedEnvironmentList{}), + }, + }, + }) result = append(result, ®istration.StorageType{Obj: new(appconfiguration_v20220501s.ConfigurationStore)}) result = append(result, ®istration.StorageType{ Obj: new(authorization_v20220401s.RoleAssignment), @@ -1460,6 +1525,18 @@ func getKnownTypes() []client.Object { new(apimanagement_v20230501ps.ProductPolicy), new(apimanagement_v20230501ps.Service), new(apimanagement_v20230501ps.Subscription)) + result = append( + result, + new(app_v20240301.AuthConfig), + new(app_v20240301.ContainerApp), + new(app_v20240301.Job), + new(app_v20240301.ManagedEnvironment)) + result = append( + result, + new(app_v20240301s.AuthConfig), + new(app_v20240301s.ContainerApp), + new(app_v20240301s.Job), + new(app_v20240301s.ManagedEnvironment)) result = append(result, new(appconfiguration_v20220501.ConfigurationStore)) result = append(result, new(appconfiguration_v20220501s.ConfigurationStore)) result = append(result, new(authorization_v20200801p.RoleAssignment)) @@ -2335,6 +2412,8 @@ func createScheme() *runtime.Scheme { _ = apimanagement_v20220801s.AddToScheme(scheme) _ = apimanagement_v20230501p.AddToScheme(scheme) _ = apimanagement_v20230501ps.AddToScheme(scheme) + _ = app_v20240301.AddToScheme(scheme) + _ = app_v20240301s.AddToScheme(scheme) _ = appconfiguration_v20220501.AddToScheme(scheme) _ = appconfiguration_v20220501s.AddToScheme(scheme) _ = authorization_v20200801p.AddToScheme(scheme) @@ -2523,6 +2602,10 @@ func getResourceExtensions() []genruntime.ResourceExtension { result = append(result, &apimanagement_customizations.ProductPolicyExtension{}) result = append(result, &apimanagement_customizations.ServiceExtension{}) result = append(result, &apimanagement_customizations.SubscriptionExtension{}) + result = append(result, &app_customizations.AuthConfigExtension{}) + result = append(result, &app_customizations.ContainerAppExtension{}) + result = append(result, &app_customizations.JobExtension{}) + result = append(result, &app_customizations.ManagedEnvironmentExtension{}) result = append(result, &appconfiguration_customizations.ConfigurationStoreExtension{}) result = append(result, &authorization_customizations.RoleAssignmentExtension{}) result = append(result, &authorization_customizations.RoleDefinitionExtension{}) @@ -3008,6 +3091,116 @@ func indexApimanagementSubscriptionSecondaryKey(rawObj client.Object) []string { return obj.Spec.SecondaryKey.Index() } +// indexAppContainerAppValue an index function for app_v20240301s.ContainerApp .spec.configuration.secrets.value +func indexAppContainerAppValue(rawObj client.Object) []string { + obj, ok := rawObj.(*app_v20240301s.ContainerApp) + if !ok { + return nil + } + var result []string + if obj.Spec.Configuration == nil { + return nil + } + for _, secretItem := range obj.Spec.Configuration.Secrets { + if secretItem.Value == nil { + continue + } + result = append(result, secretItem.Value.Index()...) + } + return result +} + +// indexAppJobValue an index function for app_v20240301s.Job .spec.configuration.secrets.value +func indexAppJobValue(rawObj client.Object) []string { + obj, ok := rawObj.(*app_v20240301s.Job) + if !ok { + return nil + } + var result []string + if obj.Spec.Configuration == nil { + return nil + } + for _, secretItem := range obj.Spec.Configuration.Secrets { + if secretItem.Value == nil { + continue + } + result = append(result, secretItem.Value.Index()...) + } + return result +} + +// indexAppManagedEnvironmentCertificatePassword an index function for app_v20240301s.ManagedEnvironment .spec.customDomainConfiguration.certificatePassword +func indexAppManagedEnvironmentCertificatePassword(rawObj client.Object) []string { + obj, ok := rawObj.(*app_v20240301s.ManagedEnvironment) + if !ok { + return nil + } + if obj.Spec.CustomDomainConfiguration == nil { + return nil + } + if obj.Spec.CustomDomainConfiguration.CertificatePassword == nil { + return nil + } + return obj.Spec.CustomDomainConfiguration.CertificatePassword.Index() +} + +// indexAppManagedEnvironmentCertificateValue an index function for app_v20240301s.ManagedEnvironment .spec.customDomainConfiguration.certificateValue +func indexAppManagedEnvironmentCertificateValue(rawObj client.Object) []string { + obj, ok := rawObj.(*app_v20240301s.ManagedEnvironment) + if !ok { + return nil + } + if obj.Spec.CustomDomainConfiguration == nil { + return nil + } + if obj.Spec.CustomDomainConfiguration.CertificateValue == nil { + return nil + } + return obj.Spec.CustomDomainConfiguration.CertificateValue.Index() +} + +// indexAppManagedEnvironmentDaprAIConnectionString an index function for app_v20240301s.ManagedEnvironment .spec.daprAIConnectionString +func indexAppManagedEnvironmentDaprAIConnectionString(rawObj client.Object) []string { + obj, ok := rawObj.(*app_v20240301s.ManagedEnvironment) + if !ok { + return nil + } + if obj.Spec.DaprAIConnectionString == nil { + return nil + } + return obj.Spec.DaprAIConnectionString.Index() +} + +// indexAppManagedEnvironmentDaprAIInstrumentationKey an index function for app_v20240301s.ManagedEnvironment .spec.daprAIInstrumentationKey +func indexAppManagedEnvironmentDaprAIInstrumentationKey(rawObj client.Object) []string { + obj, ok := rawObj.(*app_v20240301s.ManagedEnvironment) + if !ok { + return nil + } + if obj.Spec.DaprAIInstrumentationKey == nil { + return nil + } + return obj.Spec.DaprAIInstrumentationKey.Index() +} + +// indexAppManagedEnvironmentSharedKey an index function for app_v20240301s.ManagedEnvironment .spec.appLogsConfiguration.logAnalyticsConfiguration.sharedKey +func indexAppManagedEnvironmentSharedKey(rawObj client.Object) []string { + obj, ok := rawObj.(*app_v20240301s.ManagedEnvironment) + if !ok { + return nil + } + if obj.Spec.AppLogsConfiguration == nil { + return nil + } + if obj.Spec.AppLogsConfiguration.LogAnalyticsConfiguration == nil { + return nil + } + if obj.Spec.AppLogsConfiguration.LogAnalyticsConfiguration.SharedKey == nil { + return nil + } + return obj.Spec.AppLogsConfiguration.LogAnalyticsConfiguration.SharedKey.Index() +} + // indexAuthorizationRoleAssignmentPrincipalIdFromConfig an index function for authorization_v20220401s.RoleAssignment .spec.principalIdFromConfig func indexAuthorizationRoleAssignmentPrincipalIdFromConfig(rawObj client.Object) []string { obj, ok := rawObj.(*authorization_v20220401s.RoleAssignment) diff --git a/v2/internal/controllers/recordings/Test_App_ContainerApps_CRUD.yaml b/v2/internal/controllers/recordings/Test_App_ContainerApps_CRUD.yaml new file mode 100644 index 00000000000..07792b286d8 --- /dev/null +++ b/v2/internal/controllers/recordings/Test_App_ContainerApps_CRUD.yaml @@ -0,0 +1,4667 @@ +--- +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-fiwzcu","tags":{"CreatedAt":"2001-02-03T04:05:06Z"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "93" + Content-Type: + - application/json + Test-Request-Hash: + - fb0e77019e04df624092d3494f237a72faddc0238acb07d9e9f5e0f45002c07a + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu?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-fiwzcu","name":"asotest-rg-fiwzcu","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-Ms-Ratelimit-Remaining-Subscription-Global-Writes: + - "11999" + X-Msedge-Ref: + - 'Ref A: 81F66F06EABE42C9867A1B3363CEE8E7 Ref B: MAA201060515017 Ref C: 2025-01-07T08:48:06Z' + status: 200 OK + code: 200 + duration: 945.943125ms + - 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-fiwzcu?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-fiwzcu","name":"asotest-rg-fiwzcu","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-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 7276DE6C127044C1BD54C9BC39E87454 Ref B: MAA201060515017 Ref C: 2025-01-07T08:48:17Z' + status: 200 OK + code: 200 + duration: 283.110959ms + - id: 2 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 167 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"asotest-env-xhzbsz","properties":{"workloadProfiles":[{"maximumCount":2,"minimumCount":1,"name":"profile1","workloadProfileType":"D4"}]}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "167" + Content-Type: + - application/json + Test-Request-Hash: + - a7aac9d2b2cc66a283f385778c362a323a622a679e4869a1cdc555e5fc0f4eec + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/managedEnvironments/asotest-env-xhzbsz?api-version=2024-03-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1656 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/managedEnvironments/asotest-env-xhzbsz","name":"asotest-env-xhzbsz","type":"Microsoft.App/managedEnvironments","location":"West US 2","systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2025-01-07T06:46:46.0309149","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-01-07T08:48:25.244711"},"properties":{"provisioningState":"Succeeded","daprAIInstrumentationKey":null,"daprAIConnectionString":null,"vnetConfiguration":null,"defaultDomain":"livelypebble-cc11cd8b.westus2.azurecontainerapps.io","staticIp":"4.155.164.110","appLogsConfiguration":{"destination":null,"logAnalyticsConfiguration":null},"zoneRedundant":false,"kedaConfiguration":{"version":"2.15.1"},"daprConfiguration":{"version":"1.12.5"},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/managedEnvironments/asotest-env-xhzbsz/eventstream","customDomainConfiguration":{"customDomainVerificationId":"EFF02641736216A6CF4A85BE2625D8D075D5E5C45BBE094AB95EC8CC9DC473BF","dnsSuffix":null,"certificateValue":null,"certificatePassword":null,"thumbprint":null,"subjectName":null,"expirationDate":null},"workloadProfiles":[{"workloadProfileType":"D4","name":"profile1","minimumCount":1,"maximumCount":2},{"workloadProfileType":"Consumption","name":"Consumption"}],"infrastructureResourceGroup":null,"peerAuthentication":{"mtls":{"enabled":false}},"peerTrafficConfiguration":{"encryption":{"enabled":false}}}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "1656" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Resource-Requests: + - "99" + X-Msedge-Ref: + - 'Ref A: 23BF2A863D7F415499F4BABC5F866116 Ref B: MAA201060515017 Ref C: 2025-01-07T08:48:24Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 1.658287333s + - 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: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/managedEnvironments/asotest-env-xhzbsz?api-version=2024-03-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1656 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/managedEnvironments/asotest-env-xhzbsz","name":"asotest-env-xhzbsz","type":"Microsoft.App/managedEnvironments","location":"West US 2","systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2025-01-07T06:46:46.0309149","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-01-07T08:48:25.244711"},"properties":{"provisioningState":"Succeeded","daprAIInstrumentationKey":null,"daprAIConnectionString":null,"vnetConfiguration":null,"defaultDomain":"livelypebble-cc11cd8b.westus2.azurecontainerapps.io","staticIp":"4.155.164.110","appLogsConfiguration":{"destination":null,"logAnalyticsConfiguration":null},"zoneRedundant":false,"kedaConfiguration":{"version":"2.15.1"},"daprConfiguration":{"version":"1.12.5"},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/managedEnvironments/asotest-env-xhzbsz/eventstream","customDomainConfiguration":{"customDomainVerificationId":"EFF02641736216A6CF4A85BE2625D8D075D5E5C45BBE094AB95EC8CC9DC473BF","dnsSuffix":null,"certificateValue":null,"certificatePassword":null,"thumbprint":null,"subjectName":null,"expirationDate":null},"workloadProfiles":[{"workloadProfileType":"D4","name":"profile1","minimumCount":1,"maximumCount":2},{"workloadProfileType":"Consumption","name":"Consumption"}],"infrastructureResourceGroup":null,"peerAuthentication":{"mtls":{"enabled":false}},"peerTrafficConfiguration":{"encryption":{"enabled":false}}}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "1656" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 153ABB1EE1FF4B7994E819751AB8FE27 Ref B: MAA201060515017 Ref C: 2025-01-07T08:48:27Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 925.082709ms + - id: 4 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 678 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"asotest-app-vseeno","properties":{"configuration":{"ingress":{"allowInsecure":false,"targetPort":80}},"environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/managedEnvironments/asotest-env-xhzbsz","template":{"containers":[{"image":"nginx:latest","name":"nginx","volumeMounts":[{"mountPath":"/usr/share/nginx/html","volumeName":"shared"}]}],"initContainers":[{"args":["-c","echo Hello World"],"command":["/bin/sh"],"image":"debian:latest","name":"debian","volumeMounts":[{"mountPath":"/shared","volumeName":"shared"}]}],"volumes":[{"name":"shared","storageType":"EmptyDir"}]}}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "678" + Content-Type: + - application/json + Test-Request-Hash: + - 55449eda8e3cb13f1fdcb7d8fdb9bd903da01a6b502f29bd7dfc24e1980bd949 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/containerApps/asotest-app-vseeno?api-version=2024-03-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3368 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/containerapps/asotest-app-vseeno","name":"asotest-app-vseeno","type":"Microsoft.App/containerApps","location":"West US 2","systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2001-02-03T04:05:06Z","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2001-02-03T04:05:06Z"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/managedEnvironments/asotest-env-xhzbsz","environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/managedEnvironments/asotest-env-xhzbsz","workloadProfileName":"Consumption","outboundIpAddresses":["20.115.194.124","20.115.194.128","20.115.194.137","20.115.194.126","20.29.134.80","20.29.134.79","20.29.134.41","20.29.134.75","20.29.132.146","20.29.134.12","20.69.82.220","20.69.83.13","20.69.83.5","20.69.83.46","20.115.200.188","20.115.201.160","20.115.201.51","20.115.201.152","20.115.201.28","20.115.201.167","20.99.170.216","20.99.171.18","20.99.170.250","20.99.170.223","20.99.170.208","20.99.170.164","20.99.170.240","20.99.170.49","20.99.171.11","20.99.170.181","4.242.118.131","4.242.118.106","4.242.117.231","4.242.116.225","4.242.119.215","4.242.117.24","4.242.119.156","4.242.119.166","4.242.119.228","4.242.116.236","4.242.119.154","4.242.119.227","4.242.119.160","4.242.119.232","4.242.119.185","4.242.119.193","4.242.119.163","4.242.119.234","4.242.119.230","4.242.119.144","20.3.32.209","20.3.32.145","4.246.2.62","4.246.1.175","4.246.2.107","4.246.2.36","4.246.2.116","4.246.2.84","4.246.1.167","4.246.2.56","4.246.1.215","4.246.1.207","20.3.32.202","52.183.117.50","52.175.252.145","52.175.253.104","52.183.112.167","52.175.253.95","52.183.118.4","52.183.118.72","52.183.119.158","52.183.117.201","20.36.3.170","20.3.32.170","52.183.116.61","52.175.252.245","52.183.113.79","52.183.117.198","52.175.249.101","52.183.116.121","52.175.252.238","52.183.118.188","52.175.253.196","52.151.37.186","20.3.32.226","20.3.32.217","20.3.32.210","20.3.32.116","20.3.32.129","20.3.32.235","4.155.163.4"],"customDomainVerificationId":"EFF02641736216A6CF4A85BE2625D8D075D5E5C45BBE094AB95EC8CC9DC473BF","configuration":{"secrets":null,"activeRevisionsMode":null,"ingress":{"fqdn":null,"external":false,"targetPort":80,"exposedPort":null,"transport":null,"traffic":null,"customDomains":null,"allowInsecure":false,"ipSecurityRestrictions":null,"corsPolicy":null,"clientCertificateMode":null,"stickySessions":null,"additionalPortMappings":null},"registries":null,"dapr":null,"maxInactiveRevisions":100,"service":null},"template":{"revisionSuffix":null,"terminationGracePeriodSeconds":null,"containers":[{"image":"nginx:latest","name":"nginx","volumeMounts":[{"volumeName":"shared","mountPath":"/usr/share/nginx/html"}]}],"initContainers":[{"image":"debian:latest","name":"debian","command":["/bin/sh"],"args":["-c","echo Hello World"],"volumeMounts":[{"volumeName":"shared","mountPath":"/shared"}]}],"scale":null,"volumes":[{"name":"shared","storageType":"EmptyDir"}],"serviceBinds":null},"delegatedIdentities":[]},"identity":{"type":"None"}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappOperationStatuses/39f3d0b2-80e7-44bd-8997-da67391fe902?api-version=2024-03-01&azureAsyncOperation=true&t=638718365179538876&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=QdXpKcPW0OyDMynFBIfNUExIlqMKDUc6KydnPcP2TCTo8DKPiRA3AJU4Oc8OQN-zvO-rKU4CS-VD_EtJcltwgnQlNuNQiTNTEiUun_C0j7tMWotH4wRqNXOD3eDdzG8gKdJMjbTCYXd0ccQc4k4uPsXnDuRnaDgYfJTF7mcta4b_t1G0iuOOhcJTiX6uI3nF7KJBNwhPslNvYw8zBI4KyF4xP-YVK8rif3UiPYDcgwXmhrjjVEbU8KIod3B-lueki2jZ9bL8r6_hL-Wa4h9zASSmP4OX_1HxJ3FXoP_yqTD4-u71Pyl81FCV4YhRyoE5qOGLtY05z3XXAPKQLR0zfw&h=JDH3P5UgIKWQ1rc_EobtcKi87hJOJ_-RnH8tpmbo9V4 + Cache-Control: + - no-cache + Content-Length: + - "3368" + 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-Ms-Async-Operation-Timeout: + - PT15M + X-Ms-Ratelimit-Remaining-Subscription-Resource-Requests: + - "699" + X-Msedge-Ref: + - 'Ref A: 1BF187E6FAF941F3AAE8066C5BB151FE Ref B: MAA201060515017 Ref C: 2025-01-07T08:48:34Z' + X-Powered-By: + - ASP.NET + status: 201 Created + code: 201 + duration: 832.839667ms + - 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: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappOperationStatuses/39f3d0b2-80e7-44bd-8997-da67391fe902?api-version=2024-03-01&azureAsyncOperation=true&t=638718365179538876&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=QdXpKcPW0OyDMynFBIfNUExIlqMKDUc6KydnPcP2TCTo8DKPiRA3AJU4Oc8OQN-zvO-rKU4CS-VD_EtJcltwgnQlNuNQiTNTEiUun_C0j7tMWotH4wRqNXOD3eDdzG8gKdJMjbTCYXd0ccQc4k4uPsXnDuRnaDgYfJTF7mcta4b_t1G0iuOOhcJTiX6uI3nF7KJBNwhPslNvYw8zBI4KyF4xP-YVK8rif3UiPYDcgwXmhrjjVEbU8KIod3B-lueki2jZ9bL8r6_hL-Wa4h9zASSmP4OX_1HxJ3FXoP_yqTD4-u71Pyl81FCV4YhRyoE5qOGLtY05z3XXAPKQLR0zfw&h=JDH3P5UgIKWQ1rc_EobtcKi87hJOJ_-RnH8tpmbo9V4 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 279 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappOperationStatuses/39f3d0b2-80e7-44bd-8997-da67391fe902","name":"39f3d0b2-80e7-44bd-8997-da67391fe902","status":"InProgress","startTime":"2025-01-07T08:48:37.5750116"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "279" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 50A27D435C54470096098B981397EFB5 Ref B: MAA201060515017 Ref C: 2025-01-07T08:48:44Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 809.258458ms + - 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: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappOperationStatuses/39f3d0b2-80e7-44bd-8997-da67391fe902?api-version=2024-03-01&azureAsyncOperation=true&t=638718365179538876&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=QdXpKcPW0OyDMynFBIfNUExIlqMKDUc6KydnPcP2TCTo8DKPiRA3AJU4Oc8OQN-zvO-rKU4CS-VD_EtJcltwgnQlNuNQiTNTEiUun_C0j7tMWotH4wRqNXOD3eDdzG8gKdJMjbTCYXd0ccQc4k4uPsXnDuRnaDgYfJTF7mcta4b_t1G0iuOOhcJTiX6uI3nF7KJBNwhPslNvYw8zBI4KyF4xP-YVK8rif3UiPYDcgwXmhrjjVEbU8KIod3B-lueki2jZ9bL8r6_hL-Wa4h9zASSmP4OX_1HxJ3FXoP_yqTD4-u71Pyl81FCV4YhRyoE5qOGLtY05z3XXAPKQLR0zfw&h=JDH3P5UgIKWQ1rc_EobtcKi87hJOJ_-RnH8tpmbo9V4 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 278 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappOperationStatuses/39f3d0b2-80e7-44bd-8997-da67391fe902","name":"39f3d0b2-80e7-44bd-8997-da67391fe902","status":"Succeeded","startTime":"2025-01-07T08:48:37.5750116"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "278" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: F7B27B2F14FF4F2BA56C9B3443714B65 Ref B: MAA201060515017 Ref C: 2025-01-07T08:48:50Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 723.577417ms + - 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: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/containerApps/asotest-app-vseeno?api-version=2024-03-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 4088 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/containerapps/asotest-app-vseeno","name":"asotest-app-vseeno","type":"Microsoft.App/containerApps","location":"West US 2","systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2025-01-07T08:48:36.9850874","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-01-07T08:48:36.9850874"},"properties":{"provisioningState":"Succeeded","runningStatus":"Running","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/managedEnvironments/asotest-env-xhzbsz","environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/managedEnvironments/asotest-env-xhzbsz","workloadProfileName":"Consumption","outboundIpAddresses":["20.115.194.124","20.115.194.128","20.115.194.137","20.115.194.126","20.29.134.80","20.29.134.79","20.29.134.41","20.29.134.75","20.29.132.146","20.29.134.12","20.69.82.220","20.69.83.13","20.69.83.5","20.69.83.46","20.115.200.188","20.115.201.160","20.115.201.51","20.115.201.152","20.115.201.28","20.115.201.167","20.99.170.216","20.99.171.18","20.99.170.250","20.99.170.223","20.99.170.208","20.99.170.164","20.99.170.240","20.99.170.49","20.99.171.11","20.99.170.181","4.242.118.131","4.242.118.106","4.242.117.231","4.242.116.225","4.242.119.215","4.242.117.24","4.242.119.156","4.242.119.166","4.242.119.228","4.242.116.236","4.242.119.154","4.242.119.227","4.242.119.160","4.242.119.232","4.242.119.185","4.242.119.193","4.242.119.163","4.242.119.234","4.242.119.230","4.242.119.144","20.3.32.209","20.3.32.145","4.246.2.62","4.246.1.175","4.246.2.107","4.246.2.36","4.246.2.116","4.246.2.84","4.246.1.167","4.246.2.56","4.246.1.215","4.246.1.207","20.3.32.202","52.183.117.50","52.175.252.145","52.175.253.104","52.183.112.167","52.175.253.95","52.183.118.4","52.183.118.72","52.183.119.158","52.183.117.201","20.36.3.170","20.3.32.170","52.183.116.61","52.175.252.245","52.183.113.79","52.183.117.198","52.175.249.101","52.183.116.121","52.175.252.238","52.183.118.188","52.175.253.196","52.151.37.186","20.3.32.226","20.3.32.217","20.3.32.210","20.3.32.116","20.3.32.129","20.3.32.235","4.155.163.4"],"latestRevisionName":"asotest-app-vseeno--dc2qceu","latestReadyRevisionName":"asotest-app-vseeno--dc2qceu","latestRevisionFqdn":"asotest-app-vseeno--dc2qceu.internal.livelypebble-cc11cd8b.westus2.azurecontainerapps.io","customDomainVerificationId":"EFF02641736216A6CF4A85BE2625D8D075D5E5C45BBE094AB95EC8CC9DC473BF","configuration":{"secrets":null,"activeRevisionsMode":"Single","ingress":{"fqdn":"asotest-app-vseeno.internal.livelypebble-cc11cd8b.westus2.azurecontainerapps.io","external":false,"targetPort":80,"exposedPort":0,"transport":"Auto","traffic":[{"weight":100,"latestRevision":true}],"customDomains":null,"allowInsecure":false,"ipSecurityRestrictions":null,"corsPolicy":null,"clientCertificateMode":null,"stickySessions":null,"additionalPortMappings":null},"registries":null,"dapr":null,"maxInactiveRevisions":100,"service":null},"template":{"revisionSuffix":"","terminationGracePeriodSeconds":null,"containers":[{"image":"nginx:latest","name":"nginx","resources":{"cpu":0.5,"memory":"1Gi","ephemeralStorage":"2Gi"},"volumeMounts":[{"volumeName":"shared","mountPath":"/usr/share/nginx/html"}]}],"initContainers":[{"image":"debian:latest","name":"debian","command":["/bin/sh"],"args":["-c","echo Hello World"],"resources":{"cpu":0.5,"memory":"1Gi","ephemeralStorage":"2Gi"},"volumeMounts":[{"volumeName":"shared","mountPath":"/shared"}]}],"scale":{"minReplicas":null,"maxReplicas":10,"rules":null},"volumes":[{"name":"shared","storageType":"EmptyDir"}],"serviceBinds":null},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/containerApps/asotest-app-vseeno/eventstream","delegatedIdentities":[]},"identity":{"type":"None"}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "4088" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 329C2991AA954D0A9E79364C3FCF847D Ref B: MAA201060515017 Ref C: 2025-01-07T08:48:51Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 978.000292ms + - 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: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/containerApps/asotest-app-vseeno?api-version=2024-03-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 4088 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/containerapps/asotest-app-vseeno","name":"asotest-app-vseeno","type":"Microsoft.App/containerApps","location":"West US 2","systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2025-01-07T08:48:36.9850874","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-01-07T08:48:36.9850874"},"properties":{"provisioningState":"Succeeded","runningStatus":"Running","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/managedEnvironments/asotest-env-xhzbsz","environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/managedEnvironments/asotest-env-xhzbsz","workloadProfileName":"Consumption","outboundIpAddresses":["20.115.194.124","20.115.194.128","20.115.194.137","20.115.194.126","20.29.134.80","20.29.134.79","20.29.134.41","20.29.134.75","20.29.132.146","20.29.134.12","20.69.82.220","20.69.83.13","20.69.83.5","20.69.83.46","20.115.200.188","20.115.201.160","20.115.201.51","20.115.201.152","20.115.201.28","20.115.201.167","20.99.170.216","20.99.171.18","20.99.170.250","20.99.170.223","20.99.170.208","20.99.170.164","20.99.170.240","20.99.170.49","20.99.171.11","20.99.170.181","4.242.118.131","4.242.118.106","4.242.117.231","4.242.116.225","4.242.119.215","4.242.117.24","4.242.119.156","4.242.119.166","4.242.119.228","4.242.116.236","4.242.119.154","4.242.119.227","4.242.119.160","4.242.119.232","4.242.119.185","4.242.119.193","4.242.119.163","4.242.119.234","4.242.119.230","4.242.119.144","20.3.32.209","20.3.32.145","4.246.2.62","4.246.1.175","4.246.2.107","4.246.2.36","4.246.2.116","4.246.2.84","4.246.1.167","4.246.2.56","4.246.1.215","4.246.1.207","20.3.32.202","52.183.117.50","52.175.252.145","52.175.253.104","52.183.112.167","52.175.253.95","52.183.118.4","52.183.118.72","52.183.119.158","52.183.117.201","20.36.3.170","20.3.32.170","52.183.116.61","52.175.252.245","52.183.113.79","52.183.117.198","52.175.249.101","52.183.116.121","52.175.252.238","52.183.118.188","52.175.253.196","52.151.37.186","20.3.32.226","20.3.32.217","20.3.32.210","20.3.32.116","20.3.32.129","20.3.32.235","4.155.163.4"],"latestRevisionName":"asotest-app-vseeno--dc2qceu","latestReadyRevisionName":"asotest-app-vseeno--dc2qceu","latestRevisionFqdn":"asotest-app-vseeno--dc2qceu.internal.livelypebble-cc11cd8b.westus2.azurecontainerapps.io","customDomainVerificationId":"EFF02641736216A6CF4A85BE2625D8D075D5E5C45BBE094AB95EC8CC9DC473BF","configuration":{"secrets":null,"activeRevisionsMode":"Single","ingress":{"fqdn":"asotest-app-vseeno.internal.livelypebble-cc11cd8b.westus2.azurecontainerapps.io","external":false,"targetPort":80,"exposedPort":0,"transport":"Auto","traffic":[{"weight":100,"latestRevision":true}],"customDomains":null,"allowInsecure":false,"ipSecurityRestrictions":null,"corsPolicy":null,"clientCertificateMode":null,"stickySessions":null,"additionalPortMappings":null},"registries":null,"dapr":null,"maxInactiveRevisions":100,"service":null},"template":{"revisionSuffix":"","terminationGracePeriodSeconds":null,"containers":[{"image":"nginx:latest","name":"nginx","resources":{"cpu":0.5,"memory":"1Gi","ephemeralStorage":"2Gi"},"volumeMounts":[{"volumeName":"shared","mountPath":"/usr/share/nginx/html"}]}],"initContainers":[{"image":"debian:latest","name":"debian","command":["/bin/sh"],"args":["-c","echo Hello World"],"resources":{"cpu":0.5,"memory":"1Gi","ephemeralStorage":"2Gi"},"volumeMounts":[{"volumeName":"shared","mountPath":"/shared"}]}],"scale":{"minReplicas":null,"maxReplicas":10,"rules":null},"volumes":[{"name":"shared","storageType":"EmptyDir"}],"serviceBinds":null},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/containerApps/asotest-app-vseeno/eventstream","delegatedIdentities":[]},"identity":{"type":"None"}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "4088" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: ABA253795F6A495C83530CF56F7D0257 Ref B: MAA201060515017 Ref C: 2025-01-07T08:48:53Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 981.471375ms + - id: 9 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 699 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"asotest-app-vseeno","properties":{"configuration":{"ingress":{"allowInsecure":false,"targetPort":80}},"environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/managedEnvironments/asotest-env-xhzbsz","template":{"containers":[{"image":"nginx:latest","name":"nginx","volumeMounts":[{"mountPath":"/usr/share/nginx/html","volumeName":"shared"}]}],"initContainers":[{"args":["-c","echo Hello World"],"command":["/bin/sh"],"image":"debian:latest","name":"debian","volumeMounts":[{"mountPath":"/shared","volumeName":"shared"}]}],"volumes":[{"name":"shared","storageType":"EmptyDir"}]}},"tags":{"foo":"bar"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "699" + Content-Type: + - application/json + Test-Request-Hash: + - 3b7e060bee6d007cc7faed240c49cf9f2eef018b070ec5c6600e01a69d8b0690 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/containerApps/asotest-app-vseeno?api-version=2024-03-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3389 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/containerapps/asotest-app-vseeno","name":"asotest-app-vseeno","type":"Microsoft.App/containerApps","location":"West US 2","tags":{"foo":"bar"},"systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2025-01-07T08:48:36.9850874","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2001-02-03T04:05:06Z"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/managedEnvironments/asotest-env-xhzbsz","environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/managedEnvironments/asotest-env-xhzbsz","workloadProfileName":"Consumption","outboundIpAddresses":["20.115.194.124","20.115.194.128","20.115.194.137","20.115.194.126","20.29.134.80","20.29.134.79","20.29.134.41","20.29.134.75","20.29.132.146","20.29.134.12","20.69.82.220","20.69.83.13","20.69.83.5","20.69.83.46","20.115.200.188","20.115.201.160","20.115.201.51","20.115.201.152","20.115.201.28","20.115.201.167","20.99.170.216","20.99.171.18","20.99.170.250","20.99.170.223","20.99.170.208","20.99.170.164","20.99.170.240","20.99.170.49","20.99.171.11","20.99.170.181","4.242.118.131","4.242.118.106","4.242.117.231","4.242.116.225","4.242.119.215","4.242.117.24","4.242.119.156","4.242.119.166","4.242.119.228","4.242.116.236","4.242.119.154","4.242.119.227","4.242.119.160","4.242.119.232","4.242.119.185","4.242.119.193","4.242.119.163","4.242.119.234","4.242.119.230","4.242.119.144","20.3.32.209","20.3.32.145","4.246.2.62","4.246.1.175","4.246.2.107","4.246.2.36","4.246.2.116","4.246.2.84","4.246.1.167","4.246.2.56","4.246.1.215","4.246.1.207","20.3.32.202","52.183.117.50","52.175.252.145","52.175.253.104","52.183.112.167","52.175.253.95","52.183.118.4","52.183.118.72","52.183.119.158","52.183.117.201","20.36.3.170","20.3.32.170","52.183.116.61","52.175.252.245","52.183.113.79","52.183.117.198","52.175.249.101","52.183.116.121","52.175.252.238","52.183.118.188","52.175.253.196","52.151.37.186","20.3.32.226","20.3.32.217","20.3.32.210","20.3.32.116","20.3.32.129","20.3.32.235","4.155.163.4"],"customDomainVerificationId":"EFF02641736216A6CF4A85BE2625D8D075D5E5C45BBE094AB95EC8CC9DC473BF","configuration":{"secrets":null,"activeRevisionsMode":null,"ingress":{"fqdn":null,"external":false,"targetPort":80,"exposedPort":null,"transport":null,"traffic":null,"customDomains":null,"allowInsecure":false,"ipSecurityRestrictions":null,"corsPolicy":null,"clientCertificateMode":null,"stickySessions":null,"additionalPortMappings":null},"registries":null,"dapr":null,"maxInactiveRevisions":null,"service":null},"template":{"revisionSuffix":null,"terminationGracePeriodSeconds":null,"containers":[{"image":"nginx:latest","name":"nginx","volumeMounts":[{"volumeName":"shared","mountPath":"/usr/share/nginx/html"}]}],"initContainers":[{"image":"debian:latest","name":"debian","command":["/bin/sh"],"args":["-c","echo Hello World"],"volumeMounts":[{"volumeName":"shared","mountPath":"/shared"}]}],"scale":null,"volumes":[{"name":"shared","storageType":"EmptyDir"}],"serviceBinds":null},"delegatedIdentities":[]},"identity":{"type":"None"}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappOperationStatuses/59edf3c6-d615-4493-9da1-0a08ff70706d?api-version=2024-03-01&azureAsyncOperation=true&t=638718365424190947&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=zHrFs0vbnu9jbAra939zVAQBDt61e3pAXvTVzlDj4r95-xEHRHisiuBEOmZy_fCBp5TF5YpJ8_GptzqzIKycRPmmm0lu48RItR4bjotiOC-w75kckB2ZXJYDqP8C5VbrU3w_E_4Cnyx-80ohdtt8eGcZD6zOHxb-yVUY-ngmAldmLcJd0jsawrgIJUTZJMiwsXASp5lgu4rwCagxp4sRVJ8SQ2hqU8Mk_YYH_7SFKYn7sH0QGk8rpuz3PHb2wdTHBpcbW_lShxApGsa_MFK0GstkUdZdlFcxLNrzr3Q6yjHvzHLqfOZ-N6GjENjx-ZWqWbkg_9JBvFURIDRc8L3pIg&h=lLvdN2YHtdfL2MJ-sF4w15woaNX0bAMS1erIFjThG0U + Cache-Control: + - no-cache + Content-Length: + - "3389" + 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-Ms-Async-Operation-Timeout: + - PT15M + X-Ms-Ratelimit-Remaining-Subscription-Resource-Requests: + - "699" + X-Msedge-Ref: + - 'Ref A: E872CB26166B437CA3DE9F7ED8B498E0 Ref B: MAA201060515017 Ref C: 2025-01-07T08:48:58Z' + X-Powered-By: + - ASP.NET + status: 201 Created + code: 201 + duration: 476.550583ms + - 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: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappOperationStatuses/59edf3c6-d615-4493-9da1-0a08ff70706d?api-version=2024-03-01&azureAsyncOperation=true&t=638718365424190947&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=zHrFs0vbnu9jbAra939zVAQBDt61e3pAXvTVzlDj4r95-xEHRHisiuBEOmZy_fCBp5TF5YpJ8_GptzqzIKycRPmmm0lu48RItR4bjotiOC-w75kckB2ZXJYDqP8C5VbrU3w_E_4Cnyx-80ohdtt8eGcZD6zOHxb-yVUY-ngmAldmLcJd0jsawrgIJUTZJMiwsXASp5lgu4rwCagxp4sRVJ8SQ2hqU8Mk_YYH_7SFKYn7sH0QGk8rpuz3PHb2wdTHBpcbW_lShxApGsa_MFK0GstkUdZdlFcxLNrzr3Q6yjHvzHLqfOZ-N6GjENjx-ZWqWbkg_9JBvFURIDRc8L3pIg&h=lLvdN2YHtdfL2MJ-sF4w15woaNX0bAMS1erIFjThG0U + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 279 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappOperationStatuses/59edf3c6-d615-4493-9da1-0a08ff70706d","name":"59edf3c6-d615-4493-9da1-0a08ff70706d","status":"InProgress","startTime":"2025-01-07T08:49:00.3993511"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "279" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 176241E75C134C45B0E509574DB27DBF Ref B: MAA201060515017 Ref C: 2025-01-07T08:49:07Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 813.406959ms + - 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: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappOperationStatuses/59edf3c6-d615-4493-9da1-0a08ff70706d?api-version=2024-03-01&azureAsyncOperation=true&t=638718365424190947&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=zHrFs0vbnu9jbAra939zVAQBDt61e3pAXvTVzlDj4r95-xEHRHisiuBEOmZy_fCBp5TF5YpJ8_GptzqzIKycRPmmm0lu48RItR4bjotiOC-w75kckB2ZXJYDqP8C5VbrU3w_E_4Cnyx-80ohdtt8eGcZD6zOHxb-yVUY-ngmAldmLcJd0jsawrgIJUTZJMiwsXASp5lgu4rwCagxp4sRVJ8SQ2hqU8Mk_YYH_7SFKYn7sH0QGk8rpuz3PHb2wdTHBpcbW_lShxApGsa_MFK0GstkUdZdlFcxLNrzr3Q6yjHvzHLqfOZ-N6GjENjx-ZWqWbkg_9JBvFURIDRc8L3pIg&h=lLvdN2YHtdfL2MJ-sF4w15woaNX0bAMS1erIFjThG0U + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 279 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappOperationStatuses/59edf3c6-d615-4493-9da1-0a08ff70706d","name":"59edf3c6-d615-4493-9da1-0a08ff70706d","status":"InProgress","startTime":"2025-01-07T08:49:00.3993511"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "279" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 295D9AC271FB4A0BA6D8FCAADCA27D0A Ref B: MAA201060515017 Ref C: 2025-01-07T08:49:11Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 750.514084ms + - 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: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappOperationStatuses/59edf3c6-d615-4493-9da1-0a08ff70706d?api-version=2024-03-01&azureAsyncOperation=true&t=638718365424190947&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=zHrFs0vbnu9jbAra939zVAQBDt61e3pAXvTVzlDj4r95-xEHRHisiuBEOmZy_fCBp5TF5YpJ8_GptzqzIKycRPmmm0lu48RItR4bjotiOC-w75kckB2ZXJYDqP8C5VbrU3w_E_4Cnyx-80ohdtt8eGcZD6zOHxb-yVUY-ngmAldmLcJd0jsawrgIJUTZJMiwsXASp5lgu4rwCagxp4sRVJ8SQ2hqU8Mk_YYH_7SFKYn7sH0QGk8rpuz3PHb2wdTHBpcbW_lShxApGsa_MFK0GstkUdZdlFcxLNrzr3Q6yjHvzHLqfOZ-N6GjENjx-ZWqWbkg_9JBvFURIDRc8L3pIg&h=lLvdN2YHtdfL2MJ-sF4w15woaNX0bAMS1erIFjThG0U + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 278 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappOperationStatuses/59edf3c6-d615-4493-9da1-0a08ff70706d","name":"59edf3c6-d615-4493-9da1-0a08ff70706d","status":"Succeeded","startTime":"2025-01-07T08:49:00.3993511"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "278" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 4A608B1C092C481C9A0623EE58C7FBD8 Ref B: MAA201060515017 Ref C: 2025-01-07T08:49:16Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 810.6505ms + - 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-fiwzcu/providers/Microsoft.App/containerApps/asotest-app-vseeno?api-version=2024-03-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 4110 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/containerapps/asotest-app-vseeno","name":"asotest-app-vseeno","type":"Microsoft.App/containerApps","location":"West US 2","tags":{"foo":"bar"},"systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2025-01-07T08:48:36.9850874","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-01-07T08:48:59.8408805"},"properties":{"provisioningState":"Succeeded","runningStatus":"Running","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/managedEnvironments/asotest-env-xhzbsz","environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/managedEnvironments/asotest-env-xhzbsz","workloadProfileName":"Consumption","outboundIpAddresses":["20.115.194.124","20.115.194.128","20.115.194.137","20.115.194.126","20.29.134.80","20.29.134.79","20.29.134.41","20.29.134.75","20.29.132.146","20.29.134.12","20.69.82.220","20.69.83.13","20.69.83.5","20.69.83.46","20.115.200.188","20.115.201.160","20.115.201.51","20.115.201.152","20.115.201.28","20.115.201.167","20.99.170.216","20.99.171.18","20.99.170.250","20.99.170.223","20.99.170.208","20.99.170.164","20.99.170.240","20.99.170.49","20.99.171.11","20.99.170.181","4.242.118.131","4.242.118.106","4.242.117.231","4.242.116.225","4.242.119.215","4.242.117.24","4.242.119.156","4.242.119.166","4.242.119.228","4.242.116.236","4.242.119.154","4.242.119.227","4.242.119.160","4.242.119.232","4.242.119.185","4.242.119.193","4.242.119.163","4.242.119.234","4.242.119.230","4.242.119.144","20.3.32.209","20.3.32.145","4.246.2.62","4.246.1.175","4.246.2.107","4.246.2.36","4.246.2.116","4.246.2.84","4.246.1.167","4.246.2.56","4.246.1.215","4.246.1.207","20.3.32.202","52.183.117.50","52.175.252.145","52.175.253.104","52.183.112.167","52.175.253.95","52.183.118.4","52.183.118.72","52.183.119.158","52.183.117.201","20.36.3.170","20.3.32.170","52.183.116.61","52.175.252.245","52.183.113.79","52.183.117.198","52.175.249.101","52.183.116.121","52.175.252.238","52.183.118.188","52.175.253.196","52.151.37.186","20.3.32.226","20.3.32.217","20.3.32.210","20.3.32.116","20.3.32.129","20.3.32.235","4.155.163.4"],"latestRevisionName":"asotest-app-vseeno--dc2qceu","latestReadyRevisionName":"asotest-app-vseeno--dc2qceu","latestRevisionFqdn":"asotest-app-vseeno--dc2qceu.internal.livelypebble-cc11cd8b.westus2.azurecontainerapps.io","customDomainVerificationId":"EFF02641736216A6CF4A85BE2625D8D075D5E5C45BBE094AB95EC8CC9DC473BF","configuration":{"secrets":null,"activeRevisionsMode":"Single","ingress":{"fqdn":"asotest-app-vseeno.internal.livelypebble-cc11cd8b.westus2.azurecontainerapps.io","external":false,"targetPort":80,"exposedPort":0,"transport":"Auto","traffic":[{"weight":100,"latestRevision":true}],"customDomains":null,"allowInsecure":false,"ipSecurityRestrictions":null,"corsPolicy":null,"clientCertificateMode":null,"stickySessions":null,"additionalPortMappings":null},"registries":null,"dapr":null,"maxInactiveRevisions":null,"service":null},"template":{"revisionSuffix":"","terminationGracePeriodSeconds":null,"containers":[{"image":"nginx:latest","name":"nginx","resources":{"cpu":0.5,"memory":"1Gi","ephemeralStorage":"2Gi"},"volumeMounts":[{"volumeName":"shared","mountPath":"/usr/share/nginx/html"}]}],"initContainers":[{"image":"debian:latest","name":"debian","command":["/bin/sh"],"args":["-c","echo Hello World"],"resources":{"cpu":0.5,"memory":"1Gi","ephemeralStorage":"2Gi"},"volumeMounts":[{"volumeName":"shared","mountPath":"/shared"}]}],"scale":{"minReplicas":null,"maxReplicas":10,"rules":null},"volumes":[{"name":"shared","storageType":"EmptyDir"}],"serviceBinds":null},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/containerApps/asotest-app-vseeno/eventstream","delegatedIdentities":[]},"identity":{"type":"None"}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "4110" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 002E78337E45472381BF6CBAF824F5BC Ref B: MAA201060515017 Ref C: 2025-01-07T08:49:18Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 691.395541ms + - 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-fiwzcu/providers/Microsoft.App/containerApps/asotest-app-vseeno?api-version=2024-03-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 4110 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/containerapps/asotest-app-vseeno","name":"asotest-app-vseeno","type":"Microsoft.App/containerApps","location":"West US 2","tags":{"foo":"bar"},"systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2025-01-07T08:48:36.9850874","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-01-07T08:48:59.8408805"},"properties":{"provisioningState":"Succeeded","runningStatus":"Running","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/managedEnvironments/asotest-env-xhzbsz","environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/managedEnvironments/asotest-env-xhzbsz","workloadProfileName":"Consumption","outboundIpAddresses":["20.115.194.124","20.115.194.128","20.115.194.137","20.115.194.126","20.29.134.80","20.29.134.79","20.29.134.41","20.29.134.75","20.29.132.146","20.29.134.12","20.69.82.220","20.69.83.13","20.69.83.5","20.69.83.46","20.115.200.188","20.115.201.160","20.115.201.51","20.115.201.152","20.115.201.28","20.115.201.167","20.99.170.216","20.99.171.18","20.99.170.250","20.99.170.223","20.99.170.208","20.99.170.164","20.99.170.240","20.99.170.49","20.99.171.11","20.99.170.181","4.242.118.131","4.242.118.106","4.242.117.231","4.242.116.225","4.242.119.215","4.242.117.24","4.242.119.156","4.242.119.166","4.242.119.228","4.242.116.236","4.242.119.154","4.242.119.227","4.242.119.160","4.242.119.232","4.242.119.185","4.242.119.193","4.242.119.163","4.242.119.234","4.242.119.230","4.242.119.144","20.3.32.209","20.3.32.145","4.246.2.62","4.246.1.175","4.246.2.107","4.246.2.36","4.246.2.116","4.246.2.84","4.246.1.167","4.246.2.56","4.246.1.215","4.246.1.207","20.3.32.202","52.183.117.50","52.175.252.145","52.175.253.104","52.183.112.167","52.175.253.95","52.183.118.4","52.183.118.72","52.183.119.158","52.183.117.201","20.36.3.170","20.3.32.170","52.183.116.61","52.175.252.245","52.183.113.79","52.183.117.198","52.175.249.101","52.183.116.121","52.175.252.238","52.183.118.188","52.175.253.196","52.151.37.186","20.3.32.226","20.3.32.217","20.3.32.210","20.3.32.116","20.3.32.129","20.3.32.235","4.155.163.4"],"latestRevisionName":"asotest-app-vseeno--dc2qceu","latestReadyRevisionName":"asotest-app-vseeno--dc2qceu","latestRevisionFqdn":"asotest-app-vseeno--dc2qceu.internal.livelypebble-cc11cd8b.westus2.azurecontainerapps.io","customDomainVerificationId":"EFF02641736216A6CF4A85BE2625D8D075D5E5C45BBE094AB95EC8CC9DC473BF","configuration":{"secrets":null,"activeRevisionsMode":"Single","ingress":{"fqdn":"asotest-app-vseeno.internal.livelypebble-cc11cd8b.westus2.azurecontainerapps.io","external":false,"targetPort":80,"exposedPort":0,"transport":"Auto","traffic":[{"weight":100,"latestRevision":true}],"customDomains":null,"allowInsecure":false,"ipSecurityRestrictions":null,"corsPolicy":null,"clientCertificateMode":null,"stickySessions":null,"additionalPortMappings":null},"registries":null,"dapr":null,"maxInactiveRevisions":null,"service":null},"template":{"revisionSuffix":"","terminationGracePeriodSeconds":null,"containers":[{"image":"nginx:latest","name":"nginx","resources":{"cpu":0.5,"memory":"1Gi","ephemeralStorage":"2Gi"},"volumeMounts":[{"volumeName":"shared","mountPath":"/usr/share/nginx/html"}]}],"initContainers":[{"image":"debian:latest","name":"debian","command":["/bin/sh"],"args":["-c","echo Hello World"],"resources":{"cpu":0.5,"memory":"1Gi","ephemeralStorage":"2Gi"},"volumeMounts":[{"volumeName":"shared","mountPath":"/shared"}]}],"scale":{"minReplicas":null,"maxReplicas":10,"rules":null},"volumes":[{"name":"shared","storageType":"EmptyDir"}],"serviceBinds":null},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/containerApps/asotest-app-vseeno/eventstream","delegatedIdentities":[]},"identity":{"type":"None"}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "4110" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16498" + X-Msedge-Ref: + - 'Ref A: CF9BC61EE7574BB487CF1D50836E8808 Ref B: MAA201060515017 Ref C: 2025-01-07T08:49:19Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 497.3125ms + - id: 15 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 70 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"name":"current","properties":{"httpSettings":{"requireHttps":true}}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "70" + Content-Type: + - application/json + Test-Request-Hash: + - 4e5136ae09790cc249f6f2d7562c94985d5b0205bcbf6a47ad13aa79dfd82739 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/containerApps/asotest-app-vseeno/authConfigs/current?api-version=2024-03-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 288 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/containerApps/asotest-app-vseeno/authConfigs/current","name":"current","type":"Microsoft.App/containerapps/authconfigs","properties":{"httpSettings":{"requireHttps":true}}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "288" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Writes: + - "11999" + X-Msedge-Ref: + - 'Ref A: 6EE5E0B87A884BE1BA57434394CBB705 Ref B: MAA201060515017 Ref C: 2025-01-07T08:49:25Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 529.592258ms + - 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: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/containerApps/asotest-app-vseeno/authConfigs/current?api-version=2024-03-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 312 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/containerApps/asotest-app-vseeno/authConfigs/current","name":"current","type":"Microsoft.App/containerapps/authconfigs","properties":{"httpSettings":{"requireHttps":true},"encryptionSettings":{}}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "312" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 78018717F38E46BB81A984C9C949280A Ref B: MAA201060515017 Ref C: 2025-01-07T08:49:30Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 944.089625ms + - 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-fiwzcu/providers/Microsoft.App/containerApps/asotest-app-vseeno?api-version=2024-03-01 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappOperationResults/95190c1f-c8a8-4da2-9bf7-b926fa4ed913?api-version=2024-03-01&t=638718365769642843&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=xObcarrag783_bBv2zDXmO7Bsp-RafmsQJU936fta6NvFiHzHWePoQQ_DvMGuqvPJPaJqbOP8piLt_ekBwyxsJ1QFxfqtSLfo9Ia760Iap8UPhd4SLkfjW4yhHAGhTQLQDicTyys00xKzmkBI_2DS9GiVKDowdh9MOMgMtiRDIo8cctfsedTRWUdUBw4a57jsXtfNHzfFMBiynRfnFtWwVyNNYtE0kDAfTdRUTonpVWaOJFpTKjbgp6npsJO44aA3Fvr3uP4rOkxMHd2gJBQTvNQ0VzYai5RlF1YdOsI1C02ytRoZl2Ww1M62clM8ACI750Ka6n7s0mUySkZLKIE0Q&h=Gkd-9xvTQJM_9h_MceaPI4oLLn_yZPjD0b1RBeZe6qY + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Deletes: + - "11999" + X-Msedge-Ref: + - 'Ref A: 37EA188990AF45B0B24B1218118D10CA Ref B: MAA201060515017 Ref C: 2025-01-07T08:49:33Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 305.460876ms + - 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.App/locations/westus2/containerappOperationResults/95190c1f-c8a8-4da2-9bf7-b926fa4ed913?api-version=2024-03-01&t=638718365769642843&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=xObcarrag783_bBv2zDXmO7Bsp-RafmsQJU936fta6NvFiHzHWePoQQ_DvMGuqvPJPaJqbOP8piLt_ekBwyxsJ1QFxfqtSLfo9Ia760Iap8UPhd4SLkfjW4yhHAGhTQLQDicTyys00xKzmkBI_2DS9GiVKDowdh9MOMgMtiRDIo8cctfsedTRWUdUBw4a57jsXtfNHzfFMBiynRfnFtWwVyNNYtE0kDAfTdRUTonpVWaOJFpTKjbgp6npsJO44aA3Fvr3uP4rOkxMHd2gJBQTvNQ0VzYai5RlF1YdOsI1C02ytRoZl2Ww1M62clM8ACI750Ka6n7s0mUySkZLKIE0Q&h=Gkd-9xvTQJM_9h_MceaPI4oLLn_yZPjD0b1RBeZe6qY + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 4D9803CC079E482690F2B24C3144261E Ref B: MAA201060515017 Ref C: 2025-01-07T08:49:55Z' + X-Powered-By: + - ASP.NET + status: 204 No Content + code: 204 + duration: 855.575084ms + - 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: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu/providers/Microsoft.App/containerapps/asotest-app-vseeno?api-version=2024-03-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 235 + uncompressed: false + body: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.App/containerApps/asotest-app-vseeno'' under resource group ''asotest-rg-fiwzcu'' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "235" + 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: C4E459824076492996BAB26514F9E127 Ref B: MAA201060515017 Ref C: 2025-01-07T08:50:00Z' + status: 404 Not Found + code: 404 + duration: 266.653208ms + - 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: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-fiwzcu?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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Deletes: + - "12000" + X-Msedge-Ref: + - 'Ref A: 54805B373C654723BF51460280ABFA2F Ref B: MAA201060515017 Ref C: 2025-01-07T08:50:00Z' + status: 202 Accepted + code: 202 + duration: 795.004083ms + - 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: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366302749528&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=mnQcqFlXRDpIKNz8g9ZFlJZduZpbwbrFsboB4oj5MXTvTACqmDMyu0h355fngH-pZKlY_WzDw4FYe3g69sSrgqOZXTUBymRAfmj-lwMcJKMxIycmfvQxYnPcJ6AJrvJNx0Bw8DTExsNnraBZ86kqy7r5GUPaWasrPBb9xdnwrEUAX70RS-dAK4OCU1FcFm0xiBkS5o-r-gsVdIc_6UWkyel10blyesUNr20ryl4CcC_TSCG7qCVQjMh-G567XCjBWUoY-XFfrpZMTtJ_VQRyAhvrX0byN0gCpA_MH4oxXwzjoBRZ1H2TP1-SveGKclgkfMgNIq7FSHbmeiN2L8ZJLQ&h=MgyjcizQnN18bZ5OhmPPQvHEpKy68o4J2TD9akKL0CY + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: B529E1AAC91D4B27AB8B7990DB5396BD Ref B: MAA201060515017 Ref C: 2025-01-07T08:50:29Z' + status: 202 Accepted + code: 202 + duration: 1.106785417s + - 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/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366480345797&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=TfZjCZTrD-nLdCwVGTlm17BE4bc6Y76oKICUYKLIMiqmZqnDlAbrfCkRMh3l73dhKb9AQjnsa_P5VfD031_xH7s_S4cgiTmX9Fd5Vq941tJ0QW0fO6N5EN4DislAfBcPOz0fiKDxHPZbxI6UA2eDuIHZDhJD0s_rASnCfvlkoE04pcgmbAvxj9kgtc4CoYm_9gJJ2c6-wPOgx_nPdbFCuwRbZ9uZFGy359zT9-iBjH6OwGULSlc4oClmAQ0wA1-YmYIqBe1OiWh-1MZHmJrgDoKtgIYckuRji1w7L_yutldPO5N4FeBxkyr4gDVP3Hki-NGDsAo5jLZlr3wd3hJskQ&h=IaikcXFgwOxB3X5YE7MpU4D13uMal6-vu-hsZspdU9g + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 007AE2DB887E41ECA191C4609B1453BA Ref B: MAA201060515017 Ref C: 2025-01-07T08:50:46Z' + status: 202 Accepted + code: 202 + duration: 1.144160875s + - 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/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366653490719&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=Cflxst6c5nHETeAI2H1tzqshg5NG_yJ85WWCZTGNMX__aIxfKrtE1_jqDQSUN1clZEqnA-6gm96uI7lfx7Dn7nV-isukvComv1S-XxKLICiMe2ApnxPnmvqFoTDy-k2J00P-ZF6CLfvczlAFeieXpYIJC2l4JTU4DsdRXn8xqHAPtgJkTZUCpokhO3GvDXvGk37msPm8gN5dr2pVAt6dofccr_e7Lns3M0vP6LruXeoW4YRMRYoeK4pjTX3iAkAUaD4_HVAUb_gYwwyoWcw7I-YTpYrKm6uWRieM1YCAm-qO0_oqEiS38wZ2TjK_9sg16YlaWg1ojTKWohzA7We3Dg&h=U9rL9nGqtSU-mIgPWvw5d9iRcpk6B5ea0GLb8BY0s7Q + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 00833ABFC0C648DB92A35D32D23B0184 Ref B: MAA201060515017 Ref C: 2025-01-07T08:51:04Z' + status: 202 Accepted + code: 202 + duration: 1.163414458s + - 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: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366828203987&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=lp7YGcYPdABmOqmDiI-lTSPVeaPFK3Vo7YtCxJndYFyippB345PO1nIH4zN8mhMGfyk2akMt-5gmlgk0t8MA1Odrwx4TZG4tFmPN8D6jwDXJAAZdnaimWDswPpXAXhB2BmnB8dZfXQyRumvYngBXx04gUC1krkr-x5makj1ieadESpVEtWPIAtPVXTlC1k3pthoCLfm4mHuvvHDRisXv2he2tMr-2Ug7L2VMmwYD0Mj9dZPQEIDAT_-DW27j4zwZ0OXCsUrW7m9ctP1raYjRrNIbcD2uS6VZyFx-os0Onn4YRZyChSWK2MBYxqzzk4rdRauUgheAtfBsTNP1XDqsHA&h=Ttp_P4Oor-5qcmDgXXHzRPNc2BL9nHZQUtcAgonPn0Y + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 76ED427573B84296B93448265A2A1BB2 Ref B: MAA201060515017 Ref C: 2025-01-07T08:51:21Z' + status: 202 Accepted + code: 202 + duration: 1.075434375s + - 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: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718367000162571&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=mZ8fqtluB2NufszhOOAzEn3n_RNwEkS3ZXC6Uab2QS2VzOMK5H0zkvROVxWIi1T2zoqzaRHmS5JO0SgH3vYhwfL86VXb35MPDCPUqLfuLM9ZxF35RYZ6_TorBIHr8jRnfOPHdvEXkzrm9k4jeVG_3GBv9RmaImZh3_pvzBEUG7kYStp8yxxfGgXQ_FQWxpKMsN1KJVVE1Tvw7ozSuxe5mx8liriM6rc1SRYg253jVXOHy3i_9DeKMwS6iPfL9MI89ShuOmKq8vl5iGuLPvCzEBit20PCpK3Chb0zV2ddP1yFO_yfpu1ugkrlYa1wFsKr-8rR1crkkSJ68SRQUNn1rw&h=wa5ToQCiCpxxs0blk8hyJS7jzMl48sU3Eqjnl_oWGsQ + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 75A44BBCAC004336911B1F811B3D9D6B Ref B: MAA201060515017 Ref C: 2025-01-07T08:51:38Z' + status: 202 Accepted + code: 202 + duration: 1.098250791s + - 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: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718367172400199&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=tE6DcZ_FLHTNSyMJRyGMwidm_IbaGTfx-WCiWJwF8Gx5A-kEOX4l997COL-tF-P4V-2az4ItyYhtFnpYHNIyOMnNr-PDYzgRtTOIPCgUR3rLrJ4d3AqI0fkVVwdDR3z6oXygxBjacq-6fHZHrJ_-taxJ81jEaIKORikhC3qfvWqyybXaf7HvBgpgjC1kgILv8IcjB8eAgnr6P7iY_uz8IzRnoBCMlPO5aloILA3w6d-EGtHhge6QzhbiWPZgOfRpt4gE05k87iBnlk6tNws3YaRDpNlRm9nIaP0_m_WzSKBmTW-ykGHIFAjemdpHCl1vZ4g-OBOpQKmBeztXcgsveg&h=50lV4_Lnlk_mmWfHjKKLrrTWigcSNilduhCLzmrS2Ak + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 180AACC23BA641FF81EA6EE4D6075024 Ref B: MAA201060515017 Ref C: 2025-01-07T08:51:56Z' + status: 202 Accepted + code: 202 + duration: 137.142458ms + - 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: + - "6" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718367345418765&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=vpkzfOXcpv3M2OAOB7L7ApcgVMNNCq6TRfTFcnYIMajG0JQusDhrXSKF0U4-EZGD988dPaq7OfxFouaOOrTU08zGQ77N-MdBH0-g6aY5ri4sCo-TJQt8ThScGZW4-N3ggdkTpjKQZk_a_Z43sDZ31CcoJezV7lLITqnneSaMH8ejMfABz55ppfFK0umoYIABkmCnW_Ydr7_kN7J_s-F18b9V1E-tXdLjJBtnbrtKy4hgf5PPNLLfxiujGcNGjLbe3MktwHn2cgN3WCdZu6nEtdLCcxzEA4gpFk3Q6DlJ7o1-dly--cm4srL6xdbNK9UQNT1wmQX5z72pj9a2nR2Lfg&h=amYEff3jzz6nhP8DHT1li_D_FbN6hJAjv07FRWyuZKs + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 2BE392A35EC64D63BDF03A4F5C64F5D2 Ref B: MAA201060515017 Ref C: 2025-01-07T08:52:13Z' + status: 202 Accepted + code: 202 + duration: 1.188026875s + - 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: + - "7" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718367521057999&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=ZmWdRfHTyLvyIJaHCwmRpTM_BOkActPlZhqX_bBl5RabsnRzgm5KbLwDR9JxXd-1wQFIaL5fVvVQl4gPjQ8CxoloVJInNZJwhfQD3NJv6SzzOy9lt30-KppKfJT01PXh9Y7NSbfJtSa7EQuro1hcWvQ1_Kr2Ru80ocO4od1xMosVAbqkz21fU7Ojpg7DJ3dSrthLFLLReil3_vykmvTxeQBc1S0uPwln2tG4tA3xTST3qcITpUufRuDeTgbJtZtPvMjWUTZkdi_p_x4dXrjFM_8jFh-VYociqSUwW2jBu_-ZoQsQWQegBH1Ih7upla7gO139DpaKrMYXGlOXAjNATQ&h=BhnnxnoAzP4moLLlsgEnaJzR0NqoU5USInEX2YKt9Ic + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 571AC825A5A24735B128D36F8D45F34C Ref B: MAA201060515017 Ref C: 2025-01-07T08:52:31Z' + status: 202 Accepted + code: 202 + duration: 1.128900583s + - 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: + - "8" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718367694332852&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=DUCaFQYBrI23EiYQkH8tA47yHApjkZy7QAtBfZk6vprF1xQWZV9ASljLCa1rGMxxs8Q0Iew3zQWns5tiY_bbkHqvHWXWnHHkgci4jiiq4uHrvFVEoFGZS90yH9B-3IGaW0rS75-2Yk1yvQgNHd_CvlRC0iXddMHkK0H4fDNGrKjTLNGMFWneNvln68sxHrRfm-lacqrXTfQPIutrEr3fVerDOUk3r76b1LiUwrltCVkYIVr8E0PZQ6RHgB3N5uGHQegrSjZaa4E7FJsaPGZ5m8O19-3oilT1dBvSvm5D7VouRkEcHn0mdjPJyv8g-cZh4ddoCQ-OpahtldT5OPQZ7w&h=egq_BZtNROxYRX6ajVi8LyyXZo44u2b5RvcdVZeS7Ew + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 950ED5CDCD7241FDBC14367A8BE969D0 Ref B: MAA201060515017 Ref C: 2025-01-07T08:52:48Z' + status: 202 Accepted + code: 202 + duration: 245.391257ms + - 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: + - "9" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718367868502828&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=Xz1tOCH9LLz_5Q9fcx37pRN6ranGki-G6avkKOe-CBAJMOLiLjrF7AGXX4PbCBkkJ3-kOmT6xJscSTnQIda4Y8ILoXDMBqEg90mPUAl50bR7AZa6Dp9xeXo5A4fkU44sZnDFHKzQ2A4byjt5UOOZFXmbu-hjaJIgXscQMtLGdFI8QzKxR4YWFK_Jk45pU4ZRyhadYAj_dbM40aUEImAbDovn87jMO4dM0GEGaldB2seGltd61dRtwl1XTcnEfSyg7iSo5GFeanpqvzq27QcKziJ2Ofs7KBnLmGSTChC2Wn1Mtz6qPc77etrNojvtMsv7BX6Uj6LJ3amoeSxM-Xp6aA&h=rrD3N1FDYEJ3SrWARHHtsDmf2FSeE12zQpMMzaSlC5Y + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: D6B344CC91AA495B8FB86F563FB3B763 Ref B: MAA201060515017 Ref C: 2025-01-07T08:53:05Z' + status: 202 Accepted + code: 202 + duration: 1.089480708s + - 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: + - "10" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718368048279141&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=uHOIxAK6i3Wrs1lx6BPtVoQFm_ocXUCtWSI0XEy4tFUWR8NfTvVg7FdDtq7GZKzpjjQvdziceoD9MO3iumMpeEVVlqPWINFz05jKiKeFbTkqPK9eJoK52CrYKPKhksRcsRPWvEKpY7dEDXdftp2ZeFq0YA6BhdT5xXPK2tBESlHGgy8bzx7BIDTd7H08nS9PVXurNF_zfgJbJTitOWLsg4WFCizSGbplPOJ9efiA8JSypfTse9LUyg0CGzq-JDfNXwjgiLP9q93NZAxFzKfVYuov7f8mmmP4xDnD3NfMlgK_VX6lLVelUqXeUQ6ohjocWWwsBg2hvxr2dc49F5bRAA&h=T_GLlMO0SnZqAeWpJiyqGakZjfb37AiHkhNQEngI9Vw + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: CC50099E87A240C99F265B47AAD6FED2 Ref B: MAA201060515017 Ref C: 2025-01-07T08:53:23Z' + status: 202 Accepted + code: 202 + duration: 163.444375ms + - 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: + Test-Request-Attempt: + - "11" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718368220728611&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=jDrwgFqkkVGgZC-SaZfXPPyiCsBvBNOgA46xIHTYs4HxJ-k9jPuHjX8Og9Eouv_cH4tlvbKnzLR6xWVKCoezPUrVSt1md455Lx6SIZmfUcHfmnkE-zxkG5ucw0b16QhG0USzRrUFPsYqpBJIGhwJnpendWzFGvX7iw3wlgdDzauyDLvtgzut15e_Kmsg6744CKXgkb_z8WeiAGHiSFaWfCE2iKkKGNzw3j7MgZU9BdeZ5yLoONj389EIw3yxAaTBDM8LhFqVlzLM0zbilbQSEBZf8tUJ71zg_GS4rHUKaIBqF5kY5nyJOFuVXn9v0IMf0re_ll4FN123lZesdj1h2w&h=zETaGBDb-GaAXa_G0IO5n8wtfVmLgfm7edSNlV8tfu4 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 6DD4F108155242119FB3DACBA4AAA001 Ref B: MAA201060515017 Ref C: 2025-01-07T08:53:41Z' + status: 202 Accepted + code: 202 + duration: 1.09365575s + - 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: + - "12" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718368393073243&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=K6GcEGSc0uDdw-Vd3QV3NXYNpj5TMUZO5VOVu79Bpe6qgHQvRchMvmh3OH8G0g4vksKdkhqfk85dSAbL0747bFLixcErKCNoC_zjb5sP52m8VsriimQJ7y3mipn9qLb5-hDeyaScLR32dLxAcanVoZxl0q5xHTc9V4uAiYSMwjZbDi5Sp1-YSjDDfvfSuoQDjFOkobDw5Ado2SliPm5G7HwjTsl8CkYvq84jMQNNvafPEFR0iB30zaBwhmsVQ9C7W08gjqbsQ-Kp3alVolja4NYJzpqjCjugpuGXMar9La7AL0F389VraqGzbx3yfdeqR5myzizo4z3zkHQ28OUbeQ&h=iYV2gmVrPF2u8Fwx2ewCPbAGugxPSDUFIC5OqgmPkRo + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 200E9EF5108A4306A65909C03E26DE9B Ref B: MAA201060515017 Ref C: 2025-01-07T08:53:58Z' + status: 202 Accepted + code: 202 + duration: 1.150683958s + - 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: + - "13" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718368566233362&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=zk_tdcDycBmjN6VlWqZQ31QHbUihckpB8HIIuZ3t40GNNrULWJ3mWrXw96Wf9FwbCUWvE1gozo9lb3ewdL7_fXcoFgofNrkeZ3MimxYHYgNLZHRKaAqqN-Xwa7WcsMgc61Xc5prJ1Gez-492LdobCULXnHnDLgA8bXyVRO-3wL9Z3-ohWiSB3y7L_Hjie-ZlaUkJYuOhnabcf2a2AjI6D5z9HpZyVUEnW35mYs6tuTtElMBlgE8Y8hwPx8o1YYiXRA6uUB5B_QdSMmu3ixcz-chUH5AkQa3yxBdQFihGeSSXLDX_sGPryw4-dFmEzBeC0EY2qxqoaxyc0DsRwaXYrA&h=6XwrbjVa9YI3Vt8NVW4Eq3kF_YvM0P32PjZC3HAiSGU + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 92ED0498C52C4A16955E2FF38B8D668E Ref B: MAA201060515017 Ref C: 2025-01-07T08:54:15Z' + status: 202 Accepted + code: 202 + duration: 1.143647916s + - 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: + - "14" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718368744227217&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=Fh22TtxQIMZNPVQvbVja2bnwaufASlX7dio7WBojJ8Kjgu5FGOAocce85pSYZwI1SnYgSHV7UXng-F-DfQ2TCkLUElYKTlsCuS2S2APUm-XAW9sdqF4tuTKFMSipNuyKpzkqm4A_9gbnFwSM_mMu1Afl3GO8VQVnhpMIDo7j3pimvkGyU4cF-PyKh-M5trlDONypFLRmUzlAgex-JcXwhKM9YTGtHkpEWKkLl_CS9hTtdwkGsfwGDfH5dDzTHx2-WuJRn0xJdI-5MrrANVHwwYNiQ744JiAJDR1cZ1I0aktQS2jPMwOpQBC903bft2B9gmz7Fibi_PnvMXZEiHaR6A&h=1XFFXaYPxLuYQyBCpDfESUmruofXAlXwOe5rhnREBBU + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: D142DDCB00174E8AA9B056F9A6478C89 Ref B: MAA201060515017 Ref C: 2025-01-07T08:54:33Z' + status: 202 Accepted + code: 202 + duration: 1.0913225s + - 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: + - "15" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718368916635873&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=g4dACqQN0DXb7EWKtnxVzPjZd0LDRD8qy1voWpaEHWAs85myuwTBIombDtGc68VCaYmc5gNIWB6apoY1iP763UHa5-0i_6nD_6Yf-HX0PwlKc_uVe8aHHCoGuVdLvjoJ5ZjY3wnwGgivmVEm46tdXrgL4-HLhRE-9VGNXUWFmWKNCN7q_eB4MKZtCyl0fvQ94Xek3XVe0Lb-Luk1mJWqjUUhoJSWNaAs85iNVl5hMA4oKdx6StCd1pPqK-mRiYhfPeIGKT5w9sf7YwOuXSVHpvKDiQfi_4Gt2Tna5ayjHxsjoPvlJRN8clGFfkxnFxHh3Rk42cwM8uu99swHuB9tLQ&h=s5S0ke6Uiepy3eUWf9mGXSAlpNT4vJJYDHiFAs0mjQc + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 46787AEA14D149229DED95D44E307CED Ref B: MAA201060515017 Ref C: 2025-01-07T08:54:50Z' + status: 202 Accepted + code: 202 + duration: 1.116365209s + - 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: + - "16" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718369088953776&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=RREp5d8JiyC2nwM0EGIWAPPBwrAqnyMUIUcxm-6ZgCk_NgMog-XSn3ShIJD6PRECLCWKP4eAv51WQ9ZoqIlkqdh-gxWfZiJ0K5ZD5jt2ozUySei5gV7vExNed-WETCvnjmzGwSykot2DEsp3pi5AhgQqqmcA7y0MBR4tQ4S1aLVb2VNH4i5eB2nard3bc1gYg5wiVaD6o5jv_dAA5LTLLdzsjWkOYAulRCSKvgBibjSZjwAKf55BWjtO9aPdXeu2WsfGyzwSqu6eVPFrMXb0spTgt-qkrq_xxEAqFnPVmsZfeJIpsRJjOzIj2LMKEWzgsqqcfFYyNSNBjG8L1UWFSQ&h=-BQ0AFL_76zKO-q0cvjb3ASTHc4bvJBoA4eE5ccEDK0 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 9AFE2CB6B07F4E5F911F0487C4C01454 Ref B: MAA201060515017 Ref C: 2025-01-07T08:55:07Z' + status: 202 Accepted + code: 202 + duration: 181.833916ms + - 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: + - "17" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718369258463829&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=v1ny49hKcg8MGYcYm5FXw7rM5nnXEfXeAbSGX35kXsjz3f4GtJD4CqCOpPhVRnkV2TTVAdPTCmqiWKXxR8QfbJwG5ETLUOenIzqGSzNG9gIZWKzTOyKN2BTWG1PcI-0u4TIO0345L5RG3Clqxp_ZD_9qkMNFb00uUsBf-Gkrl0dpk0LIlXiOEp_5G_v4yI06ozFPzbeunUoZe6caPyrsp6Rc5bo8vrdjBwob-wn8n5Eb3ldC-vrQQ1wQ1MUNKnngdiTWGIFgYa2xwVD8wdRWvBFc5QPXt6byF_sN9ymeaTQtG7ZlOcPkyD05Ajl531q60uhBOpxF6lELDFxkdK_S3A&h=sYyZc0rFL6Cm9cLy5H-l_mnXJxkmolPjKXG8wDh3ojw + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: DD75686CC3134BB7924553B7773FFE0C Ref B: MAA201060515017 Ref C: 2025-01-07T08:55:25Z' + status: 202 Accepted + code: 202 + duration: 692.52875ms + - 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: + - "18" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718369430450539&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=z2oj4cCeLML2FbO5v2y05-k33BuEudyOI4RKoXjZQp-4FEMJElO0pWgOEQlTpkAvwAUBy6dqOll_LoLhXJHBVHKBb4sYJJLYIk78OJFOsc1IEIQL5DaDFviaDqcfE6x7FLVzs5wUhefZyTTDRh8VZ4Axapkd03SuKhGKS9mlXZKls0X-i4vHtVAkumY3gBhk_3YGy1aJ60vbgO1ZTYDb_m0FZLsAsN75LptfY96LU2gXmxyybfX42i7DnQ3T4UhWW3KRwkeZDkgM-cgsB95rWl0PfnUzpudh-J8_8-igRxbu1yg5-3J2onN7hK2s3eJN__n_QcGmIgHa1fOGqxyWpw&h=nzXszuzusb1l23s9S2h79NXTi-bZKQ1OhogthduCNJ0 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: BF4A92D0BCC346908A56D3876CBC0C89 Ref B: MAA201060515017 Ref C: 2025-01-07T08:55:41Z' + status: 202 Accepted + code: 202 + duration: 1.171928417s + - 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: + - "19" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718369597242600&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=WGkloQogNhD4ddZWq91bor5oSUTpX527pMhhvzxb2ybcEM-UMjDg3WEgo7jZa1KedzpEaQ9bVTsjtJNaAMtfVxp9eJ0IpRLL66jQB7TVYFpipT5SMWzBTLmLHNdhJWZQvQ0PBczdVgrm7a05L3Ysnlv3whJe7If49ZpBbJNLF0vhdwKX3uXH1Nvl2hKa0C08cHxjmSaLIiMSlUlH_UqEx1887Ttj0nbcO3Gi6JYZUOT0VN63sz_F2Gil65ujP7_Ie113dWySR7c549pNCBUzc-bTw6RQy0cFNid13tV-tdCf0NeP65nWkTlf0up1CsBTlP7SEkqGzdec9j0YqDy-qQ&h=pJoQGTbzepnE8aVTPMnIckJj_PA6QmX1zhvBr-qxI3w + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 3F93095BDE40417F9DBDC704BA703536 Ref B: MAA201060515017 Ref C: 2025-01-07T08:55:59Z' + status: 202 Accepted + code: 202 + duration: 515.798167ms + - 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: + - "20" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718369763977486&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=kxT9zf_SDET-vNQLIe4nOESSObKKKTc1PEBqXCNONkRqvReo5k-sZR8_fLW_lgs4L9M6d1vkMBSVzwBkMhCidIsIaqVl7akOAlU4F4CEh3YxPz4WqLCPxDyKmpPX-fxz6lfgylH0JR43zQ-mGDm3TIzDUTMGipGykdVACwcQRs0f5VLn6Z1jcJKQ9E40E-ylqYhsKqBbnZ8d1McT824CJhtvnX49zNVyt_zQahBdyv3KThQvWYDfSO367QDt8hGnfFzkNKNPOg3oXrsQwRIFHcF6tRvdPteok_nPDR_hYBCuyC-2ZW4iuoYg8d8YqHUtFpR-fX9YgJJtgGIpcup3Hw&h=nVmPWgFR3BCTZthGSVKcH5wYkxflkaA5GkLPtqDtqz0 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 5EAE61C239D64725A145D0EFE0161A69 Ref B: MAA201060515017 Ref C: 2025-01-07T08:56:15Z' + status: 202 Accepted + code: 202 + duration: 1.096427166s + - 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: + - "21" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718369935665862&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=oiOCf7WYEqwHh5ZIr3fGve2kBUuiqg8RIyE6CodfrmfEB7RWxBaFHSYIAA1shVdcMkZOBwGEg3Y5791LGsF3sQ_WhXhgxgMj6Vb-MF8VtIuyFL36-CIUtqcjKysn5LBKKrq1jY_qhz8AVBAVCzsHTvyWPpSqQnPkY1dKENEdmaznBhtU1NrbeR9MTIToXoZApJ6ej3nXF42kFn-Ap0kGXaXbvP1Pp86x_l1a3zFk4WB-NXoYtypkIi5Y35AL434bUbzuPwhfXfYR8wub7tUFgP8qXZdfDDvL-_qTnS294cCCW0k9TSAzXKAv3dFUMXe1XJ3qF4TyavFr_JkbaaGN9w&h=KQggTKDtp-LwTgXIq0WWsq68MMTNC1hGu6mMQuKnQZE + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: A7FA69FD74AB4D7BACA504CCB5BA0F0F Ref B: MAA201060515017 Ref C: 2025-01-07T08:56:32Z' + status: 202 Accepted + code: 202 + duration: 1.07187675s + - 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: + - "22" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718370103493234&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=LFQ0PJew8OukKmzAW2hN4jt9EHqjqKM8-5Os0NaDlsYtf2y3ZGH8MXEFuEKrjL7AE7HRswjG80xQ6WJUFHUoKVYHiGzhz7OuSO0MBbL8fYWp4FlFBK7bS2zgzq9eSZC0fkkJC3YRzokJKYNJ29dPv9vpOlBkymRf_GDCerbLjmAfCt9YEvTlJeQiS0VDs0BSUznLIj_pcnwEaQwJGiG6N4HnoM9mAdeviw6Iaz9zhUL528zEzOvHpR5L9tg9IsXZLe3PsocyMacLbLedlJCD2nrn69gcrI-MBKdxMGvONfotHI1AZyguZhLMVo-ovVRLBNuKyZntrD3kUwlTxuM-Ng&h=AGznLjZR16KcagIGoWqbMFLx130vrz2PScjVMySr6Rs + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 0A522590B4C84C459D9E593F11F03556 Ref B: MAA201060515017 Ref C: 2025-01-07T08:56:49Z' + status: 202 Accepted + code: 202 + duration: 577.549125ms + - 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: + - "23" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718370271828309&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=bXdsuNxFuC81e1Bt9xcuu8MKUB-hbb4HiuriDJd17seOqPVoVagcpn1Ij14VKp5-k7fil-xjyWlKydRRLfJMc1Z83xeTXINT_wALbahO0ZIXLcyhbKo1Jcgrd_nY9k1OOwYGVA-8L4Rcf3U82280KdiHtgKfzK8zQ2XR9N9gFGn7JO2TOEtOWaGElQ75oN1hluHnbb9nCx-Df8Rfhln04pRySaEutCi8DabdDI6lReJecglbycV4Gnex0NJaI4JigvkK3t1Em4SjlhvOAXdzdILD0CWl4-DoAfzVusoaVBSEsfrDCPdmkOkSBfUpJ0DUk0xQ44MZGN_BCUiWcO8pAQ&h=j4voD022VhdImlOEUz6PjV7QV7QL5rBHP5kr_QQ5YGw + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: FE604C5B7BF541F28B27CE1D7E3DADEF Ref B: MAA201060515017 Ref C: 2025-01-07T08:57:06Z' + status: 202 Accepted + code: 202 + duration: 1.226398834s + - 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: + - "24" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718370446462215&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=pZb_0Ot9sYfmBLPbA1vkFj4qPgQzO7wCih9TUXcJ211ZrfHEpew2Ad9a_AIqKfkcVLBbjIvj35MCUlJ0U1LiJMOQxBrCAGOpKlZ3JameNoTf4QXUF-CNXZdKwTTWMv5bSFBysWn3Ojy1F3i7-Ai2n56BUFopcGF9apUTNJXqENByZ29gIFa531cKqqvLPnELg2Ap280yJDlR-jwtNziNmbAzmNVF3GoukDbIcyrYaCVhFRCds9IJIC4w_-XeQ_hQbA7SlNib6Re_il2nZ293NODbyNHV2rVjMUjfCSbdipnTCtjtdlC83Gk6c0Y2ttAo-rCcFJ2SbItm51--BeeEXw&h=zdcL3zNpIDgoAJe7cbB6RTQsv2fc6aBMaSdkfrY-svU + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 4E328A72AD3542788C256352FDC5CDBB Ref B: MAA201060515017 Ref C: 2025-01-07T08:57:23Z' + status: 202 Accepted + code: 202 + duration: 1.179360333s + - 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: + - "25" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718370620554052&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=TwF971vq_UMFuW8t5Qw16t6XgljDaqMU85hGX7Y0IGk2ILnlyKOfAuKWNdzpWlN_qlov0AzL5lDZcBXYvClQp6d_vITYTAOd4lMgE76DfHVaoizCYzVh5qYUy7qGP73csxLPekyg4uk1qsWPrYG-YJ1blHm7cxxTDcPSrx17T4UBXsrsBMblz_8rCpq91kb6DhkefoMSfWGWMFnQN99JpLTq6cNMcxN2gUeDFQ2UykN8nFnFrN2lj3QqMDA4j1Fb4IR8EJRHmHpbcZf-ba4GUJ6D-0bO9mtEHLUg8uIDnm-4hdZibJGdgo6P26-P7VwAQlnM0eoLuUJUvZzQflhVlw&h=88Yz4O-QUM5F_LSxS20dFs3gbnl2I4e2X9lpG2cnp4o + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: CB99B72E616C4563B6440222F8E8191A Ref B: MAA201060515017 Ref C: 2025-01-07T08:57:40Z' + status: 202 Accepted + code: 202 + duration: 1.198154083s + - 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: + - "26" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718370797267508&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=I4da4yp9sU0tBY2x8NI4ky6kJM63H9RYtibpTT11wbymBilb6vlsn7AO0qaVYTYLcGW3K7TKKXekvFPIF1sHL8o_3O1ytAijuO45IaEV73JS8EiQHF_2rIkcpcundPVtJSuU8HcRHcRsZwRgh1Ov-BNCXk3lOsolawM-wGfPH8siUZldwDtVNGkXiCch8Sy4XESQ0BZ9TVFzfA90fftDlmBNFnzZzLboTTejyq-rlp-vsHhZVYMRBnLsQ5NmBfLLm1XUJnMUsCB9maJQoeZ4DmnEoz3O7H6q2D2zuLsobssqw3M7B0ermImR8zQY587yVguvelXENvaGt9Z4C_DwCA&h=9VtqV3ffrQ7jfEdX925cSvRweWvBpUME2x4WnXII1J8 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: F0CDB1B18EA74ACEA7144C05D084AF03 Ref B: MAA201060515017 Ref C: 2025-01-07T08:57:58Z' + status: 202 Accepted + code: 202 + duration: 1.117847917s + - 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: + - "27" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718370971706777&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=c1Zb9Zd3dCaQrdM2LwNclf5rDM1qasFHAZgdCyrhp65xayQtbw85ItrcsU-vNR3fSvBcC6lnLafGV7JF62-qgbCy0M_tnFMRj79WlMPR1R6LBOWOCjudTDATuBfSL8q2JWGoUhuAcNeYZE1ZDnmq1A6zm2UpijHgcYXGxm6Uz7mXqD4qhqfO4dpfXvfF1zHzXABa17uJ8UbLdjhU7RjhdCMR4vmyqsSMS639o_YjltQKH39zMocEQUQ1-075_PUJdgiPRXf_kC0UJqAvUN57HEB7tkYywX3e4t6wU8bktGZG9zpbkHadnBB8Gm042QI3ivKssdpyufeUMO_bLAVCgQ&h=68WY6ISJJ35LoNyB7t811l2cGQ4UtEgKVNsgclGBgbs + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 627C6FB8A7D44E2F95716CC71EC71553 Ref B: MAA201060515017 Ref C: 2025-01-07T08:58:16Z' + status: 202 Accepted + code: 202 + duration: 1.140427667s + - 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: + - "28" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718371144458895&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=Gy46El2KdKcO4byw6L3NlxwGJzWaWJoVerxMsQckQ57dCJCwLdduLCdGSn1gHenJX_Wd6D1CRBkomHGD4lJ1PF234-JByPAyar7YsTpFbzgcBWSzsclkt4KPiTD6wPiZM58MH6uLjgHGlqs1_TvvjXWbfDdicrZxIgQkpihshHQqcoPJoodsaARK3G5SJM_LizhCHOQ4QJlkKEpPO4PNMb2zUEtuzy5Ggn_iuvGqp_druIVS237ayoA_cimoOymQuq34gjrsFGNp5ETBC8Qp0ZV4AhqN5tHtL3jhJqY8SfMe8_HDslBCPRjfyu9vrgFXja2huBbzaEaSL-Z6ocJSoQ&h=yc_1BipNiYIj7Pe086EguJiA5e4L53eliXdDWFVxGoo + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: E4BA1A36CC0D4EA2A8548DAC415BF851 Ref B: MAA201060515017 Ref C: 2025-01-07T08:58:33Z' + status: 202 Accepted + code: 202 + duration: 1.103547583s + - 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: + - "29" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718371321218534&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=IWnlvn_j8lkRnEmXxsW2EYuzo_JcUfXp4C9aHhmzerPnTh_4RVTKM3ahvIbmgVF9E9am31MpfzHMJN8Q_6V_C-nyCDV9B0NtFwGuBaHdx0iunk0kzVoEmwkDg44o6Z0u-9JIn2_7--ISV6pI11KHfmCs2aJtUU2slzOW5LPdmEkQQs5E6ma8NuUrss9ybepmLm8WWRkxAkEgDGlAkQ0ugwf5S1GM82aRuEshBIoyXGDqnMTd1PxVIfX8pjdaEI_shWZ-t6G_h6ghMrsRT-yhJnmMDAwM3n780BGfs7Gem7ayWEb3eXH9riSByEelgMEDUMEFhLPavo4yDNaNG_86KA&h=fcTbvMFRiy2V4mdHrRdlGWcgkEyROrkzweX4aVRYpdc + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 8711E8921C4E4AD0AE3814D7B2E775C7 Ref B: MAA201060515017 Ref C: 2025-01-07T08:58:51Z' + status: 202 Accepted + code: 202 + duration: 1.13779375s + - 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: + - "30" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718371493558574&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=mtO7mklI3ogj3asKPxw3FiXAOnqYKuuuBgfaf-cTXmN9Y_vXlivBGGC7y0nx4o8vYmQUcEkKkVp1C85mPfyaCiwM9rc0PbM-MXGlDJ7VojR8OVtDLtw8ZXna2zHGgWdI-S_9hROUmFAxkBUe1wBz_QuphBxDqBPz9DPArT-toAn5Y_A4gr1_CPfVum2-gRRHWxcXtnUYtzaEpS9wRPOJkkSmiFY7A1aBnls6iOFLFJraRSJ6c7txDHH7jSFqyyo_7Pjj_sQn_ZFimApy_00zK8nGG4LChg0gq6uTdbYSMJHf9qOEmF2yk0JjNi7EUm7jqzE4g2N304GMGtCjCGsWUQ&h=csbcfuDSPgKbDKh8I2hBlevYD9O3JU2GwvrK7b-PTuE + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: E782198CD0024F4993560E1FAEAE8DB8 Ref B: MAA201060515017 Ref C: 2025-01-07T08:59:08Z' + status: 202 Accepted + code: 202 + duration: 123.900292ms + - 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: + - "31" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718371670615355&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=WxOm95AT7fqlb2GVg7BjkadhtR8pL4MYEbOueJpdF9G7pxBjNByupSKX3SIZGqxyHnULdQBojCGz89Mh1q7uYaOqbyYQEC9xqiAoLVZAz5JiD-OGWVVaTUo7RAzxGpXBl4k46TSJ3W9S7WL8H3svPe_EA74uqb2x1468YAzjCSw8Z1F-RUKNGlxWr8z9_UrMnnn_m8CHPMiHZYYJw8ypFLYxJDqWjw6dRQHxuGdzOR4bGXsmFvulM_W3SEe1TB3q83YsHoEM-4Bc6yYQRlE3LetX6tvo04iGTEO6DkrKT6UDxcqYHKjurVT4GwBU7KsdrQ-pfA4XN0yvDle--sQrrw&h=GvWQeN5aFRRHJMSdpVOjZlnSuBkjUwV4Bbu9l3b5BUA + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: B9BA9EDE86034A06A144841AB6B0872E Ref B: MAA201060515017 Ref C: 2025-01-07T08:59:26Z' + status: 202 Accepted + code: 202 + duration: 1.154448125s + - 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: + - "32" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718371844610338&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=gWrbFSZEXtJjKTKGnNJSGTVCALpNYPrjr5Gsu-tBGkeuetiiAvzM2Vx2tu20YTDGuxhABK1ZxGRdjcS7rZgbGYmF3HGIaCrM5te741CdQDg3k9vIc95tlLZLTaNZWmIxLtnmFiWcV_di1av78Z_N4B6CkwnE5Z_nX1kBaXNNot8lrV2LGP-AsTSPNA03t3de7OPsA2dHmBolcmGUjAJBQ-sZ8OzMtb9I5mD69-yUl06FQZCSrloAxlN_6fvSUkfJ2gSU-KHoq0hSfC_DmvFPKy8ilcIkI7KN46gwa1XbiSowKRbQsHw4TXBwbQG2AwtuizFtuCmZm1v80eKJ98MNzQ&h=FOzYGwRICNkusbEBbLLIcDq4Vci7VFHHCBe6H6PKIjA + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 4E96711CE0904AB299BBF9ED68036D46 Ref B: MAA201060515017 Ref C: 2025-01-07T08:59:43Z' + status: 202 Accepted + code: 202 + duration: 1.177341291s + - 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: + - "33" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718372019443897&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=gv0UN_iIz4A3K8H8G0lmo6UoKopMGN8ICq7kXVy5m7aWS99DIuYgs5u0YZ9rQ3d-3rXiqBLK_BLS8I4zqCKLq57QloXm9xfxfyrHx_4fRxTynHBCOpJ1rvAbwSzPO0fIdXdciWExiCmcbLM7FHZl668kvQisuBD3FEaZMxCBBpXVdK9R4qFZmNHB9pkml_XMfnmWebyeKearIPQWErLBY6J8RG8CLFV3_Fq612JfhaWQVgVzoC1ZDJLp-yIRfH8cp3UaLE2iGLinKxm56huqZU60WaCm0IN2axt6CYdO4LQaBmAVy9BUo3u2JPA17e3eNw1CwkdjTHqzoDJZGED0Ig&h=Mzmu-j2HnZiMPYpjkWFN8cs7WBuveuGdKlg9QNjtPtI + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: F057FBB5DEB347BE960775449C26CA6C Ref B: MAA201060515017 Ref C: 2025-01-07T09:00:00Z' + status: 202 Accepted + code: 202 + duration: 1.31205525s + - 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: + - "34" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718372194582220&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=taqiNfz20zUAasYQ1_7QmNI_o0qM9XG0jiCLKMFCVkqwgCAVk9Kp3IcohUjSTLUYfSaqE_I2UavYullF3x_u7vfrzVupW3_K8GgMpBtPaICpjITsHtzCjC6xd3bj--MsvNNbU0Do1qYGnkgeA7IeyaLD-YMBQ85rv823HwQRjaz7bkAxcon6MjHNg_abipD883-8m8cv_ZTIzToLiG7UzC02jxl69Uvw5nt4lwFA15zNbu_3CEEdw-NZl7fphD-oaTzRYuLhdw6K8s4UkLs6tCGfDdEbIDTU7Fr4DjPSrZHmCK1HPEk1O4h75GmbVNFgc3X2c0rSkqCNvMkejtzzEg&h=6iaiNIQGUjeyx5V2qlR_hOewWcHYODEwhVQTqs29EOk + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 34BA0147788D4633BA8FC81CA2B1DC39 Ref B: MAA201060515017 Ref C: 2025-01-07T09:00:18Z' + status: 202 Accepted + code: 202 + duration: 1.186637541s + - 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: + - "35" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718372368770328&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=Sf1si1GBbHW_MUCmcn3UbvLJX3JECeKk8RoRRnEZWxWe-btc86qOwBG6T3mw0eGsVR6wDJwsPm2EBUY1vfkCu5wdpdrnLn6KUn1PTHlDH3bx5laSOcqSoaX11pic--nQ51HTvMgBmRq6G1m_0O8IkH-LCGLW3INEOZNI9co_1dYJh_IbVsqTr5xzMn_buMH3Qyt8PW9tsa3a-FV6fOw6pPBXegu5JJoyOsMvexMQRsihRJ6ahs6xq684robYqK1qXWmyTyIRxTuMnY7Fx7K5h9hBzVgEkmQwmqm8VRHb9iPtmRAC1WOEUN_6byzBL9nE7uOlkktAV-OYQyZq4nB21Q&h=oK4WD1jSdBG2f-Z5R-kEXiJixWtl1Qn_psNvVirF6nw + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: B3179C493E7A4380AEA4C39BB1AF69AE Ref B: MAA201060515017 Ref C: 2025-01-07T09:00:35Z' + status: 202 Accepted + code: 202 + duration: 1.112859541s + - 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: + - "36" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718372542802636&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=ng_XAO1-H124cdLkyWNywpfRvvXj5cILCaG3pofwCIxy3LIZXTMbcstSA_tR-Mc2PIbvwPIgGidhWHNumi2qXsLi1SjOQkv2yQL1-KfaWoP4TQmHyCioXhV_n3Y3zhVTTPyMX8MjNgEIcjqVTaT0qUradRmwBtFFwG1H7vKUAtX5hXZV94DixrCdJqWV5loUVc_8oPsKMid3_z8Hmtuse3AYAwwz7EodeGea044N_4P4Q8zYGI-KSmPfdaWVlEi2sTnJzfQ0q0k4BMTzxYhbTUTjMTkMdsP0rTXGQEzGwasC83V2dTcZVH0kh6OS3MxHZhL8UfOh7oI_jqWVL98Euw&h=HDR1oRovHnMkMExw62vttSEYGXmIoAaKy2Bfladg96s + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 0147813D87DE498BB428EAADF5DA3C18 Ref B: MAA201060515017 Ref C: 2025-01-07T09:00:53Z' + status: 202 Accepted + code: 202 + duration: 1.080624917s + - 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: + Test-Request-Attempt: + - "37" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718372714449565&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=up0_avz0EQ7rtrNvMavGCSZneOco0dhOMVVqlcEuDW3zJzsLca92w_bYuJzO0wTg4g2Ei19FBhPC7y5MFIZ1lAaeJKXsSXzxtPHsC6nzeVl0E_yit0vJEKwYETh2FVrwY5tn7_Dr6pid-F7_1h1qzgnE8mBRZBRiKdLLjQYE_gCWS4oJi5w8rKUYyp_djK-Yl1l0FzLY_03NlLi3hQsFBleS2PYq5W_JBmdoAhUVscLV0uzIackQiqYkJ3R7fa32BHpk65kXnwQajG3v1UapscVcw5eCBaG_m1eY7wuSQVhTHqnCrF3vzlpmgZxBn3CK318qx7GkAfWqHyYJdaNSPQ&h=4qeL8xl3c7OlNN6-SzqgTeEYljw9DGNMNpjdhjyHLIo + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: B76F6A2383584C70844344C507E0EE45 Ref B: MAA201060515017 Ref C: 2025-01-07T09:01:10Z' + status: 202 Accepted + code: 202 + duration: 1.102329292s + - 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: + Test-Request-Attempt: + - "38" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718372889166599&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=iMJEMycnLplKqSm2BzgWxQq2MvYnemIZplje9KMUwwIXHGlpbb6HUgFzrHeOgP1btRuAgwQkQOTYBt5kpWGlTUQ0-uBDVcObu-weSWZpak7aVQouXT8IjYBzvXBq7RFZsWHScXvKpjSKiApoxapHvrrYBJC06TYoRGeLGkkukaBs2D3tBNu1-V91EuTlo-8rxR0Q0lCwvMPkk7UJpCDceAsum-lnuMrp3NCap1boyhsFmbO9iOjPPD1lANhmUTJkwYz4a9GQJaH3EmZU5gbkryzxNyZcpF-QC-yLilnlcwWgpBWjBHnqEkUMrypESJeaLOCd0yNgFcMsltujrFTxTQ&h=RScYXH51-fldyfIiMs5Dg0JHcsgFMQGZ7Dn2YaiUiKA + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 4072C63ABE9049CA8DD1ADF9C66E2D51 Ref B: MAA201060515017 Ref C: 2025-01-07T09:01:27Z' + status: 202 Accepted + code: 202 + duration: 1.151924833s + - 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: + - "39" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718373062017147&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VAgw28lzpfcblx1_XrijnNIumKbdzEkQsznGBAKa2Rc9bvGigKkotzzBUQyO3rphWYl00yA-7Q82hPfrPUD4fKtwHKXqNPpVJLa2kVkg5UtCgakorALDBbW_eO1PwhoIBvx5BOgZ8nWNKTr2GQxPiRXt6CqOYkSoWwXqKgqk8e3yWfxjUE2ewsu-_s9PU0p6ej7NRjsXaBy4o46B1Rg_O7vFSQFmuGTzItMXUJ5S0ZH4jDhf2-V8zYanm0AMSLJziHbonUdlySEKvAD_8f4_9PFlx7HAxYp6Baf-T3lTdxdmYFzWTJbBoNqQQbBbtVJ3jkCkvNxkQmx0eveNayB5gw&h=wyZe1-c8lqT3ix_F8UhqrAFckbDu9gDOMBUXQnarqtE + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 940EC971B21D48F8A735F2A7E9DBBE54 Ref B: MAA201060515017 Ref C: 2025-01-07T09:01:45Z' + status: 202 Accepted + code: 202 + duration: 1.066498041s + - 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: + Test-Request-Attempt: + - "40" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718373233798965&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=RXZxl4FsB0L74wECIQKlHeVS_H7G4Z5dSuaaizy8hHmMUEP1XU-IxxgVy2LoHzA4znWbDRGw4ao45bOWvLTWEW7sLGhrPPbBwJdREvfvOi3v9f_YckBTnIDvuAa10OIvrvdb1x-uEWTWqGTKpKqxHNpTaKCryj3TuagcIWfnNb1EWVqjzsq27FTNTESbR7vUphD3_mey4mpOPUjvbs_p1qVqwgcarN8UDz5OevBuJNy-214Bynkvex5k51GYcmwTh1I-0WUAa-XRytPEk_onFJ3KEmR32ieDxgeg0jjLKyohVkXQJNrrkezJNCi4p_VjmC7ODDv3UHiWSSGG3KGkfw&h=kzIeONI34LxAkBhDkumpp91l-kTFE70ORkInRMcNe3I + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 6C359102AB414C27BF5A062C972664B0 Ref B: MAA201060515017 Ref C: 2025-01-07T09:02:02Z' + status: 202 Accepted + code: 202 + duration: 1.10541275s + - 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: + - "41" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718373405703101&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=d1mjpdkGmRlnqLBGLpSHx7JMDC964BjJFeDRNbOzU6PxZUO3CIW48CC16pgN1von2cqNhusjnJGd77kyTKysio-ZDlkCMDLgqXidaEHkuW-_CGZPEGkYGkfweJiv-t-aa-w3gv9fh6GKvSGAkRhUzuznmitzaqJdswJuPrMNpSoMdspWMcklOgt2s-7bd0_ibBu1r7si3Ajv5moimJAh0E6_5oM0S8dK1_G-UAMfmVQChGbXo-DxcofXca07i1QKmPBjwxvntaE6AqdCHdRn67t57HAbI5RHytlU630dVDChhjOGDQGZ9ixUSA0OZZ08L1avDWjJ-fo8rXw5Dnsphg&h=AyoYhfCIQyyYY3CDCM9fsXkesd1BwvWvxBSpmVPo78U + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 878659B3EC3A47AC8D8C6200CE5BA484 Ref B: MAA201060515017 Ref C: 2025-01-07T09:02:19Z' + status: 202 Accepted + code: 202 + duration: 1.073506542s + - 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: + - "42" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718373577171196&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=RPyi2M-yTtEUhOQ0PTolGGRxIPTA8hCUfL50z5VkISS3bp8Bz5Jh_G1dCnuLqHMI8x2d-EnTbL4rX4uGsD-vP3EkeTLUqcqzd9JYMGgIoQzso2zNc_QUAUBagTtIVcJV3mvzuoniKFQge-NkEtZ4dPbDpJUyFlXBOxCnL-z0FNcxIitD8Vz7usuM2LNPE3QZHjTZ0RRkw80H3sCqK0njQgtJHI1-af-k0VHWlUbz6boA76zqHJpsbgQbxLb8VK_hwkv1-51nGgW_lt8-QQG7rDWS_gTMpFkuxgg6nc5MF8__bX3e5KXhziy3TT--AR8yl6huk_tL3G_UpTpQN9k6HA&h=qPC9Y10sXi7Dm4ExYNCHc-LKpC7_IgEOK67WzQDfkp0 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 220ED5A6A4154300985E466D4053258E Ref B: MAA201060515017 Ref C: 2025-01-07T09:02:36Z' + status: 202 Accepted + code: 202 + duration: 1.059749458s + - 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: + - "43" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718373749814847&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=Lh8VMYmU30Nmcz_8udP0Fq1KP3Gr4zAz0hTPdLWLRLlxiliHgwG8XTSKwdyjpDbLfLhtwrJQ7LI2Cb_WvfmpmH30RLOAHHipsd8NUlqJ6pux0Z4kbZ5rWWUspxQ_RKcAFhv5qTWasN1FdTpp5TLkCKRxlopGbLyBCMk3DpOb7q16QofZTcuQXP7LEkqicGryAE0sgnlccX-gsowq4W9tk6WUYVDjM5TBerh60adNItJVRjw8hwCYwWMWTwjtfd7mdJlEGvNFgSpJDQ-jgkCOVZnj8hjwDpP_MSkT-KM-h9E4HfPuaJ8BgeC89P7h-tSJowVvUIrqu6ajhDp4D_VZ3A&h=qXvsqtrfYvKjfhIsnpcZofPLYKqHzKNT4XECeAlZHCY + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: FC66C7304A174625A9E35032A606BE2D Ref B: MAA201060515017 Ref C: 2025-01-07T09:02:53Z' + status: 202 Accepted + code: 202 + duration: 1.075589709s + - 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: + - "44" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718373925238412&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=SnK6DpD5XdDKXDDuvOtOmaiB7ZVnOwBWRtuIUbk6xbGiU7WdWhLeF82EZv_Qq210jRdZ1H7yUPis069c1hr1LE7gmbsW_-amc9gSEJTV6ANeGz57u2N1Ivi57PmIdhSkUTu_myJoIiXDxdTOmspUBi7Dssx2pYKjBU9s52g3dkEhGxI-_jvqlOXwPlJoOJ902hgDosE3UMynlGloM6gXYomfq6Q-79ZKRjB5XcvmyXbHURNcJK_uKHR1J2ZUfLOQ0GPfelZ4vt5w3WiG1l4fRmaE6VA3P4qT0UGFqafyb4NR1YuaXKIMOtzetHiGgw4IE4BNpWVnCm4cyvhV6K3EHA&h=2dfXG2XLGZnEiBItw1zHpjSJHdRDqf0ZzCYXU5SvIMs + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: D556F9B4D66E44DC811C00C2A2600ED4 Ref B: MAA201060515017 Ref C: 2025-01-07T09:03:11Z' + status: 202 Accepted + code: 202 + duration: 1.268703667s + - 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: + - "45" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718374100037792&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=GzQD6j_NZIGWHqSfQAIljs3vt3DuUcJkkuO6D4gBYa9IzGUblsHdb8OnKfuzA3LF02xxHoUaxVKTEWdwy6gzM70Xas8KDH5cLTYePZL_cqGpFJ0LPPKm3lpB5rzz9Ol5qwfFmz9UYWvuQyJ6h2iRCcKxzPA5qAJ_BgfyT7SNwEssEMOGcLux3Rs0znBgiPa2tFbRtmAKMk6NAi1kTQSRKaitaEQDMkFud0khnB1ywbwPlkZg38OxzAJgDN3zpp7xg5wyhzsiIKhCJ9kPVsbQh3-3hKUztOLV3P2v5OnRVrMbR0Hqg98NWe6kh10FWbhjcY_GkmVmH8FEMxznoK4plQ&h=Lhrjsn8npwT2bUXk_2yeTIsbE4mbTGzZpZNLWB4UWyc + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 0F142F51314B4A2DBBCAA3612BA8C50C Ref B: MAA201060515017 Ref C: 2025-01-07T09:03:28Z' + status: 202 Accepted + code: 202 + duration: 125.164291ms + - 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: + - "46" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718374272531299&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=Cwnasfl32kHP0mVyRcJC9rRNxaF6yryyQRqgmllph_Y9lUkC3nRAngGOQGaHFhQ0LtjNXbHwuqtsstVByitF6uZYkxFzFx3hn3TgRpaAWCljkPSBiByOC5BcakNRbpwZi4pgQJ33qrs0bjp3W5gtIcywFJnMtFFUE9ZbDVT2_7mkyQoq_Wvh3ice4SadZrUUdRtU78BnAJuCsJqtJErhyfIYU1znY1rhG7rHncICdw_imv3PgxkFFHikWzo2s3rSlt6uYQfzAtnQsBNqukBEa0SelBhkiCuv2AzALFZDg75gvGeEL9lhtEZTlRYEPHBiQzd1LnAfo62nK8PGHGrnmQ&h=d-e52zH4XBJK6CwFIrbhCH1R967jCDfKAic4443M66k + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: D0F811B1AA6B4951A16DC85EA9A15690 Ref B: MAA201060515017 Ref C: 2025-01-07T09:03:46Z' + status: 202 Accepted + code: 202 + duration: 1.091124625s + - 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: + - "47" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718374444779466&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=qfb0MqSjk2N00z9jlPWNDVyQ7JkKnumCVxEAOEE06B6TmDwDo-IOO-7QmUmhJafnrcm_vlju7swH38rtCd-VWaCkSrzoZ9XXet-AyQAFdJCXKMHT6FiSB95-qvf1tldkXgZ38vvZRMhSpKQ6wtA1r0jE2g2i9ju2_HNF4wjSMBiRmj4_lRZMs2ajKVWM8Kh_DUu9kLboWjX02T6FF5U5IHk8FI_aC9WLUtMA5Y6UtSOmEvrvmciglOfy4fCmvoUK1xLk299kCj7zYMTYr04o5zcxOzXVhm8c_qYeN5rx31k9PcMk-TvykncBKdfsoRNeQFFsB7gY_1ga9_-QYYBUBg&h=id49loLcALIA1TmxxN3V7k0ncB5BTWkaxqtloB8Ian0 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: B9407AFE82E04887AD1BEC49DAD97F6D Ref B: MAA201060515017 Ref C: 2025-01-07T09:04:03Z' + status: 202 Accepted + code: 202 + duration: 1.137590583s + - 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: + - "48" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718374617382474&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=eoYNr-shupZkFyR3-FHh3hUNEiYoPqTeWHeyN7WWgro6nv7VkcnAXNjaLix8iUSHECNGhkxcg3YJI_HcWK1atgbodlno6quNyIUN_BylWuQZD67gnIz1tlkpKzGWeNpe8V3khZQmkcjpSriQOmntxv-TNszO3uCP9Y1dHvTaqvBph9nnnzA-KYQEna8sKXg_v1niWJgbC0DRcgnssfgf3JqjqhByLEKyUbIHFe1MOrthJlP1Pq8-VMkJjYB0wPV35KK9Qu4aVHFMiTL9FIf_jH1WR6h305weNKKPo9upnaRXi8u2yxnVXCWNojwdp2Vch509jOEkti1qja8EaxV17g&h=UcvCLUFgATFyZCygPNibN7LWRqKReO2uHLiHRkjDazU + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 10B09DAB8FDE44DAAEDBB32DC52E1FF8 Ref B: MAA201060515017 Ref C: 2025-01-07T09:04:20Z' + status: 202 Accepted + code: 202 + duration: 1.113107083s + - 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: + - "49" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718374793027098&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=dBfqdldbHdA3YBsaSbIWMIgSUW5_71UWpH8e2EoAD0v_e61P0xeRFdOtOPWJWvr573BHMyii-VKLmKy-i7jsKJbf4a7sj_Dbws-oBNwxwvIbEhmum0jQ1jmtFbAU0dB_KsFUUb6-UDyiDwxcgQhuIfC8bGUEjUzJi9WyuxX3ZlG9nnJLtfl-fScgSrtpKmS-jLtjx52Nn6Bf6l6FjUOxsrv5TNC1UIJ_RKQh1UAuc0_-PYF-6cgZLmFcn-zgVFYeDB06i_Z5DzYdSwIXaa2d72Nr6Y7mn815ddu-VsHwe1_AjapQot1h7sUxfZiynhXbA8eZs4kcZ0wTFEliaduxbg&h=3tTQe041N7WfM4Jl32_g-DegYfqvLiDmoi_W3NdQumc + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 588DFC0F986A466DB28F3316B4B9A385 Ref B: MAA201060515017 Ref C: 2025-01-07T09:04:38Z' + status: 202 Accepted + code: 202 + duration: 1.109231125s + - 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: + - "50" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718374965723175&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=X_AZcHZBr1_du4yxz__lOaNWmE0fyRon3awJTS0_XmD8KJ3uj-qCWg8O_kZXNr5YVSn3Vgv16xExsZj4MYGvo9QxIMz_mAiuKaloXPAWgLQvIYCWH8W_zspJGAM5BW0ZEqg_GCCsIt38yPob1Y3nsA2Xjp4goeG4p23EJgJDAqd8KRkr0V74Qa2EcDuVeBRefYntyGVpssImZvDDt8ckdUgaXm9OKf5Y__ybN7D5ndVA7vvzEgwM5e5OCuNHNdbSDRSkQ6yRyS1XHcdbEO4JbyK-u_YdDEUudykD4CjDM1tf4eG-NQ_WS8djewE1ANDiygthn3ZyzgNSO9QmVTMC8w&h=w0dkLY44CcSsi6YMI1caTPWw3qkUC9kwKuK-kfBKaxY + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 0115693AC76D410A980EFE16D4D9BB26 Ref B: MAA201060515017 Ref C: 2025-01-07T09:04:55Z' + status: 202 Accepted + code: 202 + duration: 1.207819583s + - 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: + - "51" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718375140811291&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=uk2yAyTs5j6wMsBuI5h2KR5TuC5_8P6sFNo6Y2K1sn0DFDUiPjV7rcKvLVryDY52mdkFy5s_I0Y97ZLYXKbvLkuWLjsiNUn6OY0E-XjhSaw_9n-Y0tewVfyKcO-QesWQB8davqllCekbgpuqBmOmowjtsIuyoUXc4RgriQBBBUfwxzHiXWuB_P0R9_BY8U_mGWwfPhouM3_qiMdks0LY9UO-bvNf3BxOUhMSZmRsZ-O0EfcCMxbW7GV3qztRVdyscel6U4NbzzAu8fID0M_T6UKyAT_4pYs8GEHt8SwFUwUls3l0TDk9Aisk97SxoiWEQq0azeQ6AbIk61E1YGzSeg&h=zkz2S9XHo210M00Lb2z34G1jf13MnY5oWJ1WgzarBAU + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: AC820CD48A46403EB6CA132E6DDFCFEB Ref B: MAA201060515017 Ref C: 2025-01-07T09:05:13Z' + status: 202 Accepted + code: 202 + duration: 1.288940667s + - 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: + - "52" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718375321453663&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=n0JC8zq68zR--_601KKXVGUTdVpTHTE5xJR4wFKVwdEHASllgy0betUnOkhoZjEQeI9j6FMu0HhEFwahHD3mCnjf_HbkXl8cCI49St1b8LveWrPavt-aYAf_i0zw4zOhIuYiav9OeNRIY_mJSsTKxSMlVVIQITvITENMuDbDFJQUmfUhgrWnNGTOBs4QyvGeCGzgwRUymvbXM5TEj_0o_KoRs2XPDXT_OONclXGdhC-3o3QrCWrJHFfxk42o8wuaRkayAXNkVETx1LT_jmtl9Gyo_UnYpGyTyJ04AQwuBOYMCMj_8Q6kIfi6BBXrFk4xB_zc_KvnpMg4ZuF0IfoJTg&h=huIQAQcOT3AysRHzjxcpHDMyzsZdkByOh5Ajke5I_2E + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 778864FACEBE4CFFA9EF692911EF39EC Ref B: MAA201060515017 Ref C: 2025-01-07T09:05:31Z' + status: 202 Accepted + code: 202 + duration: 1.116907875s + - 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: + - "53" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718375499342564&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=sGP5OLLUxoG5Z9AYJIfMD3PfGOi3PquuE0sRU6Vsf0AywFNkKfOm65R-HxeATK7k3Tsg5RX73RwScs1Bq_r-vevnByauwVvHG7QalPFQMA54wwq6dqmiwqy3TksGZ0hxg0gMFzi1nC7iTUjm1C56Xq6FG3g7UgnErz3Skn8gLdV16BzUcLQu8v9gvauE1Yt9n3tMtlr3sqK5DZlWlr2ImNu2AgvU2_ZiCz91hdx8haI6P9jMv6DvWgRhA5QdJSI_XKFCLbvbA372NII7DDCffuwZkojWltghlKoe-3VK8yfyj9DmAMnbntTEr9wSnzfu5tRK1_7XS0M8TJw18sPoKA&h=lTqPX5VNWVZkh3v0dN_hU5SxP1ctXX_iu2dkBcS3mZA + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 0EEFD242EB9A4AB0A32761A7AD4A9B93 Ref B: MAA201060515017 Ref C: 2025-01-07T09:05:48Z' + status: 202 Accepted + code: 202 + duration: 343.226167ms + - 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: + - "54" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718375675162541&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VE1FvPugIlCRzrj_gKiYEu0NvfGgOwA_18UQkUdmlLXVW1wXFXY3S_Q1DWJxDlADH1V4CqT3Xxb6QRdqox7hdXy9gD-gA_rCaAersK_bAnR_wwYVwB8PkeG4ad29RYKL5-eWH4S4iWkR9tFEx-6j9rYashOkn3iCNR_HiACfigIljltarGmQGSv3AXqz7OdMSZWD-JA9bcF153zk1R22hEStN1wefUUfKzS4FSxUc-HskCaBNvYWyjZRuhtbUks5NzkdWEVYv-xPdpQzRaGrOh5PiANkf72djmNb6b-kM1P1_-1mgucQjBPBRPunvK-9l_O-OokriITFgeDniJaBrg&h=ra0l_NLrizJXPLP7DwPp516G8xNaovF2zHugHcv1hdE + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: D38035C324B8422EAED7D307AECD61AF Ref B: MAA201060515017 Ref C: 2025-01-07T09:06:06Z' + status: 202 Accepted + code: 202 + duration: 1.268004916s + - 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: + Test-Request-Attempt: + - "55" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718375849884361&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=kuk6SY3qX3Gtxr5iyQHXqh19LYA8EzV8A9jmmgnlvdiYKwfAfwzcDT9Bv4Z8dEC6oiaPlWNiYTaZq3N8vhIxAz52drKhm3Z20eqHhEXP4UsRFGvcphZZEJ1kfX4bJF-yAg76cAcTDZmp7nbmS1e7ojcRrRypbNvpBzmOVNcfdEyuQRwWhJQu81uZqv1F69MHsulusaXxQvJlGjZvZdp_i6qNK3Wxab9m8BuxHZsuwG3tYreez5Z4oGR0A-4QpDbZ_tJTWj0wu9O435aWmXRBk3kEG8zjmfyTGz8ayRNzjDNGEfxNUds-ZTUteqP8Sfo8lhh8WRs-TcUq7nJMY_oY1Q&h=uDxbTkpAWFle_q9qgVlNLnBtNHihKoLUGUmA0RNbv34 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 2C595CE65ED54DA2B3AED353A876377B Ref B: MAA201060515017 Ref C: 2025-01-07T09:06:23Z' + status: 202 Accepted + code: 202 + duration: 1.099793667s + - 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: + Test-Request-Attempt: + - "56" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718376027149816&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=lJ91CM8662DuRM15SM0Tr3BFImvU5L9BewhCoZ8v0yoJ_0LHr6A2dGfJYtFPSpWT1e-BW3ekF8LKfkKNaKcUCQ890vP9LQ4uKH2ASuyYozg-UOqM2Ve9bgFDMAvBmXjV-h72O0vK-qI_YI-bsrPsnT8bKWrOB4HyJjCsxztsjW5j__dd7MdycKBbgPUIpO9xcwkyaDfKbm7ZRKDOzKI6Yi-2WLKlqh9cUgWnCNuauZ2CB0RCDdDmFL9yiqQQRxmcPEEYhIKg3rfVy5xkcpZm4vSoCXhRvWqH28O8AVm2JgR4U89uR9rBlw13lRZE6da7uU0h8-yi3X-uQhikCK-Q1g&h=aIgM6cRlFb_Yy8gaQzS7sS8VAR5sfLOaLmeyErrHMzY + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: D68DC3FE8AE64816A2552E8156FEA5EC Ref B: MAA201060515017 Ref C: 2025-01-07T09:06:41Z' + status: 202 Accepted + code: 202 + duration: 1.248662625s + - id: 78 + 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: + - "57" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718376201409425&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=BdaWrDUe96fokwSU_j0V08AZZRFTvQklWD_N0-zbwv5VqL_h8HsjHKzYnQ_r2uF7Al_nlNOB_Y6km2rVrisNaIxFKiZXZS8vETXnDgADq1qtOZx5JgVji1-9_2lz1o7UOFaWfj9Pay57X2YQW5ZCsrb587byEWR0XllpsLVk0DPiQsvh8mKTwtVFFgkrfkxS6tJz1kirPzWRFAgcHqtkWD4j-q44scH0cyCcNVkxBCQ7M7iB_s2Maj0hIZNgriCGr4mO0bMkl3NNKU-hSgeeYabEW64z9Fi46nwRilhQ1gBFKHuc6mDJ4hCwNXDj4YRcgMQC3-ty54k-N3KyTGN5Qg&h=-wayeS0H1Kc4Z5kvgiSCe6E_i9Kki4Wj9DX_GFLOf-E + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: D9B9781930E7443387C9707B73C77F46 Ref B: MAA201060515017 Ref C: 2025-01-07T09:06:59Z' + status: 202 Accepted + code: 202 + duration: 1.091338584s + - id: 79 + 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: + - "58" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718376375884504&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=WVqgYE8E99Izpc7PLK0vOHJhzVROOnx96dnran515gaZq-UBypZIUCQ_hRhzRMAdOG2mk9nPFjarbK9AtZ4b41pLqQ9Q4Cb6IDXeqapNKyx_Bky_LvlvqwIporNXCN5B24WY4ap7Gjo-ard6WVzFP8Ztwah9QxsLgIrURo_AXWwPdVRhaaw5b1CYSI2J3Xat-TPR43moBeLAe68TcgFhd2BcOOjvHGai73brN99D_wuEJGn9jQLDgXgt7rwV5Dh4sHhbZl4pZevoyyZH0mWvCzH_m0s-BtoyV9E4AXczPHpmYqiNjG25NWbU8XmjEwcNLuo9VUpgK-1WgZhZAPzDfw&h=0ai9cFp_ng94JOWy4s_h9YBbATJQDeoulWkGD4mvLQw + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 1CD6A70714314F86840730EB12F797DB Ref B: MAA201060515017 Ref C: 2025-01-07T09:07:16Z' + status: 202 Accepted + code: 202 + duration: 1.43878625s + - id: 80 + 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: + - "59" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718376552916727&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=azVD0CB5HMvcdhCuofJxaVc7p3DkglWl6x4MG-OmN0kgxe3HElWqAdjUNB82yZ9IQA5-spCgjne_RfNejgsuGqZZCU2JIb8_-uaFjeqtvvkSBUEh7LF9JcdzV6P7cKQGuMC9QX2w5d-ANZ0ZqBYKqiaOPr_62Is8TdQF2u3nIiPRfQg8z7Idi44X2T9rQBWdxAwfdilj2TAdk70fN7G_xePWLPKhHgaOkhBIYhAfDkPVawv3kAek2fB8dlpHauwcOvzOeIPKvdERq0_kJaMHzkU-FvBaoYfiFuEZLbFeTvx-QnqRle7kgUh_BwVJ1z2gIPAEkLSaKEPjuBEvmRttaw&h=1m7b61ecTjU2itX2ESZEQoDxB0pvoEwKWNbWPV1RULk + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 66DEC08CF1024971A9E1871316358956 Ref B: MAA201060515017 Ref C: 2025-01-07T09:07:34Z' + status: 202 Accepted + code: 202 + duration: 1.170361917s + - id: 81 + 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: + - "60" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718376732059289&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=O7NaBJCwEJysYrLAhW8l-mr4Vb5tRvWCXNvMJZp0PW5zR1b1lOX43cIN8sqphWm2ZWJ7BuvfEqFSizdHy1UCNEPGPzROfG9oK3k065ZiIHcgq0iUWEe5PgS3TJeKHzRFTwhy77ps91p5RSmGwtaeH02ikKgSctdu7UOKGfE64pb8r18wg-rijEQfmzLaYjrCmbrbUijQUrePejI8x0lfNn8A4fUiehumJ5nqmoBXYUnG_Cq0i4Di-CGsMuhZYMum9FiUU7cOWn1UEq8Qruf4YgXaCjUuQlsk4pplYl4HSAAYS6isJ_PSkTCrwBzaFMKJSPOtw537_6OrWmvzlbV1PA&h=HiVoA8l7TW4QoYIldvSNxsoinATYYfS1q27rI1AX8lQ + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 84B8CCFA7BB34CC68DF462FC50C1270C Ref B: MAA201060515017 Ref C: 2025-01-07T09:07:52Z' + status: 202 Accepted + code: 202 + duration: 1.159274875s + - id: 82 + 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: + - "61" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718376905175785&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=CxHDB8hVvQxWGcVAqpw6IgmZHC9AQ5l2f3qoXkEtbgU5LfBxdAZfFxc_oV3sqPkxC9PdosyuW4yJmq_7SuoQED6JZNYfGO0vg1-FgtQlsWnTQn1Kxt7QKbr6fXMeDZ-WMQ7bkq30xBpKoh8VaBfcIBNCXReNbU0G36Liq_XQrBosbuV2JzpXxaR5bFFcaGSM4V1Yhz3hNdYhTYjaToFLp50qup5pLlqJX8_za7ccnpA0x6p0_tb69rhLhQFihHwCALGLSEdBL0zxdE90JqxSkxbcNyl3cQZT7vZA1WvrozZctVdvG8yjGuvEuJaCm5BmopLQ-2sCMDsomxAJjBKasw&h=io7r-UYk5kfK6wTRWa4GuZ553QVoTMRjmG5fme1IhWk + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 8310D8CCD4D94F6099C417FFA3B54D0A Ref B: MAA201060515017 Ref C: 2025-01-07T09:08:09Z' + status: 202 Accepted + code: 202 + duration: 1.123165375s + - id: 83 + 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: + - "62" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRGSVdaQ1UtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718366073200323&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=voukgZ4KNByqDlmbxeRSSESFS1INEqm4g5l3MOpLvQ8uHz3-Sx7rYSExKwwv7zpx8BQSEb5H1ooYpF_vxbl0UeDzTEVKP97BqidktqWOziX5CTIgf6d-gZb11vPPbvbgjzovbkh_ndLtXoZIHDDAQkHEOgnNmcTuLZOsv4CDrsEZgdHYWKV-sna8dvl5GNyfd2NOgzbwIqN_53YLYqltE6GJ4lk9RwA56DMoly0UwMIBmmMsFZpVCm2kyc1u8mtSfWv7LQ5Jfytdy2Z60Batp7zYybW3lrCXV8ov-ttV-uV0T4VAMfMxy4sCbJ__E9Njtozs7iQB8gOlp5b_j0ofYg&h=bq1JbEmiowJCiFLk3Tf5kwFva3quK8JDTw-PcIHr3Hk + 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-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 26327C77C65F4C4C9DFE8A525A4F810A Ref B: MAA201060515017 Ref C: 2025-01-07T09:08:26Z' + status: 200 OK + code: 200 + duration: 1.110487791s + - id: 84 + 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-fiwzcu/providers/Microsoft.App/managedEnvironments/asotest-env-xhzbsz?api-version=2024-03-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-fiwzcu'' 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: 1F1F32364C30404F9887C80291AA62A9 Ref B: MAA201060515017 Ref C: 2025-01-07T09:08:30Z' + status: 404 Not Found + code: 404 + duration: 563.962708ms + - id: 85 + 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-fiwzcu/providers/Microsoft.App/containerApps/asotest-app-vseeno/authConfigs/current?api-version=2024-03-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-fiwzcu'' 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: 0FD40451936246F9A31A186EC83D8AFE Ref B: MAA201060515017 Ref C: 2025-01-07T09:08:36Z' + status: 404 Not Found + code: 404 + duration: 742.024292ms diff --git a/v2/internal/controllers/recordings/Test_App_Job_CRUD.yaml b/v2/internal/controllers/recordings/Test_App_Job_CRUD.yaml new file mode 100644 index 00000000000..5e3904a80a6 --- /dev/null +++ b/v2/internal/controllers/recordings/Test_App_Job_CRUD.yaml @@ -0,0 +1,4795 @@ +--- +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-lazcos","tags":{"CreatedAt":"2001-02-03T04:05:06Z"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "93" + Content-Type: + - application/json + Test-Request-Hash: + - f4002f4925d237c00c1ece89ed24fe4689f8dbddbdb46733394df40429cc0b2f + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos?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-lazcos","name":"asotest-rg-lazcos","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-Ms-Ratelimit-Remaining-Subscription-Global-Writes: + - "11999" + X-Msedge-Ref: + - 'Ref A: 6A4B165DF6BA4B819029DEB90BB32175 Ref B: MAA201060514051 Ref C: 2025-01-07T11:11:17Z' + status: 201 Created + code: 201 + duration: 605.473917ms + - 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-lazcos?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-lazcos","name":"asotest-rg-lazcos","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-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 89BFB02BDD2A4B70BDB2DB1E4E04A5DB Ref B: MAA201060514051 Ref C: 2025-01-07T11:11:27Z' + status: 200 OK + code: 200 + duration: 433.505708ms + - id: 2 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 167 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"asotest-env-kjfevc","properties":{"workloadProfiles":[{"maximumCount":2,"minimumCount":1,"name":"profile1","workloadProfileType":"D4"}]}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "167" + Content-Type: + - application/json + Test-Request-Hash: + - fc898f3f0897147a569bfffe2302acad8c7909a9ba2f9b006ca976da1898bc99 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/providers/Microsoft.App/managedEnvironments/asotest-env-kjfevc?api-version=2024-03-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1653 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/providers/Microsoft.App/managedEnvironments/asotest-env-kjfevc","name":"asotest-env-kjfevc","type":"Microsoft.App/managedEnvironments","location":"West US 2","systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2025-01-07T11:11:37.2066343","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-01-07T11:11:37.2066343"},"properties":{"provisioningState":"Waiting","daprAIInstrumentationKey":null,"daprAIConnectionString":null,"vnetConfiguration":null,"defaultDomain":"grayisland-937767b7.westus2.azurecontainerapps.io","staticIp":"4.149.185.152","appLogsConfiguration":{"destination":null,"logAnalyticsConfiguration":null},"zoneRedundant":false,"kedaConfiguration":{"version":"2.15.1"},"daprConfiguration":{"version":"1.12.5"},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/managedEnvironments/asotest-env-kjfevc/eventstream","customDomainConfiguration":{"customDomainVerificationId":"EFF02641736216A6CF4A85BE2625D8D075D5E5C45BBE094AB95EC8CC9DC473BF","dnsSuffix":null,"certificateValue":null,"certificatePassword":null,"thumbprint":null,"subjectName":null,"expirationDate":null},"workloadProfiles":[{"workloadProfileType":"D4","name":"profile1","minimumCount":1,"maximumCount":2},{"workloadProfileType":"Consumption","name":"Consumption"}],"infrastructureResourceGroup":null,"peerAuthentication":{"mtls":{"enabled":false}},"peerTrafficConfiguration":{"encryption":{"enabled":false}}}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/54c014c5-3f99-422b-9d20-dcb6a2873310?api-version=2024-03-01&azureAsyncOperation=true&t=638718450989878533&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=lNL91HptJEyBv-xCnCzOyknhRu_8ZIPiFmNMaLzMgJ__N9ELNopCsnSrdW9W0CQpg-9N2hPzaFDFmy0CMPuK0f3oFOtlrcwY-BBBJPfvbQpg0XMMiVeGKKCb2vIYMxlfF81kq8yvtjBQHsFdLfgszLF9rp4vUPKQerKQzqxRqtmSfgS0b2I2UDHGKXiCgwZTHsvBZCqfYmGQJ2a1_PIek-60r7x8Lph4zU95_rgIF3t-TKhza2e69mZf1E89tEW2q0uH8M7IIhPDCwF86jImUivMDKscEqd0NY-P5_pQvVFMn_aWsAV9jrAmNllbGGfHEBZbqtPDAyZtXKmCkKYckw&h=I_aKZIMWavhMz77QrYX6N2PBAggks90gTkC4wQJji64 + Cache-Control: + - no-cache + Content-Length: + - "1653" + 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-Ms-Async-Operation-Timeout: + - PT15M + X-Ms-Ratelimit-Remaining-Subscription-Resource-Requests: + - "99" + X-Msedge-Ref: + - 'Ref A: 16934B067A77407DBD2E05DF144A6378 Ref B: MAA201060514051 Ref C: 2025-01-07T11:11:33Z' + X-Powered-By: + - ASP.NET + status: 201 Created + code: 201 + duration: 204.974417ms + - 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.App/locations/westus2/managedEnvironmentOperationStatuses/54c014c5-3f99-422b-9d20-dcb6a2873310?api-version=2024-03-01&azureAsyncOperation=true&t=638718450989878533&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=lNL91HptJEyBv-xCnCzOyknhRu_8ZIPiFmNMaLzMgJ__N9ELNopCsnSrdW9W0CQpg-9N2hPzaFDFmy0CMPuK0f3oFOtlrcwY-BBBJPfvbQpg0XMMiVeGKKCb2vIYMxlfF81kq8yvtjBQHsFdLfgszLF9rp4vUPKQerKQzqxRqtmSfgS0b2I2UDHGKXiCgwZTHsvBZCqfYmGQJ2a1_PIek-60r7x8Lph4zU95_rgIF3t-TKhza2e69mZf1E89tEW2q0uH8M7IIhPDCwF86jImUivMDKscEqd0NY-P5_pQvVFMn_aWsAV9jrAmNllbGGfHEBZbqtPDAyZtXKmCkKYckw&h=I_aKZIMWavhMz77QrYX6N2PBAggks90gTkC4wQJji64 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 285 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/54c014c5-3f99-422b-9d20-dcb6a2873310","name":"54c014c5-3f99-422b-9d20-dcb6a2873310","status":"InProgress","startTime":"2025-01-07T11:11:38.4296938"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "285" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 204730CF284C44E38949E1F9979BBC1F Ref B: MAA201060514051 Ref C: 2025-01-07T11:11:46Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 860.692ms + - 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.App/locations/westus2/managedEnvironmentOperationStatuses/54c014c5-3f99-422b-9d20-dcb6a2873310?api-version=2024-03-01&azureAsyncOperation=true&t=638718450989878533&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=lNL91HptJEyBv-xCnCzOyknhRu_8ZIPiFmNMaLzMgJ__N9ELNopCsnSrdW9W0CQpg-9N2hPzaFDFmy0CMPuK0f3oFOtlrcwY-BBBJPfvbQpg0XMMiVeGKKCb2vIYMxlfF81kq8yvtjBQHsFdLfgszLF9rp4vUPKQerKQzqxRqtmSfgS0b2I2UDHGKXiCgwZTHsvBZCqfYmGQJ2a1_PIek-60r7x8Lph4zU95_rgIF3t-TKhza2e69mZf1E89tEW2q0uH8M7IIhPDCwF86jImUivMDKscEqd0NY-P5_pQvVFMn_aWsAV9jrAmNllbGGfHEBZbqtPDAyZtXKmCkKYckw&h=I_aKZIMWavhMz77QrYX6N2PBAggks90gTkC4wQJji64 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 285 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/54c014c5-3f99-422b-9d20-dcb6a2873310","name":"54c014c5-3f99-422b-9d20-dcb6a2873310","status":"InProgress","startTime":"2025-01-07T11:11:38.4296938"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "285" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 4D8AD401E53842219BFB2FF50B3C540D Ref B: MAA201060514051 Ref C: 2025-01-07T11:11:52Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 847.494875ms + - 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.App/locations/westus2/managedEnvironmentOperationStatuses/54c014c5-3f99-422b-9d20-dcb6a2873310?api-version=2024-03-01&azureAsyncOperation=true&t=638718450989878533&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=lNL91HptJEyBv-xCnCzOyknhRu_8ZIPiFmNMaLzMgJ__N9ELNopCsnSrdW9W0CQpg-9N2hPzaFDFmy0CMPuK0f3oFOtlrcwY-BBBJPfvbQpg0XMMiVeGKKCb2vIYMxlfF81kq8yvtjBQHsFdLfgszLF9rp4vUPKQerKQzqxRqtmSfgS0b2I2UDHGKXiCgwZTHsvBZCqfYmGQJ2a1_PIek-60r7x8Lph4zU95_rgIF3t-TKhza2e69mZf1E89tEW2q0uH8M7IIhPDCwF86jImUivMDKscEqd0NY-P5_pQvVFMn_aWsAV9jrAmNllbGGfHEBZbqtPDAyZtXKmCkKYckw&h=I_aKZIMWavhMz77QrYX6N2PBAggks90gTkC4wQJji64 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 285 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/54c014c5-3f99-422b-9d20-dcb6a2873310","name":"54c014c5-3f99-422b-9d20-dcb6a2873310","status":"InProgress","startTime":"2025-01-07T11:11:38.4296938"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "285" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 401136DCE2834B418EDD9A0B83B6FEDC Ref B: MAA201060514051 Ref C: 2025-01-07T11:12:02Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 914.008959ms + - 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.App/locations/westus2/managedEnvironmentOperationStatuses/54c014c5-3f99-422b-9d20-dcb6a2873310?api-version=2024-03-01&azureAsyncOperation=true&t=638718450989878533&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=lNL91HptJEyBv-xCnCzOyknhRu_8ZIPiFmNMaLzMgJ__N9ELNopCsnSrdW9W0CQpg-9N2hPzaFDFmy0CMPuK0f3oFOtlrcwY-BBBJPfvbQpg0XMMiVeGKKCb2vIYMxlfF81kq8yvtjBQHsFdLfgszLF9rp4vUPKQerKQzqxRqtmSfgS0b2I2UDHGKXiCgwZTHsvBZCqfYmGQJ2a1_PIek-60r7x8Lph4zU95_rgIF3t-TKhza2e69mZf1E89tEW2q0uH8M7IIhPDCwF86jImUivMDKscEqd0NY-P5_pQvVFMn_aWsAV9jrAmNllbGGfHEBZbqtPDAyZtXKmCkKYckw&h=I_aKZIMWavhMz77QrYX6N2PBAggks90gTkC4wQJji64 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 285 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/54c014c5-3f99-422b-9d20-dcb6a2873310","name":"54c014c5-3f99-422b-9d20-dcb6a2873310","status":"InProgress","startTime":"2025-01-07T11:11:38.4296938"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "285" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 44D8B87E53294C57888C3133BD7D7180 Ref B: MAA201060514051 Ref C: 2025-01-07T11:12:20Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 903.288458ms + - 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.App/locations/westus2/managedEnvironmentOperationStatuses/54c014c5-3f99-422b-9d20-dcb6a2873310?api-version=2024-03-01&azureAsyncOperation=true&t=638718450989878533&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=lNL91HptJEyBv-xCnCzOyknhRu_8ZIPiFmNMaLzMgJ__N9ELNopCsnSrdW9W0CQpg-9N2hPzaFDFmy0CMPuK0f3oFOtlrcwY-BBBJPfvbQpg0XMMiVeGKKCb2vIYMxlfF81kq8yvtjBQHsFdLfgszLF9rp4vUPKQerKQzqxRqtmSfgS0b2I2UDHGKXiCgwZTHsvBZCqfYmGQJ2a1_PIek-60r7x8Lph4zU95_rgIF3t-TKhza2e69mZf1E89tEW2q0uH8M7IIhPDCwF86jImUivMDKscEqd0NY-P5_pQvVFMn_aWsAV9jrAmNllbGGfHEBZbqtPDAyZtXKmCkKYckw&h=I_aKZIMWavhMz77QrYX6N2PBAggks90gTkC4wQJji64 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 285 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/54c014c5-3f99-422b-9d20-dcb6a2873310","name":"54c014c5-3f99-422b-9d20-dcb6a2873310","status":"InProgress","startTime":"2025-01-07T11:11:38.4296938"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "285" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 08FF730D0A5C4EC1BCA8F9BF602BC456 Ref B: MAA201060514051 Ref C: 2025-01-07T11:12:54Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 991.541458ms + - 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: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/54c014c5-3f99-422b-9d20-dcb6a2873310?api-version=2024-03-01&azureAsyncOperation=true&t=638718450989878533&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=lNL91HptJEyBv-xCnCzOyknhRu_8ZIPiFmNMaLzMgJ__N9ELNopCsnSrdW9W0CQpg-9N2hPzaFDFmy0CMPuK0f3oFOtlrcwY-BBBJPfvbQpg0XMMiVeGKKCb2vIYMxlfF81kq8yvtjBQHsFdLfgszLF9rp4vUPKQerKQzqxRqtmSfgS0b2I2UDHGKXiCgwZTHsvBZCqfYmGQJ2a1_PIek-60r7x8Lph4zU95_rgIF3t-TKhza2e69mZf1E89tEW2q0uH8M7IIhPDCwF86jImUivMDKscEqd0NY-P5_pQvVFMn_aWsAV9jrAmNllbGGfHEBZbqtPDAyZtXKmCkKYckw&h=I_aKZIMWavhMz77QrYX6N2PBAggks90gTkC4wQJji64 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 285 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/54c014c5-3f99-422b-9d20-dcb6a2873310","name":"54c014c5-3f99-422b-9d20-dcb6a2873310","status":"InProgress","startTime":"2025-01-07T11:11:38.4296938"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "285" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 25AC29BC43444CC19F3532812DA526EF Ref B: MAA201060514051 Ref C: 2025-01-07T11:13:56Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 931.300167ms + - 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: + - "6" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/54c014c5-3f99-422b-9d20-dcb6a2873310?api-version=2024-03-01&azureAsyncOperation=true&t=638718450989878533&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=lNL91HptJEyBv-xCnCzOyknhRu_8ZIPiFmNMaLzMgJ__N9ELNopCsnSrdW9W0CQpg-9N2hPzaFDFmy0CMPuK0f3oFOtlrcwY-BBBJPfvbQpg0XMMiVeGKKCb2vIYMxlfF81kq8yvtjBQHsFdLfgszLF9rp4vUPKQerKQzqxRqtmSfgS0b2I2UDHGKXiCgwZTHsvBZCqfYmGQJ2a1_PIek-60r7x8Lph4zU95_rgIF3t-TKhza2e69mZf1E89tEW2q0uH8M7IIhPDCwF86jImUivMDKscEqd0NY-P5_pQvVFMn_aWsAV9jrAmNllbGGfHEBZbqtPDAyZtXKmCkKYckw&h=I_aKZIMWavhMz77QrYX6N2PBAggks90gTkC4wQJji64 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 285 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/54c014c5-3f99-422b-9d20-dcb6a2873310","name":"54c014c5-3f99-422b-9d20-dcb6a2873310","status":"InProgress","startTime":"2025-01-07T11:11:38.4296938"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "285" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: D62D4E28C68442949A8733890576BA10 Ref B: MAA201060514051 Ref C: 2025-01-07T11:14:58Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 926.705416ms + - 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: + - "7" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/54c014c5-3f99-422b-9d20-dcb6a2873310?api-version=2024-03-01&azureAsyncOperation=true&t=638718450989878533&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=lNL91HptJEyBv-xCnCzOyknhRu_8ZIPiFmNMaLzMgJ__N9ELNopCsnSrdW9W0CQpg-9N2hPzaFDFmy0CMPuK0f3oFOtlrcwY-BBBJPfvbQpg0XMMiVeGKKCb2vIYMxlfF81kq8yvtjBQHsFdLfgszLF9rp4vUPKQerKQzqxRqtmSfgS0b2I2UDHGKXiCgwZTHsvBZCqfYmGQJ2a1_PIek-60r7x8Lph4zU95_rgIF3t-TKhza2e69mZf1E89tEW2q0uH8M7IIhPDCwF86jImUivMDKscEqd0NY-P5_pQvVFMn_aWsAV9jrAmNllbGGfHEBZbqtPDAyZtXKmCkKYckw&h=I_aKZIMWavhMz77QrYX6N2PBAggks90gTkC4wQJji64 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 284 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/54c014c5-3f99-422b-9d20-dcb6a2873310","name":"54c014c5-3f99-422b-9d20-dcb6a2873310","status":"Succeeded","startTime":"2025-01-07T11:11:38.4296938"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "284" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 96DAA3FE88624F9B9EDD94C52943C6DA Ref B: MAA201060514051 Ref C: 2025-01-07T11:16:01Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 838.175542ms + - 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-lazcos/providers/Microsoft.App/managedEnvironments/asotest-env-kjfevc?api-version=2024-03-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1655 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/providers/Microsoft.App/managedEnvironments/asotest-env-kjfevc","name":"asotest-env-kjfevc","type":"Microsoft.App/managedEnvironments","location":"West US 2","systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2025-01-07T11:11:37.2066343","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-01-07T11:11:37.2066343"},"properties":{"provisioningState":"Succeeded","daprAIInstrumentationKey":null,"daprAIConnectionString":null,"vnetConfiguration":null,"defaultDomain":"grayisland-937767b7.westus2.azurecontainerapps.io","staticIp":"4.149.185.152","appLogsConfiguration":{"destination":null,"logAnalyticsConfiguration":null},"zoneRedundant":false,"kedaConfiguration":{"version":"2.15.1"},"daprConfiguration":{"version":"1.12.5"},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/managedEnvironments/asotest-env-kjfevc/eventstream","customDomainConfiguration":{"customDomainVerificationId":"EFF02641736216A6CF4A85BE2625D8D075D5E5C45BBE094AB95EC8CC9DC473BF","dnsSuffix":null,"certificateValue":null,"certificatePassword":null,"thumbprint":null,"subjectName":null,"expirationDate":null},"workloadProfiles":[{"workloadProfileType":"D4","name":"profile1","minimumCount":1,"maximumCount":2},{"workloadProfileType":"Consumption","name":"Consumption"}],"infrastructureResourceGroup":null,"peerAuthentication":{"mtls":{"enabled":false}},"peerTrafficConfiguration":{"encryption":{"enabled":false}}}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "1655" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 1CFF3EDEB2584A7FB9FBEBEA14354435 Ref B: MAA201060514051 Ref C: 2025-01-07T11:16:03Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 1.10677525s + - 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-lazcos/providers/Microsoft.App/managedEnvironments/asotest-env-kjfevc?api-version=2024-03-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1655 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/providers/Microsoft.App/managedEnvironments/asotest-env-kjfevc","name":"asotest-env-kjfevc","type":"Microsoft.App/managedEnvironments","location":"West US 2","systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2025-01-07T11:11:37.2066343","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-01-07T11:11:37.2066343"},"properties":{"provisioningState":"Succeeded","daprAIInstrumentationKey":null,"daprAIConnectionString":null,"vnetConfiguration":null,"defaultDomain":"grayisland-937767b7.westus2.azurecontainerapps.io","staticIp":"4.149.185.152","appLogsConfiguration":{"destination":null,"logAnalyticsConfiguration":null},"zoneRedundant":false,"kedaConfiguration":{"version":"2.15.1"},"daprConfiguration":{"version":"1.12.5"},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/managedEnvironments/asotest-env-kjfevc/eventstream","customDomainConfiguration":{"customDomainVerificationId":"EFF02641736216A6CF4A85BE2625D8D075D5E5C45BBE094AB95EC8CC9DC473BF","dnsSuffix":null,"certificateValue":null,"certificatePassword":null,"thumbprint":null,"subjectName":null,"expirationDate":null},"workloadProfiles":[{"workloadProfileType":"D4","name":"profile1","minimumCount":1,"maximumCount":2},{"workloadProfileType":"Consumption","name":"Consumption"}],"infrastructureResourceGroup":null,"peerAuthentication":{"mtls":{"enabled":false}},"peerTrafficConfiguration":{"encryption":{"enabled":false}}}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "1655" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 4798FEC668D4415C91F6FAADD0BE28B6 Ref B: MAA201060514051 Ref C: 2025-01-07T11:16:05Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 1.143194375s + - id: 13 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 498 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"asotest-job-lnflao","properties":{"configuration":{"manualTriggerConfig":{"parallelism":1,"replicaCompletionCount":1},"replicaRetryLimit":10,"replicaTimeout":10,"triggerType":"Manual"},"environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/providers/Microsoft.App/managedEnvironments/asotest-env-kjfevc","template":{"containers":[{"image":"mcr.microsoft.com/k8se/quickstart-jobs:latest","name":"testcontainerappsjob"}]}}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "498" + Content-Type: + - application/json + Test-Request-Hash: + - 798ede1adfebceed32b63dde0addcb0d54c76a477be80fc9bd9993b60a70ab55 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/providers/Microsoft.App/jobs/asotest-job-lnflao?api-version=2024-03-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1396 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/providers/Microsoft.App/jobs/asotest-job-lnflao","name":"asotest-job-lnflao","type":"Microsoft.App/jobs","location":"West US 2","systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2001-02-03T04:05:06Z","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2001-02-03T04:05:06Z"},"properties":{"provisioningState":"InProgress","environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/providers/Microsoft.App/managedEnvironments/asotest-env-kjfevc","workloadProfileName":"Consumption","configuration":{"secrets":null,"triggerType":"Manual","replicaTimeout":10,"replicaRetryLimit":10,"manualTriggerConfig":{"replicaCompletionCount":1,"parallelism":1},"scheduleTriggerConfig":null,"eventTriggerConfig":null,"registries":null,"dapr":null},"template":{"containers":[{"image":"mcr.microsoft.com/k8se/quickstart-jobs:latest","name":"testcontainerappsjob","resources":{"cpu":0.5,"memory":"1Gi","ephemeralStorage":""}}],"initContainers":null,"volumes":null},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/containerApps/asotest-job-lnflao/eventstream"},"identity":{"type":"None"}}' + headers: + Api-Supported-Versions: + - 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappsjobOperationStatuses/3a32af9b-0bb3-4203-91cc-08f26d60460e?api-version=2024-03-01&azureAsyncOperation=true&t=638718453767722246&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=MJrJH0mr9n7mTPJ_byvIWUThIqyudGMzEpr7jrHU6AmqbuAZl-b6r50kB42MuzEZtI03RHcIhZ7fC_RLTwyxDY2LWtZA8oFxti4HYYISbX2gjWswc7If5nqEgtXTJhbbqsLgOPzaKrpXzCu_TOytAkQFNI-Xw1u6IpuC0DQvQSXaCSVY0euVyCmvGMlR0URnubX2b66WlSIG-LQ1PMTFJ2TfiHUJTsUVKWJ61AVvIYd0UpM83KjjaGnthM9t76qWAg28KRUFsGAEB2IRIyELMs0rXbtn5MYjU07gTVfovz2SKKb6LsOdXiaXH6Kx6Sp8x6ErmUIt5fcuxdFoQNOofQ&h=DsddVQXAmPjE2aZO_cLQIF_ZmnRD764oSnkTGfuoxqk + Cache-Control: + - no-cache + Content-Length: + - "1396" + 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-Ms-Async-Operation-Timeout: + - PT15M + X-Ms-Ratelimit-Remaining-Subscription-Resource-Requests: + - "499" + X-Msedge-Ref: + - 'Ref A: 7EECA410CF794FA4AA059332947EC2C2 Ref B: MAA201060514051 Ref C: 2025-01-07T11:16:11Z' + X-Powered-By: + - ASP.NET + status: 201 Created + code: 201 + duration: 332.246001ms + - 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: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappsjobOperationStatuses/3a32af9b-0bb3-4203-91cc-08f26d60460e?api-version=2024-03-01&azureAsyncOperation=true&t=638718453767722246&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=MJrJH0mr9n7mTPJ_byvIWUThIqyudGMzEpr7jrHU6AmqbuAZl-b6r50kB42MuzEZtI03RHcIhZ7fC_RLTwyxDY2LWtZA8oFxti4HYYISbX2gjWswc7If5nqEgtXTJhbbqsLgOPzaKrpXzCu_TOytAkQFNI-Xw1u6IpuC0DQvQSXaCSVY0euVyCmvGMlR0URnubX2b66WlSIG-LQ1PMTFJ2TfiHUJTsUVKWJ61AVvIYd0UpM83KjjaGnthM9t76qWAg28KRUFsGAEB2IRIyELMs0rXbtn5MYjU07gTVfovz2SKKb6LsOdXiaXH6Kx6Sp8x6ErmUIt5fcuxdFoQNOofQ&h=DsddVQXAmPjE2aZO_cLQIF_ZmnRD764oSnkTGfuoxqk + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 282 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappsjobOperationStatuses/3a32af9b-0bb3-4203-91cc-08f26d60460e","name":"3a32af9b-0bb3-4203-91cc-08f26d60460e","status":"Succeeded","startTime":"2025-01-07T11:16:15.8714358"}' + headers: + Api-Supported-Versions: + - 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "282" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 7C1EB9252589496AA33E90BDE74A4078 Ref B: MAA201060514051 Ref C: 2025-01-07T11:16:24Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 810.360709ms + - id: 15 + 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-lazcos/providers/Microsoft.App/jobs/asotest-job-lnflao?api-version=2024-03-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1393 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/providers/Microsoft.App/jobs/asotest-job-lnflao","name":"asotest-job-lnflao","type":"Microsoft.App/jobs","location":"West US 2","systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2025-01-07T11:16:15.2721627","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-01-07T11:16:15.2721627"},"properties":{"provisioningState":"Succeeded","environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/providers/Microsoft.App/managedEnvironments/asotest-env-kjfevc","workloadProfileName":"Consumption","configuration":{"secrets":null,"triggerType":"Manual","replicaTimeout":10,"replicaRetryLimit":10,"manualTriggerConfig":{"replicaCompletionCount":1,"parallelism":1},"scheduleTriggerConfig":null,"eventTriggerConfig":null,"registries":null,"dapr":null},"template":{"containers":[{"image":"mcr.microsoft.com/k8se/quickstart-jobs:latest","name":"testcontainerappsjob","resources":{"cpu":0.5,"memory":"1Gi","ephemeralStorage":""}}],"initContainers":null,"volumes":null},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/containerApps/asotest-job-lnflao/eventstream"},"identity":{"type":"None"}}' + headers: + Api-Supported-Versions: + - 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "1393" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 7BDDAA45D8594F54BD07303515D85267 Ref B: MAA201060514051 Ref C: 2025-01-07T11:16:25Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 580.174583ms + - 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: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/providers/Microsoft.App/jobs/asotest-job-lnflao?api-version=2024-03-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1393 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/providers/Microsoft.App/jobs/asotest-job-lnflao","name":"asotest-job-lnflao","type":"Microsoft.App/jobs","location":"West US 2","systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2025-01-07T11:16:15.2721627","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-01-07T11:16:15.2721627"},"properties":{"provisioningState":"Succeeded","environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/providers/Microsoft.App/managedEnvironments/asotest-env-kjfevc","workloadProfileName":"Consumption","configuration":{"secrets":null,"triggerType":"Manual","replicaTimeout":10,"replicaRetryLimit":10,"manualTriggerConfig":{"replicaCompletionCount":1,"parallelism":1},"scheduleTriggerConfig":null,"eventTriggerConfig":null,"registries":null,"dapr":null},"template":{"containers":[{"image":"mcr.microsoft.com/k8se/quickstart-jobs:latest","name":"testcontainerappsjob","resources":{"cpu":0.5,"memory":"1Gi","ephemeralStorage":""}}],"initContainers":null,"volumes":null},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/containerApps/asotest-job-lnflao/eventstream"},"identity":{"type":"None"}}' + headers: + Api-Supported-Versions: + - 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "1393" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: B6EA2CFDB2824CDB832367CA7A4B2634 Ref B: MAA201060514051 Ref C: 2025-01-07T11:16:27Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 1.058738667s + - id: 17 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 519 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"asotest-job-lnflao","properties":{"configuration":{"manualTriggerConfig":{"parallelism":1,"replicaCompletionCount":1},"replicaRetryLimit":10,"replicaTimeout":10,"triggerType":"Manual"},"environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/providers/Microsoft.App/managedEnvironments/asotest-env-kjfevc","template":{"containers":[{"image":"mcr.microsoft.com/k8se/quickstart-jobs:latest","name":"testcontainerappsjob"}]}},"tags":{"foo":"bar"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "519" + Content-Type: + - application/json + Test-Request-Hash: + - 06a0c17177385cf2adbcddfa88af28d4e4571f112651753257545fd31f8e80a7 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/providers/Microsoft.App/jobs/asotest-job-lnflao?api-version=2024-03-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 203 + uncompressed: false + body: '{"error":{"code":"InternalServerError","message":"Internal server error occurred. correlation ID: 70928250-7b39-4e56-83ac-af5b6d1ad4c6","details":null,"target":null,"additionalInfo":null,"traceId":null}}' + headers: + Api-Supported-Versions: + - 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "203" + 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: + - service + X-Ms-Ratelimit-Remaining-Subscription-Resource-Requests: + - "499" + X-Msedge-Ref: + - 'Ref A: AEB7E5B4BDDF4CAEBFC229F3940DB2CA Ref B: MAA201060514051 Ref C: 2025-01-07T11:16:30Z' + X-Powered-By: + - ASP.NET + status: 500 Internal Server Error + code: 500 + duration: 301.121125ms + - id: 18 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 519 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"asotest-job-lnflao","properties":{"configuration":{"manualTriggerConfig":{"parallelism":1,"replicaCompletionCount":1},"replicaRetryLimit":10,"replicaTimeout":10,"triggerType":"Manual"},"environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/providers/Microsoft.App/managedEnvironments/asotest-env-kjfevc","template":{"containers":[{"image":"mcr.microsoft.com/k8se/quickstart-jobs:latest","name":"testcontainerappsjob"}]}},"tags":{"foo":"bar"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "519" + Content-Type: + - application/json + Test-Request-Hash: + - 06a0c17177385cf2adbcddfa88af28d4e4571f112651753257545fd31f8e80a7 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/providers/Microsoft.App/jobs/asotest-job-lnflao?api-version=2024-03-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1393 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/providers/Microsoft.App/jobs/asotest-job-lnflao","name":"asotest-job-lnflao","type":"Microsoft.App/jobs","location":"West US 2","tags":{"foo":"bar"},"systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2025-01-07T11:16:15.2721627","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2001-02-03T04:05:06Z"},"properties":{"provisioningState":"InProgress","environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/providers/Microsoft.App/managedEnvironments/asotest-env-kjfevc","workloadProfileName":"Consumption","configuration":{"secrets":null,"triggerType":"Manual","replicaTimeout":10,"replicaRetryLimit":10,"manualTriggerConfig":{"replicaCompletionCount":1,"parallelism":1},"scheduleTriggerConfig":null,"eventTriggerConfig":null,"registries":null,"dapr":null},"template":{"containers":[{"image":"mcr.microsoft.com/k8se/quickstart-jobs:latest","name":"testcontainerappsjob","resources":{"cpu":0.5,"memory":"1Gi"}}],"initContainers":null,"volumes":null},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/containerApps/asotest-job-lnflao/eventstream"},"identity":{"type":"None"}}' + headers: + Api-Supported-Versions: + - 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappsjobOperationStatuses/432e8ca9-6e5e-4b3c-9d51-e875da3cc93b?api-version=2024-03-01&azureAsyncOperation=true&t=638718454125227079&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=FHGXyNJe7CoJGCpVL-sqEH4mHaO8Dydf9ApICseOnyS6fMXCjeloIUB4YssHiCY8ub-qbQxmP1YyBnYuvV3b4AF8t3ZyOPHENsvMydFvDdofyrmwDX_tAeU4MT2nZ-VX5zmEoH_magAqIlZrE4mHrm0pddN6TVrefVbdPV39pPesX7IPzpGTIZFy6E7zmP0wA4g1b2pQGq_f8BiPQeo5nYjyNX1kxjtuudtcUNTtvKAwpv-8OlVnuTRALIx5Peq3yvoyc02TayuimulExb1qiDBwu8IPNzVpkteovjx-ArKbjVEn4zFXAPBugr-MQqxLq4IK5_HcwGwB3wh7uFi07A&h=pcBIXEBIp5Cc7OxKVIDeJlSbpnP4NkcwvV94GP7LMNA + Cache-Control: + - no-cache + Content-Length: + - "1393" + 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-Ms-Async-Operation-Timeout: + - PT15M + X-Ms-Ratelimit-Remaining-Subscription-Resource-Requests: + - "499" + X-Msedge-Ref: + - 'Ref A: 83126266D6C84089A16AC59F4D238178 Ref B: MAA201060514051 Ref C: 2025-01-07T11:16:47Z' + X-Powered-By: + - ASP.NET + status: 201 Created + code: 201 + duration: 383.345417ms + - 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.App/locations/westus2/containerappsjobOperationStatuses/432e8ca9-6e5e-4b3c-9d51-e875da3cc93b?api-version=2024-03-01&azureAsyncOperation=true&t=638718454125227079&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=FHGXyNJe7CoJGCpVL-sqEH4mHaO8Dydf9ApICseOnyS6fMXCjeloIUB4YssHiCY8ub-qbQxmP1YyBnYuvV3b4AF8t3ZyOPHENsvMydFvDdofyrmwDX_tAeU4MT2nZ-VX5zmEoH_magAqIlZrE4mHrm0pddN6TVrefVbdPV39pPesX7IPzpGTIZFy6E7zmP0wA4g1b2pQGq_f8BiPQeo5nYjyNX1kxjtuudtcUNTtvKAwpv-8OlVnuTRALIx5Peq3yvoyc02TayuimulExb1qiDBwu8IPNzVpkteovjx-ArKbjVEn4zFXAPBugr-MQqxLq4IK5_HcwGwB3wh7uFi07A&h=pcBIXEBIp5Cc7OxKVIDeJlSbpnP4NkcwvV94GP7LMNA + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 282 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappsjobOperationStatuses/432e8ca9-6e5e-4b3c-9d51-e875da3cc93b","name":"432e8ca9-6e5e-4b3c-9d51-e875da3cc93b","status":"Succeeded","startTime":"2025-01-07T11:16:50.0579233"}' + headers: + Api-Supported-Versions: + - 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "282" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 4EFB6E95E3BD4ED1B9B9D2C22CA63CC7 Ref B: MAA201060514051 Ref C: 2025-01-07T11:16:59Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 336.022583ms + - 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: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/providers/Microsoft.App/jobs/asotest-job-lnflao?api-version=2024-03-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1391 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/providers/Microsoft.App/jobs/asotest-job-lnflao","name":"asotest-job-lnflao","type":"Microsoft.App/jobs","location":"West US 2","tags":{"foo":"bar"},"systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2025-01-07T11:16:15.2721627","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-01-07T11:16:49.444499"},"properties":{"provisioningState":"Succeeded","environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/providers/Microsoft.App/managedEnvironments/asotest-env-kjfevc","workloadProfileName":"Consumption","configuration":{"secrets":null,"triggerType":"Manual","replicaTimeout":10,"replicaRetryLimit":10,"manualTriggerConfig":{"replicaCompletionCount":1,"parallelism":1},"scheduleTriggerConfig":null,"eventTriggerConfig":null,"registries":null,"dapr":null},"template":{"containers":[{"image":"mcr.microsoft.com/k8se/quickstart-jobs:latest","name":"testcontainerappsjob","resources":{"cpu":0.5,"memory":"1Gi"}}],"initContainers":null,"volumes":null},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/containerApps/asotest-job-lnflao/eventstream"},"identity":{"type":"None"}}' + headers: + Api-Supported-Versions: + - 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "1391" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 3D9DA363EF834F4E967A297AA5432B52 Ref B: MAA201060514051 Ref C: 2025-01-07T11:17:00Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 1.101649083s + - 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: + Accept: + - application/json + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/providers/Microsoft.App/jobs/asotest-job-lnflao?api-version=2024-03-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1391 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/providers/Microsoft.App/jobs/asotest-job-lnflao","name":"asotest-job-lnflao","type":"Microsoft.App/jobs","location":"West US 2","tags":{"foo":"bar"},"systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2025-01-07T11:16:15.2721627","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-01-07T11:16:49.444499"},"properties":{"provisioningState":"Succeeded","environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/providers/Microsoft.App/managedEnvironments/asotest-env-kjfevc","workloadProfileName":"Consumption","configuration":{"secrets":null,"triggerType":"Manual","replicaTimeout":10,"replicaRetryLimit":10,"manualTriggerConfig":{"replicaCompletionCount":1,"parallelism":1},"scheduleTriggerConfig":null,"eventTriggerConfig":null,"registries":null,"dapr":null},"template":{"containers":[{"image":"mcr.microsoft.com/k8se/quickstart-jobs:latest","name":"testcontainerappsjob","resources":{"cpu":0.5,"memory":"1Gi"}}],"initContainers":null,"volumes":null},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/containerApps/asotest-job-lnflao/eventstream"},"identity":{"type":"None"}}' + headers: + Api-Supported-Versions: + - 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "1391" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: B333683192174315A630CFD201B9C7AA Ref B: MAA201060514051 Ref C: 2025-01-07T11:17:02Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 1.143825541s + - 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: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/providers/Microsoft.App/jobs/asotest-job-lnflao?api-version=2024-03-01 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappsjobOperationResults/042c7592-d446-4121-8bb5-76f36440347a?api-version=2024-03-01&t=638718454278822050&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=XJ6y72CCjY3cTQA2dlZN7w8dYH0ogJiXdIZrl9P_s2CCJi6iIQ5HNzoaCJxnWTLYIlI327lcrVaFjt1_-UwLxoxNBQIm3eygFnbQQ3m_AsTjEyCzprX5Gvu2DpKxEME8-iGemRrGz28dYzKDtdT09RIrMBZPx9QMprhfpgQaIECLAL6Xq8uLkq9vhwipfsR2EKiEXaVAUMWToKM-INDFf403SaIqW-FOw2gZDNTdAUp746xQkeq6rCQ_AyW7WM9V4FWognqinUNB8JAoBmD2-EcLwmrZCBSxCyrUlTYSlG59qNHtlL2AHY0hxIF2iXWmpL6puAUVX1I_5qooBfZ0sA&h=d05K1jBqy8AkZvuhnC-wTzofe2-nabzbBinp3Ot0g_Y + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Deletes: + - "11999" + X-Msedge-Ref: + - 'Ref A: 41BF903F88FA4D11A5AB621F6206A184 Ref B: MAA201060514051 Ref C: 2025-01-07T11:17:06Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 1.579503958s + - 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/providers/Microsoft.App/locations/westus2/containerappsjobOperationResults/042c7592-d446-4121-8bb5-76f36440347a?api-version=2024-03-01&t=638718454278822050&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=XJ6y72CCjY3cTQA2dlZN7w8dYH0ogJiXdIZrl9P_s2CCJi6iIQ5HNzoaCJxnWTLYIlI327lcrVaFjt1_-UwLxoxNBQIm3eygFnbQQ3m_AsTjEyCzprX5Gvu2DpKxEME8-iGemRrGz28dYzKDtdT09RIrMBZPx9QMprhfpgQaIECLAL6Xq8uLkq9vhwipfsR2EKiEXaVAUMWToKM-INDFf403SaIqW-FOw2gZDNTdAUp746xQkeq6rCQ_AyW7WM9V4FWognqinUNB8JAoBmD2-EcLwmrZCBSxCyrUlTYSlG59qNHtlL2AHY0hxIF2iXWmpL6puAUVX1I_5qooBfZ0sA&h=d05K1jBqy8AkZvuhnC-wTzofe2-nabzbBinp3Ot0g_Y + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 8B59B902A76A44829C1E745427751B29 Ref B: MAA201060514051 Ref C: 2025-01-07T11:17:25Z' + X-Powered-By: + - ASP.NET + status: 204 No Content + code: 204 + duration: 787.035958ms + - 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: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lazcos/providers/Microsoft.App/jobs/asotest-job-lnflao?api-version=2024-03-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 226 + uncompressed: false + body: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.App/jobs/asotest-job-lnflao'' under resource group ''asotest-rg-lazcos'' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "226" + 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: 2816B97C480F4FDEB4F3F158B3A98DB7 Ref B: MAA201060514051 Ref C: 2025-01-07T11:17:33Z' + status: 404 Not Found + code: 404 + duration: 391.919417ms + - 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-lazcos?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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Deletes: + - "11999" + X-Msedge-Ref: + - 'Ref A: 105EBBDCD033469186610F60BCF32955 Ref B: MAA201060514051 Ref C: 2025-01-07T11:17:34Z' + status: 202 Accepted + code: 202 + duration: 667.671542ms + - 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454823335555&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=Nnk3HL_a_WM_0ePbYki7zRWcWLVrdDsvOcy-hlP_4fOv2Otye0MVqwIjM4RjSV1vj_oQgx79KqeHhIiGNwnffXgOrc7QCSiIeZo7b4yV3Qv3TCvuywp0aHQB72OivnRIIm5VZGVaGroo1FcHmDJ6-xSXshKes6W_AbTeNCPFg1u_pPNt2qddtxqGeucS3Lq1bGwHDbO1vVb_FtnQ_ofQIAotFpwft23AP-_P3xcPJ1xXIzKgWW9gEtAK8m4rk1M-Lv2VzjBBorQ1XzGJ-W2RtQFZ2jqaHuQYhhpAl3hcE64sAfNxV7WPlCbmLN2AjQSuY2yYTPzpCrMdOgD4sYuKuA&h=cnHtlQyeXYk7q0d_2Pip2HHjrCSzZaOr_xwhIbkVQmM + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 80390ADE01224873AD248C3F73684D27 Ref B: MAA201060514051 Ref C: 2025-01-07T11:18:01Z' + status: 202 Accepted + code: 202 + duration: 1.3062775s + - 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454998789610&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=y9Uot4CHFF_4TRNcUdqDuizLXS__lMLDgEwI_Ra37R0oIwpigzvLB8EZysp7XD09wQfvIgd9T2lTZKY12NkVZImUWZKAEvfCLYwXMNBbmLVDJPf7ckvtmmYqnF2Id2Shdrd4TfaacT31i8uts3KYNOFOUuVNM_Xtw5NowY_VVpyVpl9_DzAHHXorpXy4DgQb7E-Ty90NlrNuGGxAYuD6LEfB8lZHhRKFJRz0QTli8Z5T-SnMt_niKse0hi7CAyv6I8M2vp5dQ3b3RdBxkDlGSQABpMMn6h9hw7LwIJBnQ5piUX-xPApi22f4txRWmKutX10QIwU5hhrP4iL4H8M_1g&h=m9HpvC2Fi6D521fGBRjUmetGLdTiDMHYR4SlScH7n-g + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 99C443CA047C43849EFBD257E26084C8 Ref B: MAA201060514051 Ref C: 2025-01-07T11:18:18Z' + status: 202 Accepted + code: 202 + duration: 300.230708ms + - 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718455174993025&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=Njus5ggxT3lQy3ZMyq0omhDjWxq9KajBo6T-INQti09TCcqCyQHl4oqKZpAnW_jGUvFqkfhgWdWu5l6j3rZ0izogbWxEUuGpWIputl-liFdXHZO3owPWfcy2dTgFiAmw1l-0BFDPGdzrJRYQ1CVHApnS1DbtN9lrcZrBge3cK3Lc41829UaQEzBwlp73p-BNzMAXL7w6H454rUXl0WAV_WB75-GqPERP5dWuUt4s3J_36AeolM76Oq-J38BgKVT_9bPcjfIFB4hYSADE_FzjpGJ-bMk3SDBT532NIqJ0qHBqJg3om2SG9xAUT2nAIGKlW0iB1cnGQ9DVnrdn9u1NBA&h=rUIAeihyIEfAos1IIkGQAwwxL68gQMZHMcy51X8d3gI + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: AA260B0BEE904750B89AB07CC94B98D9 Ref B: MAA201060514051 Ref C: 2025-01-07T11:18:36Z' + status: 202 Accepted + code: 202 + duration: 206.456464ms + - 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718455351891582&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=Xjnrgjslu29fHW0FqLTBHbpCoXC0YALnsJJQXdG_OWqLW1183Zp-FgIEO2OxBn1qog8aphB1rxQFXhZ7J32C6O4p9EhDaEVOo_tEXTgJP81NxqPjdVkrSYZWbB226uMMwZ9_kFJc3wnmzH_Xavz8GBgR7T-BCp9KyBOF9iuuSkhpwqbOaIkgMdHytj7eAgdFdQheJy4ysM6FRKtqe8PIpbUlrMxdWKJ6wsCjuEt94mvN8wu_GiTWLjaZQQ-opB4OFd8Uy6Y-6cv5M9KbaoMqWAFYdCMoUyW1Y7lbUXJNEIiyWiLZEzyyeEtwCBiVQDZZUxfBxyO0q-ptzac4ise5Vw&h=wfmCk3H2LxaQoNLdbpxuWBfC96gAs_-AFAEa33JFQ0I + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 1CAB7E06D233450A8939D25CEA3B0DDA Ref B: MAA201060514051 Ref C: 2025-01-07T11:18:54Z' + status: 202 Accepted + code: 202 + duration: 376.8796015ms + - 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: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718455539020700&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=OE6zlCbnPekLuLiyZD4hAG2iYAJ-3jJQnh2g1pzMLNfG02CEwoF_bJHuNA3w5hMlHRiL959XCX7csG99tnSl5iIOWVSBZ_NhnTsSkgG-4r6shn-q-n6FMWMEXvntfFEFf23TAhZbLzQ4vgH2wqpTOwZ_y3_K-dy_fwVifdtlSs7OOhZHUrt2E4DWJ0E-miWjr1r7S-WF8gcMipGR_QDVnT4zHmzoyA2qhIBsszRdSjyB7UKVws2g04Svz358q9Dasjgxka1DfoZHkA_rEG6OtY37hdgy4iKTCETXPbOTZP-hApryl5QoBhEb4RQXuEYf_ha8L_uLmusCluxVCy4Sxg&h=cY2qYcwsA5tB9z7UsGstAbUph3EtM4EhbIbBT60X1v0 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: A77AA559E87247B28F952AE1BCC05F76 Ref B: MAA201060514051 Ref C: 2025-01-07T11:19:12Z' + status: 202 Accepted + code: 202 + duration: 1.251295625s + - 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: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718455720780883&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=CDYNJp8daxHRgUA0ph4iIlULG5QaDrn49ePMB1QKIrDrV0gBFeRvi2zbpKZgWhENizgqUBvE8yhwZy_lR0LIoP7UxMSV0CH7VEbQ7zrAlkdtpPB8_ETmW7f4HXy0if6Rgty8dD4H3P_Q8ObfhBw63RLc6KRU9wiPiwm1YCUmtX0Tu3DbqiAj4aIgjBA0HbcUhMTG3c-KMgHQ2sfXCvZhMHw73HUTCmAtO587MuhM_TM0o8WLQK201SfHvhanOr16ULQ2vVgSu9LqmD7NiijbTNVjszBR8Nu-sHEDBauZyDCGgf8rqnVfPWSWeLMv9P8eQY9MHuXU80uss-WjwTytGQ&h=oGrWpFKpKPu0PIM3ZDaVW2ZnzP6H1-YoIqgKTLmhAwQ + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 6D7CF089D1404192BB5650FC238C53FE Ref B: MAA201060514051 Ref C: 2025-01-07T11:19:30Z' + status: 202 Accepted + code: 202 + duration: 1.372264791s + - 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: + Test-Request-Attempt: + - "6" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718455899226454&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=u1zJtFq4Aci9m8GcQpFF0VptOCfQLJDW_se0a1ah9Mpc9PMcmZw5ybP6RbEQ7Li5bmxKuKwxyr1FqOqZDoDpXvF26vd1Z79MRDSy9tod9Sq8KnIiUg9ZGB5C7iufoHL2T5Hj69H5hhsA8QPKzpIuMue0sogWRnpeCJX4H9s_1PUEyVPRZN5HeLQj18hylo5-B36TKGQXnqDt0f4OWeKTKFivntGadjPg0xPMdujY1d4MlUv-aKEz6lfSsMqVjlGmjtmfxwmavWnuadnIkEjWASy2vhrqftmeJfCDivzmzTrg9aBKXacldozmzSQoORHfw_nazRNaO3gH2xBCx6aEng&h=N1SXovtJgoZFH44Q_2S2zFfkoYYDxIq-rv6kvOSAyfE + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: C63B7CAEC71A47B0BAF2C747D2478FB0 Ref B: MAA201060514051 Ref C: 2025-01-07T11:19:48Z' + status: 202 Accepted + code: 202 + duration: 1.266359958s + - 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: + - "7" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718456077277587&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=BeBsgJHTJmFkW-jwMcIYYOTbJLoUtRjnGclmhJA7DUcNRQ71cmR4V9HSvaxjvpputcoMo-9XiYqHLnQb7YTQbRUNuU5WqHtqpUhWORCQ98NwdcSUPIm58dSKHEUOpqN4N4juZ1DXYmr7pbtV8TkD5TThntbAs0yylORGthALUmxbMTV_hII3l8kvQMvX9uuRQrYld3pA-oxXe9hmtwIfVCeteyFT0ZFh5oA-NqxaapS6mlnhZk9H1ySt2yfUHp4xmFufcLUTHJ-2114k1oNCttlTy7IPd4cYOKadw_YtUHDPFyKtO0mNrm6uUMGB_idCGVRFiBYQVUWr1em55wBWJg&h=cv7ToK5aNEEr1XVft5hXPjQzqZfCZ50JU9ixzxSrrsk + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: D5F6DC7912E7404183F58267410D6356 Ref B: MAA201060514051 Ref C: 2025-01-07T11:20:06Z' + status: 202 Accepted + code: 202 + duration: 1.226502833s + - 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: + - "8" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718456256756082&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=O1sqvD_oTjDX3eJdstHZCiTRwe6EuW09UfsS9MhwMvI6zFUQopXL226RarebM3Zepwj8D0aUX-SbU3QVKxkenT8EgmiPDEGx5lu6N6kCCt2cUQNjhXkgs--dMRE4KRlIMt_5iawqP1oPp41upH2za9KolS5zbStclIGtuUPnA_zwZ8yRXSd5ehjBjPWhT2hetALzxWqeUGpFtwwD5dMQ7wKugVMeUEW3y4IYg-xtd5yeF2Pwdf5vy-Lwy4icAPSwOAzAGRq6dfJN2G_mhKHvBNYvebalz3CIXJTXvEa7j7tY8slR51ypdR3-oOZquAKUuQbrbDrAA84jsc6_nLeUZA&h=u2occz_0SK5enLbi4dxM3s_cuKA5wei0nYWQeddjrBY + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: E5E34A67160B4E50BBFD2F03AD101496 Ref B: MAA201060514051 Ref C: 2025-01-07T11:20:24Z' + status: 202 Accepted + code: 202 + duration: 1.193095542s + - 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: + - "9" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718456433002656&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=RGbvozTxCbWA7toPLOPHpcIprl8-IXt09CScIR8wH2pJtHaekCqP-JDEPKJSqeY1yLv_zctl22zXtjSCJYCVjWLUEjFm-by1TOhAPbl10ies_6axHJg52rJuaruCLOA1bviReIz7wK_eQ-NoVsWRwFqfkG_f0h4W90TuwtaZBIvFpDOP7e76Yp8DYfXCJ0BTEtnhZs5S2TsHmvJzJ54p6VVMcIx07XtIo-VaokobObho7nCV_yqdxjoYJSXEhCG48loSUqQtARyZRwDP_Xzs6WI7yfDB1LX-nG1IwHpaOphVXlIl8flL3IN97C_K1YOznxHHws60VTVvnxXGLxnoBQ&h=nfb4G5ULcz90dhvBZ9dN_YBJ0EnT-bzjwpW9hpsoWlc + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 13DC9D7E59E04CA08A5D3F71B16D2FEE Ref B: MAA201060514051 Ref C: 2025-01-07T11:20:42Z' + status: 202 Accepted + code: 202 + duration: 1.337638917s + - 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: + - "10" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718456609713196&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=LvRJDadvsVA-72131qJUAjaEA2ruEkiFlOofAsuutSGmLDgIGPljytsK52X_Hy61EU6RtReGl19ZWBxDHH1D3vruZtDe8kc7kqs20wkMiJBSaBsikqqsUJpVcmrchMcoMWrDyrGiPgNKYFlMMeFt0lanBxCuRaoHfBUX9TSyAGuV25QhNPXRC5Hem9DAYUXW18Ci9vsXvjTNspu22lCdBjCbZ912RPitB5gYU5VQ54iKTr5StNiAYXj_2yuX7eIvGh2-fOzmmD0xom3T-V_h_tC0u7x-PlDwRjbQ5wTofaxeLd2J38hnrsnLLEVnWxoF71zC21-ba2RndahsNgTQyg&h=531s3pcika07FtyZMZlDdxQ27X2g1jaW54snLNwH6IU + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 844411F8AAF14FBC80D5F3B67BFC5D89 Ref B: MAA201060514051 Ref C: 2025-01-07T11:20:59Z' + status: 202 Accepted + code: 202 + duration: 1.271228125s + - 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: + - "11" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718456787206599&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=d1M4OMDDXLjstG-bNlweQLshNczx74TwH5I_2unnYHUzgvNTuM4te0WD6lfn7a61pI06mOaSgxXzqQvjxv85y2gGauvcOx_1ZL-E3WsF7uGcs6eKDEKJCSoUIlXqYm60V9Rdv4ASJsiBnsQcSn48MTL0mTh7n-nq2AOnXaqfjvf_lIz6vHHuJQ1StWWFr827HdzuSz6gNNZJQ7mQQ46ecCGQFeeSp8yHpKnhTRU74a-xgRyA3p1WZEt896GV98fcQzKSOoIJAXy73QM3L7GTT6fk4T6MKfW8bl-ptsSymhn7ysfZd7VG3buiELYmPR4RWYUc5YuaIwqObMV7LaE3Sw&h=MwLHOuN6VmgwX192oTVSu6_QFmHhm0ItLAIrC7XwIGU + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 38FCA92CEF2241AEB937E14715173E75 Ref B: MAA201060514051 Ref C: 2025-01-07T11:21:17Z' + status: 202 Accepted + code: 202 + duration: 1.2361395s + - 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: + - "12" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718456967569918&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=Ljo9X6xI4KpoQhR-YzJAcG9fUmKAEn_1O93K4xeGkIC_hQ3tazMj66ss3vYP1tzniBy66goskMhM8XgZyZOWh1lPXZFBIwZbwvR6zz74UmExWrknhQquFhBdd63Zc2W6AbBu3IGyKT8X6kaT0FhecYCxnUe3LzSNK69redZwfu3bx-2SSrCbX5tgeEqGPiFDN7Y0QRtsMCg_yN7CKarnO1u_e4wA0ZnBvSi09C7lGHbMrN3YMJYBHvqMOuf8VtwNfFAyBNazfVnYD-iuy31epgtBANdMfhhRU4Nhk_CajS1KX0Ru5OiosQY2phesIAuHRp2IqKYY-nd7hmnMTSZLqw&h=lnrnOVRIUPkATYhihA7P2yddaUarIKukFNIX-gGCNQ4 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: AB51ECAD121841758736A2537C30284F Ref B: MAA201060514051 Ref C: 2025-01-07T11:21:35Z' + status: 202 Accepted + code: 202 + duration: 1.323586167s + - 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: + - "13" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718457147222899&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=IcRUMe6nQKMt9-ERQZ6jAc5e0B8WsnvRPLxEeZahceVK7cVpy5H3m-T2IUamkjXcxEpOd_XneSJBIWYZ8qBIGlEznLWteQrjnCKHkd-mcuRdjF7CdLKte0_oTUASMviUxPaIvH_YeuFPWBvk1ZQuZFIGLRWRbQ_qhfPd84sFp4Ll4fUev-pV2uJYsH1G8-ujHxKq6PubbPA6q22KHifGesue-jmCb1z6wmGqKLD2FzFvVLKDsc19kN90uOPLqIMV3MXsFv4VHAcbz8UF_UhZFImlk2zsWPI-kpJAKDGO3m8zaapZG6InoMyImUySI-LMSq2pSjH7ciGQr44K-81cqw&h=ibY0EJKKX4ztTD_XJPHPpXEDAZ-L2FK91Y-qekhL4pw + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 05FE92D596924B16B0E5A4D9F0040814 Ref B: MAA201060514051 Ref C: 2025-01-07T11:21:53Z' + status: 202 Accepted + code: 202 + duration: 1.234404791s + - 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: + - "14" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718457323841639&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=ypVPm8vvW49rQz2AXpgZQEEMHCd6BO4e1sPnZ-Z8NbFHU6DSJB_ol9Ztw_s6qiFcQ27N5hEV1057F-4d6OEyKNeHiXd4paqEWeAyjkYsCJap2yF__4CaEaetF-rs87rQYaLaFtXke6MGz9dLs-wl2ibSWFoO0ah3weIBnkFsWcWBZNesMJ2weI8Lb54Su9jsHbNTf8PpivR3X4kGyGHOklSN2yGKDNrWceYNVhgXpxKiBQj4FgQA7wFKCGNaqKKhJuizunnfisgBqZXzgtP7oyrXkLMh0NTotP3cP_tVGNBUiE9w0H8d5q2SgH3O9QBusevKVVfdJ1DM1R1BJTwuOQ&h=D8Da4Fs-hyq1_1N30ffPml4BDN8_i3sFoR4FeHPDVis + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: DD1294A031A84264A38CEA21A43423AC Ref B: MAA201060514051 Ref C: 2025-01-07T11:22:11Z' + status: 202 Accepted + code: 202 + duration: 1.308060958s + - 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: + - "15" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718457500168305&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=nQ7vOWQ4XA-hx1089SO3xJt-osi-GNIIWr0cbFoIervOF83zaKsKgvZfyyW3i1Y7THC4ugAummdNPNHqE1Q3fDoiG8C1Gc_lLjvbyAnXfMWfjkfLnXZ__06AF-kCO86c2-wlT1xkaU2op4_zpP2MZ8JPNbl9gmppDkEZ3pWWXbWOSWOGXaDlO8M8x7vslXzMjVbUathOjR6hj8OLrvocBC_OxmUPeDiVc8k9qBYCS4xGdlPote05xJ0ILHLbHLrYfc2fprBtzZsNByEwGOOZ214uykpcCOGVnvTJZkmEoa09OCWiFtBDt_0JR1U6Vm0B_oBjgtqCbTQS_rP-2VffHQ&h=ddI_1bnXZHNRmeLH6Ty9wqVnBgTld11FbUcGN6rQa6g + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 672C40D087924C1CB42ED1378F13B7A0 Ref B: MAA201060514051 Ref C: 2025-01-07T11:22:28Z' + status: 202 Accepted + code: 202 + duration: 1.274128334s + - 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: + - "16" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718457674691773&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=MIo_Celu-dA8q-sTYbCvEv1qeBIk8MZ6Qxo4qzRJwJXdmMA_EdaAF3u-A_fFpS_wbSmqQNrQ17zhz_PXOGKkZghsZ-g9P8LkiT_0U-3VwIfj4zWtcdejU0zgbdcngi0JihOuvTESZZvMnjNiTRJ6oc5MVNrq-ARy2c7V6wwefv0al2Yt0tFTNh9tvEGI-p86W6MQgjIaBAYH_KmiyvK9RvQeEs4IIghb6CzZMuSOmTpjXnymtX8KgMdlRFPrHiveteca96bFRB8AmrZOXGQlcGKZgDkSVtGJz0uHy3b5ybfNGK-qkf2ZSAO8UYDqXVcf6j-KBCmqo6fl2tj8tJcQLg&h=sQLOt94JrY-MJR_RQyuc4Iy2ZNAazUG2Ke4_5FHvz3E + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: A1D4390503C2440085E0B38D7F692488 Ref B: MAA201060514051 Ref C: 2025-01-07T11:22:46Z' + status: 202 Accepted + code: 202 + duration: 748.931083ms + - 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: + - "17" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718457850500514&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=IrLDIuHNUamhvBf_uUGqKg6V0F3R5Yfd24VcK5BbYzRCa0upBRDkFjH2zg8qk1j9tbuqWbWATWayrNmkhfk_z3KBf_s-a9V1zuTNxg-IiHGTI4DkAI9AoCNmjlP7KK9C22NG_eWWF7i6aFGJJQwa8vGIPLyrTn8Qm699I6nFoqplQDtkyO2wCbdWpAbuy2Nu3jvhlHztCsJctjHoOsMiozmY099M7iZbdFF8_Wmas5rfqcwAZIlCqX0tSqBZuFJ9Pf4_ZjBzMZI_L-AfjQUucVM1EiCrUNlsv22ZGG72UV4Gmjk3EMhK4mViZ0gz1JfXVgYk4clT2XS9RWOQV16PAg&h=aQjzKpOWNXSVwI6hTHBMTq84VjjhY7cIy9th5xTP9VU + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 8FDA994685F041BD93D34D1BF476C516 Ref B: MAA201060514051 Ref C: 2025-01-07T11:23:03Z' + status: 202 Accepted + code: 202 + duration: 1.265791625s + - 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: + - "18" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718458028783136&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=pYt8n1Bt8wlIIZ9-o5YtIc5stAdCZkpseoYlOD20dykMstRI4caxEhRjwlOy1zwTGzEcataob-cOfSuOZUmgScM66odHNN6Ouu6Gy7v802KjM_XtEyq7FfTJH66rKqvp8pxjtAtFZkD9EVou90sJkn6k8F9xR2IS9JJfh4QDzgFgAUIyfrDQc47RnGH7S8DlirN6LaOkk3wZg8F7zS4tx91PVvh3rfKOn3yIt78Mzq_GSWUOjZZVk4tMP5tYYtyJ9yPVTR_dNQC56z0h_x9pdR2YQDITIpuBSn850ufEaEP20u5L1If3UGuG5cKlGHKbaLXRonMFRCmys9fHyXBRwg&h=z8YJBsPEalG4YqonOE4MrqbMhPmlIsbN1ndGTlpaSmE + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 8CF422738A564D048ADB766690FC4CFA Ref B: MAA201060514051 Ref C: 2025-01-07T11:23:21Z' + status: 202 Accepted + code: 202 + duration: 1.249099917s + - 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: + - "19" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718458198952286&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=Rfo4pLKDlA5xgZMJ6ixu31s6PqA31HO_6El70neYaxD1NfrzemSJjPZDpZ2N3DtcETcyGEqCkBtq0VFOTqTrgL2ziteBfLpPr76YuszlVHKNHIlIL6bho-05sEuUIBoxPuda5Km8RmXSC0sw5Zr6BnED0AmwzRKRRjwbkFMVJwAH4BV0sGGo5euzEv7Ga01-1wJcI3BEsVftTEiqKn3pgKNYQ36mCP8QdXW2WJZLi7TONfDh0CpIIDUlm0N2m1efRukt9JnCfxbCV9iEhkfiYSTjW0JHpMa8xHDEx1KhDEaBz7ypwbTraOF5S8ihOCsqV9b1v_N03IlJxUkbNvJaXg&h=eMHhOzBe5cTLkyNNlJUsQdfgB5Vqq6rZSIjX1AgrU7U + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 51211F7E52C4413CBBD1580D87D02190 Ref B: MAA201060514051 Ref C: 2025-01-07T11:23:39Z' + status: 202 Accepted + code: 202 + duration: 843.074791ms + - 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: + - "20" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718458370409333&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=HDb3DMEXrKBjrl9yVnmeweHXijcYnXTNlHL0EPC05WXFlUFtlBI8snidtxxclvc8pPgToXFivxOQZAO_hXpufBIYeUeAMTRqFGHm-jFW0tXfmiYpVo8KmjFTt-qZMglhKc1qQxROdrhPmoRvzDphI9gVnhcGycqJ-CVb7Fa0NU8Oeh6bOHyGIoe8aeH5NuNjMZisUL3wI9QEK0P02pDm7lr0Cl-PEQrJB3W9yEnjNdYggWtJ5N1SGVSzT1KXseBIo396ifBaYDo1Tv3at5GGLMtHFKasMlfcdGirV1OJfT1omiCTVYjeSVKOfyNu-z6FUJs3dDGDN6l3Xkh2x9slqw&h=zft2ykE_dQyoVSc4Odgh8ggNdjD3jAwgccA9PVspF_s + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 46AD6EE403464EA296D8105AD9BF8B5F Ref B: MAA201060514051 Ref C: 2025-01-07T11:23:55Z' + status: 202 Accepted + code: 202 + duration: 1.250361875s + - 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: + - "21" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718458550449904&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=iKXE3MImc1ZyG4gj4LU82ZL23HcwQW5TziOq9_2B5qk3owcQCHqman65IEyDbyW1SqG0EWn62LMm0Q6waoSCvXk9uCCXr2GDDPNoL5A76tsvK_QKGd-ixlZlm3joJPrGPlfA0UNNa0mUvGPshzC7ZuOieYmcK4FTRlp6PugYKg0Qlqgudd1kQLkgQtuyEg6KTjtbXpga5D_GRNFdMOrlziq8u37oWFf6qrQLvHcw4zUQdKqjxCsZBPzJk97Qf1Bj24tLz0ok5Nc5Vss5JeO-vb30vAub7nVbIH6-po6QkZNedn-mdNiGMbbxZccZNLyABXFSXvqkNazH-5HrZvrCUg&h=_TVZCkTOUlFEd_gnaSV62wutw78K1XI-lhUwcfzPM0s + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: F47377AA2D0E4A388765F6B16A464757 Ref B: MAA201060514051 Ref C: 2025-01-07T11:24:13Z' + status: 202 Accepted + code: 202 + duration: 1.209113917s + - 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: + - "22" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718458724712337&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=ElGxfOf__0tAq4WMrYjrvDC-kAF8QVhqpnUAaTLT2VL5k-NgzJOSnkkhfRmWgI8zb8Y3RJnovP0qMbh8Sed68822fk9hiT4S5_ZZWyHqBNQcFXg2Joht4KR0xKlwRh0eVdZM10XrCekfvFE5j8XA-j45H6SjKhuUxqxjOFsRZRnHXfyNCMBbsxq21aoT8AzNmqVZ_4C2T6yFu1hSNtDO8ixH-soJOD5sZZmYdYDV726aKPngrXy4KwNSAne_O2yMivOfpNfc_GWaLfIA774hs5gKZbobgu5asOG33yOygJD4sf9fHuoO-m4KUelslEZjtD-W99nrvZd6jss4LRILKw&h=E67KJwb2UWdxHgUTW-kl7OhGLpjDREFypHyaVLRO97Q + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 146CA8B51DED4DACB034545055493928 Ref B: MAA201060514051 Ref C: 2025-01-07T11:24:31Z' + status: 202 Accepted + code: 202 + duration: 1.22617175s + - 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: + - "23" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718458908384147&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=SkoDPvRn1E9BC1bRCkKx5dalLYvKIQtkAhsldZR3Ul1n1rwKGYSPMX8hTz-0OGgDT8cDaQ7_ld0p3GCKpnx1nCq4NWomrqp282qU9lDkK2wqwP6mY23s3Kiaaj3R2Pttvih5FY1UdfjMWQx63GrbSIyt3_bC4e8ckwj_Xo5OqnexONtOJRQ0HKoSv-0gGAs-AGAfgrfJDIcjB8ChCCEVjeJdiFt5rUiiX16j6miCyzZpzgcA_fsK4pmP4GRU-4fGV2OdkyhVMFC-vZ0q9oo20TODnV24f_kkH0x4T2PVuJgE65tonbHjnj4MSUU0Al_f16evpzbVO-r8JhKr2fFNZw&h=EvIIOtzMAP3XVOAYTEo7YnVRfVZvqntrVqY0nhUFMao + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 047B5CD29A134911B569DA64F298323D Ref B: MAA201060514051 Ref C: 2025-01-07T11:24:49Z' + status: 202 Accepted + code: 202 + duration: 1.285857667s + - 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: + - "24" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718459085829078&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=fneLksYJ-Xl163os9LMMryJgn-WnMIFHNoSFO_rwGPwA8wwGMculAcoJl0BuRW1qCsFv6DphJlUwg88lOeYY8eKgW7r_X2aE2wnYFkG1Y6C1ncvt41CSY0hgadp0YJa7LG5rsfOoE1S49aGSaAdX6LXjcfkAT5GT_r2cOldBjv-gaMSD_YDsr_IfoL5-609z2p1-nTZd_Q50Qlco7VgUHcA7a507i_Qk6iW92Xqt1roVlG1UjHAatOxXh5U-BqAZA51c5W_ZEQP8kCwV-IcXqorLVTiRFU0Lfe97PT7MMF1nliYXfW2y8TQ5i9IMCAsnfCtGUUrkPoZj5CwxHqNSPA&h=fH2WTUd8H7jp3iouw0X7KO6Gx2QUzKowIN2V8aMIHcI + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 77C070C2DE86497AA9CC89B13560ABC5 Ref B: MAA201060514051 Ref C: 2025-01-07T11:25:07Z' + status: 202 Accepted + code: 202 + duration: 1.256866875s + - 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: + - "25" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718459270536150&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YzDWyZPIqMi2972dJYEsZIqcf_U8XW4n0CrxbJQnhHpfQLWDrO74OwSn_oQ4T6Ic3MZhLgO6jAwwn3W3bRZjfX35UlrKtig1HYrwLEiRCZSkp_oD-YT6-ECq9mVIrCzaDEWJLUxKm0yI-Y9jk9WVI66C0OwLarJ504VFam22i-SkKOhTNv28lWtdNHWYbF0bgqoYY1gzA8aj1SKZNbd4cexhsE4bxHv1LRYvqoo3S4pEMFv0eQW0Y7MnpevS41gmDncz3PcRDRgqTJYsei_qQa4hOdfIkwlKxVC_v38og65XEpDwml3TF3-a5xMADNaZEr4vnPwuzGBqwh5sNJnFLw&h=M6K4PGl_PhTNIJOS3rJQTWgQRtDT4-FvwUsx7I53eC4 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: DDCD47A09DBB4452A52176CDB1069F28 Ref B: MAA201060514051 Ref C: 2025-01-07T11:25:25Z' + status: 202 Accepted + code: 202 + duration: 1.221380417s + - 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: + - "26" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718459445277564&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YopKvN7if6yBQIlwfJvrzc_Pu9DhwGRCJ408GbM919exI9z4s3mRMFRcVkMUmzuF0qPOHqmkZV8aWIJPwPKL1vtdhA_epG0ziTC1xHiTdJOw5pitP2bjuC_5oqAT47HGn96zPW6vxNhpdw9PF0INYMMsVZLGl6n3LUZq6hC9ZXjWR79E-j_4-0T0ZwQSP9ArTz-RmSF3aD2zKutWpQsrm7n_cRsNE_3SMKbzz3uLeH2aIqeYrMhEqjO_gqIfjEvr7n3tL4kWcXDdIdwqND_Nz7RyMlw6rnNe69TRbAK11poM6HPngjMa4q0_aQwp2wRUCsQzK6uK9JaCtpArIROakg&h=M0SI_m9Fn6ITbgtZ8L7LZyTFQYVWBdrOeMgWl_QAY10 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: FBCFFDAC45154B1AA1E06F00479F5BAB Ref B: MAA201060514051 Ref C: 2025-01-07T11:25:43Z' + status: 202 Accepted + code: 202 + duration: 1.319719708s + - 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: + - "27" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718459626843628&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=QdOwyVI4aynvc1nCHj12gmAFf22yqNM5LwKHhDQCsO_fAjh2Hz4pkASTaVGhq6TR4U30vxY9i6D8Ee0FJZHBSjFYU4vAR3nLsX5bBJuQrc0qAta1x7PD4Kkltach75xdr7Xao0VRHKEut0At6TGJ7a1X8a4YAR5L0XhHXBGXY3tvD-xB9loFd6o8G5Wfkw2V9F-S5v4X2OyBnDR6L-8hmq-95MEtESX_3lQzP0fxmtsl6LAcXcOAhV_Vu0G56PijOV0VAEEvYHjFlOH-diy1PnsQBU3yzZC6GDXatFqPm95FQTRUchT7fR2Sh6V_qYL2IkkLe_L33CKcypx-7NWFsA&h=qZqlfjRfBMMrSx7RT4qeEPpemmZ-9cPUvSFCbvnDUC0 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: AD50535D45144099B51108BE689460AC Ref B: MAA201060514051 Ref C: 2025-01-07T11:26:01Z' + status: 202 Accepted + code: 202 + duration: 1.215970583s + - 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: + - "28" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718459801145472&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=b-z5VZFziDTBxotI8iWlbF_Bc6Pr_QX3bW3iGlAna2FcvmiimICLYgMs2_nVy4apklBmgakh2KQK5BZoCOW6MdMTN3eMf7qrLhDwZaZtdE-0D32ecw6Rjy1l7mYD4i26GX1xwd4cmikHjbN4Cr3309pf0klLrJTW7ohryllJkpTAdZ1HqXChiuHCyrnwGg8o0vJ3Ah-5XX61ih_IYQ-rLFVJBZbkwoQiNBqxhWM5OJv03qAn5r7NQsr-vcO3pbtYU0j1MeXK1dapYK0GpRdMJjrhYfjN5agVcUXEGG4KEnh381Mau2RuoiHshRAdq2Hw3lGZdq_h14dlvzqgyHtz_g&h=eqy4TiZRm6iusygM8fMUu_fJ-c660M80f3Z-kxOPeSQ + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: E89AA321C19F46A8930A26DFD6A2B137 Ref B: MAA201060514051 Ref C: 2025-01-07T11:26:18Z' + status: 202 Accepted + code: 202 + duration: 1.247580667s + - 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: + - "29" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718459983519709&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=ltB0kxi2bJE2cA8H0m8DZsOsnMsBpH4noBSagmwqmbQ21ux-8N2buj3bLHJ9NCV4BTlCbJJcIxGNpaI_lKGQSEQYGPZJ9Mrpl07ELGDx_daDOUkS-Fv09_xscXXDo6GqhoIxg2U_hK4eNE8CvtpJGXt5P8cuBpxYd4UREuXanlY7gojuUzbWrEhhzsgBl6kfthc9Q9zRqcp_pQhyw_8xAELep-s9ywYYPVD7Yr2IDl-oHhLoh2MHVtGNW_oK5K5njbAVLUeOGjxPbaJ-3qZSWwngvGy2Tt9zhb9zCwZaRr603TI8CsEdyv3-EYU9LZgdU3Dsb_lw_NAZKMTqCjMPyQ&h=Ig_FGUAHdzTLtbWoSX8M4J4sg07o8TdJM6uv4FkyQk8 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 47F2082853AE4AC59A1E1EEDBDCBDE2C Ref B: MAA201060514051 Ref C: 2025-01-07T11:26:37Z' + status: 202 Accepted + code: 202 + duration: 1.300704542s + - 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: + - "30" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718460164760457&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=Gsq8lw06O83tGXsiKjaYTklvgBKwu2gY80fHKtRf2h3k3ceKEcZlvHXaRTkmzdTaVMG2jDz3R872GlfsCqhHrQeAfSnbfotrJZQxOtC8Q_0w2t77cbjuf49lUJ2iIfFlH16Nxbk7Azw6_LxxycN7JotDyzjokCaIQ9pn7-3mCgudEATwb3IaKfjV3Wb9uZvvGm241PAeuCJ7_lSDGs4EVvo527BnevqLHB2-7mUlKLaw_Ca3SMk9S4wrOxGvkO2B4DGnkUgF8sQ5G55AtO8lpvEg7XRhYIKE9GMTtYox9qYwxtr6jn_4BpHyNQkSie5YeThS4xehdTCZu1Qo7Yg-0A&h=igy8eSFViEHAgNRBTeO5RFbIh7kti3DuVZ9Nqex8Kos + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 8273B34D7A7D44A0B3FAB45E3AE02873 Ref B: MAA201060514051 Ref C: 2025-01-07T11:26:55Z' + status: 202 Accepted + code: 202 + duration: 1.212478042s + - 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: + - "31" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718460339644572&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=PFJ_C3ODZgZA4HLGbeYwgI7XD50nlzod0DYABVGbPuVJe2gpwf7TKOod-6yA21htn6DrZI9yZO4_oWkaywNFMmO1PX8iaKsSXIN5xwakr5vvrwzLNxkjrMotfIr0ueF3ZnibXQozPSEqMjYqrGU-6iquMiaUBoqZ3QR0gjybCwupDa8kd65OCM8YSz9KEb7UGqm7etOmbeclYE6MDxpVI7y6ed8E5QBZLcDwRgmS-AD7AK8VJsAkr6dQKtsYNSoxQ6RDEKQN7l7-wposqT-hMk6kwg5saCiC8D2Ca4pMKXxi2i_ZJvMsrFxbVfilOaESXC9MorEhPmZGGzPz_kW2HQ&h=buD2dXFmSmiWzZZAwUbD6a_KeEdkTmGn3YOCnbCIzzU + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 2042FD2B9D944054BACD37E9BA21B6BB Ref B: MAA201060514051 Ref C: 2025-01-07T11:27:12Z' + status: 202 Accepted + code: 202 + duration: 1.252579291s + - 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: + Test-Request-Attempt: + - "32" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718460514399967&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=sURI06KGHOmjtBgN-mQAcKCBMK-l31uE5_S74maGMgWXW0TvhTNCBKnRTnDfOmD4bhj6AVTiCPHBeQWOWMaj6muZm6qmIBT19Wwpc9_ehEkt8XbmoRqLD4plhvfAYv2t-ToAimY7o-mft27OBU6DAY4HVnvc6GULwp3hn3NZ5V8WYZpCH4yPq_05JKRm7Wv4afzJqFjDSgPkcfp5WO7Q69auDDcb3aI7buab-PHKKJaHH8-BrBPloc6rutKcJiUX9sMaE4tO7Fgt2KHEiuOvBMlJHuhMhO2wqb4l0SUGL9JuQPbDIlMMoPIpD_gIIb9Pfg3LFXd4sOeImqTVNRc6HA&h=UcE-JVrgzqrY8PRmG-LwMVGby97sCD-W3qZzXJX2yGM + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: FFA3D540A3DF4644B15134DE283A7628 Ref B: MAA201060514051 Ref C: 2025-01-07T11:27:30Z' + status: 202 Accepted + code: 202 + duration: 1.23064575s + - 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: + Test-Request-Attempt: + - "33" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718460691803942&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=ygA0nsy2YWCpuOwX9JKTXUT2ousf24oScJcRDYF4RhvBb2MbtEJTAY2hCnv7iRSKgrS_NT8dY9m9wrSpFb5e5eL2-Rwd2s2odk2t2kdPsaCTUursRsRTh00NdaYbgceW52G1ODF6EIoUwf8pKQY1mBAsIpvUryB3Z8udZ8vWIFyYf9qwrYQbqxPJqXYE012y_b-h7JkYP2uWnOMGPBZrGBzOTTrMPfBxMpiF_W5FCMZQRfAS7ccH5Nma1naCx4a5v4Y4WQfFB-KWqG8wYkwlF0DvLgrqHbxtdZkeVr8e5G9ZC9Ph513PVISjKdUJifGD4bfJWuAD3X1UzJGtuWRxBA&h=KRTnP_cSUkT-iUTkdb5Y53sWdMtqiuSe-y1Rij9HeM0 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 2BB148E453DE4CA291CC17B5D269B98F Ref B: MAA201060514051 Ref C: 2025-01-07T11:27:48Z' + status: 202 Accepted + code: 202 + duration: 1.291550166s + - 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: + - "34" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718460876625217&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=0q_PFuydTg16JvGLlIiFHm8NZTGSvA0G0CtfQYsJz_uVsn0iDm0huMsOQ3zzDpqSfEFP0DQQqqTAm7TLpq2EIjFsw5h44mG0NP7h_GA3Zcs1n-KfLptrvwP7E6-qBcu43MwlmW4JL4P3JqN1HP0OZNGqr3IPKHyxHsmahn5PlYnSGpeVmrBwX189TTaly0ImsqKOZBnSe14HKnqPblwV0kAhPn8sUg5856CvAnP-27EHBmClEKN7RI2xodyRYNPZ3WXp3ZRIG2a2h79eCDtu2IpDVj5vLKiZdP4wvR-6ZkBndDxGnu9Ni5tF4u6QaudwFdnIbjzfQLRwAHXEK00lKg&h=RDqxAWJJPxaaZLdbUnw8QxYkGq2CFDKkBFQeB2i_rtI + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 548F9512EF18474ABCE479D9EE2E6C70 Ref B: MAA201060514051 Ref C: 2025-01-07T11:28:06Z' + status: 202 Accepted + code: 202 + duration: 1.248605584s + - 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: + Test-Request-Attempt: + - "35" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718461051960283&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=RkQJTiWZksC0uxvSFzQtd2LwYpnn6maC_IKNiylHHLMAGfGT_oIGYrNl13mA0M0QjviOcdiRIhNTOu6qeoANsVVSGZjJfHk71Pqvrpq41x8kdZbGtAzZXCLhhT_IYVfKmWzwa6lZhsiKqMP2gLXL9QhgqoDVczjtiKPqLFBytWxiXb-ozku8suq_s-c6Vg9ZPaoS6OlCezgeWNu_srEKSVRgFnWZ4cc3l64NjpInz5e1sLYVOD9RBKSozcAULEzEo3x1OgqDaK1AoClOBDWhkHEeNkbBGeCL_YGLkiAShqH69ub0SyvWV3qGcn-Y1g7uIpWLHXTQ3-ZNBnQS9wEfng&h=HuqO8n6K9zSNEwy9HT95wiydgYCRyJSpRT067b-OvI0 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 7C5D80424D434771B3E9529D0D92423B Ref B: MAA201060514051 Ref C: 2025-01-07T11:28:24Z' + status: 202 Accepted + code: 202 + duration: 1.201690958s + - 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: + - "36" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718461224320169&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=TpVCoCCUsBUD3Vh4-D_TkaPr94_g2Nh3wyG0yb0Qb175g-7uDDaqf4E_1D7f7-WNsKJSFqkGZrN6AHCqzkWvatKj3U1Xti_H5OtQsFzA8pfXuMRqDnO9i193QSwwwSrD2fIEhYqKIjR3dFZRebf9L1csEtiGW5hibPUvPEB_0md-_g6foYQ5X3zg1mrU4chOY2MPcWlYIgt_4sqP_p7IIKpo60bBrsoophauUMBGQcx5iOojPM7yRBtrJrHs7KT7pAR0L3L3PE1EKbP-QbgPJs2aMUsO6BtJ70_2heFyF2UTVWpxCtvuwpylGIT5PXuGQR64Jwxosc5YVHBmSS3G7w&h=s82VNNGUcc21qpYFlp-NOz9TCl50CzF0KSyXxjHABtU + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 28E021D42E714FA6A863ADAA8E16A5BD Ref B: MAA201060514051 Ref C: 2025-01-07T11:28:41Z' + status: 202 Accepted + code: 202 + duration: 764.346458ms + - 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: + - "37" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718461394334396&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=Ze-8FUoBKEeTo91XV8YwJIkdJe9mhbVKQQzj0pCz7KDn9wa-sGVNR3p3rSChXNHRJ_UXyVEavVxbPhfCFDJyipAcWk-NFoo5by1r_FLTOKOlN_3fGk2RkzcRrNlX3SeX9-46uBoM4PNpyGGNq65UMLq3jwQzsXCv0buIS5z82S6EQZh6Hr1zKg6TXjzeXZ0QxQW1833asQuymj3nUW5TkvlfI2-pczF_wm-z6q9L519pUzvv1H1sitMDfM479rvwjvVh-h0Q5dLI2SWQBdz_AWgbMrY8T_FdO54_6CzHyyn79tFQwp8coSRdYCeHtMQVB5K7kV35XJtUa-wue_8wLA&h=KT9aLWs2i-bk3qeYs-QJkKLACmoMRWbu54x2aL0gBdo + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: B052F673B94D46979BAC7C1ED9EF07AD Ref B: MAA201060514051 Ref C: 2025-01-07T11:28:58Z' + status: 202 Accepted + code: 202 + duration: 1.27377425s + - 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: + - "38" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718461571163868&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=xksDnSygbFhj18h36mi6-BUynV-ymRph4fG_wRAB5457EIuXjJUAWHkuZOps3YHXSSwEx86mKD8eMD7xuxkwrQyHaXOocTKbaKvK5p_husX4BYrjVDMChHTADsg3SuGnvLL747HNy4-MOrmB0g-snStvt4uThHRfll80VJku8SGo9y0mh5hggkz8WgUpRTUBolDwdQuHESvmyxJiySKdt9adminw2qmNnOaW1OSHwi3FUQIq1dcaFZgL1FRLSyD2D-lXMnXI06fR0ZR3TyCvDAQdkhKPFYWv1GseAwH19H6qnfSVYyXbNxev5m6xu3Q4fZTJpCO4t9NvNVny13brZw&h=YquI2ejwYjj2hp8csvvlXKx4v7DfZMVD55arcPfkXUw + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 8337CD2B1A524C2BB0194C343C333278 Ref B: MAA201060514051 Ref C: 2025-01-07T11:29:15Z' + status: 202 Accepted + code: 202 + duration: 1.2584215s + - 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: + - "39" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718461752554107&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=ouEEpPxm2Yh-iMVct3mHCpk5peOGh4b8VZGhuSJHInztuPJzmISOQ_mwphWZxSkD2BMI1NuLLGrt9B34HQwRRdDjZNTOVRM9IojIemT_AfsHjc-kWvI2ZV4MBQR-4EwB9rBRXVpUE5Wa6BKMu-3L68NygUEBu7O8eZGjGRtO9HRJ_muDJ7c9p5oHDNO1W-QXa6zk3Jgf_Y_Sw9-8Ln5UbsV_dy_QzoKWb5NsyvBKy4ewrw-xn9vYkyhburaI8QEcOX4sTMs7FyHoakfoJ46OcDOKNTLu-gIC3zZO2eTw6XoWRlyeQ1pVV1yXFCPK2q1skmfII_GcxNHuy72YIelB5w&h=Q3iNESVPgqqeEykJKLmjiPQTTmG5AhFYCbeWI31dhss + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 2E9BC76B91EC47D6A5E814C916A52FD2 Ref B: MAA201060514051 Ref C: 2025-01-07T11:29:34Z' + status: 202 Accepted + code: 202 + duration: 1.331647917s + - 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: + - "40" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718461928272638&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=KkuyKBvhAWKNK4L3jVpIJdvS7oBs4Cehu1HRsNHwv-fQDuET4F_NmT08FnqNimttDRGFap2_lYeLe6Nt-1I66tyjckzdiJb98rvJby-cdA8VOVYdR3UwPfm4KLYO5T3-oxfkaj8LO6for4pj4AuhIlYhzfEdg6Qk9lgeAVI79xEYIJCVrbGgV_QNgShXTsZ9gQPZAsXGed5tjBynrwZdKIy1XoUD8dAgfUOBfdKLvZ1HHCuTisnFbGQUYdgZznsrB-2SNW8SskqW5_oIcTYDUwtQkgYoMGz0EdCmHR9hUTA0f6c7C4qu_mT0p-CSPbtnuoGsGa628hjCUGEcXDZBog&h=FCxJkcMHJAGYGMw60v5bHUT55VwcLk1pGwpOuLXhEm4 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: FDC3892A8970468B90DAF72DE6B9353E Ref B: MAA201060514051 Ref C: 2025-01-07T11:29:51Z' + status: 202 Accepted + code: 202 + duration: 1.193958334s + - 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: + - "41" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718462102999372&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=KH9lyra4XoH7_bGezcVOSDZoOuO-Ths30UZQ_wcn16olrHdEpSD-l0abDNhPLmqj0B8dkdQBKzbbmlay37cyfvxP8nqIKpGIS52nu3vqjvBMTOi6nzukZWlokeczeXQNohv-TgaGE2ExwfB2aBh5CSFir2T82Yo0prwYWZDgThi4_sJ36LH_cXt_VvKRjzIoYwekdoHTDoIkSN_kopLjcTFco7Jq182aCIbQjz32Pnc4kySESDW3C-Nl9cFBr96jk_jHYyCxIq1Nl2742g0X0TebJEx0ESc_fdg4RPTOXL_-xM58bZQhRISiL-g11fz6E0leHvMQ9tBg8Fs0ksyZ_Q&h=649IAzx7G6VRibDWibLd_OPN2uAdd4EzjReJyURaIXs + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: D528A2489B8A41DD8C1E76C1B92C9D73 Ref B: MAA201060514051 Ref C: 2025-01-07T11:30:09Z' + status: 202 Accepted + code: 202 + duration: 1.290906666s + - 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: + - "42" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718462284593385&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=yCNCt6AvBUDJTk0D4C6yBFQqyWcP8i5z-kWIQn8EdnI-OgIAdRSRa1D1N7DzWGFzQZF5aQe4AMnP_AXF-rUr6gdnJC7bv8W9o6jmv88riyZdQ3zV_vxq42e1q0fwuqnjVqwod23F29inLY9IS_wlC5cQPCUXmSqbxsZRh4RMnZ4HbFKO1eKE6gJYN_dIArC5EjN_ts0BMgSkNUSB_oy0-lHDieAZ0-iJJSEaBJb1ns4XdKhwtPjvZKiPW2nOC-VWf4F03KSDhKAUt9v2X7nVpeLKp2h1lEKHy7YzMEKdF25bCpDaTLppCTWiLZ8qExM1yjumVp_uN9xILtfha-UeWg&h=nKgL68PzzkXOE5bPMZ_H36YBOElAfjKYfHnS4igoNtY + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: D06436DC8D92498B8D59F92F80B09E7E Ref B: MAA201060514051 Ref C: 2025-01-07T11:30:27Z' + status: 202 Accepted + code: 202 + duration: 1.210032041s + - 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: + - "43" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718462459131259&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=VkHRQZmYSyXSvqN5VRWKE9AZz2Xe4EDmi6sz9lKEZVCzaN28s8a3Jr7C2NxHPbl8lnQ1rfohNx7XINhR3wKT_KiEujXcaqmnw0NRZbUfZtmhQ0wLe6PZviBhKIL9s2RKk1rXzWPoeFOFaoYBEL3d_yBReK4rfUAKZrnq5Zc40cNokkzWIoZj_uvc9l-9AAd24pgxBjfu7vTrNQydlCTcsLpe6TiHQRxJWwMk9uNW2ZUz9uMNsn5C_uFjzELE8YFoj4dbfiiKCw-xp_fH8lI16JwoV1hl6pDjT-9NrMjore3wJFaLl0rsmiw7K2Wd2_0f8D0wKztW6p7TpzVazsucMg&h=qHYqOeHk65V5ona7hlbVqoqo06yI4oe9L-9H93Z36NA + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 857C588035DD4586B648D41D4B9C9EE1 Ref B: MAA201060514051 Ref C: 2025-01-07T11:30:44Z' + status: 202 Accepted + code: 202 + duration: 1.302829s + - 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: + - "44" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718462640018064&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=1cnCg3x4_RUBHF-o5fvB5raNG-zJiSl_NYi0x-01bIx3BrXM41VQ5PaupMMWISeYskIwqw-8xoUsep_BNIMR2t9WsaU7DyC09v70Rz-WY1GhbmCVqt4tX0uqsFexT_Vvzgkr0XfTBchRgpVEFyn5hkFhYxQFkYDmZxQpOamzlaIPBUwPYz7dEBBV-BzbQ_gaswsfbfUtA8_xI1O_aXTRgpsv8OaPb4yppPbiMThhLwX-B9TlSNNvGQFwFtp8prqT6YkHPR-e5nz2P1ut2pqrbvGVPOk3HQtEu32QD-L9CmScAYJFdv-5pgnr-nnxCxH0zZLJSSLd3LKU3u-p1p0olg&h=luCl_FAgDTgwktD2RMF6EEMB7gZquatdAf3aSTfeIZ8 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 9DDE3834E54249C48E08110B1D21EC1D Ref B: MAA201060514051 Ref C: 2025-01-07T11:31:02Z' + status: 202 Accepted + code: 202 + duration: 1.207221375s + - 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: + - "45" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718462820595302&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=KmXiLMS5ailY6zxWJGj1gsohoE7s1vQdXMqLD8LrS-ck0joDOUFOYikIkABkisns5RgS6Muq__i61dLIpbM-XjTRGdOQAowdemWGO-ftikzeDKXc_Uz1yrI9Vx2AEX71669i0YkUaU01sXJ6XKuLEtzs5GoHjeh36bkHxmuQ85epkoV7qOx3ZLgWzA6840j2_mbXH0BECh6x4b1qh_B-dkilQtlwFXAtc8AJDA9cy8q2lJsyFZ8GxZhYSCzdpNz4l3bhyyiYHjYScl4yqc8LhrIZ6Ciqh29qANSBgoO2Uxia77Fx9UiT7fPbyVajmxs3MMXe9Ng_hY4aq0Cpm_-fUg&h=foVmSKotMQAsfad8Aym2p4JV6CiliswUoDWVzVzPqU4 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 19AF3A1CDFCA4551B7DF07474A73FBC2 Ref B: MAA201060514051 Ref C: 2025-01-07T11:31:20Z' + status: 202 Accepted + code: 202 + duration: 1.328610417s + - 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: + - "46" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718462998797360&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=Yc1mEJ1kog9dOoCIf7wf0QA7Ujzpu3SWNh_yZ-EOdOXaFt5LAfR8tKCPfcbV7VXbPFbRrUjfoxLiJ3N68TlaqiHMi8G-1hWIaYCIDHw10ii6uzuUFyU46gjyuXg93f5yJpqDbPmUTHslQw9_O-Nye-xtuR5SPsfA9Q2nO7IYXltXvdIbODhzkdGR6i5-FRrgVVtFoWyoSMD1GDZf8gIAcJ2RJ09p22JpEKszfjqLetnqgjpWZpO8uC3YEqKhQGE6GFkGPItZcVgTbM5EV2qE_ZFeif_OS2AJ8xbf_w3ruWwlr3XGvn3xCNwjwK5GP-RlKdw88_rBpc0IkIfTfRIH7A&h=gUn0E26j2hd-NxBhn3NIh0g4GVoq121HWAG91k4fcQE + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: E0443849A7E14203A6AA3DF2C3487EE6 Ref B: MAA201060514051 Ref C: 2025-01-07T11:31:38Z' + status: 202 Accepted + code: 202 + duration: 1.26159525s + - 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: + - "47" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718463173476439&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=fFbPVuMgq--i1oME-Plq3uxUAK64HfQ7VtIZxgI0P6HqFjGXuqNBYAADOG30Xlep_H2Ius6XnrmBQwmvozjfidgDI7tJelrDfkTu_bKFwwr5oVQW48sjBVE0ygafV1t9iZXfXdYkX6EBuulV8uFRuAOEpZYJgdO_GJftzM16qUF0CYJ72h1ndgkXjyHbdTzBeWVMBj52ss9DUUr6a0CVO9lK6EQ_GNtYg5cvqyPQGv6d-ILZrAahMBmhAM-UfXqJjRWLs-3_BEUUXWYsRAXVLqHzRYRTi-f1NnPQ5LzmHWf6l9GU5Alve9mvo87LKoBzVMrHm2OnYxjx8iugwxZXSg&h=8QzwdX6_QGj6vBPa5YEEwf89ETeQklAFEbuyvrAi8zM + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 63B8EA9DD2B64031B269542F720AD790 Ref B: MAA201060514051 Ref C: 2025-01-07T11:31:56Z' + status: 202 Accepted + code: 202 + duration: 1.20971775s + - 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: + - "48" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718463347934844&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=NhOK7jqA7IjdqL9ftn986apfR3G8wCffBS6cgCMH5yhbz6Pcmkn3luNsSoVnjg-yxEVxgqEiCU2mlhh1lnmJRCLedWBFEjGnn4aHK5Pc-fIMP5TqsJiTQNpeMjVjfrgcoFuQE8nUMptM6ua15WcveMZmbRQSVyLDxiNVwiEi3jQANwdNov57yv96__-qairKeJvE4d_LC5ZhpEnxu7_x9joRikIOiNGLB7rS4MsLka5uKO_VUPY6yPJVeBgzZtO9v1RcY51t2IsOeA0fa-pql9bWNp6ZIrmFstc131NvtHhHiaqArrLvy01-RRl-2TrCVTeVWh69lcpyua6NNx4zXA&h=oGVz3mRHhIZKUQksPTdO9AE_0lMA2wKEeMgYWQ7hvrY + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: EFE499D529BD4725A09BA909AD8767FD Ref B: MAA201060514051 Ref C: 2025-01-07T11:32:13Z' + status: 202 Accepted + code: 202 + duration: 1.279077708s + - 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: + - "49" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718463523824652&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=QpUFZQnkv4r1JsLq3C35coOGOvReAKC1FbGDQh8OtQZjMQFdGAJfC2l3iV4BYLoLPv6egxSyBjwMHCRKeZEBGQ7e-rTGGzU3aqjqbUSo_RMGlC8_P4VBsnxJkLYlqzgGTZ9n_RTTJEi5W2fCMPg7_6w-waFGMAsbFSxH1fNWiSLb4rI1pScYfOdSil9Ea4d3r8cHV6oX0yarspnPTmOJJZHGTRLdyI0ohSWRIqLHVNHZV_NOL5R1bn3sBx5I5FLKoD25NxhuQD3_pdTeJhAPk3qsY_dkQESxf5F-WqZ3aD9_NX9FQNChzTKIqfAmadMIsD9WXjlgA6ne4j8VD5nKXg&h=eutOsNQJ33i5gA2cwWMjNI37E8ucnaCbrnXz6Gjnl4A + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: ED5618AF1644494989C5D728829C67DE Ref B: MAA201060514051 Ref C: 2025-01-07T11:32:31Z' + status: 202 Accepted + code: 202 + duration: 1.305654584s + - 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: + Test-Request-Attempt: + - "50" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718463700708743&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=O4R_jHcpenrTJKAjPLsVJ-xx5QpEa-wvQzYUIwxrJVj57IfD5RN-lzE83md2V6nUcFk2FJsLb-dLMwYTCDS423h6PzVg05KuP6SuevVq1sQRKZSjSo3Gevlq7RNHmirfIWV1_84V2oyTUpg132V0fDE1OezW5kq5fMrVGYFEF-sRLvB5Q0iu7H6H9rdGAvx224xyltJYn74cUcG6fmCug0dLQdRlQVQXPMfUCOfA0gYxGb1XaY44wTRN22IMrREjysPPlQreppzup-LE6KFiGodQF1lPOAdrM71lfQZcd04HDMnl6KicoBMfrr7i1MXsG-mNW758c5fwdvDkqfZ4CA&h=26H_SGHSZVgJ5D1MRT-R43lAJTvI4LEmNfw5Wa6J_Ow + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 5BE15E12632A44F58419D2B4917076A8 Ref B: MAA201060514051 Ref C: 2025-01-07T11:32:48Z' + status: 202 Accepted + code: 202 + duration: 1.285125584s + - 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: + Test-Request-Attempt: + - "51" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718463875895432&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=JZgFuCoZii0sqR2koMU8APqp-3U5s09LlUoTDc1axhnFQ1uwsuV0U8iuO1kyF22rJtbrjfZ5Atx0bmdZiK-26xNKB5iWjmkVyFu30pmcP_Jl59bPLAxM2mAKl5lNNVynexrNuF702Njk8ng-VdJy9gTs3C1vAGxdrfJGdSmpRd4SguVNAS4QrYIWSnfytM7qmLyvmIi4vQEWXeM1qXuUiw8VohFP3YowvDncUaI9qh8bbsLDG1p3JUe3bnstsAC2w9npoY_c_e7c1SnmYh5N11c3coosPveUgIPgPN-yuK1gUeO4a5cHdjqwGkfP1CdIilV9BiyAoWFtK360pe2nsg&h=qivfjCk_9z0j1-5Q5m9ySdRNnUsmYCKDl_W1Qhgwk4Q + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 5672D6A07CE44F03A592941DFAF035CC Ref B: MAA201060514051 Ref C: 2025-01-07T11:33:06Z' + status: 202 Accepted + code: 202 + duration: 1.230209208s + - id: 78 + 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: + - "52" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718464059084305&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=SsMCg3V8CYa0uiRlJidTaQYHgNhWSVMrOzvRFCjlKDC89KVCvtBQUupqGkYFtzdzfWJeG_oubdPl3U6gHtkTbR-_E2TeOV1y24WkpX45l94ze2HsrfZnsIO0AZUmWHkBixkEBOzy8gKpfampxqyitDCbz0_v3wYHDVe_0fBX7fMkMFx4eYcSuVSuZ8DM7LvlvcIrG9nzaLAajdMBGH8dZtuvOoPt_uYBgglcFotvl-70BNP6aPrh1KghiAQBdjIM0gB3Kr7aFxBhuZ6zS2i0U5Ws8yK6xivQWysnKasgJB31fOBFanlOFmviXXQQm4zPgbG1orSUMK3yp1vSDO2Umw&h=TGyU-5sCfficSanTAva52r2U6JSLLh9x0PptAZPzbuk + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 25F44C93B9F24C339A7775A8FDF18947 Ref B: MAA201060514051 Ref C: 2025-01-07T11:33:24Z' + status: 202 Accepted + code: 202 + duration: 1.331423s + - id: 79 + 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: + - "53" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718464236176882&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=LEj8Lvk5V0oPnPEO3Ie8C2embHK-6uV46DzgTBmQXFD777zkozF7bqTI1Y1FSRKhk5egsB0N5Tu-129WvcsKo-tXNKkxKqsi1DMUa59tK5Do9acCZkPRoTLUi5FN6y60axjwOES66fEXLcdlYBjBOi1dOXe9sVdMGpEDde-RrHsGiWD484J3TEUPoLH-JvOJv4phBggiz6LoKLuyxodm6GSKAtudZ3RTs2NmKgInD6fRrpYu1vbYbfiojIlRgWmZj7hWNie72hUDRnNstgfz4qoPe85aWnojBaJDgXUzj5_c3Y1juz3UFFNcKMJwHXJYI44rVSWCX0DE3E37xq7-iQ&h=t_VOOVkOefjpIWouTS5dX7xK3slgsIoe0JxqTHsnD_Y + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: E40BCA41BCA14F59881387D9BADCF20A Ref B: MAA201060514051 Ref C: 2025-01-07T11:33:42Z' + status: 202 Accepted + code: 202 + duration: 1.2359855s + - id: 80 + 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: + - "54" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718464411103266&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=C_GYzuDOIKZHdsc8t1Bu6xRpLCD51eFMU-ackjBPn8UoSCFkEBuTKk9eWJGXSCDs-YBN5lPKszM2xujUETnA1vUb2mxGN5wwpU2y5a0ISgwOKCElkxl-pRR1hanAjMITDWI894qBlnfGY10FOzVoQKiS-z25EhjCjBV8ytLa4Bgi-q4awMnvGyz5zI1kRJZMzj8DRTXV-qI_VgPEAGE3yFRhU_HYmGaRnXnJJH414uL4OSehQjnY0OJiMbbIq4IxUt9-u0vHYHd-wVFwCpQzDFFvO4Cf6zjE-qP-agchw_0anhBVyynWEDjv9gIyLdSEaQe-T3sDvrW9criVud4dww&h=zgXF2VpkkbvjEgml7Zad2Cgi5gOfSm5h68lqIeUMpjs + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 4B5230B435044BE6AA3440AD54B1A604 Ref B: MAA201060514051 Ref C: 2025-01-07T11:33:59Z' + status: 202 Accepted + code: 202 + duration: 1.26216075s + - id: 81 + 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: + - "55" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718464588168533&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=yTksGMFP_Y0-EMHgtqikQlMLXDfZsjtfoMKfR1ClGskYo7LQ68-z9ZpRh2CYlzq6M1dWALGVZad6g-Qopt5ujD13lZAUcjG79zjAU01Vf4yORcRNEj_mC-vJD2nmu7RDe6yXN2OQjjvWCG2yp_oq-EfRgsEVRuGe4pjiuM4VxV42ArqhMcOfFf36BkMWcIfm62AhNYou5ZW97ZgAUfOkbv8IQUNVMrEtaQEMbeVQ8DA0o6iIxmX0Na4HtV61_hNPEX7vZiTgYLPafrqA9wQKyMkjXfcGxDatdjrIuftAAj34t7pdQPKE9hHXF4bpskedQ1iHeW59Ope0VWte-8H_1g&h=-HVAjtjUXLrkCErAlb1nswfZNghW5bZAp0mkTcrKegQ + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 5E4609131B8F4CCB8334D64437D52DA9 Ref B: MAA201060514051 Ref C: 2025-01-07T11:34:17Z' + status: 202 Accepted + code: 202 + duration: 1.271749375s + - id: 82 + 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: + - "56" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718464764127159&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=Cef7IZxBo2tUjNNBwnopcDowdZhi9-ZsplEkeKFk6ZINtnDJB78CrCufi5rsVclBO3orLttnD036gZjORxrNQYjjlkmIZWI7Zqx-M49Y2YBKyr_mr_KZx4sEMwBtvJlu8Bi782JxI27tJ7Jsx5IxF-xXGRNTPJ9R1nSjlk2tiUXraIPgZIUHRu1jiB1rW2bxwr93TXYRQ-DgIaYcRhG96a4dD60_7PSNM48RwcHGnOFV1pAoE0CGkYYrX1PZv2W34sTqbjgrml4SPlCI3oqRTlaJRq5EQIIJbRd_6x5F2rapqUerkuuKPw-_DGdg_4-F9RywBBnk7CjZWilZe8IxXw&h=6ifXHYllY4gZISL0eRwJwmJ3GL2t-eFjsoU4L-LF1jg + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: B0EDD572AEFF4033A6E2DEFB69716A97 Ref B: MAA201060514051 Ref C: 2025-01-07T11:34:35Z' + status: 202 Accepted + code: 202 + duration: 1.275582125s + - id: 83 + 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: + - "57" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718464939603438&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=O9Dehy__Xm9c6DLMCnDAm8mzqz27-l3oCqu7GJLCUT3E9Cs5JDZgO6LhDB3dxSmDr5ANdVSVLobnQoWLCVnIduA4WbcbwdK30xoK78feMHngV_E-Ol1fKAKkWk2TOX9Xfmmafgoy-_atoXP9Ox89n6kC4O42R0Gk0MEQRNxDDjy06tPlmY77SwPEuABAFjbCFOeUVVQhvuJZ96-bq9R2F052TdxtRXi-83GlN9DdtAJzXULz9tWVatWlIn_sic362brN-7gl06eVPA6COndcM7vbe8eOJY111RHqwmkoxyal9FhxYCoRcdAOoqdlXrTIvnMzLOymEkE3F25lA3f6qw&h=QA5hh_ybifcbI4EpAQoWuslRqbEzdeYGWga7fNa6Z8I + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: AEF286BD78364134ABD8BA99C26D420C Ref B: MAA201060514051 Ref C: 2025-01-07T11:34:52Z' + status: 202 Accepted + code: 202 + duration: 1.229768875s + - id: 84 + 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: + - "58" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718465114347990&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=nKiqj9HlTWUA4AzDroY6Ldm1NFwSQfQYxGDbnJ6g_5BsVy6tkNR1xBx-SRdl_9KEGaLlorR1yyl--Cc_NqSYkX7xZXkvGoGaWlC7O2aPaI2QVY6rKVLXts9oTCueYT5Sbq3aqTAnsIBwN_mCpqzeVaQbzwEVl03eAJhjj8iwDGtZQiqKdtE_AbIaK5ilgxyWlTSkdlMvyLMjRBGD4gS0vQBIoOJkONJ2uDbR4aWi3uDGEokx-NFud8BnBWj02g40fRz3fJni4-OCKkdqnMjHy4Fymxagc6ujXGXVdMoBZIq_riB-EFoLrwYgD9O9gDWY6BvUiP9Dh4eCjFBE5Oeohw&h=CP8SSZDk-Rl62UdOK01VFWLhhBwxsBIrifDamN439uk + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: D46337475381439B8AA32BD7D436E61C Ref B: MAA201060514051 Ref C: 2025-01-07T11:35:10Z' + status: 202 Accepted + code: 202 + duration: 1.291413375s + - id: 85 + 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: + - "59" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718465290686669&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=1Vzcq8ALG16mgc2op0WkZxJ_4GovNLLtG1l5h7AC3YDqo4DE9Rm4X_I-6rXT81s3sgxDPuJf-O3bTm1OCZUbGDA5B_-RRtgQLiX-eSxo2gdS40ic7ShlJmgi28RsIi14_nNSpRssiZhLFQ3np9H42gWev02h9r8lLWEEd7NIFWTIZASf4oXi2hJpQuJjZhBZsI1pZBsnhzJ3HOVzpyzt4tST4GMJ8JvzO3AbmzYbQtEyJZ6XMdmgOl1JHR5v44SCzYmj_HIK_Tz2lcla7-raPzSIGm6QP-bsBdTQWe6rSDVss37fJGywmI-txOqgdlniTpdr9UhH1wCUk3cdRb33lw&h=tN1qmW-EM5jybEZAp5wNdzrxIfktwXIImJBVcsi2M8Q + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 344604CB0AF246A5A508AC93CB92D5A8 Ref B: MAA201060514051 Ref C: 2025-01-07T11:35:27Z' + status: 202 Accepted + code: 202 + duration: 1.202524417s + - id: 86 + 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: + - "60" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMQVpDT1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718454600791856&c=MIIHhzCCBm-gAwIBAgITfAWZnAKDvd4xEuvOGQAABZmcAjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQxMDAzMDg1MDA1WhcNMjUwNDAxMDg1MDA1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbsFcaJpKQloFwUPDSK63qAV4_Gh5m2LagG0Kj62uLVJqYJm9Z2rd259DxiZexsVvaA6cy_4GMgYbx0S26ToW6M7U4XDYuGtf5iceHk_uR2l-j59K0z75ltaQTyjzZ5JFPiid5YueZZzakeQyGJ9eMw5Zj97j-8NiArPd4VdGOIj-ktMNqlLFHK7x012HOwhdBIqYh2iUt-0SEXmqFESmRBK2OUctVB-yGWRQXxZo1CKX1R4aDEKnb-yTbSD2IAiKr8AL5x5ccoeX6kca0TktS3G-ncZmhjOBSQLcXScjG9DIuLQAgwmlrw-Fqubep7UWxQxDMl8B6l7vpKE1t-MrECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRWQsUCIxUfskh8RoPMbk98Jz_QpjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHR64fSdTm75xFWU4g_L3ZBLvpQ0yzVxQgBlg_wr8UjWRYOR2rHWxwk44sfm8W1t9vQBrIOq1x6kEdbdfrMVUeAB_YZfWHQjwGx4wJae16fgSjj6_CpTwePAf5aOUXi72mYCj-qltSdfZeL254zQy3OKLSDXb5Vf12TLz4WqyU4T8Noo787zKYGPOP5TGxp_bLL-s_6j-wGU9r3KoBVrwBDsGpfql6oF44DCM6TBrmtdo0AGb8avJ38fK_DfF1FEieKF-iojTygUMza86MkBBDaDHf51xBkBgSnkqdi3Er7HExrR0TWaACPqGp6b2-YV_BRteF_hME8rYvFOZO3tuX0&s=YnhP2JHy0EAdMeq4EqSrVWXHpbXXF4G56BmmjcRULcZmz_JJkktkp7t6iLiR7fGTUkyJ3QtW8oRjAb8G_ELCRIcC9alpyuhw9jwhE2hZFjrd59ROM7cCWFnO1lgYqLu842N4bLIp94eDJZbI8VYVaIZ1y_wYcXRqo9zWPXTQHIzU0WcRe1uKtrk0Xh90zsKQgtbiP1xE0BpddNc0TABhQQSj2HXJ0u2igwh2LcfL2XF0jkYUamtv9NRgapK-wQ__CE7hUfRyLxOGbiueGK1Yw22NT_VqTqL41WKLLmtrrMge0pvR7NauWbjNQAuG0GiqnlMDYQTpWy3U-TSoiUqWXQ&h=pClfWnZBf-1GL3J-pFP4fFoBwjvbJAjayWSxT8iozuk + 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-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: F10561E095024004A8230CAB957548E4 Ref B: MAA201060514051 Ref C: 2025-01-07T11:35:45Z' + status: 200 OK + code: 200 + duration: 627.57525ms + - id: 87 + 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-lazcos/providers/Microsoft.App/managedEnvironments/asotest-env-kjfevc?api-version=2024-03-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-lazcos'' 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: 6933520E71D246DF845D9EB2AC209A55 Ref B: MAA201060514051 Ref C: 2025-01-07T11:35:48Z' + status: 404 Not Found + code: 404 + duration: 708.385209ms diff --git a/v2/internal/controllers/recordings/Test_App_ManagedEnvironment_CRUD.yaml b/v2/internal/controllers/recordings/Test_App_ManagedEnvironment_CRUD.yaml new file mode 100644 index 00000000000..525a349f311 --- /dev/null +++ b/v2/internal/controllers/recordings/Test_App_ManagedEnvironment_CRUD.yaml @@ -0,0 +1,4736 @@ +--- +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-yugmgs","tags":{"CreatedAt":"2001-02-03T04:05:06Z"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "93" + Content-Type: + - application/json + Test-Request-Hash: + - b69e59874dfdc6329c3ea4d396b1d0258dad75c470560e9a0decd6345b41cb82 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-yugmgs?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-yugmgs","name":"asotest-rg-yugmgs","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-Ms-Ratelimit-Remaining-Subscription-Global-Writes: + - "11999" + X-Msedge-Ref: + - 'Ref A: 5DBD29AB6D1B4E16AC87350F22FCA4F6 Ref B: MAA201060514017 Ref C: 2025-01-07T09:12:24Z' + status: 201 Created + code: 201 + duration: 4.926945958s + - 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-yugmgs?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-yugmgs","name":"asotest-rg-yugmgs","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-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 30E4709E5E9948F4BB5D265C0A37C77C Ref B: MAA201060514017 Ref C: 2025-01-07T09:12:33Z' + status: 200 OK + code: 200 + duration: 271.684083ms + - id: 2 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 167 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"asotest-env-lwfric","properties":{"workloadProfiles":[{"maximumCount":2,"minimumCount":1,"name":"profile1","workloadProfileType":"D4"}]}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "167" + Content-Type: + - application/json + Test-Request-Hash: + - b19270c134a62781450bfa0ee2063510a9d6e79579363d326bc5c76ed2051a9c + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-yugmgs/providers/Microsoft.App/managedEnvironments/asotest-env-lwfric?api-version=2024-03-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1655 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-yugmgs/providers/Microsoft.App/managedEnvironments/asotest-env-lwfric","name":"asotest-env-lwfric","type":"Microsoft.App/managedEnvironments","location":"West US 2","systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2025-01-07T09:12:41.2438744","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-01-07T09:12:41.2438744"},"properties":{"provisioningState":"Waiting","daprAIInstrumentationKey":null,"daprAIConnectionString":null,"vnetConfiguration":null,"defaultDomain":"braveisland-70670936.westus2.azurecontainerapps.io","staticIp":"172.179.21.231","appLogsConfiguration":{"destination":null,"logAnalyticsConfiguration":null},"zoneRedundant":false,"kedaConfiguration":{"version":"2.15.1"},"daprConfiguration":{"version":"1.12.5"},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-yugmgs/managedEnvironments/asotest-env-lwfric/eventstream","customDomainConfiguration":{"customDomainVerificationId":"EFF02641736216A6CF4A85BE2625D8D075D5E5C45BBE094AB95EC8CC9DC473BF","dnsSuffix":null,"certificateValue":null,"certificatePassword":null,"thumbprint":null,"subjectName":null,"expirationDate":null},"workloadProfiles":[{"workloadProfileType":"D4","name":"profile1","minimumCount":1,"maximumCount":2},{"workloadProfileType":"Consumption","name":"Consumption"}],"infrastructureResourceGroup":null,"peerAuthentication":{"mtls":{"enabled":false}},"peerTrafficConfiguration":{"encryption":{"enabled":false}}}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/4949f82c-0fd0-4fa4-be88-b30fdb975199?api-version=2024-03-01&azureAsyncOperation=true&t=638718379628690154&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=QnDmt01Ys_E_iGlC_ePrr02jy63z537Fd3kYEdTK7iini3lRfzUL8shUAWbaSy_xpFQdbJzV2v2Opx7Kh4ENyMOomfHOKJO0Obwq7R6JMMJxmKHG9ndw7pLKNowQrDyZ-9ZoaHIi6W1KZdPZz0aJd7JeNy4gF8IJ9GoIIdHtmEJaMRwoedZpG5su9GgnBujO0-5ByMrqCwGXR4USjKvYEiTMTwwHvXkNcqkh2dczCip68QNG5byK2Zu2AOaKuKWFk39szVW-r2vLusoATiWlCBQJLsR8CKcii4EAiH7tMiTd4gEwLcfBmVg_vlsr6fjSliCBfIhXdo4mlfaRamesOg&h=tm9b-6dCBwFAmsQaymgL346oQnyBnI2WMNCJgJBIU9I + Cache-Control: + - no-cache + Content-Length: + - "1655" + 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-Ms-Async-Operation-Timeout: + - PT15M + X-Ms-Ratelimit-Remaining-Subscription-Resource-Requests: + - "99" + X-Msedge-Ref: + - 'Ref A: E1D5CD9864F84EA7BE161C0E425553D1 Ref B: MAA201060514017 Ref C: 2025-01-07T09:12:38Z' + X-Powered-By: + - ASP.NET + status: 201 Created + code: 201 + duration: 4.752921792s + - 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.App/locations/westus2/managedEnvironmentOperationStatuses/4949f82c-0fd0-4fa4-be88-b30fdb975199?api-version=2024-03-01&azureAsyncOperation=true&t=638718379628690154&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=QnDmt01Ys_E_iGlC_ePrr02jy63z537Fd3kYEdTK7iini3lRfzUL8shUAWbaSy_xpFQdbJzV2v2Opx7Kh4ENyMOomfHOKJO0Obwq7R6JMMJxmKHG9ndw7pLKNowQrDyZ-9ZoaHIi6W1KZdPZz0aJd7JeNy4gF8IJ9GoIIdHtmEJaMRwoedZpG5su9GgnBujO0-5ByMrqCwGXR4USjKvYEiTMTwwHvXkNcqkh2dczCip68QNG5byK2Zu2AOaKuKWFk39szVW-r2vLusoATiWlCBQJLsR8CKcii4EAiH7tMiTd4gEwLcfBmVg_vlsr6fjSliCBfIhXdo4mlfaRamesOg&h=tm9b-6dCBwFAmsQaymgL346oQnyBnI2WMNCJgJBIU9I + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 285 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/4949f82c-0fd0-4fa4-be88-b30fdb975199","name":"4949f82c-0fd0-4fa4-be88-b30fdb975199","status":"InProgress","startTime":"2025-01-07T09:12:42.3499064"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "285" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 10AA5B115C7E4DE681F8FEB22A385196 Ref B: MAA201060514017 Ref C: 2025-01-07T09:12:50Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 779.677291ms + - 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.App/locations/westus2/managedEnvironmentOperationStatuses/4949f82c-0fd0-4fa4-be88-b30fdb975199?api-version=2024-03-01&azureAsyncOperation=true&t=638718379628690154&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=QnDmt01Ys_E_iGlC_ePrr02jy63z537Fd3kYEdTK7iini3lRfzUL8shUAWbaSy_xpFQdbJzV2v2Opx7Kh4ENyMOomfHOKJO0Obwq7R6JMMJxmKHG9ndw7pLKNowQrDyZ-9ZoaHIi6W1KZdPZz0aJd7JeNy4gF8IJ9GoIIdHtmEJaMRwoedZpG5su9GgnBujO0-5ByMrqCwGXR4USjKvYEiTMTwwHvXkNcqkh2dczCip68QNG5byK2Zu2AOaKuKWFk39szVW-r2vLusoATiWlCBQJLsR8CKcii4EAiH7tMiTd4gEwLcfBmVg_vlsr6fjSliCBfIhXdo4mlfaRamesOg&h=tm9b-6dCBwFAmsQaymgL346oQnyBnI2WMNCJgJBIU9I + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 285 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/4949f82c-0fd0-4fa4-be88-b30fdb975199","name":"4949f82c-0fd0-4fa4-be88-b30fdb975199","status":"InProgress","startTime":"2025-01-07T09:12:42.3499064"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "285" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 8C7E04CD4C6D43B280A27BE0359078F6 Ref B: MAA201060514017 Ref C: 2025-01-07T09:12:56Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 782.54ms + - 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.App/locations/westus2/managedEnvironmentOperationStatuses/4949f82c-0fd0-4fa4-be88-b30fdb975199?api-version=2024-03-01&azureAsyncOperation=true&t=638718379628690154&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=QnDmt01Ys_E_iGlC_ePrr02jy63z537Fd3kYEdTK7iini3lRfzUL8shUAWbaSy_xpFQdbJzV2v2Opx7Kh4ENyMOomfHOKJO0Obwq7R6JMMJxmKHG9ndw7pLKNowQrDyZ-9ZoaHIi6W1KZdPZz0aJd7JeNy4gF8IJ9GoIIdHtmEJaMRwoedZpG5su9GgnBujO0-5ByMrqCwGXR4USjKvYEiTMTwwHvXkNcqkh2dczCip68QNG5byK2Zu2AOaKuKWFk39szVW-r2vLusoATiWlCBQJLsR8CKcii4EAiH7tMiTd4gEwLcfBmVg_vlsr6fjSliCBfIhXdo4mlfaRamesOg&h=tm9b-6dCBwFAmsQaymgL346oQnyBnI2WMNCJgJBIU9I + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 285 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/4949f82c-0fd0-4fa4-be88-b30fdb975199","name":"4949f82c-0fd0-4fa4-be88-b30fdb975199","status":"InProgress","startTime":"2025-01-07T09:12:42.3499064"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "285" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 6270BDBC6AFB43509A0341FF93097A5B Ref B: MAA201060514017 Ref C: 2025-01-07T09:13:06Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 719.352125ms + - 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.App/locations/westus2/managedEnvironmentOperationStatuses/4949f82c-0fd0-4fa4-be88-b30fdb975199?api-version=2024-03-01&azureAsyncOperation=true&t=638718379628690154&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=QnDmt01Ys_E_iGlC_ePrr02jy63z537Fd3kYEdTK7iini3lRfzUL8shUAWbaSy_xpFQdbJzV2v2Opx7Kh4ENyMOomfHOKJO0Obwq7R6JMMJxmKHG9ndw7pLKNowQrDyZ-9ZoaHIi6W1KZdPZz0aJd7JeNy4gF8IJ9GoIIdHtmEJaMRwoedZpG5su9GgnBujO0-5ByMrqCwGXR4USjKvYEiTMTwwHvXkNcqkh2dczCip68QNG5byK2Zu2AOaKuKWFk39szVW-r2vLusoATiWlCBQJLsR8CKcii4EAiH7tMiTd4gEwLcfBmVg_vlsr6fjSliCBfIhXdo4mlfaRamesOg&h=tm9b-6dCBwFAmsQaymgL346oQnyBnI2WMNCJgJBIU9I + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 285 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/4949f82c-0fd0-4fa4-be88-b30fdb975199","name":"4949f82c-0fd0-4fa4-be88-b30fdb975199","status":"InProgress","startTime":"2025-01-07T09:12:42.3499064"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "285" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 1082143A0BE5429BBC56526410EC4209 Ref B: MAA201060514017 Ref C: 2025-01-07T09:13:23Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 813.896042ms + - 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.App/locations/westus2/managedEnvironmentOperationStatuses/4949f82c-0fd0-4fa4-be88-b30fdb975199?api-version=2024-03-01&azureAsyncOperation=true&t=638718379628690154&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=QnDmt01Ys_E_iGlC_ePrr02jy63z537Fd3kYEdTK7iini3lRfzUL8shUAWbaSy_xpFQdbJzV2v2Opx7Kh4ENyMOomfHOKJO0Obwq7R6JMMJxmKHG9ndw7pLKNowQrDyZ-9ZoaHIi6W1KZdPZz0aJd7JeNy4gF8IJ9GoIIdHtmEJaMRwoedZpG5su9GgnBujO0-5ByMrqCwGXR4USjKvYEiTMTwwHvXkNcqkh2dczCip68QNG5byK2Zu2AOaKuKWFk39szVW-r2vLusoATiWlCBQJLsR8CKcii4EAiH7tMiTd4gEwLcfBmVg_vlsr6fjSliCBfIhXdo4mlfaRamesOg&h=tm9b-6dCBwFAmsQaymgL346oQnyBnI2WMNCJgJBIU9I + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 285 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/4949f82c-0fd0-4fa4-be88-b30fdb975199","name":"4949f82c-0fd0-4fa4-be88-b30fdb975199","status":"InProgress","startTime":"2025-01-07T09:12:42.3499064"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "285" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: D1BF7D1D13024BCEAE667C0D08527D2B Ref B: MAA201060514017 Ref C: 2025-01-07T09:13:57Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 729.85675ms + - 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: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/4949f82c-0fd0-4fa4-be88-b30fdb975199?api-version=2024-03-01&azureAsyncOperation=true&t=638718379628690154&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=QnDmt01Ys_E_iGlC_ePrr02jy63z537Fd3kYEdTK7iini3lRfzUL8shUAWbaSy_xpFQdbJzV2v2Opx7Kh4ENyMOomfHOKJO0Obwq7R6JMMJxmKHG9ndw7pLKNowQrDyZ-9ZoaHIi6W1KZdPZz0aJd7JeNy4gF8IJ9GoIIdHtmEJaMRwoedZpG5su9GgnBujO0-5ByMrqCwGXR4USjKvYEiTMTwwHvXkNcqkh2dczCip68QNG5byK2Zu2AOaKuKWFk39szVW-r2vLusoATiWlCBQJLsR8CKcii4EAiH7tMiTd4gEwLcfBmVg_vlsr6fjSliCBfIhXdo4mlfaRamesOg&h=tm9b-6dCBwFAmsQaymgL346oQnyBnI2WMNCJgJBIU9I + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 285 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/4949f82c-0fd0-4fa4-be88-b30fdb975199","name":"4949f82c-0fd0-4fa4-be88-b30fdb975199","status":"InProgress","startTime":"2025-01-07T09:12:42.3499064"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "285" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: DF7AF18604F94035AC019C168333587E Ref B: MAA201060514017 Ref C: 2025-01-07T09:14:58Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 731.191125ms + - 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: + - "6" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/4949f82c-0fd0-4fa4-be88-b30fdb975199?api-version=2024-03-01&azureAsyncOperation=true&t=638718379628690154&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=QnDmt01Ys_E_iGlC_ePrr02jy63z537Fd3kYEdTK7iini3lRfzUL8shUAWbaSy_xpFQdbJzV2v2Opx7Kh4ENyMOomfHOKJO0Obwq7R6JMMJxmKHG9ndw7pLKNowQrDyZ-9ZoaHIi6W1KZdPZz0aJd7JeNy4gF8IJ9GoIIdHtmEJaMRwoedZpG5su9GgnBujO0-5ByMrqCwGXR4USjKvYEiTMTwwHvXkNcqkh2dczCip68QNG5byK2Zu2AOaKuKWFk39szVW-r2vLusoATiWlCBQJLsR8CKcii4EAiH7tMiTd4gEwLcfBmVg_vlsr6fjSliCBfIhXdo4mlfaRamesOg&h=tm9b-6dCBwFAmsQaymgL346oQnyBnI2WMNCJgJBIU9I + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 285 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/4949f82c-0fd0-4fa4-be88-b30fdb975199","name":"4949f82c-0fd0-4fa4-be88-b30fdb975199","status":"InProgress","startTime":"2025-01-07T09:12:42.3499064"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "285" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: B0C753F91A5641618D8188D82F1380AF Ref B: MAA201060514017 Ref C: 2025-01-07T09:16:00Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 969.51375ms + - 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: + - "7" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/4949f82c-0fd0-4fa4-be88-b30fdb975199?api-version=2024-03-01&azureAsyncOperation=true&t=638718379628690154&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=QnDmt01Ys_E_iGlC_ePrr02jy63z537Fd3kYEdTK7iini3lRfzUL8shUAWbaSy_xpFQdbJzV2v2Opx7Kh4ENyMOomfHOKJO0Obwq7R6JMMJxmKHG9ndw7pLKNowQrDyZ-9ZoaHIi6W1KZdPZz0aJd7JeNy4gF8IJ9GoIIdHtmEJaMRwoedZpG5su9GgnBujO0-5ByMrqCwGXR4USjKvYEiTMTwwHvXkNcqkh2dczCip68QNG5byK2Zu2AOaKuKWFk39szVW-r2vLusoATiWlCBQJLsR8CKcii4EAiH7tMiTd4gEwLcfBmVg_vlsr6fjSliCBfIhXdo4mlfaRamesOg&h=tm9b-6dCBwFAmsQaymgL346oQnyBnI2WMNCJgJBIU9I + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 284 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/4949f82c-0fd0-4fa4-be88-b30fdb975199","name":"4949f82c-0fd0-4fa4-be88-b30fdb975199","status":"Succeeded","startTime":"2025-01-07T09:12:42.3499064"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "284" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 6D5C8F03FAC341D3A1C33A14A6512133 Ref B: MAA201060514017 Ref C: 2025-01-07T09:17:02Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 863.878917ms + - 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-yugmgs/providers/Microsoft.App/managedEnvironments/asotest-env-lwfric?api-version=2024-03-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1657 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-yugmgs/providers/Microsoft.App/managedEnvironments/asotest-env-lwfric","name":"asotest-env-lwfric","type":"Microsoft.App/managedEnvironments","location":"West US 2","systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2025-01-07T09:12:41.2438744","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-01-07T09:12:41.2438744"},"properties":{"provisioningState":"Succeeded","daprAIInstrumentationKey":null,"daprAIConnectionString":null,"vnetConfiguration":null,"defaultDomain":"braveisland-70670936.westus2.azurecontainerapps.io","staticIp":"172.179.21.231","appLogsConfiguration":{"destination":null,"logAnalyticsConfiguration":null},"zoneRedundant":false,"kedaConfiguration":{"version":"2.15.1"},"daprConfiguration":{"version":"1.12.5"},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-yugmgs/managedEnvironments/asotest-env-lwfric/eventstream","customDomainConfiguration":{"customDomainVerificationId":"EFF02641736216A6CF4A85BE2625D8D075D5E5C45BBE094AB95EC8CC9DC473BF","dnsSuffix":null,"certificateValue":null,"certificatePassword":null,"thumbprint":null,"subjectName":null,"expirationDate":null},"workloadProfiles":[{"workloadProfileType":"D4","name":"profile1","minimumCount":1,"maximumCount":2},{"workloadProfileType":"Consumption","name":"Consumption"}],"infrastructureResourceGroup":null,"peerAuthentication":{"mtls":{"enabled":false}},"peerTrafficConfiguration":{"encryption":{"enabled":false}}}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "1657" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 9718149512E3404BBFCBF660B200ED68 Ref B: MAA201060514017 Ref C: 2025-01-07T09:17:03Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 909.522209ms + - 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-yugmgs/providers/Microsoft.App/managedEnvironments/asotest-env-lwfric?api-version=2024-03-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1657 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-yugmgs/providers/Microsoft.App/managedEnvironments/asotest-env-lwfric","name":"asotest-env-lwfric","type":"Microsoft.App/managedEnvironments","location":"West US 2","systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2025-01-07T09:12:41.2438744","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-01-07T09:12:41.2438744"},"properties":{"provisioningState":"Succeeded","daprAIInstrumentationKey":null,"daprAIConnectionString":null,"vnetConfiguration":null,"defaultDomain":"braveisland-70670936.westus2.azurecontainerapps.io","staticIp":"172.179.21.231","appLogsConfiguration":{"destination":null,"logAnalyticsConfiguration":null},"zoneRedundant":false,"kedaConfiguration":{"version":"2.15.1"},"daprConfiguration":{"version":"1.12.5"},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-yugmgs/managedEnvironments/asotest-env-lwfric/eventstream","customDomainConfiguration":{"customDomainVerificationId":"EFF02641736216A6CF4A85BE2625D8D075D5E5C45BBE094AB95EC8CC9DC473BF","dnsSuffix":null,"certificateValue":null,"certificatePassword":null,"thumbprint":null,"subjectName":null,"expirationDate":null},"workloadProfiles":[{"workloadProfileType":"D4","name":"profile1","minimumCount":1,"maximumCount":2},{"workloadProfileType":"Consumption","name":"Consumption"}],"infrastructureResourceGroup":null,"peerAuthentication":{"mtls":{"enabled":false}},"peerTrafficConfiguration":{"encryption":{"enabled":false}}}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "1657" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 3BD5B6AB08B54A7588D9DDCE702362EB Ref B: MAA201060514017 Ref C: 2025-01-07T09:17:05Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 1.000918333s + - id: 13 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 188 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"asotest-env-lwfric","properties":{"workloadProfiles":[{"maximumCount":2,"minimumCount":1,"name":"profile1","workloadProfileType":"D4"}]},"tags":{"foo":"bar"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "188" + Content-Type: + - application/json + Test-Request-Hash: + - 867c914e99d8b4c61e66837e733340cff5e848c9c016c3e38634fd4f50183e85 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-yugmgs/providers/Microsoft.App/managedEnvironments/asotest-env-lwfric?api-version=2024-03-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1677 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-yugmgs/providers/Microsoft.App/managedEnvironments/asotest-env-lwfric","name":"asotest-env-lwfric","type":"Microsoft.App/managedEnvironments","location":"West US 2","tags":{"foo":"bar"},"systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2025-01-07T09:12:41.2438744","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-01-07T09:17:15.5153948"},"properties":{"provisioningState":"Updating","daprAIInstrumentationKey":null,"daprAIConnectionString":null,"vnetConfiguration":null,"defaultDomain":"braveisland-70670936.westus2.azurecontainerapps.io","staticIp":"172.179.21.231","appLogsConfiguration":{"destination":null,"logAnalyticsConfiguration":null},"zoneRedundant":false,"kedaConfiguration":{"version":"2.15.1"},"daprConfiguration":{"version":"1.12.5"},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-yugmgs/managedEnvironments/asotest-env-lwfric/eventstream","customDomainConfiguration":{"customDomainVerificationId":"EFF02641736216A6CF4A85BE2625D8D075D5E5C45BBE094AB95EC8CC9DC473BF","dnsSuffix":null,"certificateValue":null,"certificatePassword":null,"thumbprint":null,"subjectName":null,"expirationDate":null},"workloadProfiles":[{"workloadProfileType":"D4","name":"profile1","minimumCount":1,"maximumCount":2},{"workloadProfileType":"Consumption","name":"Consumption"}],"infrastructureResourceGroup":null,"peerAuthentication":{"mtls":{"enabled":false}},"peerTrafficConfiguration":{"encryption":{"enabled":false}}}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/e9da901b-8ac1-403d-87b7-f09fbb9a848f?api-version=2024-03-01&azureAsyncOperation=true&t=638718382380935512&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=PyEqjda8cp7ZN3_a3hgN2auh-xKzV_RUqYV81IKd7lqZMF62Q2tSftE5Csz4p9Ubl4snrUPv2p2cv1dOr5iDtuiIXotMEnELAdtMdC9OxvHIVOwBoTN_CtbpM9T3aOrPyqHib5DrPy52E5cSzo_yNEeF3LlfNMCTKl8B32BRxy7TZP6QhTpKTd99ildT2BLx-xkaYcpxiGbMlNCQxEQ5RpRTcj4CQPZtVOVeiw4SK9vO3tQFnm4dQFprOhrWVR8bjhyk4PAZzkhHdf9eFuUHBbLYkwWedMEppE9roGMf-bxcsqiJq7QrD-qD0otA45kBnYuNJnM2atoz8Zqg6M3tIA&h=NRmzoVMDwyo5nLtVK2FUpb8SvJ8wluuPJjEFl8aPITE + Cache-Control: + - no-cache + Content-Length: + - "1677" + 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-Ms-Async-Operation-Timeout: + - PT15M + X-Ms-Ratelimit-Remaining-Subscription-Resource-Requests: + - "99" + X-Msedge-Ref: + - 'Ref A: D76B149CB74845FDACB756991F210D32 Ref B: MAA201060514017 Ref C: 2025-01-07T09:17:13Z' + X-Powered-By: + - ASP.NET + status: 201 Created + code: 201 + duration: 4.907580958s + - 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: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/e9da901b-8ac1-403d-87b7-f09fbb9a848f?api-version=2024-03-01&azureAsyncOperation=true&t=638718382380935512&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=PyEqjda8cp7ZN3_a3hgN2auh-xKzV_RUqYV81IKd7lqZMF62Q2tSftE5Csz4p9Ubl4snrUPv2p2cv1dOr5iDtuiIXotMEnELAdtMdC9OxvHIVOwBoTN_CtbpM9T3aOrPyqHib5DrPy52E5cSzo_yNEeF3LlfNMCTKl8B32BRxy7TZP6QhTpKTd99ildT2BLx-xkaYcpxiGbMlNCQxEQ5RpRTcj4CQPZtVOVeiw4SK9vO3tQFnm4dQFprOhrWVR8bjhyk4PAZzkhHdf9eFuUHBbLYkwWedMEppE9roGMf-bxcsqiJq7QrD-qD0otA45kBnYuNJnM2atoz8Zqg6M3tIA&h=NRmzoVMDwyo5nLtVK2FUpb8SvJ8wluuPJjEFl8aPITE + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 285 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/e9da901b-8ac1-403d-87b7-f09fbb9a848f","name":"e9da901b-8ac1-403d-87b7-f09fbb9a848f","status":"InProgress","startTime":"2025-01-07T09:17:16.0503201"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "285" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: B74653AC07E14C5892622B926D5E56B6 Ref B: MAA201060514017 Ref C: 2025-01-07T09:17:25Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 284.460334ms + - id: 15 + 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.App/locations/westus2/managedEnvironmentOperationStatuses/e9da901b-8ac1-403d-87b7-f09fbb9a848f?api-version=2024-03-01&azureAsyncOperation=true&t=638718382380935512&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=PyEqjda8cp7ZN3_a3hgN2auh-xKzV_RUqYV81IKd7lqZMF62Q2tSftE5Csz4p9Ubl4snrUPv2p2cv1dOr5iDtuiIXotMEnELAdtMdC9OxvHIVOwBoTN_CtbpM9T3aOrPyqHib5DrPy52E5cSzo_yNEeF3LlfNMCTKl8B32BRxy7TZP6QhTpKTd99ildT2BLx-xkaYcpxiGbMlNCQxEQ5RpRTcj4CQPZtVOVeiw4SK9vO3tQFnm4dQFprOhrWVR8bjhyk4PAZzkhHdf9eFuUHBbLYkwWedMEppE9roGMf-bxcsqiJq7QrD-qD0otA45kBnYuNJnM2atoz8Zqg6M3tIA&h=NRmzoVMDwyo5nLtVK2FUpb8SvJ8wluuPJjEFl8aPITE + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 284 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/e9da901b-8ac1-403d-87b7-f09fbb9a848f","name":"e9da901b-8ac1-403d-87b7-f09fbb9a848f","status":"Succeeded","startTime":"2025-01-07T09:17:16.0503201"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "284" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 7B93DAE549EE4C62B43191CA9552427B Ref B: MAA201060514017 Ref C: 2025-01-07T09:17:27Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 333.189291ms + - 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: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-yugmgs/providers/Microsoft.App/managedEnvironments/asotest-env-lwfric?api-version=2024-03-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1678 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-yugmgs/providers/Microsoft.App/managedEnvironments/asotest-env-lwfric","name":"asotest-env-lwfric","type":"Microsoft.App/managedEnvironments","location":"West US 2","tags":{"foo":"bar"},"systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2025-01-07T09:12:41.2438744","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-01-07T09:17:15.5153948"},"properties":{"provisioningState":"Succeeded","daprAIInstrumentationKey":null,"daprAIConnectionString":null,"vnetConfiguration":null,"defaultDomain":"braveisland-70670936.westus2.azurecontainerapps.io","staticIp":"172.179.21.231","appLogsConfiguration":{"destination":null,"logAnalyticsConfiguration":null},"zoneRedundant":false,"kedaConfiguration":{"version":"2.15.1"},"daprConfiguration":{"version":"1.12.5"},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-yugmgs/managedEnvironments/asotest-env-lwfric/eventstream","customDomainConfiguration":{"customDomainVerificationId":"EFF02641736216A6CF4A85BE2625D8D075D5E5C45BBE094AB95EC8CC9DC473BF","dnsSuffix":null,"certificateValue":null,"certificatePassword":null,"thumbprint":null,"subjectName":null,"expirationDate":null},"workloadProfiles":[{"workloadProfileType":"D4","name":"profile1","minimumCount":1,"maximumCount":2},{"workloadProfileType":"Consumption","name":"Consumption"}],"infrastructureResourceGroup":null,"peerAuthentication":{"mtls":{"enabled":false}},"peerTrafficConfiguration":{"encryption":{"enabled":false}}}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "1678" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: E850ECF286934903B4194E8E9B455A5A Ref B: MAA201060514017 Ref C: 2025-01-07T09:17:28Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 998.24875ms + - 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: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-yugmgs/providers/Microsoft.App/managedEnvironments/asotest-env-lwfric?api-version=2024-03-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1678 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-yugmgs/providers/Microsoft.App/managedEnvironments/asotest-env-lwfric","name":"asotest-env-lwfric","type":"Microsoft.App/managedEnvironments","location":"West US 2","tags":{"foo":"bar"},"systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2025-01-07T09:12:41.2438744","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-01-07T09:17:15.5153948"},"properties":{"provisioningState":"Succeeded","daprAIInstrumentationKey":null,"daprAIConnectionString":null,"vnetConfiguration":null,"defaultDomain":"braveisland-70670936.westus2.azurecontainerapps.io","staticIp":"172.179.21.231","appLogsConfiguration":{"destination":null,"logAnalyticsConfiguration":null},"zoneRedundant":false,"kedaConfiguration":{"version":"2.15.1"},"daprConfiguration":{"version":"1.12.5"},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-yugmgs/managedEnvironments/asotest-env-lwfric/eventstream","customDomainConfiguration":{"customDomainVerificationId":"EFF02641736216A6CF4A85BE2625D8D075D5E5C45BBE094AB95EC8CC9DC473BF","dnsSuffix":null,"certificateValue":null,"certificatePassword":null,"thumbprint":null,"subjectName":null,"expirationDate":null},"workloadProfiles":[{"workloadProfileType":"D4","name":"profile1","minimumCount":1,"maximumCount":2},{"workloadProfileType":"Consumption","name":"Consumption"}],"infrastructureResourceGroup":null,"peerAuthentication":{"mtls":{"enabled":false}},"peerTrafficConfiguration":{"encryption":{"enabled":false}}}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "1678" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 45A7FECF36874F06B13D62984B488153 Ref B: MAA201060514017 Ref C: 2025-01-07T09:17:30Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 903.784333ms + - 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: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-yugmgs/providers/Microsoft.App/managedEnvironments/asotest-env-lwfric?api-version=2024-03-01 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Deletes: + - "11999" + X-Msedge-Ref: + - 'Ref A: 805030C195EF4DB88667F416DE7ED472 Ref B: MAA201060514017 Ref C: 2025-01-07T09:17:34Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 2.837413875s + - 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.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382756779655&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=iyI-6Hg3FHNE0p6ORjI2d-HqUES1-Bav0tMVIwLUPO3YlzGJt4iJO31iN_0b6XCFMVFfJCYAtOIXW5bTTrDNxmahwTsSBb1q6t13qWXNCpfP0yC2OL7LQ3wQdOBQVII1wAe8yEi5MhOCayryr6r4ssJRFRePJ5LK2geXRukC7G7aGDW_9meJ0Qhtnrl-L3qkzHrUMXSNNxWzhTqrZN9PEXhYjLLrRWJy-zBJEVvJEOpPa_PZCyq-L66pd3rVC3SN27ipeeXzwJ6Ha8cnVW6Ppw68iNM01ANVovJHaMNI3RWsB6gnhlesqjseODjQrhHcHIMEj9xmskd-67WBZ8BJlg&h=yxECzygbY9r0B4153Yxb5JV66IcX6__D-KVM7WElN6o + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: C17E929A04B44CA5BB0AFB0253350BCA Ref B: MAA201060514017 Ref C: 2025-01-07T09:17:55Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 735.407375ms + - 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.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382922073450&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=Wp95BOEbbhaaaSHHMa_hb6xmKzfLIWALznT-0DBUyGutGAPZ1twf0DkQ74UP8zLMLh2l3swL26eLqQQyzdsHrdt5fS9W1YWSiWWUu1puBjVs7-H8HujeTddtZNRqT0Txhus1PRijQG56Q1ou68Jdytm-lk9Lwvz0m3JJtCxfmyWhF2i2dkUO3gbqtyvEDtsr4DfcP0ckGwS3In-ZBF5xcrGc_a7X_r95zviJfTB-ywwJ6eUMxMYQYmN79t4lXYZKeMMKBK16Dj5W-xuRTjV5MrIzpYSKdHoC8L96F3UYcXjbj2ojGYugcKI72pK_PqaPXlOCaKD4_ygEURn2FfcRcA&h=F8GPQ7DSJLprXatm_WlJGnuAwA9KiU9oqhU-5H4avUM + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: B2FC9CE5574245E4BB588FACA85813DA Ref B: MAA201060514017 Ref C: 2025-01-07T09:18:11Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 733.820667ms + - 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: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718383087381608&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=KiBIWHvTDegGzKobXgsdhHXrXOMej4_K7YzksEdhoRNw80274k4pPOhveaNUpNSjPBcxIkoQxBC3ClJORPFl1pij8vGq3ZS76i75jQRubE9Cuy19mgT6V4pCgEra47GnvjKeWgFDDkUauHVCX4kL8pey7L321F2dOpNDcskTQbOVVw9FvTXFEhiX9_eiDUnTcNGnjHn5QZ6nV7K5FEj-rsKGdNi9aHzBJ3COarJz39eFrwbKuF9BW8EKjhJiMUiKKNuTLVhG-MeuUEsNR1lSSxkr8EKin2R4GOrR2oyzV8vXDGFqNbXKnLvCNQZhhGewNyUkNiDllVQl4QDtek7n7g&h=4IyYJewwZDLpPBSKZN3ZtCKlvDyyJjhG3X2YnDr3JgY + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 7C184AF870254F75BD2222AE2342026E Ref B: MAA201060514017 Ref C: 2025-01-07T09:18:27Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 890.732083ms + - 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: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718383259090757&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=xIeXngWGLyJuII8_TsYr40qZ4UQqv0u8mkd1G_bLDUhS5ORjgRDuLPdakk_3ddRrvObHX__W3-omOki2bm0q9m6kQ8kEC0gXumHIuBfOI8P1HFbvPrtLYeCzcA1jxJX9Gj6O-41Nxm3noT3Xl7CvYD86CqFZNgQFnscFeQADXEgvWLYujiXeGkmO7foRQH-km08r5XoIgfPz-HG1Q1N4nOhthfALtIocHh-_IN-GUO9bJ7tD3n0D0MAeEeFzO61J6VSzvu4U0yc-IB2OZbHQ5ISMUzMKIJY1AseeLOnbsdFkq6GRmKj-O9jerpqxAyB-ISD_B9VymQLvLc0cGWdw8A&h=J7CQj_wYqfSWEwRgQ4mZcU1_ArZ-mWCkT6VIEOncvwU + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 206288616BC04850865B59D9D17B7A03 Ref B: MAA201060514017 Ref C: 2025-01-07T09:18:45Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 692.359041ms + - 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: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718383426118412&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=mg6IV_H3LSSPLu4moQ694Wvf3LyymWdFxdrIj6oDMj74GrDZF6lRiEYpn1zBPSfUz2X3LB01g5vfNcVzNMWsmr_aq9icTI0w5h7GzvFrXjMwc3aw2lkQj2bVbDb1qw9RzfNAd1eJvLqx1KHUSqJDPJSjI_GQqy6HSUN_cdncD-ed2IM7GLTCta1cakxYExJSSLlB93TmvcamfU6yXNjP9kc-CkWPp5OeJhfYBYxkdHEB1MWggJ9HrFQ-RHYuPSXVhWRgYZAYxyZ3fy6HA_pWsU9dgw4upj3DK9iv7rXXjyNWfCDjSDUvs0yRE4_6Omo71z7StxzvZPNee37VzowxIg&h=pya_WDR_ZeItWJKxPKg-ZklO9iwsKFYdEZsdnX0Ur7Y + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: C708DA4E5AA74C7686D30F869664F8EE Ref B: MAA201060514017 Ref C: 2025-01-07T09:19:01Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 726.06475ms + - 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: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718383595419557&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=FWakkhMWLzm9GTQAzd40jp9TnwK9ShHU6aC5GcMH8IkGUKYb5riVVH3I-5Vvm2KuXHiGdw4BcTloxHDsDNroqvi5sGoLwL03rncTYgAbuARUvKmsZ5TTbSK9wSZi6IvqeZnmxuCvx9XMq7tfyG0j7jGlLOsKtZzjGNtdTFktJJJ1TxbOys8ENC7Hi16JV9Y1K5rTh8j-W2IZAk1QZBUfm3sqKmegBrH18vlsH2f7NqGfhl27cvrbZrR5knpf3JQ42Katd-J2HRNqoZTOssgvFYgTmlL1LUZWlW-MdhBwrhVyvwZ0az7dw6Xiz8U2g4Qjpj7QG6CbLwsoNgIpFPKEEw&h=JE6mMum9RdUDvdsk1ciNtpM9gOZA-4lJvGO7Qkf9Cz4 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: AA94746ABB0C414CA47E90A8358638B5 Ref B: MAA201060514017 Ref C: 2025-01-07T09:19:18Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 694.936083ms + - 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: + - "6" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718383764848442&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=mI1sLmPAqpJ5w8UdxFmkKwoyiECVQnDSqgo7RuAAbi4Ono1m7Whf5jQi4oMwnYMKXo1HGgn1eIbMNPkhrizaTZ_6-vchWENaj1Ibx6KCOnwmvIuauhNBWaZVkx36EIKPim0WpEFBAZI8dIoMRseY2lDIbhWte7a7NBQmHz0Lur8G1TAPQEaXxNzvNS0KKJkzzlTVYkC-cjbqwJ6X6AyA9KmkRNMBga06d8wDCx0Zx9WXV7vDNyia0tniRf36XLA0c6NDVLVpVY5msqDF2CV43Mr70oPr5YDJ5Hfx7ftTtjzfRSi862tB82G7Vg5pMs2LM_4GR_lKbNbEevmqLTE5ZA&h=8quAXAmDqsXGZtlcdRbj8cVK5hKsQ9gaV2A8X2gTwpc + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 3835B742735C40D1AB2AD149C6530D77 Ref B: MAA201060514017 Ref C: 2025-01-07T09:19:35Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 701.853875ms + - 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: + - "7" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718383929331180&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=pFzItWUAyzM4C1h3hGWfGLkmkmj9eHIjAc_Io0X8CdlxAhKat8rAV3Dzxusca6XcGyQfmvOYQYh97P_CZouJHqhY7FhSjgWDI-_xcOs0xPqEoTRJ8C5RGnaq7EhyOXY7mmYGvkyFztF7H4ykUktu3OQlvA-KW4Zz2jHX4L2zRJRarKsQ4nlW_e1UdYtefeXazm75bAUtE1EjT4G9egqvz9YEcUk5bH6iQwYVeGx690QwqL2hzqhr5-zfi3PRewtN4Bk5kMxI9N-QsNr6jit-P0o55PDlRsrekBG8lblKNRVA2rq4K1w-WPPJJWIkDGyDwiuAoDQuVavYH3F00vssSw&h=cxbLtduMEnbCON2Qszz1n5_C0OCG34jU9JsbiBXPBvE + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: B91E83CDA855444780F0BE0A63DE3BCC Ref B: MAA201060514017 Ref C: 2025-01-07T09:19:52Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 766.096375ms + - 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: + - "8" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718384094652053&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=OW8WzcwImbPaaeOG4PR4onHfTgGNxbEpZVHC673MwLmdH6I2jR-wKBld1ZtMLD9dCba4zHCjzXCDV0yL3HcP7RpGxKdKiDD8ZZ0Tbwexnk_-DjbCtygbGrozBrPfYEM4o_o0rdyOjNCBoL-UCQj99rwAdb9gFhc_UQO8c5IXADYtWYfTMdobnp8nIEsLtO2-M7uWq9JTiKdtFfVY8Ir4oMXZeP-2_33l3Ue8vkRMat3mnGrjqV3INVefhvykpFhUiYrhdD9RjQdGHYDBzh4wN7bxaSn7khn5gNo0lEwibnuVILw55v5GSvIthNY3Dvynhiet5BM-ttq_CPOBH2dGbQ&h=xyb_E7c6g2FmdO-ZOcRKOdvZthWb3Dv4n7s8Ky3kUpY + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 4BCAA4BB5C6E4368B1CFA466FA85C299 Ref B: MAA201060514017 Ref C: 2025-01-07T09:20:08Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 738.847708ms + - 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: + - "9" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718384265716042&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=LyIPbBi8AiQYQZVcvna31vkDnVaK0xNRmc8Q7shuB_hNKjONpgycGCIfccpPE93Ky-EXN7xtsS813y4j_uc-y1gU0RLNthbGVKEFJC1YkKILy7QLxWyvO0MYCRswc2H6ijyzCZ3xBWK8nP5d3WaRGpdKTsT19He6IR9yycaA-zYpbRiWVGscytPHTR0-ZYIF-FbAI9Ge5KggXKyFiC9CP4BuWfI373tKvjGGt7IkzROlIIvY8YjMUekX5Us8JnkV_BbA0J3B3FfSr8hxd2HS9Lj3pOFjtebHOar5FPhX00Xy5Qx1QjIvmmAZfs78_SoKNgAewVTQDiUjuSZAzc0m1g&h=7qjZlKW3yRxU78YJga0iEi8I-8v_8f_4v-yt5fQf0hs + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: FD9A88F1CD5A486DBEAF53ADBCC30EA6 Ref B: MAA201060514017 Ref C: 2025-01-07T09:20:25Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 706.512417ms + - 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: + - "10" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718384430066194&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=tlaDc7HhZ8DJOJcSWaRtbIMSvTRoVWQwMqCqTnzjfLmV95hBSa-Q7Ksb7m2uEXgwsnYU9WLQsTOHog96_6V8WHuEA6a1dpT59kADLwr2YAXWzlVzSnaMnGvTDTKFQgYmjQBJp-2Y2oGswAeP78u083eopjzDl8oDSuUR1T9TdwPIauondOAB_zI_OQKRkHZrgY_HMIVbM3RYe7rDkNlqRuILJTePYsKqSDJUL4tbK3Xr8ZLPS-98CpOUbhpqUWsFCXYMC_fA4Ss6tN8Jg0CVfMlhnqSwjkMdlZo9eKwPvI6ewiQvZTgVWwHtdu3REi66kTLsHH7WhNMHQoFB9LnybA&h=eAcZtvC4vFVfiJyf9EZ1c4NRc_nS3HeYphEkqPk5_5w + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: EA5EA0D7CB6F455DBD3F2588932B0E03 Ref B: MAA201060514017 Ref C: 2025-01-07T09:20:42Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 764.180917ms + - 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: + - "11" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718384597930561&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=hql9DgGxiVqlZsYP6mwZ_2FoGTLMlXW7YxshMAwo951PaaKl-sBJlA_4_KmR6QJLNilTFBS8iTbt8kpI8AIjMe3W5GHJ_SBAKzdmsks0lSWraW2SkckrtAevn1pyuqegu7hikX_BugKjGqFlufSbPyTs0U6Rs29jgvwfWKKdbnqSBuFztaUWrNS90jnYi11dprBkuXMNzQo7khim5KDV0cnMO1eCEg8hP_uX3GIJxPsjk0P2EDwXKU5iwk7HDVJen25sSIiU1t7mxEZv_WlPCmbHQfEvqX9LS4GC6qRm8HeKUZJfYeE_7MHEUj_3JfbFPiJcweJJ8ueE6ebz2ytEww&h=NxT8hjijKfzuuezmepkORSyxeeFVf0E1ZE2x4kICqh4 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 9B721350F2AD4874B09297FEE95C7238 Ref B: MAA201060514017 Ref C: 2025-01-07T09:20:59Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 709.339ms + - 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: + - "12" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718384763854681&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=Co8VNIGu8xCB2bzYPiRGVc_KfdOZK8dCsUEWZzxi8VKfFZC9Lo0I1HIOAoKrs8jenR7jp1VUUcZC6bZXVP2sn23rxHQG37fnFOKraHqHEAzNZ1PlQCRBXhC0HrC5DLDSAfwYW4E2oVhKJdWEOp4JuAicovLVYgwtWrK8kYKe2mnhFz2lZ8-TfOKpGyqeXpnzeE9oUw9rgr1_cbhIvssdfJBIlYi1ud0_IH54g5pEn4Y9NdasZnFQcS0rZblc4oZymnWK23t7tABQnld-esRTdw8Y8xLGtC-58ex4cRG7iLAkH2iEg2kEy-zrQSrlxAN8mn0u_ScVkv2A3rRFZQbzdQ&h=nREx01K5pNch1KSiPIhwFYYyzamvpj8v0X46rlljd90 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 9ACE9AB98BB6456CA52EBFC0DA08D19B Ref B: MAA201060514017 Ref C: 2025-01-07T09:21:15Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 883.273875ms + - 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: + Test-Request-Attempt: + - "13" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718384935393099&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=L3QteIm_Q--9Cz084Xb403QZdyCGEpfUTGXbuxqIgf2eEb_8YtzjDHZM3L5T5-vtmfbL7XHDTcXi2uppDtpZeldv8LMd6pf3azFsJ9pNL1vfT3cRiH8zBHGcLUUWlBRuG6TGCVZj_2-jEZVFP1X8tszld1aFeg3Y0GgGJWraqpFhVoRwGPOG9xWbOB8RI1E-GEsB9Usl7VREPBdWlROY6KtzrnALq8cfqDyzTlN9K4G_WxmrXdHJWTLjktFI-VxmIlHrFtHlTsmfLGquqM3eArza6PU_ZPo4WBz7fIDD2Iz8mJLOPpur2RfEn9ZNf7I6u1RW9O5hRc9O7gRdpLrw4A&h=edbS3mtciGIv_YBSY8XcOA5Xo7EQjh0JhSWN4r7h9ek + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: EA928CC184304374B6E3A91FAE43B3A6 Ref B: MAA201060514017 Ref C: 2025-01-07T09:21:32Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 852.724542ms + - 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: + - "14" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718385103926338&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=PTWK3qpx9_NpPoHlsLNYV03yE8hzD-2xivBb2g9Vn4YIZrHhZdk4GcKTjTI4hhUxQBawBt_iXfq-sorlijaclrRIz2iP5naL7Okh3F7sdvrFu_DHETwx9zfzhc8FCA4jKfPc0-goKvcOmmAmhVKUFdSg_dfo-ss2vOP-MhOCRDu9VKA2cB6F3vP9sjT-_K5ES3Gmuzv_AwN0xF9PNs0Vv1L8_qDEvi5IktV_wiFKj9bg-Rb9_OtkduDddLgARJAUK0Tt6nC2Ql7s_FaPoU9rXJ7lxD83OZDsNFWZfN7XpIUzfpcOct3vJMwYessZPuFRxMst4a8HfXvG0NSMGu9CqA&h=o_iTzr6d56i9xwB8QO60Ow3pjkxyJWRwfF41_B5Iba8 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: B8BAAF5B0B744CD2A9052477C838EE07 Ref B: MAA201060514017 Ref C: 2025-01-07T09:21:49Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 708.487666ms + - 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: + - "15" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718385276446906&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=hAUuqHYm4M15D_jYvylXSmsWwE815yr7tRODP4hi3BnTUH0bMbGhyS6yj3F2EoHJuAd3dvWdMTvlp_sikkVKe5x9tx7beH18oKUwoRPla5WatFXioRLINdfdNBUZAuh7gaTZ4MIPKkidqMlJSCvB7_pZxv8nO-7_Pi1fxJsNRdRUTSXdIejlLO9GfMvSyO3Q5PGOIwm0YF4FTWydM8qdgWF_zt-3736FyBOgXfTlWQmKiBiSGDEx-mYSCCet6gVSwlPQGi8KVmGwmCpqkXSjbliEnSpGSJh3eIFc-0Ri2oGAoVKjw8gTiN3HslD9SY24aVH5cZ9o1Ax_oxzRP0rCbA&h=Rv90vY4_V0wt5iZXrqqgkyYOadRAGiyHSU8pJUphfkY + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 703332BD807A4163BD282FBBE04DF4AC Ref B: MAA201060514017 Ref C: 2025-01-07T09:22:06Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 809.306208ms + - 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: + - "16" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718385442604987&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=cN7PKjsGvM-pGYJFNFA7y7V0ahlABtry5HQh4nu27Ni3cYFDUhFOAQhlX8eCmcsbGaZFfC86zKCRGy6e7Vc2WeXUXNIrugmLXm7cDpAVkB90dt6NU0URcY1RvouzmBA8k-v70p-6PQs3GD0uSpIZnoKP1SIE2PMUIoEWdb_IgqwgXt2ejUbS0DXIUDw_lie1mIO_K9yVl9w6llZ_Wxxo8TXrh9jDXyiw7eox1gqPCCq_bdhTYQ214rYIKO7-1Qp2oouWgpAT1iD_CQ4LOU8GH0iW3gQMZZQ-1r0KhUkeYdw8xZ8MfT4iD8C7mDLXQXIdXcjaPsLT-0UdPjKI52JD3A&h=Mq1XAyrOCLhP5vhsLKriGW8FXXNZv-pImITDJz5H9qQ + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 4FCA0BF35C754910BA9B02DED498CBB7 Ref B: MAA201060514017 Ref C: 2025-01-07T09:22:23Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 708.111875ms + - 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: + - "17" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718385606576093&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=vgUNOk3twCNuw_k9tDZp2blpU24DLRZfr_2t7UDmMftemoy6MZTuHwIM-nbh6k9SSC6AOCXnpTYTDv66-jLNd2qtf1WoOakdA9A-7MbMMEx_SjahFjBF2ivoys0JD3D04kDS_JWIJpPFrVSnYMdc1DH0Lq6qYFgVqhWRDXVGwuZ3vWqnrrmgixqkZHcGsR_UdwNX2mizbnRMiZ_S43mtDVZxiu1dqqnZbglFDhF19bjrE2OwP_rbQCmFEgM61BwccqZ3M7hKVT9AAIl6D2sqnQy3AxGLcE0amBz8kS4AVd3stlFyW_eVM-TtXILkOsqFL2hCBivGQ6xPzBAqsFbxSA&h=2o33BoCVD9Btgz2Vg9OzP2Q7u9zufDAkz5C-KrRNzzk + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: C73A1EEBEE634217BAC8095DD0E6F9A9 Ref B: MAA201060514017 Ref C: 2025-01-07T09:22:40Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 728.215375ms + - 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: + - "18" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718385771479209&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=oKy3SUDBsHQv0gGUEkZjkasFlNLd3_VBoxy9pKWG0R685_hw9QGAhXeLQXFwSkiioZHg3eAqb8cfj57gBgl4OQ6Of6J1z-O1rSxDhaP6k9BqXADqNF_f2Wr1QZ2vqZ-tW9wqpkxb0qpbaEOIuwTGvR2UplSmELtypeIcF-3rkEAlsHA9m4hVXuT4sLhiu4UBlavAujyEVw4jwkScVA_-NZsidxdLmY499AxLWSE8vbcarRLwx6pOVtqnaeCZs14oHWAUZs8__eyN866cFeOhU36hkCgIe42pnGwluVZcOulDhC4ilyfe5J21HwNx_iT6YQPOfCXN4rxP9ep5x2ANjA&h=X_NzLokakjfItig2iUcCDQLFDX5ScmqdBql6o3gA5WQ + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: FE6484AD6E3A466C9BE4DF3189AED1D5 Ref B: MAA201060514017 Ref C: 2025-01-07T09:22:56Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 708.854916ms + - 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: + - "19" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718385938610643&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=Psj6VPv5GawHmTy8UnoNAam3saN5UsUoEmdkdLULkdk4JST-bDMpD-ePd-bMGs1QMdJao-mQ2kspm6kAdRTocF-CYfQjfR48fJ1SRKPUlzaIRnqHMNIr_MnoIZhz_UStf3fpa-IB7mPrpH7Xemkoqa7zgVBho3bPEgOt7t3NWZ5uTbF7qIVwVrZo9xiuciIHPcGz9MprAgMhsZeAENEOeeQEzM7wJwPOWWD7bBF2-7MpnOgq2HY7j5Tm045yFc5ExcZRtPsAJapDMpvJjFACCT52ZLkdq5rlB_VKuqnMn-PYWJYJNNVFXlNsl3BHEmx1lDctL1_JpY8vt3lrf0m1rg&h=ZGwZ4BX9eqJoC7g4Fl7ofq2lTmteGMFFxaA2Nkp_JmU + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 25C098FA145D4AD79739D8DEBAF339DB Ref B: MAA201060514017 Ref C: 2025-01-07T09:23:13Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 716.978459ms + - 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: + - "20" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718386107397476&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=TfmV7SZd1_SbMdy7HiBxC91zsvORv099fsFPIJcoYsWLfzkxBEQIV-fi1SUKKJZBD6qC2MsKG1C5hAclGH8DkVfArfKIPvy_rxQOdpm7Zm6vXHGvcRntgxNc8GeKJI8o2Gek8gNx9chnrKGCbveMUYs3OBtJQQ8VWOFeXXKuuj2hZJkhWyFRpUIENj85ZO72GY-DoSSSH3KH01vu8LxVmsxLSe-g6qnZB2GN21MYvXSnzrbFIGG3h93R60w-Pqs2stlZqMrLn2EHopPXuXCpSSyivyWGmghfxiXCcflInnkGFgMA0BX-FZllmalxExAizMs2s73kiLLQH1eX0G2yWw&h=RA1A1WueU9yX1CHx4C6Teyrcof2td6pPc3AVWFtCoNg + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 9F1618A400B44C369A7412F2979E4466 Ref B: MAA201060514017 Ref C: 2025-01-07T09:23:30Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 770.0715ms + - 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: + - "21" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718386276146558&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=L2jpKMY9PQKQDNruEw3QE6ZlsUXBvtOgWkJSQsdEFQiDLUJ39bDE_mli-kwU-7gJy62-XZSfE6N7b6i_qI8dwMWYRcC1nap8a4X71EcfF3tAzhhDL9NZGfLtiLOtLKHhf-kWojwzd-C1pEPki8Gh4xpajrPqMMdkK3rD2BLARdFskvtEwRP8ZQRAXgCGmJz_47DNBA57rbLEt6gdNxB3VegXep_QpM1L_-7iKoVEQirSjZr41jcgsmzWs32ecd_S_wlrvYIqisCjTF-qzaSqIIywQkm1NBuwRChj978gqCAV-sJguKY9UdXBzYBX3vPkukMSv4bzr8g9mhldVtKiMQ&h=v5DdhxERrEcZxMurl5toBwdDCaiRKwrYHdEOVgFxay8 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: CB09A7C217DA49AC95B3A30F9D95E2B8 Ref B: MAA201060514017 Ref C: 2025-01-07T09:23:46Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 692.052583ms + - 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: + - "22" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718386440215416&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=MYEXBjpPmMU2WDXTGBn1dL5eh0DU77xxqH5OvoG5CmNfap0zzu8kwplAn6SQWFWWCKQHH5Vmzc7uA-yhJ_MEiKRN4qAOqhrt7bsmxnSyrg_TS5CLoJDw7GeNUSn4hPAQXdUnieWsSFgPiOojKx7OAywxqSoKWYoAxTn7nfxkF1SLodRUkYKLnMdnmqhcySHdBagpCV3SHcVmFpAKWSBd3HUV82JnveBOnK7IOpGIQWd00Il0MjKeeUAmcpsmA4-eWMp1m9Wel6b1eQmqKDbaen4fGsp-XvS_6NFZxHFn9C7WOdP2i5Or4SilouBmvOA6Gdqi3dc6NHciKpgvcTyh-Q&h=3OM1oeoHyt8DacQsWNHKwqd2nMYV_22D9X8vOwtw4WQ + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 2B780124546A4540BFD026AE739D291D Ref B: MAA201060514017 Ref C: 2025-01-07T09:24:03Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 771.178ms + - 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: + - "23" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718386612721051&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=gZdO-PCRsw-3DJyLE7rgR1lp93j9SNgMnYlLBGRy0Sbb5RY25FyEux6k9BMoL5OmfqPXcWFeaJH6PxWc3CzMPkLFUpC6m-JJ2sFeGeAiHyr4_Ob1Qg38uketaHtd69cd9krIKEpnqEM1FlEe-6rXicn9Lg40rSQQHcTSSTsiPExhyE9SLYH_VP0armRZzjE3yYn4GoRVyCYzvx_4xDlEtHAdABv57aqB2joI49MGSA--bcfc-wEB6KhMStk-Vzj4VK3P7dr2yupeN0ewt_zz2A5tKfzGRYeNB3ogOZM0oXJqYAeWodutU6vcOv9mYSKWaRuAYYXcYGf6mzMK_QVLeQ&h=rbcmU7QubL1N-TPcfHB9RBbmTPmIU4r5UTSY6bCVQ2A + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: AD35C441D2324DCA8F726C0D36D447E5 Ref B: MAA201060514017 Ref C: 2025-01-07T09:24:20Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 844.650208ms + - 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: + - "24" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718386779830322&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=n3GUhNVEzuKVdA-dYZmtz-Ac5yuk_SYOY6FHmKDfjVrFSpHGBzlSxbd0tDHEq9eO0f-dVImnM_OZTcDYkqnLR9bM41LkM4zFQqDn5U7dsK0SUQRqL5qikc__QDdScqBy0pdZWXkroglERZtmbXPR8xynTc1DY96AUmxCQ9HUdP0SKiKR1i4xooJ2JVr51Z1qD8sw1Q7SD-c3Wtwe0ABbdw40QvJ51FA96DnMwZalMF45vcPNXeKrnZOvAi07v22X3Bu7i3PBJexKXy0cr9dKkdr1j39ITGEXoMDhsqDw5gkedf4DT3VibbKEPfLTFOodiif0IObGQW1MigYgaEUnLQ&h=TXWxy4Dgx4E9_NFK_2sFKkoXBn1Gu2I95-D3nnnUgCU + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 41DBA153F0F34C8CBC92B4C622EEBDD5 Ref B: MAA201060514017 Ref C: 2025-01-07T09:24:37Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 769.821792ms + - 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: + - "25" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718386945076656&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=RPPO7dZStMUTwdEdSIgT9E55bg5m9A1eZz4zFLRUG3ArnL4dWezKRP9XT8CX2GIfUSKPoW0-jirQiyUQqS3d8oGMHZ6Vj5ZnzOp3gObZoScH4w1qOKF_qoSULYTP2QZyTs0a6j0WZ2s8p1y4m7zSu2OIYzhfV3CRTd-e2J9UxhkdnuLZPFbuoul0tTi4eOwbxulOvomaTO9M9-t3w_VO3i6c7woNk98-4pKNzIJR56ihHWfFGPe6U6jbN1PRMvA_pQ0MY3i_LMf2RHluoir-dTVRYBYFYoXblP0kfhqk1uwQ7VQgiNacqiwAdmCfo5qo7wxI6WRENo0wYD9x8D9vaA&h=yaoaYdJ59IjWA4uOmhxHIYKPNxjlm7tN9okflzfTq8U + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: CA2BDD5F5869464DBFF992B935CEBB2A Ref B: MAA201060514017 Ref C: 2025-01-07T09:24:53Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 739.923292ms + - 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: + - "26" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718387110028262&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=OZhmT59_kLrpdzXO7TshvjgaSXpqupcumIYAgI1Jwp4fzXGRMdMJGE01Byloxlnkelc1ntdYkDfRVYPvM47wwH7XmISlNfclshAmxW81WA4rUquqJg2uhtyN67iMYemHLRWQBbUF3Jw9NCRklSB3f8Wj2z3z99Wd8KLzr3kh3h0RuUuwT1NiAUdrcqoZT-EyFc1l9f0bCVaNa_HiRqiFj-U61lsTo7ga3-czKtUF7JVL8Z36aVrYC0ODxlnkj43RKF2uvmMVqPR4_npZYDNwQr7pVOv0RIzCuRiNBNDg0LlmllcaC10rEdizzFBOYDlZdDPjZiC-yuRS4fOHPKNojw&h=Qm_25Zxr8W-HdfEUFwYkpJUifYDlbOC8_CrqsBxrHiw + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 84C115AEE850491E9B7314CBA1ECF31C Ref B: MAA201060514017 Ref C: 2025-01-07T09:25:10Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 765.916292ms + - 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: + - "27" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718387275020659&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=d9FtA9jSOr-fSCQaxAjp6VNdJeyOKN3o4AN4-36wil8LKlL3SMp0yDeYgnKzskfhlN9-nXnrW3j2eAWDrbTJtk0wKEstsFJaZyJnCUCBroMyzHIujJzy965RcSWV-dOcOvX_4YrcIgsfOt11MHnDJj5b7moUA0B8gUVjZpwIiaqMBaNRUn_xz3xEpHryR44T8kR9Rdpzk3sbaBH6pgeag5VyhoaPX7WSXpUgzEpBA2QinzLBGhYWZIt374WAyMiYxQHJuW_5MGtT3DthwnY1ZphEOo1NfoLGyYfyuRetzTeD3YxjksDTeMPSevGEveVSl4AQ9qKKRUOR2myPYIc4Cg&h=TpfHBNTSKRXaScFWX0X1we-5eQRU2_Q7dXIkWBU_7rE + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 454326693F62414D9BFA3C6994602761 Ref B: MAA201060514017 Ref C: 2025-01-07T09:25:26Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 713.07525ms + - 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: + - "28" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718387439852311&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AZOU9OqbPFBNS_wNRDn2EVvNj2qYFdHkNGWB-lpBT-MJD_eDXezwRfpTawAs-IKMmx8JWU7KM6BAdAOAcjDIHB0sxgj0gkDjkvcsTAgqfK28vdNu5zU6NJD1SVuDQf4wV1PhOKQMW0-7A-tfSML_QsLlHQCGTnHHE3O_l9RNzM9iX0Ql2RVjIhF6xjxXcbnjtcZgoJ_MNXr8yiiIqaNKXL50At4m1GCKroICQs2_eRfqtTq7TaCyoSARL4NhKqX-EpFdBguu4YuZ6gQPtsz0xGeLARN0cH5t-IpW6Tg0QIeTztPod7ufTFwlLVQDEpJrt-rxaQ5prPpyhwHmbxjpBg&h=sR9dPI6AwX64n56C8DP7xZN_lpDA0PSeAKVpMBY1NqA + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 059D3291E3E6420FBC0051F281C439A3 Ref B: MAA201060514017 Ref C: 2025-01-07T09:25:43Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 770.490375ms + - 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: + - "29" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718387605030258&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=POTyZgDIp9rSxkEn_JRirEIZ8bcXrFToA1lHeHwRHoyReyQXKlN294C4xNLvmHoss1Bnycj4k7MUhFpGzwHWpFnjUf2SYuzJO9KlDmax_fYpaPlRFcht-9v02IUd5YdEQJZIihLNpJYGEjTh8ew7Eenwu-HjkO7olFuz3X2Ktu2lT-bbn8pomEXHWayW35qRKsOaR2Fv7jjaMBJZCq3B4P3VAPP37IoMCfeeB68ElooNlhX-MI7JqBvd1VpMYRH2t_FQ5drLfy-7G-g2p6AwvTuBTuk1gyuJqzfTGX8FXAg3z_fQ-bjzw-8y8RXj2QMDiuTqJeOxFp84bqb8wfrUjA&h=DmpoHDywPXKEuhWVQfPF6D9zCl5p8L3FeLTI43bFQN0 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 4BE4DE0B6BE9431FBD6E1196A0337278 Ref B: MAA201060514017 Ref C: 2025-01-07T09:25:59Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 737.207542ms + - 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: + - "30" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718387769936730&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=F2Q9L1PkPgJY35xJG4kfIg0daE4Smy1139FhqWQBv_Ya6PEeruQI3myaZ_nApJkOUMwIuCQJtKwS8BZkFOvL5oSAYi4_5bar2jwMw0tBZola71gmErf5RhL3SITtoVOJW9-zT07Al4n0bLAfWVnzJkAJp9vfNkc5T09nERsJeztrkYGH1gRQj_3Xpvy0MQx-3tntZOyRMFHjwlJLribegMhZ2Rj8urbV1kkZmMp_uhvelvje5ioEc1aZ7BxBG4bKxSzWYB2MoZzSLJuFLap3Ct6qOp1x0S_QQOUTna--LA6e6gdj_1XardXpeWDtUj3Pm5OXURh_u_JUXMVvQRFH5A&h=_Z92N2gQxageD0tDr89ZUWqSPJkTRI0sCCq8HB9Ji10 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 344263D1D4334BF3A508FD6D1DE4704D Ref B: MAA201060514017 Ref C: 2025-01-07T09:26:16Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 820.990125ms + - 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: + - "31" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718387936249435&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=LzZm2-PHZCt0CwkTuGOQc78w10zwKETyxJx2EmqvoyWzxjOL2YIGIYu1l9hQqLdK0TltrOGA0UfT5jeaRXoO9MZwyS63yTKD6r1mfa591UUwGR8cdG7RKGm1yIAGDeVDw-EETq50WqC7IS51xcysdSrOFaO4wFXUxDlzx4ZdGb_d02wiorlIPnPiLhuasYqunVZCG_uBUCjfFEE6UwVR6Ra5Mbv-8yNvXbwGDibmS83nUXUVX0LG_UppyeiZEj59LY9uQz4jLPcTcqaQcXI68L9OJ0dgBZMfTQOK3zzoq2RDl4e0VFdVU0VFaQa4E279NNeuLqfDJtrpg8Sq-wTgYA&h=v80HsuILtjTZ0ekK3nmBcp5GDwXAE6PjATuif07qqig + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: CAA16E7B17214729B9EB50AE2008A472 Ref B: MAA201060514017 Ref C: 2025-01-07T09:26:32Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 706.949167ms + - 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: + - "32" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718388100493371&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=sDJCi0oa1Wdg1NUbyYJHwQGRWlvaRye1I8vCUZCXRRY2vRIlB5Fg4n_sbdCwYCrJvfAzH6xg36YaJnPtKZXe4prcTHPs8ig3EtqiGdK4u4-U-L4Ii27acxGlS1-fwI0BGwuRJQR7BgszUlQBKK1g2CM0S6BSPebRwpGTNebhWLA7cCzKqzPWwJDBSdWbWlBkT_SUvtOteljogdI4vqDvFcPN8HeVU0ZPY2obbCUyCPTgP7shtv9tvpzgABEg9uqxMfyX2ruYUC85DGhAoA499s7aye2v0WERxFoIg7AZ5VCt9VDUC-htYxdBFlxxhCUhcaf6Wvu_PIoCia5wBNSYaw&h=KY60t4Iy9gRqis3dcvPWvm4QufP21-w6zVPTrQ9Q7fA + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 82DE576A23B64ACDBB375BD3538E7AB0 Ref B: MAA201060514017 Ref C: 2025-01-07T09:26:49Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 685.48575ms + - 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: + - "33" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718388264633885&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=c9piLGsyF01Ynj72az6wujdqkg1byMQ-ScJF22CflDuV6SoghdWzLfJVocNJ8FA6c2-iBscjgMeEDTuKWHSwpU3Z91NVfnkM-VtXNCuI_FhTa59vclGc9E2zmul-wP-DPCfyvaQjcwG7R0bewz2rOI3cAzhLhBU5tMgqpcIRhV5-3zm8VYoHtVSuVQfYBs0Xbz6ztIWrHD2Sl3tWKVEfh1-2H14GpmaAx7Z6B1hbE9hMBazmku_FQMopzwgb-NZKqz1LqSIgM7h-DaFo499aKH4i29jx2bNizkHjPnL3Scg9VoFuiaocWVzt-4VWeVYgGxAgs42RsxrNT_9iqY_b2w&h=gjWgt0NWNUKfuuacXXjEsJkyI5EcWDXdU1COs0ASVHk + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 3EE37146BA4F42088B0E6E7719C3DE82 Ref B: MAA201060514017 Ref C: 2025-01-07T09:27:05Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 795.628958ms + - 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: + - "34" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718388431741980&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=ikbNY30ZRRejN1CbdkU8HxvDSDEeEtZCn6eiTpLoRfviGiISzjU8vh9E_7VnUGMxPQPkZXFSvH9_CWenQscOX4cVcQzkZOk4mtjpKb-PWz_GoieAsUEUr5rPRNXrn8wv_x88-5cOBuZer4krJWB7oL5Asha8PJiGv2tpQMMAxL-mJwYWhG2akY6Oa8Jsf-PGHhwoTMqxCL8-fToljn2VOLAWqL0aOXVXRNXWe3zxRUhEX_v7T3XpXrwYBPKm1lIUq-WHask-RnNxUNwmDMivJt4rZk-QK7fVhwW4SAQ1T2elI1Qv0xSKLqL2VNuACW0C08pw5KWuuU8piflx9FkDGA&h=ewosh6e-7uoqGQo-p1gcc0ecTANrq3mHMav7pggSSts + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: F74E1070E7074B8891DF0ABD75DC2B31 Ref B: MAA201060514017 Ref C: 2025-01-07T09:27:22Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 770.573958ms + - 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: + - "35" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718388597266196&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=j7KpbIZ52chckE86BSK3Bp1q7vtJtId8gwil-mU30mSGrh2o-uuAjc09AvbMo3n1_1kPqWP-zAPGId6gFrABjyIOcOIkc2aTQiOOffqXpOrHBCRvJ7S4RoSBSfMEeP3htqmGY9lWn75BdxclNwy0yiCujo4yLCKcbkQ45l5Kdndg0dEgh8Bv0WnndAq9hRpDH8roFdfnC_YdIFQ9bGy9ZnihgrNOuj62fb5rkrfh2-_sDWm21yfHB_1XEwmnbjypX2xu7vYk5ug5IRuf29h1anSmPFVP0EXiPc1I7ziYaumXvL-UdQwST0npktaEdr_72BsbzOi9uf5w3hQSM_oWDQ&h=5hqls_IjtcWMeeMJYHreIlyO1zgIYWdUIHeldE3khlU + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 346D35DADE1549DDAE873AECAC3499F1 Ref B: MAA201060514017 Ref C: 2025-01-07T09:27:39Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 808.692042ms + - 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: + - "36" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718388770406278&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=OF-m5UepKMVhWZt8erUoWgcNuF6DmSSHuImh0FkcpXK9SgEyGW_WBbC710KpdlaUiJijTeKC6FHenm6VjehT7JA4-9cIOx8mzXfmtTnY0-ejtKjptgnhjPBJQgVMXnHRoT8Jn3la8FarYAozkcDpm0XEUh7DN35Hj3a_7QxnFJ8quobYF57Qc6SmkDMDpeQ-93Jj-9eFCQd1N6pDzMPTciWKQ_ISD4N3uSYGHVYJzLVw6iMoIA2m5POXT42Gu8vanKAM1Bvwvr9x-SIDLv4yd6TFNI3HZe6o1FC7OvNhevr8jiFdIe59dbxesLN210Px2yTUoNuYmQ11SkrF-Es7mQ&h=tlqekIAntDSwez1LD5pOsgjkZc5G3thBP-zKokeiD7k + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 0E7508697F234D859A98E36F9961CE6A Ref B: MAA201060514017 Ref C: 2025-01-07T09:27:56Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 966.452292ms + - 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: + - "37" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718388940442595&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=IHCcUmxE4ZKUNlMHXK6OhC3jMUtVdZqcawhrz0xX4lqZQyco0dGjz3lQfp4tMs_wngXs_Bdhnpg_ffSy2gddt2sdzdGjVGgl4frfkuOGa1bs870PwIxYqGM9kbhFMzREUS78hR9lJRhVv-qelibT3lTHj5fhcpWTvGCorI8xCXMWLMIyEbUxHUD1dStcvd92Z13jXGgx47clCb4nVCSBcTfPhrDHh_2H3kNLQwrlq1i_wFfe-syq2L4pNvjaVQrZX4ljlmaqcvOU7hComBiw-aYugfc66u6eLwVxIYnsBYLktA7ZHaiwnPWt4gkFz0WD760PqVTkVL1Clylf5-LVrA&h=GEH43QT9MNvOdDbUjKKon56raAQIcxl4uwLfY-os_D4 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 9C61106BEBC2421CACFB870FED901DC6 Ref B: MAA201060514017 Ref C: 2025-01-07T09:28:13Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 769.344166ms + - 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: + - "38" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718389108743519&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=s1uyry05iGwhl7b7iGDpo5FPVtNsdgqPdogxsjhpTmjX53SOzh4MbQye1VLck5hDHXdylk9ups4dtWkA2GVvND3ekhRRGaz4pt1kYwDQVMW7B-r_8GctG8TwXqTbKAoFIgZBO8KOxp_f330Xe0_CSv_TFpty6aS2Nd4ZbN432IxtKWEDYEIOu60yHyW1Qldl3WAKkE5L9l2M1KLDfC63Lk140jtkaiA3MUukAY6mtpraUgXvcjAxWGYydCcXvuJRup-u1BLoa0F6jKi4mPGKq9URJVlKJUByTkh6gTrHiaK8Z4pRrvvBkiW1dTfNS0J23KOlY_BdMS7pBkjr1yZtAQ&h=z9RGWhB6BRDeXX3aRPGAATrpYBL46AnGxRRT0wq6iKA + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: DDDFE83443F74217A985F06582846DC6 Ref B: MAA201060514017 Ref C: 2025-01-07T09:28:30Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 772.08075ms + - 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: + Test-Request-Attempt: + - "39" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718389278061106&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=Voe9FA1E2x2LDsAY2HuLGibwo0lIMoLmtbk4BlKw72zk3qnC6vpE1e6Cdtem14J4AQdAQRXqwo8c7UHRrug8BG3jX7oXOnkeZ6hKi2OpBmHrSw1kf38zHuzFysZhatRCZcMPEK43dIiL5EzPgX3SsfeTparB7KsiukAFFrJ6OBx_0O2phaK0G6ndzpxISIcSFUVyMBaEn3pcXCOM_5HyPPxNOBrG3P9CpUgA6yUbC5rMLCHYztMR7HaDlB9T7AynVuLJkJKYLpAZ5Cc2CelTwr2s_2UClcgfH5mGH03xy7ej38UHkxlw15IYZYqRBrx52TIMG9swFw56FaRzxHSaDA&h=irX79jlV2WEqsXWQN8f7HEI4hlTtiqoy0tHB2o3mvpI + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 64447AE4DC504697AE489D9CD83691B3 Ref B: MAA201060514017 Ref C: 2025-01-07T09:28:47Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 707.07625ms + - 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: + Test-Request-Attempt: + - "40" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718389442961653&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=pmhDFgvfUIruwnY9kt_QaetoI0vd5GuNgwd0S-9JGsg3GpuMYjOZGZV5vyOKHrtH75ajkEPi0C-3eQg0JYB47grmdsDKglmBEq3tqWIqW1rJ6_SUeftUGjObG2gQqiDIN1HjjqYz_wnAMArTx5MZyE-MqK8bHlUt4TKXlJ_-wuoKJ7cBT5GrGb7IU_8Gm9lIAemOwIR5Mht6PVazSUKFOlR6x_tdkBSin_eny5wIu256rn2KhdV00ZQ5SHwjgkvA7yABOH3sKUFyVTOS6B8Yz0q78E2D8TLDk1IjE6zYsWO5RUW7gJPDKchxt_kTsdbBEJfnA3XLO_6fOT6JMuuAYA&h=Dh3_Fq37I3KXe9HW_NxxGRe-MzaWBRNOf-4H4DX9qmo + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: F106F89A1CF9415AB2F67C59681ECFAB Ref B: MAA201060514017 Ref C: 2025-01-07T09:29:03Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 752.825084ms + - 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: + - "41" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718389609641502&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=LeMjwPojaKUhaP7-9IdaWOKceGCUoYEK0zXaIwfp23hrFanhcJa8v7qTOIbjbrfcp5_u0eCE4SiYZWf9V0a-YogRkpxHUWPLo46IXoW-dHkkW0fx6KTSbhsAfJMZ24WaJlLOKCw-o2VdDV6Dmy8xY7iZBWm4PB8zGvvNjub16gWNL07QZrVLmKVlC4xxwla2PgyjBUUDuaGqEwmNtNlPfSQ-5GEOaICPu_yZz740n25tL-YRmvx2sPxIKSXy-GluV6YlDPPtqP1g-ihnqko4zHhR-KBrWGwyvaFLsgleLDAaM5a39rnvPf3ZNucu0E0m-yTyACvagjHxNlt31pQK6Q&h=RiSqt1RO9rNfSMmCejgFuCHU1hhq3T4a_NCmcEH7rqU + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: F095E711608E4A969913447B72FC622D Ref B: MAA201060514017 Ref C: 2025-01-07T09:29:20Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 714.070834ms + - 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: + Test-Request-Attempt: + - "42" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718389790560895&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=ayKq3leYrZqnFNcuK5sGZ3fVn_z8s8KBRizdCptIvnjUaD_2SuOVWcwEa17xSgcR6a_II79xkBHHwNnqAHaDc14WvE1IqhfsrF5kUSH4K2m82R_LiC0ICcRtFFwgEUrrGXYT6mLpyzbXKqxU3KzpgFBAGCy3v4cdbQFjRVxJ0-kFbA0fB31Z5t3Zli8p5pSzHZDiCXkyYfXu41_cm0NN8hHK5w744duIAi92xXmvCpjvERljyilvGoQTPXtFBYjWRzC0yNPOyX09hezv6v_yOL4QAwtFh9gjWBB5bCRUr7nimmTnXQnXIxpy4eTsWrxIAR8XaGX0d2d31CWztOrQfQ&h=iwmnKGG_WhZFlSpfvFqPgUKWaRPxddteyzcYJ0HH3Mw + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 166391198E83442E84696E76B7E686F1 Ref B: MAA201060514017 Ref C: 2025-01-07T09:29:38Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 746.979625ms + - 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: + - "43" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718389957195698&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=ssOXWX1omX0CVgUjAIRBTlNrUxBVHQ3f6lLbkAeDAp0ONRWnxvbM986RzxpRCJEbLzc_D2y9S9g9GnrAHSALnn9tP_A4lcDhgpCPp2mn7eY6s1dqEMO3O7dy1hcXYWkIbLOgE1LlIP8ttqm3tqchVjK7DriW8bUcUTc8osPz7F-BBMq2VFQ1hDqqo8vj3VoYflFP-xT9l4FXvAPG1VRmuh5SEQX-oL6xTjPuqd_FlHChZvsjClD6hACUiCo5bu3ig_0IUj_dQ4Dk3iYLiBHuArdK_jovRu7BPTXjmwfKA1o73zTKYXJeH69Ifoq5Gmg2jNQhXP_9cqWbJpkBixyNxA&h=zPXzPpK3v9AGKFKCmuWKOsaTwO64nTFRx2wM8VQtpZc + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 6510050637784099B9A785A2F858A07B Ref B: MAA201060514017 Ref C: 2025-01-07T09:29:55Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 804.922209ms + - 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: + - "44" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718390123587028&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=Di0M5Um0VARW25VWMbhBKjjTPcJO8JUpKndsQL3IugoT9i-llKDxTZbtJw7VFJWmX_k1xVH33EJz_C_GjEaGEQ3KIGGd7PMGt2yKE2fu4WI5X7kcr_ik1J-6LXWDVsshpiGD4CFLzizjzmPxqjLUszRczGmR8-S9SEeRZwGQuyRohnlInxFyLcWJHPjO_w7X9Q0Jg8BF8iqdo-RZ7cB8qvdr7pv4vQWjQzB-WsGhJioTwfY6CeZ6caYVxZJumgfYzB2kDgy_f4J07aEiDLAScnGf9Yibu_HX0vuwURjtEdTNFov7PeaS_lZG3jr2EW19LXX8jNMkfNn_sVZ4NHDvfA&h=BsxGFQw__iyQ1FPQiAi8hRpiExiqmgZZkYE8TYikIxk + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: FD06B16CF6834F0EBE910AC57C4FE0D1 Ref B: MAA201060514017 Ref C: 2025-01-07T09:30:11Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 742.061167ms + - 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: + - "45" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718390294576286&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=QBK8IeZMAvddHe98568vAO7H_poeui7DNI3ZpVlyLH4LZpajvm46h9v0xCRIb53WPR17IUvcrCLZFeMCN384p1wBwKDr6KicxHaPXHJ8wuqlrCHHcKQM3vq7ciz1DQikQyWx4gJx_OnpfGbT-7g4LKo7gZ9sYj5lJdOnzj440uCBN-R86WZcqETRt_JwBxnsctn1SHC5UpJdQmc4V6aZWMiN-2lTyfv8KMcOXn9mHuz9SHBGxNmIlGmMm6s7c0BVKsIQoAk1qunym5J3Sr9LDDGNQnUE8YTDoYnPG3DZ7-VeklcpQLfYamMNHnSRgB99zWmAvQ1YrDWwAjsfq-YbAA&h=c0NrkfdraSi-yHY9fSPvFrEkyoZCYpWmfty2tbBGYfI + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 7D7F86F86F0F4041833F9558D99A7014 Ref B: MAA201060514017 Ref C: 2025-01-07T09:30:28Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 715.592959ms + - 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: + - "46" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718390460271864&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=HXEhsf_o2Y1Coaz-ELaZodBXrOPEy_8jnLgU-0dkGfHNgo03DQpcAXsnGY7-upmucZyvYjZAQSa_shVkRxQb1gGJJmupmxYCyovfzbcT5aC2PXOooCDOtFQnNT-eZ9SiQCq4Ug7PMyI8Z-gPoOTLG_J8uyaL4yiY_paK6DUmcNuyKbSR0NnYIfQcFSAJS-S6ZPJBhprBJFiTU2dJ60fg09u1cKVIHGMmBiwvurCCqTL6W53FFb2NOxEiNizWDDSY19XbCWgDzt0mR904MJz-Z5ZY1IbCFyv9FdqqdbV2TgOjA7qs9eFcO2B_xjlvr6d8akeRXrzv5_mZ-40Xj94ZyQ&h=TMLWf_3KApz5qZH-_oRcIH7MQKpOVaUDr91yX0oEdSE + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: ED5FE43D4D40403F82DA7448E035EBF5 Ref B: MAA201060514017 Ref C: 2025-01-07T09:30:45Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 882.413417ms + - 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: + - "47" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718390631974626&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=HBjWfWVzFdC4JIirCjD9neHfZ4EPed7XFNZ0ctBkdlpshCNChqeNZjZgWUBF4PtoSCY_-tfvofA83OFXfxVHFk7v8WQLpascEluScpm5IMHIQ6JnuhxIhjuB3RKbfqAT4C8gUpCXtsq9mGPF627XEuZk8i8vxjAlwmKDQwivzcVpn9-ZDKTSikEogYRcUXSNXi3zw7I76NEm17bsoqK7dIlXatvwyH7CbIwPHIyPW_3cM7cqHA-XVnyerpBtWCl9vwsd2b4lHdalNm2a6CkiAUFygPudCYgxMKbBAN2mg7OqVRNk-6GA6tf_Xn3AXpzY8D-PwGOMUO7J2vaMmkffuw&h=3Z5ZdjZT0M0DU-ZSPEn0_tkUvxK60vmvJLlT4zIJyPY + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 0E9B5224F5E742D28D62A55660E6FC0B Ref B: MAA201060514017 Ref C: 2025-01-07T09:31:02Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 876.937458ms + - 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: + - "48" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718390798826010&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=z0plPUThzYa9pPRKzvYTk_B8Hq83KDijPXWSdFSIqpeQYZaVRDQ2x2UlTBn1GtIjdH5v0ME4JgCBVT4qq4nUJVVti-EdPGFcU6-v3GH4_c_WsZqBxcdapm-6nuqOvThhQ18uOvlN9RpVkhSqrANG5wftmxx2kTOiluqNScUKdp4Vuyctb8RgnC_t3VJvdWhngA1QBtFnzAdNk-X_oYkLVMKDzbzQKDHv1LmFf2JWb6lzm-U2ihquA9elmacmLi8ynTBwJzudhQ5M-e3uIf2JjFBMd4kU_hB5JC9rWFHl4-3FPtjih5PXjfxe5j1VMNFYqlNgURdT66u_U8eevbfRTQ&h=lIaVPVcDK1JdxYnd3bcvZbhpUYHub4XJfxXZp4EdZfg + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: A1040BC46AB448EF901C6610FFEB5BEC Ref B: MAA201060514017 Ref C: 2025-01-07T09:31:19Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 808.323ms + - 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: + - "49" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718390968507961&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=GonjYXp2M6oN6f4pMC8Ktu28oMrbxzi8spiIpMJwCEXUx-g5SijLSYcwfGW_dXPoj58Xr4pwHy1CrJQt6q3-xvjY3ztliX4t0ru2Ej62frwrk7D--xqTTCt4kwUYVM-poJ79oYwiSzTH2uSAg5chzEEHMOkGaT8bd6h1iLnWuOTX14VGBYelJ3JMeQlDFHM6UOVaQo-wforG6d8RispNmlGQIhr0a20P-ElzPbVCuLHFX5Jqv2y4gXCnPQUAX2K0fSr5JsH5JrOxWUb5TqqDaCZedWu4bD8gxmG35SZNtLyT2pFcMzYX8CQzzxYcF3AdWpwLXEDyX8KgWOLU_5N8_A&h=RHiF0CeN4gwq55J0ecIflP1RoEak_Gw_faefbGkOvdA + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: E6FF79B9ECB54CD0AC7F9B0009D6FB6B Ref B: MAA201060514017 Ref C: 2025-01-07T09:31:36Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 710.052834ms + - 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: + - "50" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718391132693610&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=dIogxBZS_jY528cmT_X-EyYbBMvnxxvCQ48M-IRfOs5_9bDPqoNqRdyFDlYiRTDzpTWSvmIwQCqXz5fEWBNZhWKdt-XG5xrDlGepEECkAVmRUeopb6gVAi_1byh8eThN4ai-E0O-VCNZ8CnjfLUCxmwys23ALNQmWGEsLxXvcoFq4rYK8zDu0OPE6YSX0HfOd3YR2EMVm2GKCb_OqP3THDTRrRiFAkWpIMT590obfEPIPMhu9mmF-akBDKAqUARdE_-JAZFfKXqdfhZqMciPztIsAcww3qiEwHRlgHar3-F0NGnrfahTZ3j7sCwXbDCMD8wXw3aw3qzQDqrxQpZU1A&h=zCAeCTstwDz5ng2L1vz4xHk5g88qMn_42jxxqBMoeu0 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: C25B571D11044E3A8053627FB0DB7A15 Ref B: MAA201060514017 Ref C: 2025-01-07T09:31:52Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 713.56625ms + - 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: + - "51" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718391297197325&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=ECWB3In5E5DMdhvttVSx8ZjEQ2FoKKjvPRQnMKBCFa9ueCk-1TrXuaD3a5jsBoP6J0IUXCS4G4BkbaDOjBwWM5bhPYF6Jpq6wcrhUH6gzwpSItg5TZXx5uH4JtncMEzPQmtYDV06O5FGGCY_HB1h_JnV8G0Rf6YEqXQxQt5uHM6exLHQlYzxQ7XuucDtjhfgQRCA4zxPghFDLdzBhvgK8a9YK9G__6f9EKxFkTEJVUe66n34XJGfF1yA1Ou7JMFdzoY4yNBUt498wpIkk5w__GzPXedkH_UA7el35c0gDa5ykm7rvTafQ96V5LkutGFM-EQ9ABc4tnZY7QFWySRoCg&h=dFpbcl7fTr_Lh5RfYU7xPyrCDiegIN3IbwoA71Lr36c + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: B2DDE60630D14EC2A29E6A6A63729910 Ref B: MAA201060514017 Ref C: 2025-01-07T09:32:09Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 728.503083ms + - 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: + - "52" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718391462701536&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=xDy3XpLq9ojxttURcXYBnhnILAdGiK8c0yOFlL44H-HZaTpsbI7GO32myzSzxFKPKjwqLzn3NI_re9IIAPN61SCx3YyERC5q0eNY7jU3ZPgVXM0lo6qyDrDBV7CIg9qfHMnnLcL3B8HV5CxyOlymwUFrtZDyowMwuRALS15JvUjTxcYUu6AnbICpZrF9nbTgs5t6pu1cah58Dt8h2hzZilGQGRXRKx_I8D9LAuKXCvgV1VkIvRFwgVzQEUjBihOaXea0GXVlMxWJZoXqBy5VmfZH2blrYO_Xuk3pqqNu1zWF3_7xRCelIyBLZbg0OVXGfxg24oLSRqK0xh_9Vy0sUQ&h=vTLEeGmjJHFj18CwovrhZ95WFnSMpOzxQZATahRJ5bo + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 0B423D5430E649C0981045BDB20D449F Ref B: MAA201060514017 Ref C: 2025-01-07T09:32:25Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 742.034792ms + - 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: + - "53" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718391627317753&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=sUT5bMsmajcHrtaLtyOwAvLW1g3Wkb38tx0K_iEBngjdSGBRIIwumiApSoV28SOTXxTOloQ_FNB_sgOw0A2M_BsVtWMA1vt4Cey7G1LWXm3k1BnuGUwSZ5EC1EMfGQ-BhLxfxcWO4FLCVZCu65vrHwMQk8W4ujaF4QfHLHQq1d7Uc7SRMuUnyyUDDVgoAnmMnZ1_ykJjqzVayZV6Z0z68y8-XGVrTXgFkrcBfNhee-IaTv1T6WbIW0WuPG7OS3DBxaM0vo8vSJWkLmoOSTiwlHgmYBWdZNrTIkm_F2pc4aWjmF3ZCkAFWA9IHLIIPMvuUCT0uLdUNV-KdvXulZjZ_A&h=EDbBRldY8fCxG9Ix91DwtcghPrJ4lOI7AlJ4B-5aYRg + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 62582DC9F70246329151CD606CB9DF9D Ref B: MAA201060514017 Ref C: 2025-01-07T09:32:42Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 809.606542ms + - 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: + - "54" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718391793723769&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=MlB6KzzV69GW7VOdozDoPWhphF8q1n7ExhMO0l6pCaJFDSAycqgT2Lc6HNFCYx_ztYTZDKeXcELH5xtWqT9KfiVPpErQS-9325_KdmTWXuhBg9eIFm2Ez_ROo59ICxBcOWc80buu7-UZpq1UektvBbV4hKgwAwUvLmcEWTqjWztOGD67RULFQzjv-HCPKuizuzp6ci31DMe_8M3ST8IQFozycZhYwZIGq5PKbuEjl0qb6DQ-a2Vss_4GUbJmsRNu2hR2fTgML4ISwJRqsf1gKQMK2Rx7axO8qmFbORkMUZw8jB_n9xfNh67BkUe7k9GZyW7l4lujIo3DgFEZWOFL0Q&h=K8bch0msXWFHUBDLqKG1myal00qCM5vzMvgSiHdVAJg + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 3DCDF22804D644E38F4611DA2A7FA066 Ref B: MAA201060514017 Ref C: 2025-01-07T09:32:58Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 764.610958ms + - 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: + - "55" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718391954817239&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=tSxotMSA0866GiRFs2Runj8_Weuw-jzsCylu_V9e7xjPjevs8OnzlIJMxVGMVWTIOmDiZKVhVGUdsbQn_YUAv9HddHKg9cOWQQNkqTJKvt0LE94q3lKpelQIPj3Bmz6Jug1f60uJjalYVgk9j64tPJQufSPJq_EHbFJrJFfZzkdByrIC6YyhJkuiwexTPOhAmjd0aLxr6GvCqT7a0mhwxRNeYZBekbm2Wn2t8mOmvQkhqiRxWODqcwlxT1PTnsUTcB6TUSZVj4ncVPdK3llHYSSybRLttUO0RY5Qm0P04Zzy4BvMtC_eYaXCxrGFhpOL2PgcsTCRcLuWemecWoTeoA&h=kdQni48smq5iMtykcYa1y0RSckxfzoyVAC0zIenKvU0 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: CCE683BB30084137BFCC0E227F46BF56 Ref B: MAA201060514017 Ref C: 2025-01-07T09:33:15Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 414.294417ms + - 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: + - "56" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718392117511195&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=gpQ1ZmAC0EttX8M4lbTPTLAqB405ICgtbfy4byl7YtmqnBcHhlYShR0GcDz4DRseE7R3Cc4HJZZKVjdQtLG_p89mgS3aWijAZEhO0VKQoyDeFKWVPaPFuYv0UcEHQsFj18SYLpxa31Y8PO7h0I_Mjp9bFeLQFQxzP_gTdt5Ar7R57Cj-sIoPJNBfPyo4l-zqJzLzDnExPxRB0c2_1Xw0atIz1nHVagVcI41rT0SVMXLMUqKSYHRujRaByzlCu3BaFPueVYkf2TVLGsdFyjVOctKVvU6vniebHC2WgQrBnmlhgq3qVOIa_TXBlO4kGtJP0cNrsbHAG3PozCdagpBjSA&h=gun9zR1S9UFXaub5isiK0Cf9Mqrd2A8p9oxxqWL3vBM + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 117CD2B8E8744675B7AA847F5E5EB221 Ref B: MAA201060514017 Ref C: 2025-01-07T09:33:31Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 725.882ms + - 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: + Test-Request-Attempt: + - "57" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718392283205473&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=WeLbTJ001CorpJ7y1FkhTUeBHjbZm5d-6mi-75Td54zmpIImPiHPmPRSylZQ4JY1tsZyJF1UrPcIAmMWmMHCXdEmcxDxm6kpK6PIhtgktmjxd9j0UhlNOVbrM5q4t6bPPgs5PuOV2lubaV28owjJPRLhTo5USg5xUtv5tkM-VSlQd47AjypYxkSBDT8Z4x4HsHoXFD5JWwg779s5uo_7Z0hcKqCnzKeV8nVUO_OlI2YTl6avme_STvc-dJSz3a75zBc-b9pBObC_2QCW1F0GdSudQ0kKM3AIXFdK8QbprAzZlptSXKQQMx83GJvmYdiKEWpcRR4YZAYOlFdBMSpl9Q&h=UR_6L_ugGgiEi1wjnuOtxs3yIopRbkGxJr1EhmLVQmw + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 5D833458E59441479B969ADD3B40B049 Ref B: MAA201060514017 Ref C: 2025-01-07T09:33:47Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 885.49075ms + - 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: + Test-Request-Attempt: + - "58" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718392455651054&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=kqBHYkvQnzn7wOlkDxMKzBjWW2cUnC1uYSw6mnXAVCAAmWhJ1fuvN5lsCAQTFmGioNu6csnQNWWmT5gT81U3dSrqbEJhZHK86WrS0Hr9t6nBNeDEkGQdj_6IynuoztoC6mASrxq0UsbCfd8pcLgsroAmp5WP1Ys9y9PWAfwTCleeI54BTLUqNGxbQ--cgNP65aiAPD3cFXsEUK6R7or0l9Q6WX365eLinPCL2G1DAiUonkDIW0Jio-WEtW1tD-cETOwnWN95LfKNzSCOV-TNngd_sz2jjGPuVVe54dzf17jz0QzL9vAuGwrcPwqrKh4IySwQ5uUrtUK-5gnHVdghjg&h=6tkts_9I6jGnZGvebNtoo4fRCcWnh8a8x_RgJRVGTfk + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: ED7119177299424EBDD11FB3C54DF4E4 Ref B: MAA201060514017 Ref C: 2025-01-07T09:34:04Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 782.398417ms + - id: 78 + 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: + - "59" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718392621012963&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=w25mcD2KwYee3sOj7n1ZIS8WlP93-lUu2SmwtBI20qv-cMh3pLfb2hWyO8Xvw4MMdTzxJceVtJCtXmzL4XIBpG8A5C8weOfIs1fx2qZUfe94NOdt7pv658-ibiv-mGLEYhybbQ74hs0VJ-bQQFOCd_AS-UJRrmNVWONbNVRnlMJgAHdeHOLcq3yzBK_VEjqQHyGLf0bEM8SOQ9_bH5TfVcMvb8U10d14_i1J0jgJsdSPGMy_1tW6KLoNO8MpubBYyXKFh6ETYLIQ8fCSulZn0g0ADxkv2hkFxyPXt4warrz0eaOabrzJlDK7bkP4Km7nSY9KLdJae15SNX0BfrMHiw&h=8iDFUTg6r6wpGLBQ4L_yIH-pr43w57xTry2qHTrRSY4 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 0D2A5812C5254C5F847E9B01046046FC Ref B: MAA201060514017 Ref C: 2025-01-07T09:34:21Z' + X-Powered-By: + - ASP.NET + status: 202 Accepted + code: 202 + duration: 814.2015ms + - id: 79 + 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: + - "60" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationResults/7a8d5e4d-bfec-4dac-aa54-6a5fa825106e?api-version=2024-03-01&t=638718382569084446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=VVlQQgxMMZyIEeSZ9UZ1XJHoUn-YjQrSQ9SG82TbmDkacIjz51wC99DvPasfDxr6TaxzA3hgYzfuhDv5n2i5UKXsNMF13_aF1XmoPwXmnCU2VAGekRw3a6DtL7-R79ltTokAN38RxxHPwzM3DY_eRcRUkaAfQTl6N-g3oeZhiUsnVOZYOcZVzmcyoFvtMoY8Ur7F84bHC1B2hcbfKHtVPr9GWW1dBbdZ7XxmA-j7eQYRLYzXD4n3mBYfsQTWtjOWfYGRoBkKZyzo_7QZUyd8DMJd_UVkxznpVLx0CyIV1XE2wGzf_d5ovd2ufsVWhOJyyhNgfcAAXtJB4yaR9mSd5w&h=4uzey1Kcd9c6P27j6LLqYYps_4RmfllEZX0alKr4NCg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: false + body: "" + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: F1C53407D62D4BBBAABB2FF2E5CE7965 Ref B: MAA201060514017 Ref C: 2025-01-07T09:34:38Z' + X-Powered-By: + - ASP.NET + status: 204 No Content + code: 204 + duration: 739.886458ms + - id: 80 + 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: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-yugmgs/providers/Microsoft.App/managedEnvironments/asotest-env-lwfric?api-version=2024-03-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 241 + uncompressed: false + body: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.App/managedEnvironments/asotest-env-lwfric'' under resource group ''asotest-rg-yugmgs'' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "241" + 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: CEEF8DCCE64D44E088C810C17114C18F Ref B: MAA201060514017 Ref C: 2025-01-07T09:34:47Z' + status: 404 Not Found + code: 404 + duration: 264.560583ms + - id: 81 + 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-yugmgs?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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRZVUdNR1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718392933397204&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=yyyDJn0LRXSwhnXtIUQobgOY16wTrZz7UhLIhNn5ga2zo1xESFFHaRzf9vd6FmuVAFeYZmNTFNIs4X7ua4fakCtg9OsjIc2jpG91Xoss4ByZBxJGejBrInH8ZIMeIQM6em0N54zX6B_q0jZFPUp8FyERksGsIQijCmoVcVsinZMN-xlqIzFa8LpIizwutrixeU0ASFmgJgObQGG9xpq2n0oXau9Xt160BmvZCP8bPmUZqfR_moyP1sqmJmlvcq774g67xo2Li49noDokxbovo8ircFoNORwUShzTRvE6xBO6s5cMXc3dQwAyUae7z_WsQiK80Z7px5pCjLYM4ogxgg&h=4kml6R3v43bvGmY_5KEwUDkLMO07zqEbyXc7fHGRy1I + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Deletes: + - "11999" + X-Msedge-Ref: + - 'Ref A: 15DF4510039342558AF4A50B09C609BA Ref B: MAA201060514017 Ref C: 2025-01-07T09:34:48Z' + status: 202 Accepted + code: 202 + duration: 5.185749416s + - id: 82 + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRZVUdNR1MtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638718392933397204&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=yyyDJn0LRXSwhnXtIUQobgOY16wTrZz7UhLIhNn5ga2zo1xESFFHaRzf9vd6FmuVAFeYZmNTFNIs4X7ua4fakCtg9OsjIc2jpG91Xoss4ByZBxJGejBrInH8ZIMeIQM6em0N54zX6B_q0jZFPUp8FyERksGsIQijCmoVcVsinZMN-xlqIzFa8LpIizwutrixeU0ASFmgJgObQGG9xpq2n0oXau9Xt160BmvZCP8bPmUZqfR_moyP1sqmJmlvcq774g67xo2Li49noDokxbovo8ircFoNORwUShzTRvE6xBO6s5cMXc3dQwAyUae7z_WsQiK80Z7px5pCjLYM4ogxgg&h=4kml6R3v43bvGmY_5KEwUDkLMO07zqEbyXc7fHGRy1I + 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-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: FA4E4A35B7964BA3A405F5F8258632C3 Ref B: MAA201060514017 Ref C: 2025-01-07T09:35:13Z' + status: 200 OK + code: 200 + duration: 1.103186625s diff --git a/v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_App_v1api20240301_CreationAndDeletion.yaml b/v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_App_v1api20240301_CreationAndDeletion.yaml new file mode 100644 index 00000000000..b4567ca52c7 --- /dev/null +++ b/v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_App_v1api20240301_CreationAndDeletion.yaml @@ -0,0 +1,7023 @@ +--- +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-lwgnys","tags":{"CreatedAt":"2001-02-03T04:05:06Z"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "93" + Content-Type: + - application/json + Test-Request-Hash: + - cda4e298c4e48532c637a0192e014996c4fb7af811b629d90892705df4e06feb + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys?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-lwgnys","name":"asotest-rg-lwgnys","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-Ms-Ratelimit-Remaining-Subscription-Global-Writes: + - "11999" + X-Msedge-Ref: + - 'Ref A: 489773773DBA441EA61346FFB0714F52 Ref B: MAA201060515033 Ref C: 2025-01-08T07:48:47Z' + status: 201 Created + code: 201 + duration: 4.551801083s + - 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-lwgnys?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-lwgnys","name":"asotest-rg-lwgnys","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-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: F05E7DD4BA7542FA9E62781DA52E3AF3 Ref B: MAA201060515033 Ref C: 2025-01-08T07:48:56Z' + status: 200 OK + code: 200 + duration: 319.422667ms + - id: 2 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 163 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"aso-sample-env","properties":{"workloadProfiles":[{"maximumCount":2,"minimumCount":1,"name":"profile1","workloadProfileType":"D4"}]}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "163" + Content-Type: + - application/json + Test-Request-Hash: + - 5ba6059f9e684b5dd2ff3bfa766a081c4a685cbc241467e7ff93f62ba167e7ab + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env?api-version=2024-03-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1641 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env","name":"aso-sample-env","type":"Microsoft.App/managedEnvironments","location":"West US 2","systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2025-01-08T07:49:02.3454776","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-01-08T07:49:02.3454776"},"properties":{"provisioningState":"Waiting","daprAIInstrumentationKey":null,"daprAIConnectionString":null,"vnetConfiguration":null,"defaultDomain":"happyforest-2166123b.westus2.azurecontainerapps.io","staticIp":"52.156.145.2","appLogsConfiguration":{"destination":null,"logAnalyticsConfiguration":null},"zoneRedundant":false,"kedaConfiguration":{"version":"2.15.1"},"daprConfiguration":{"version":"1.12.5"},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/managedEnvironments/aso-sample-env/eventstream","customDomainConfiguration":{"customDomainVerificationId":"EFF02641736216A6CF4A85BE2625D8D075D5E5C45BBE094AB95EC8CC9DC473BF","dnsSuffix":null,"certificateValue":null,"certificatePassword":null,"thumbprint":null,"subjectName":null,"expirationDate":null},"workloadProfiles":[{"workloadProfileType":"D4","name":"profile1","minimumCount":1,"maximumCount":2},{"workloadProfileType":"Consumption","name":"Consumption"}],"infrastructureResourceGroup":null,"peerAuthentication":{"mtls":{"enabled":false}},"peerTrafficConfiguration":{"encryption":{"enabled":false}}}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/e899c191-60cd-4f0b-907b-457aeac9cff8?api-version=2024-03-01&azureAsyncOperation=true&t=638719193441423861&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=btmH3WGKlQsiRYGUEQwopNRdma_NCDMHAsfJkpqweH6hrW-d9fw3gdwMgy2BRePVAsc_6W1wiOx4fglr9n1N-XQqEvBDDTWwftKrmjoGXZ8tHuPYRXKSpd7Gt8fcHVY1k8thjAfKHb4WQ_wqYMv4jW3ixaBWLbmLLVEe8lxb-ZClxOscCRLwzydxVCdADkjsXNgU15ePVJFSTCZdf7xcAqsanQIQZsnTbmUMMsHd5U2HGkyagM8czBwHMVRPsXBOcQg3_EAdAHnRkFQyEb_RpyYtw0sJz0mV8S8HafEg4q-XNkXNi_iFutUIHHjhQsN4k6k4us9cSZ162JDDKkBX0w&h=hnPa70KT4C0MTtXpgE8coRA6HO-PnJlQz3jMopb3DYc + Cache-Control: + - no-cache + Content-Length: + - "1641" + 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-Ms-Async-Operation-Timeout: + - PT15M + X-Ms-Ratelimit-Remaining-Subscription-Resource-Requests: + - "99" + X-Msedge-Ref: + - 'Ref A: 47E4F834B9BD4025A12FC01CD7A668C9 Ref B: MAA201060515033 Ref C: 2025-01-08T07:48:59Z' + X-Powered-By: + - ASP.NET + status: 201 Created + code: 201 + duration: 5.017771209s + - id: 3 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 170 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"aso-sample-managedenv","properties":{"workloadProfiles":[{"maximumCount":2,"minimumCount":1,"name":"profile1","workloadProfileType":"D4"}]}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "170" + Content-Type: + - application/json + Test-Request-Hash: + - c7d922fc0ccd7fce833f90b013d275b0afb90e1fb6afe4a8abf6207ca4bb0641 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-managedenv?api-version=2024-03-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1663 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-managedenv","name":"aso-sample-managedenv","type":"Microsoft.App/managedEnvironments","location":"West US 2","systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2025-01-08T07:49:02.6786597","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-01-08T07:49:02.6786597"},"properties":{"provisioningState":"Waiting","daprAIInstrumentationKey":null,"daprAIConnectionString":null,"vnetConfiguration":null,"defaultDomain":"graypebble-e2c8e539.westus2.azurecontainerapps.io","staticIp":"52.148.145.193","appLogsConfiguration":{"destination":null,"logAnalyticsConfiguration":null},"zoneRedundant":false,"kedaConfiguration":{"version":"2.15.1"},"daprConfiguration":{"version":"1.12.5"},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/managedEnvironments/aso-sample-managedenv/eventstream","customDomainConfiguration":{"customDomainVerificationId":"EFF02641736216A6CF4A85BE2625D8D075D5E5C45BBE094AB95EC8CC9DC473BF","dnsSuffix":null,"certificateValue":null,"certificatePassword":null,"thumbprint":null,"subjectName":null,"expirationDate":null},"workloadProfiles":[{"workloadProfileType":"D4","name":"profile1","minimumCount":1,"maximumCount":2},{"workloadProfileType":"Consumption","name":"Consumption"}],"infrastructureResourceGroup":null,"peerAuthentication":{"mtls":{"enabled":false}},"peerTrafficConfiguration":{"encryption":{"enabled":false}}}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/938668fe-fe0c-4da9-8d3d-a532561cd07b?api-version=2024-03-01&azureAsyncOperation=true&t=638719193444443077&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=J2X-zbpJxzHNYtndbwzlI8DQJKmyAy_H7zqeH8xyCs7Z3EEqC5qH_s9GjtrLsVH9-5MS_APQTmPgej9BBopHFVwBtMWAdiBuWBun9oLbslEi9RKNG2a8xuepug0PKfpJsXXL2IMi4wVCm9R8tIwWTto8KJV8SYEnqWWZk4kkUyt9_CYcdTclzH0A4PrZ9jOiPTyJ5NlkrKbKfQjqCj1RXEV2PMENSNaoaM8miS5T3TP4Z8haWQDVZLFeuvsgYYvwJuEV4ESp9ZwSUAdo4RizV0p6vVBGEpXcVgSnlAVgn99zf6wbY-_5rE5y2P2Gs-6z4PUwF9Xmbp7jeca-WJc57g&h=zYgp2T1dvOo9ldSwM24L9Xgtx5CDerqyJp2oaoIhJOY + Cache-Control: + - no-cache + Content-Length: + - "1663" + 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-Ms-Async-Operation-Timeout: + - PT15M + X-Ms-Ratelimit-Remaining-Subscription-Resource-Requests: + - "99" + X-Msedge-Ref: + - 'Ref A: F5A869F0AC084A17AEFC25B685B72D5A Ref B: MAA201060515033 Ref C: 2025-01-08T07:48:59Z' + X-Powered-By: + - ASP.NET + status: 201 Created + code: 201 + duration: 5.340945333s + - id: 4 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 670 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"aso-sample-app","properties":{"configuration":{"ingress":{"allowInsecure":false,"targetPort":80}},"environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env","template":{"containers":[{"image":"nginx:latest","name":"nginx","volumeMounts":[{"mountPath":"/usr/share/nginx/html","volumeName":"shared"}]}],"initContainers":[{"args":["-c","echo Hello World"],"command":["/bin/sh"],"image":"debian:latest","name":"debian","volumeMounts":[{"mountPath":"/shared","volumeName":"shared"}]}],"volumes":[{"name":"shared","storageType":"EmptyDir"}]}}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "670" + Content-Type: + - application/json + Test-Request-Hash: + - 4b64ffdd4c9dedafbd224a0954bb2ae40bed6799de3f4af61025c75202f3bd13 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/containerApps/aso-sample-app?api-version=2024-03-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 266 + uncompressed: false + body: '{"error":{"code":"ManagedEnvironmentNotProvisioned","message":"The environment ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env'' has not been provisioned successfully."}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "266" + 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-Ratelimit-Remaining-Subscription-Resource-Requests: + - "699" + X-Msedge-Ref: + - 'Ref A: 680C48E047B941FCBA83AFB19D69CDA5 Ref B: MAA201060515033 Ref C: 2025-01-08T07:49:00Z' + X-Powered-By: + - ASP.NET + status: 400 Bad Request + code: 400 + duration: 4.520325291s + - id: 5 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 490 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"aso-sample-job","properties":{"configuration":{"manualTriggerConfig":{"parallelism":1,"replicaCompletionCount":1},"replicaRetryLimit":10,"replicaTimeout":10,"triggerType":"Manual"},"environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env","template":{"containers":[{"image":"mcr.microsoft.com/k8se/quickstart-jobs:latest","name":"testcontainerappsjob"}]}}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "490" + Content-Type: + - application/json + Test-Request-Hash: + - 57b3d73ad9437c3cb921d3b0d33cdb69456ba6f30c35732c12e0204fbe1c2a3a + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/jobs/aso-sample-job?api-version=2024-03-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 266 + uncompressed: false + body: '{"error":{"code":"ManagedEnvironmentNotProvisioned","message":"The environment ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env'' has not been provisioned successfully."}}' + headers: + Api-Supported-Versions: + - 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "266" + 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-Ratelimit-Remaining-Subscription-Resource-Requests: + - "499" + X-Msedge-Ref: + - 'Ref A: 656B2BFF952849098CC60557A8BD4109 Ref B: MAA201060515033 Ref C: 2025-01-08T07:49:00Z' + X-Powered-By: + - ASP.NET + status: 400 Bad Request + code: 400 + duration: 5.021918375s + - 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.App/locations/westus2/managedEnvironmentOperationStatuses/e899c191-60cd-4f0b-907b-457aeac9cff8?api-version=2024-03-01&azureAsyncOperation=true&t=638719193441423861&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=btmH3WGKlQsiRYGUEQwopNRdma_NCDMHAsfJkpqweH6hrW-d9fw3gdwMgy2BRePVAsc_6W1wiOx4fglr9n1N-XQqEvBDDTWwftKrmjoGXZ8tHuPYRXKSpd7Gt8fcHVY1k8thjAfKHb4WQ_wqYMv4jW3ixaBWLbmLLVEe8lxb-ZClxOscCRLwzydxVCdADkjsXNgU15ePVJFSTCZdf7xcAqsanQIQZsnTbmUMMsHd5U2HGkyagM8czBwHMVRPsXBOcQg3_EAdAHnRkFQyEb_RpyYtw0sJz0mV8S8HafEg4q-XNkXNi_iFutUIHHjhQsN4k6k4us9cSZ162JDDKkBX0w&h=hnPa70KT4C0MTtXpgE8coRA6HO-PnJlQz3jMopb3DYc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 285 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/e899c191-60cd-4f0b-907b-457aeac9cff8","name":"e899c191-60cd-4f0b-907b-457aeac9cff8","status":"InProgress","startTime":"2025-01-08T07:49:03.6227783"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "285" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: ED2B60469057466A8C6649E69F41895C Ref B: MAA201060515033 Ref C: 2025-01-08T07:49:11Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 788.692834ms + - 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: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/938668fe-fe0c-4da9-8d3d-a532561cd07b?api-version=2024-03-01&azureAsyncOperation=true&t=638719193444443077&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=J2X-zbpJxzHNYtndbwzlI8DQJKmyAy_H7zqeH8xyCs7Z3EEqC5qH_s9GjtrLsVH9-5MS_APQTmPgej9BBopHFVwBtMWAdiBuWBun9oLbslEi9RKNG2a8xuepug0PKfpJsXXL2IMi4wVCm9R8tIwWTto8KJV8SYEnqWWZk4kkUyt9_CYcdTclzH0A4PrZ9jOiPTyJ5NlkrKbKfQjqCj1RXEV2PMENSNaoaM8miS5T3TP4Z8haWQDVZLFeuvsgYYvwJuEV4ESp9ZwSUAdo4RizV0p6vVBGEpXcVgSnlAVgn99zf6wbY-_5rE5y2P2Gs-6z4PUwF9Xmbp7jeca-WJc57g&h=zYgp2T1dvOo9ldSwM24L9Xgtx5CDerqyJp2oaoIhJOY + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 285 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/938668fe-fe0c-4da9-8d3d-a532561cd07b","name":"938668fe-fe0c-4da9-8d3d-a532561cd07b","status":"InProgress","startTime":"2025-01-08T07:49:03.9258668"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "285" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 8D46D7C8DED14533B4C0623F906B029F Ref B: MAA201060515033 Ref C: 2025-01-08T07:49:11Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 713.663791ms + - id: 8 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 670 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"aso-sample-app","properties":{"configuration":{"ingress":{"allowInsecure":false,"targetPort":80}},"environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env","template":{"containers":[{"image":"nginx:latest","name":"nginx","volumeMounts":[{"mountPath":"/usr/share/nginx/html","volumeName":"shared"}]}],"initContainers":[{"args":["-c","echo Hello World"],"command":["/bin/sh"],"image":"debian:latest","name":"debian","volumeMounts":[{"mountPath":"/shared","volumeName":"shared"}]}],"volumes":[{"name":"shared","storageType":"EmptyDir"}]}}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "670" + Content-Type: + - application/json + Test-Request-Hash: + - 4b64ffdd4c9dedafbd224a0954bb2ae40bed6799de3f4af61025c75202f3bd13 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/containerApps/aso-sample-app?api-version=2024-03-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 266 + uncompressed: false + body: '{"error":{"code":"ManagedEnvironmentNotProvisioned","message":"The environment ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env'' has not been provisioned successfully."}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "266" + 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-Ratelimit-Remaining-Subscription-Resource-Requests: + - "699" + X-Msedge-Ref: + - 'Ref A: D382E1BF41AE484A868134E416DFC9C4 Ref B: MAA201060515033 Ref C: 2025-01-08T07:49:11Z' + X-Powered-By: + - ASP.NET + status: 400 Bad Request + code: 400 + duration: 4.1296985s + - id: 9 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 490 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"aso-sample-job","properties":{"configuration":{"manualTriggerConfig":{"parallelism":1,"replicaCompletionCount":1},"replicaRetryLimit":10,"replicaTimeout":10,"triggerType":"Manual"},"environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env","template":{"containers":[{"image":"mcr.microsoft.com/k8se/quickstart-jobs:latest","name":"testcontainerappsjob"}]}}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "490" + Content-Type: + - application/json + Test-Request-Hash: + - 57b3d73ad9437c3cb921d3b0d33cdb69456ba6f30c35732c12e0204fbe1c2a3a + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/jobs/aso-sample-job?api-version=2024-03-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 266 + uncompressed: false + body: '{"error":{"code":"ManagedEnvironmentNotProvisioned","message":"The environment ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env'' has not been provisioned successfully."}}' + headers: + Api-Supported-Versions: + - 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "266" + 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-Ratelimit-Remaining-Subscription-Resource-Requests: + - "499" + X-Msedge-Ref: + - 'Ref A: D21F2A130AA3476A98D05B769F768893 Ref B: MAA201060515033 Ref C: 2025-01-08T07:49:12Z' + X-Powered-By: + - ASP.NET + status: 400 Bad Request + code: 400 + duration: 4.324782s + - 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: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/e899c191-60cd-4f0b-907b-457aeac9cff8?api-version=2024-03-01&azureAsyncOperation=true&t=638719193441423861&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=btmH3WGKlQsiRYGUEQwopNRdma_NCDMHAsfJkpqweH6hrW-d9fw3gdwMgy2BRePVAsc_6W1wiOx4fglr9n1N-XQqEvBDDTWwftKrmjoGXZ8tHuPYRXKSpd7Gt8fcHVY1k8thjAfKHb4WQ_wqYMv4jW3ixaBWLbmLLVEe8lxb-ZClxOscCRLwzydxVCdADkjsXNgU15ePVJFSTCZdf7xcAqsanQIQZsnTbmUMMsHd5U2HGkyagM8czBwHMVRPsXBOcQg3_EAdAHnRkFQyEb_RpyYtw0sJz0mV8S8HafEg4q-XNkXNi_iFutUIHHjhQsN4k6k4us9cSZ162JDDKkBX0w&h=hnPa70KT4C0MTtXpgE8coRA6HO-PnJlQz3jMopb3DYc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 285 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/e899c191-60cd-4f0b-907b-457aeac9cff8","name":"e899c191-60cd-4f0b-907b-457aeac9cff8","status":"InProgress","startTime":"2025-01-08T07:49:03.6227783"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "285" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 763A2950B66F43EB85844B0241B2904B Ref B: MAA201060515033 Ref C: 2025-01-08T07:49:16Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 784.061584ms + - 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: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/938668fe-fe0c-4da9-8d3d-a532561cd07b?api-version=2024-03-01&azureAsyncOperation=true&t=638719193444443077&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=J2X-zbpJxzHNYtndbwzlI8DQJKmyAy_H7zqeH8xyCs7Z3EEqC5qH_s9GjtrLsVH9-5MS_APQTmPgej9BBopHFVwBtMWAdiBuWBun9oLbslEi9RKNG2a8xuepug0PKfpJsXXL2IMi4wVCm9R8tIwWTto8KJV8SYEnqWWZk4kkUyt9_CYcdTclzH0A4PrZ9jOiPTyJ5NlkrKbKfQjqCj1RXEV2PMENSNaoaM8miS5T3TP4Z8haWQDVZLFeuvsgYYvwJuEV4ESp9ZwSUAdo4RizV0p6vVBGEpXcVgSnlAVgn99zf6wbY-_5rE5y2P2Gs-6z4PUwF9Xmbp7jeca-WJc57g&h=zYgp2T1dvOo9ldSwM24L9Xgtx5CDerqyJp2oaoIhJOY + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 285 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/938668fe-fe0c-4da9-8d3d-a532561cd07b","name":"938668fe-fe0c-4da9-8d3d-a532561cd07b","status":"InProgress","startTime":"2025-01-08T07:49:03.9258668"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "285" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: FDCDE57BBAC748148E49B2E0EEB3BF0E Ref B: MAA201060515033 Ref C: 2025-01-08T07:49:17Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 864.002208ms + - 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: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/e899c191-60cd-4f0b-907b-457aeac9cff8?api-version=2024-03-01&azureAsyncOperation=true&t=638719193441423861&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=btmH3WGKlQsiRYGUEQwopNRdma_NCDMHAsfJkpqweH6hrW-d9fw3gdwMgy2BRePVAsc_6W1wiOx4fglr9n1N-XQqEvBDDTWwftKrmjoGXZ8tHuPYRXKSpd7Gt8fcHVY1k8thjAfKHb4WQ_wqYMv4jW3ixaBWLbmLLVEe8lxb-ZClxOscCRLwzydxVCdADkjsXNgU15ePVJFSTCZdf7xcAqsanQIQZsnTbmUMMsHd5U2HGkyagM8czBwHMVRPsXBOcQg3_EAdAHnRkFQyEb_RpyYtw0sJz0mV8S8HafEg4q-XNkXNi_iFutUIHHjhQsN4k6k4us9cSZ162JDDKkBX0w&h=hnPa70KT4C0MTtXpgE8coRA6HO-PnJlQz3jMopb3DYc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 285 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/e899c191-60cd-4f0b-907b-457aeac9cff8","name":"e899c191-60cd-4f0b-907b-457aeac9cff8","status":"InProgress","startTime":"2025-01-08T07:49:03.6227783"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "285" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 205A254E252442D3B777C0AE5B7BF8DD Ref B: MAA201060515033 Ref C: 2025-01-08T07:49:26Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 790.897667ms + - id: 13 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 670 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"aso-sample-app","properties":{"configuration":{"ingress":{"allowInsecure":false,"targetPort":80}},"environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env","template":{"containers":[{"image":"nginx:latest","name":"nginx","volumeMounts":[{"mountPath":"/usr/share/nginx/html","volumeName":"shared"}]}],"initContainers":[{"args":["-c","echo Hello World"],"command":["/bin/sh"],"image":"debian:latest","name":"debian","volumeMounts":[{"mountPath":"/shared","volumeName":"shared"}]}],"volumes":[{"name":"shared","storageType":"EmptyDir"}]}}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "670" + Content-Type: + - application/json + Test-Request-Hash: + - 4b64ffdd4c9dedafbd224a0954bb2ae40bed6799de3f4af61025c75202f3bd13 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/containerApps/aso-sample-app?api-version=2024-03-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 266 + uncompressed: false + body: '{"error":{"code":"ManagedEnvironmentNotProvisioned","message":"The environment ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env'' has not been provisioned successfully."}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "266" + 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-Ratelimit-Remaining-Subscription-Resource-Requests: + - "699" + X-Msedge-Ref: + - 'Ref A: 793AF137CA0A41458403314ED5246BE5 Ref B: MAA201060515033 Ref C: 2025-01-08T07:49:23Z' + X-Powered-By: + - ASP.NET + status: 400 Bad Request + code: 400 + duration: 3.95569525s + - 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: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/938668fe-fe0c-4da9-8d3d-a532561cd07b?api-version=2024-03-01&azureAsyncOperation=true&t=638719193444443077&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=J2X-zbpJxzHNYtndbwzlI8DQJKmyAy_H7zqeH8xyCs7Z3EEqC5qH_s9GjtrLsVH9-5MS_APQTmPgej9BBopHFVwBtMWAdiBuWBun9oLbslEi9RKNG2a8xuepug0PKfpJsXXL2IMi4wVCm9R8tIwWTto8KJV8SYEnqWWZk4kkUyt9_CYcdTclzH0A4PrZ9jOiPTyJ5NlkrKbKfQjqCj1RXEV2PMENSNaoaM8miS5T3TP4Z8haWQDVZLFeuvsgYYvwJuEV4ESp9ZwSUAdo4RizV0p6vVBGEpXcVgSnlAVgn99zf6wbY-_5rE5y2P2Gs-6z4PUwF9Xmbp7jeca-WJc57g&h=zYgp2T1dvOo9ldSwM24L9Xgtx5CDerqyJp2oaoIhJOY + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 285 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/938668fe-fe0c-4da9-8d3d-a532561cd07b","name":"938668fe-fe0c-4da9-8d3d-a532561cd07b","status":"InProgress","startTime":"2025-01-08T07:49:03.9258668"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "285" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: CE20601482A54D6E8DA32ACAE9FC5BA4 Ref B: MAA201060515033 Ref C: 2025-01-08T07:49:27Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 754.525166ms + - id: 15 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 490 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"aso-sample-job","properties":{"configuration":{"manualTriggerConfig":{"parallelism":1,"replicaCompletionCount":1},"replicaRetryLimit":10,"replicaTimeout":10,"triggerType":"Manual"},"environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env","template":{"containers":[{"image":"mcr.microsoft.com/k8se/quickstart-jobs:latest","name":"testcontainerappsjob"}]}}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "490" + Content-Type: + - application/json + Test-Request-Hash: + - 57b3d73ad9437c3cb921d3b0d33cdb69456ba6f30c35732c12e0204fbe1c2a3a + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/jobs/aso-sample-job?api-version=2024-03-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 266 + uncompressed: false + body: '{"error":{"code":"ManagedEnvironmentNotProvisioned","message":"The environment ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env'' has not been provisioned successfully."}}' + headers: + Api-Supported-Versions: + - 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "266" + 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-Ratelimit-Remaining-Subscription-Resource-Requests: + - "499" + X-Msedge-Ref: + - 'Ref A: BA0946BFC966463BBA3EE23852F2AA83 Ref B: MAA201060515033 Ref C: 2025-01-08T07:49:25Z' + X-Powered-By: + - ASP.NET + status: 400 Bad Request + code: 400 + duration: 3.876026125s + - id: 16 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 670 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"aso-sample-app","properties":{"configuration":{"ingress":{"allowInsecure":false,"targetPort":80}},"environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env","template":{"containers":[{"image":"nginx:latest","name":"nginx","volumeMounts":[{"mountPath":"/usr/share/nginx/html","volumeName":"shared"}]}],"initContainers":[{"args":["-c","echo Hello World"],"command":["/bin/sh"],"image":"debian:latest","name":"debian","volumeMounts":[{"mountPath":"/shared","volumeName":"shared"}]}],"volumes":[{"name":"shared","storageType":"EmptyDir"}]}}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "670" + Content-Type: + - application/json + Test-Request-Hash: + - 4b64ffdd4c9dedafbd224a0954bb2ae40bed6799de3f4af61025c75202f3bd13 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/containerApps/aso-sample-app?api-version=2024-03-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 266 + uncompressed: false + body: '{"error":{"code":"ManagedEnvironmentNotProvisioned","message":"The environment ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env'' has not been provisioned successfully."}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "266" + 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-Ratelimit-Remaining-Subscription-Resource-Requests: + - "699" + X-Msedge-Ref: + - 'Ref A: BEF5E1925F754495B053739D77323D8C Ref B: MAA201060515033 Ref C: 2025-01-08T07:49:39Z' + X-Powered-By: + - ASP.NET + status: 400 Bad Request + code: 400 + duration: 4.518860958s + - 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: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/e899c191-60cd-4f0b-907b-457aeac9cff8?api-version=2024-03-01&azureAsyncOperation=true&t=638719193441423861&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=btmH3WGKlQsiRYGUEQwopNRdma_NCDMHAsfJkpqweH6hrW-d9fw3gdwMgy2BRePVAsc_6W1wiOx4fglr9n1N-XQqEvBDDTWwftKrmjoGXZ8tHuPYRXKSpd7Gt8fcHVY1k8thjAfKHb4WQ_wqYMv4jW3ixaBWLbmLLVEe8lxb-ZClxOscCRLwzydxVCdADkjsXNgU15ePVJFSTCZdf7xcAqsanQIQZsnTbmUMMsHd5U2HGkyagM8czBwHMVRPsXBOcQg3_EAdAHnRkFQyEb_RpyYtw0sJz0mV8S8HafEg4q-XNkXNi_iFutUIHHjhQsN4k6k4us9cSZ162JDDKkBX0w&h=hnPa70KT4C0MTtXpgE8coRA6HO-PnJlQz3jMopb3DYc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 285 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/e899c191-60cd-4f0b-907b-457aeac9cff8","name":"e899c191-60cd-4f0b-907b-457aeac9cff8","status":"InProgress","startTime":"2025-01-08T07:49:03.6227783"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "285" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: EF1D0C66AFDB436FAAC676E741C0A9BA Ref B: MAA201060515033 Ref C: 2025-01-08T07:49:44Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 731.130375ms + - 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: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/938668fe-fe0c-4da9-8d3d-a532561cd07b?api-version=2024-03-01&azureAsyncOperation=true&t=638719193444443077&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=J2X-zbpJxzHNYtndbwzlI8DQJKmyAy_H7zqeH8xyCs7Z3EEqC5qH_s9GjtrLsVH9-5MS_APQTmPgej9BBopHFVwBtMWAdiBuWBun9oLbslEi9RKNG2a8xuepug0PKfpJsXXL2IMi4wVCm9R8tIwWTto8KJV8SYEnqWWZk4kkUyt9_CYcdTclzH0A4PrZ9jOiPTyJ5NlkrKbKfQjqCj1RXEV2PMENSNaoaM8miS5T3TP4Z8haWQDVZLFeuvsgYYvwJuEV4ESp9ZwSUAdo4RizV0p6vVBGEpXcVgSnlAVgn99zf6wbY-_5rE5y2P2Gs-6z4PUwF9Xmbp7jeca-WJc57g&h=zYgp2T1dvOo9ldSwM24L9Xgtx5CDerqyJp2oaoIhJOY + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 285 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/938668fe-fe0c-4da9-8d3d-a532561cd07b","name":"938668fe-fe0c-4da9-8d3d-a532561cd07b","status":"InProgress","startTime":"2025-01-08T07:49:03.9258668"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "285" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 61A7667EE963460A851E873DCA6020C3 Ref B: MAA201060515033 Ref C: 2025-01-08T07:49:44Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 318.24175ms + - id: 19 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 490 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"aso-sample-job","properties":{"configuration":{"manualTriggerConfig":{"parallelism":1,"replicaCompletionCount":1},"replicaRetryLimit":10,"replicaTimeout":10,"triggerType":"Manual"},"environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env","template":{"containers":[{"image":"mcr.microsoft.com/k8se/quickstart-jobs:latest","name":"testcontainerappsjob"}]}}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "490" + Content-Type: + - application/json + Test-Request-Hash: + - 57b3d73ad9437c3cb921d3b0d33cdb69456ba6f30c35732c12e0204fbe1c2a3a + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/jobs/aso-sample-job?api-version=2024-03-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 266 + uncompressed: false + body: '{"error":{"code":"ManagedEnvironmentNotProvisioned","message":"The environment ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env'' has not been provisioned successfully."}}' + headers: + Api-Supported-Versions: + - 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "266" + 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-Ratelimit-Remaining-Subscription-Resource-Requests: + - "499" + X-Msedge-Ref: + - 'Ref A: 1F9FE1829DD54799A8DFB396AD753291 Ref B: MAA201060515033 Ref C: 2025-01-08T07:49:41Z' + X-Powered-By: + - ASP.NET + status: 400 Bad Request + code: 400 + duration: 4.211626541s + - id: 20 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 670 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"aso-sample-app","properties":{"configuration":{"ingress":{"allowInsecure":false,"targetPort":80}},"environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env","template":{"containers":[{"image":"nginx:latest","name":"nginx","volumeMounts":[{"mountPath":"/usr/share/nginx/html","volumeName":"shared"}]}],"initContainers":[{"args":["-c","echo Hello World"],"command":["/bin/sh"],"image":"debian:latest","name":"debian","volumeMounts":[{"mountPath":"/shared","volumeName":"shared"}]}],"volumes":[{"name":"shared","storageType":"EmptyDir"}]}}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "670" + Content-Type: + - application/json + Test-Request-Hash: + - 4b64ffdd4c9dedafbd224a0954bb2ae40bed6799de3f4af61025c75202f3bd13 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/containerApps/aso-sample-app?api-version=2024-03-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 266 + uncompressed: false + body: '{"error":{"code":"ManagedEnvironmentNotProvisioned","message":"The environment ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env'' has not been provisioned successfully."}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "266" + 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-Ratelimit-Remaining-Subscription-Resource-Requests: + - "699" + X-Msedge-Ref: + - 'Ref A: C115FA239E464032A1DDB18F25E090A1 Ref B: MAA201060515033 Ref C: 2025-01-08T07:50:04Z' + X-Powered-By: + - ASP.NET + status: 400 Bad Request + code: 400 + duration: 4.084766292s + - id: 21 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 490 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"aso-sample-job","properties":{"configuration":{"manualTriggerConfig":{"parallelism":1,"replicaCompletionCount":1},"replicaRetryLimit":10,"replicaTimeout":10,"triggerType":"Manual"},"environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env","template":{"containers":[{"image":"mcr.microsoft.com/k8se/quickstart-jobs:latest","name":"testcontainerappsjob"}]}}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "490" + Content-Type: + - application/json + Test-Request-Hash: + - 57b3d73ad9437c3cb921d3b0d33cdb69456ba6f30c35732c12e0204fbe1c2a3a + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/jobs/aso-sample-job?api-version=2024-03-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 266 + uncompressed: false + body: '{"error":{"code":"ManagedEnvironmentNotProvisioned","message":"The environment ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env'' has not been provisioned successfully."}}' + headers: + Api-Supported-Versions: + - 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "266" + 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-Ratelimit-Remaining-Subscription-Resource-Requests: + - "499" + X-Msedge-Ref: + - 'Ref A: 5A9E23441EDA4436914D9C4D45D848C9 Ref B: MAA201060515033 Ref C: 2025-01-08T07:50:05Z' + X-Powered-By: + - ASP.NET + status: 400 Bad Request + code: 400 + duration: 4.097292666s + - 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: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/938668fe-fe0c-4da9-8d3d-a532561cd07b?api-version=2024-03-01&azureAsyncOperation=true&t=638719193444443077&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=J2X-zbpJxzHNYtndbwzlI8DQJKmyAy_H7zqeH8xyCs7Z3EEqC5qH_s9GjtrLsVH9-5MS_APQTmPgej9BBopHFVwBtMWAdiBuWBun9oLbslEi9RKNG2a8xuepug0PKfpJsXXL2IMi4wVCm9R8tIwWTto8KJV8SYEnqWWZk4kkUyt9_CYcdTclzH0A4PrZ9jOiPTyJ5NlkrKbKfQjqCj1RXEV2PMENSNaoaM8miS5T3TP4Z8haWQDVZLFeuvsgYYvwJuEV4ESp9ZwSUAdo4RizV0p6vVBGEpXcVgSnlAVgn99zf6wbY-_5rE5y2P2Gs-6z4PUwF9Xmbp7jeca-WJc57g&h=zYgp2T1dvOo9ldSwM24L9Xgtx5CDerqyJp2oaoIhJOY + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 285 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/938668fe-fe0c-4da9-8d3d-a532561cd07b","name":"938668fe-fe0c-4da9-8d3d-a532561cd07b","status":"InProgress","startTime":"2025-01-08T07:49:03.9258668"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "285" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: E24C0864684A485B9327D776552730FC Ref B: MAA201060515033 Ref C: 2025-01-08T07:50:17Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 295.745917ms + - 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: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/e899c191-60cd-4f0b-907b-457aeac9cff8?api-version=2024-03-01&azureAsyncOperation=true&t=638719193441423861&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=btmH3WGKlQsiRYGUEQwopNRdma_NCDMHAsfJkpqweH6hrW-d9fw3gdwMgy2BRePVAsc_6W1wiOx4fglr9n1N-XQqEvBDDTWwftKrmjoGXZ8tHuPYRXKSpd7Gt8fcHVY1k8thjAfKHb4WQ_wqYMv4jW3ixaBWLbmLLVEe8lxb-ZClxOscCRLwzydxVCdADkjsXNgU15ePVJFSTCZdf7xcAqsanQIQZsnTbmUMMsHd5U2HGkyagM8czBwHMVRPsXBOcQg3_EAdAHnRkFQyEb_RpyYtw0sJz0mV8S8HafEg4q-XNkXNi_iFutUIHHjhQsN4k6k4us9cSZ162JDDKkBX0w&h=hnPa70KT4C0MTtXpgE8coRA6HO-PnJlQz3jMopb3DYc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 285 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/e899c191-60cd-4f0b-907b-457aeac9cff8","name":"e899c191-60cd-4f0b-907b-457aeac9cff8","status":"InProgress","startTime":"2025-01-08T07:49:03.6227783"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "285" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 2BA63D6814BC41A2BBD73A3A4BB74CA4 Ref B: MAA201060515033 Ref C: 2025-01-08T07:50:17Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 760.326667ms + - id: 24 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 670 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"aso-sample-app","properties":{"configuration":{"ingress":{"allowInsecure":false,"targetPort":80}},"environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env","template":{"containers":[{"image":"nginx:latest","name":"nginx","volumeMounts":[{"mountPath":"/usr/share/nginx/html","volumeName":"shared"}]}],"initContainers":[{"args":["-c","echo Hello World"],"command":["/bin/sh"],"image":"debian:latest","name":"debian","volumeMounts":[{"mountPath":"/shared","volumeName":"shared"}]}],"volumes":[{"name":"shared","storageType":"EmptyDir"}]}}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "670" + Content-Type: + - application/json + Test-Request-Hash: + - 4b64ffdd4c9dedafbd224a0954bb2ae40bed6799de3f4af61025c75202f3bd13 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/containerApps/aso-sample-app?api-version=2024-03-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 266 + uncompressed: false + body: '{"error":{"code":"ManagedEnvironmentNotProvisioned","message":"The environment ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env'' has not been provisioned successfully."}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "266" + 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-Ratelimit-Remaining-Subscription-Resource-Requests: + - "698" + X-Msedge-Ref: + - 'Ref A: D4829D05486F4D82A33523565C3E4B5C Ref B: MAA201060515033 Ref C: 2025-01-08T07:50:45Z' + X-Powered-By: + - ASP.NET + status: 400 Bad Request + code: 400 + duration: 2.975908167s + - id: 25 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 490 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"aso-sample-job","properties":{"configuration":{"manualTriggerConfig":{"parallelism":1,"replicaCompletionCount":1},"replicaRetryLimit":10,"replicaTimeout":10,"triggerType":"Manual"},"environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env","template":{"containers":[{"image":"mcr.microsoft.com/k8se/quickstart-jobs:latest","name":"testcontainerappsjob"}]}}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "490" + Content-Type: + - application/json + Test-Request-Hash: + - 57b3d73ad9437c3cb921d3b0d33cdb69456ba6f30c35732c12e0204fbe1c2a3a + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/jobs/aso-sample-job?api-version=2024-03-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 266 + uncompressed: false + body: '{"error":{"code":"ManagedEnvironmentNotProvisioned","message":"The environment ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env'' has not been provisioned successfully."}}' + headers: + Api-Supported-Versions: + - 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "266" + 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-Ratelimit-Remaining-Subscription-Resource-Requests: + - "499" + X-Msedge-Ref: + - 'Ref A: E819ECB03F3F496EA1D922A8D5F0CB52 Ref B: MAA201060515033 Ref C: 2025-01-08T07:50:45Z' + X-Powered-By: + - ASP.NET + status: 400 Bad Request + code: 400 + duration: 4.030220958s + - 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: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/938668fe-fe0c-4da9-8d3d-a532561cd07b?api-version=2024-03-01&azureAsyncOperation=true&t=638719193444443077&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=J2X-zbpJxzHNYtndbwzlI8DQJKmyAy_H7zqeH8xyCs7Z3EEqC5qH_s9GjtrLsVH9-5MS_APQTmPgej9BBopHFVwBtMWAdiBuWBun9oLbslEi9RKNG2a8xuepug0PKfpJsXXL2IMi4wVCm9R8tIwWTto8KJV8SYEnqWWZk4kkUyt9_CYcdTclzH0A4PrZ9jOiPTyJ5NlkrKbKfQjqCj1RXEV2PMENSNaoaM8miS5T3TP4Z8haWQDVZLFeuvsgYYvwJuEV4ESp9ZwSUAdo4RizV0p6vVBGEpXcVgSnlAVgn99zf6wbY-_5rE5y2P2Gs-6z4PUwF9Xmbp7jeca-WJc57g&h=zYgp2T1dvOo9ldSwM24L9Xgtx5CDerqyJp2oaoIhJOY + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 285 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/938668fe-fe0c-4da9-8d3d-a532561cd07b","name":"938668fe-fe0c-4da9-8d3d-a532561cd07b","status":"InProgress","startTime":"2025-01-08T07:49:03.9258668"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "285" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 4A5355DE5B254E94B082318D0BF5F094 Ref B: MAA201060515033 Ref C: 2025-01-08T07:51:17Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 703.640541ms + - 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: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/e899c191-60cd-4f0b-907b-457aeac9cff8?api-version=2024-03-01&azureAsyncOperation=true&t=638719193441423861&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=btmH3WGKlQsiRYGUEQwopNRdma_NCDMHAsfJkpqweH6hrW-d9fw3gdwMgy2BRePVAsc_6W1wiOx4fglr9n1N-XQqEvBDDTWwftKrmjoGXZ8tHuPYRXKSpd7Gt8fcHVY1k8thjAfKHb4WQ_wqYMv4jW3ixaBWLbmLLVEe8lxb-ZClxOscCRLwzydxVCdADkjsXNgU15ePVJFSTCZdf7xcAqsanQIQZsnTbmUMMsHd5U2HGkyagM8czBwHMVRPsXBOcQg3_EAdAHnRkFQyEb_RpyYtw0sJz0mV8S8HafEg4q-XNkXNi_iFutUIHHjhQsN4k6k4us9cSZ162JDDKkBX0w&h=hnPa70KT4C0MTtXpgE8coRA6HO-PnJlQz3jMopb3DYc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 285 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/e899c191-60cd-4f0b-907b-457aeac9cff8","name":"e899c191-60cd-4f0b-907b-457aeac9cff8","status":"InProgress","startTime":"2025-01-08T07:49:03.6227783"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "285" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 46DD08423C624CADAC7033D2BF7FDFB4 Ref B: MAA201060515033 Ref C: 2025-01-08T07:51:19Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 287.934292ms + - id: 28 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 670 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"aso-sample-app","properties":{"configuration":{"ingress":{"allowInsecure":false,"targetPort":80}},"environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env","template":{"containers":[{"image":"nginx:latest","name":"nginx","volumeMounts":[{"mountPath":"/usr/share/nginx/html","volumeName":"shared"}]}],"initContainers":[{"args":["-c","echo Hello World"],"command":["/bin/sh"],"image":"debian:latest","name":"debian","volumeMounts":[{"mountPath":"/shared","volumeName":"shared"}]}],"volumes":[{"name":"shared","storageType":"EmptyDir"}]}}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "670" + Content-Type: + - application/json + Test-Request-Hash: + - 4b64ffdd4c9dedafbd224a0954bb2ae40bed6799de3f4af61025c75202f3bd13 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/containerApps/aso-sample-app?api-version=2024-03-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 266 + uncompressed: false + body: '{"error":{"code":"ManagedEnvironmentNotProvisioned","message":"The environment ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env'' has not been provisioned successfully."}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "266" + 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-Ratelimit-Remaining-Subscription-Resource-Requests: + - "698" + X-Msedge-Ref: + - 'Ref A: 16E3288D86EB4064B8B0B7540CE516F5 Ref B: MAA201060515033 Ref C: 2025-01-08T07:51:51Z' + X-Powered-By: + - ASP.NET + status: 400 Bad Request + code: 400 + duration: 3.851170166s + - id: 29 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 490 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"aso-sample-job","properties":{"configuration":{"manualTriggerConfig":{"parallelism":1,"replicaCompletionCount":1},"replicaRetryLimit":10,"replicaTimeout":10,"triggerType":"Manual"},"environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env","template":{"containers":[{"image":"mcr.microsoft.com/k8se/quickstart-jobs:latest","name":"testcontainerappsjob"}]}}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "490" + Content-Type: + - application/json + Test-Request-Hash: + - 57b3d73ad9437c3cb921d3b0d33cdb69456ba6f30c35732c12e0204fbe1c2a3a + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/jobs/aso-sample-job?api-version=2024-03-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 266 + uncompressed: false + body: '{"error":{"code":"ManagedEnvironmentNotProvisioned","message":"The environment ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env'' has not been provisioned successfully."}}' + headers: + Api-Supported-Versions: + - 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "266" + 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-Ratelimit-Remaining-Subscription-Resource-Requests: + - "499" + X-Msedge-Ref: + - 'Ref A: AB315F3ECFA741D38861140D10B0A324 Ref B: MAA201060515033 Ref C: 2025-01-08T07:51:53Z' + X-Powered-By: + - ASP.NET + status: 400 Bad Request + code: 400 + duration: 5.390086583s + - 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: + - "6" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/e899c191-60cd-4f0b-907b-457aeac9cff8?api-version=2024-03-01&azureAsyncOperation=true&t=638719193441423861&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=btmH3WGKlQsiRYGUEQwopNRdma_NCDMHAsfJkpqweH6hrW-d9fw3gdwMgy2BRePVAsc_6W1wiOx4fglr9n1N-XQqEvBDDTWwftKrmjoGXZ8tHuPYRXKSpd7Gt8fcHVY1k8thjAfKHb4WQ_wqYMv4jW3ixaBWLbmLLVEe8lxb-ZClxOscCRLwzydxVCdADkjsXNgU15ePVJFSTCZdf7xcAqsanQIQZsnTbmUMMsHd5U2HGkyagM8czBwHMVRPsXBOcQg3_EAdAHnRkFQyEb_RpyYtw0sJz0mV8S8HafEg4q-XNkXNi_iFutUIHHjhQsN4k6k4us9cSZ162JDDKkBX0w&h=hnPa70KT4C0MTtXpgE8coRA6HO-PnJlQz3jMopb3DYc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 285 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/e899c191-60cd-4f0b-907b-457aeac9cff8","name":"e899c191-60cd-4f0b-907b-457aeac9cff8","status":"InProgress","startTime":"2025-01-08T07:49:03.6227783"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "285" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 46F65F6334FE4EE2816D24EC9CC1C213 Ref B: MAA201060515033 Ref C: 2025-01-08T07:52:19Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 291.175792ms + - 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: + - "6" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/938668fe-fe0c-4da9-8d3d-a532561cd07b?api-version=2024-03-01&azureAsyncOperation=true&t=638719193444443077&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=J2X-zbpJxzHNYtndbwzlI8DQJKmyAy_H7zqeH8xyCs7Z3EEqC5qH_s9GjtrLsVH9-5MS_APQTmPgej9BBopHFVwBtMWAdiBuWBun9oLbslEi9RKNG2a8xuepug0PKfpJsXXL2IMi4wVCm9R8tIwWTto8KJV8SYEnqWWZk4kkUyt9_CYcdTclzH0A4PrZ9jOiPTyJ5NlkrKbKfQjqCj1RXEV2PMENSNaoaM8miS5T3TP4Z8haWQDVZLFeuvsgYYvwJuEV4ESp9ZwSUAdo4RizV0p6vVBGEpXcVgSnlAVgn99zf6wbY-_5rE5y2P2Gs-6z4PUwF9Xmbp7jeca-WJc57g&h=zYgp2T1dvOo9ldSwM24L9Xgtx5CDerqyJp2oaoIhJOY + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 285 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/938668fe-fe0c-4da9-8d3d-a532561cd07b","name":"938668fe-fe0c-4da9-8d3d-a532561cd07b","status":"InProgress","startTime":"2025-01-08T07:49:03.9258668"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "285" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: C5D8C75A85A54B8C8159F7E06BFA470B Ref B: MAA201060515033 Ref C: 2025-01-08T07:52:19Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 702.866375ms + - id: 32 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 670 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"aso-sample-app","properties":{"configuration":{"ingress":{"allowInsecure":false,"targetPort":80}},"environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env","template":{"containers":[{"image":"nginx:latest","name":"nginx","volumeMounts":[{"mountPath":"/usr/share/nginx/html","volumeName":"shared"}]}],"initContainers":[{"args":["-c","echo Hello World"],"command":["/bin/sh"],"image":"debian:latest","name":"debian","volumeMounts":[{"mountPath":"/shared","volumeName":"shared"}]}],"volumes":[{"name":"shared","storageType":"EmptyDir"}]}}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "670" + Content-Type: + - application/json + Test-Request-Hash: + - 4b64ffdd4c9dedafbd224a0954bb2ae40bed6799de3f4af61025c75202f3bd13 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/containerApps/aso-sample-app?api-version=2024-03-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 266 + uncompressed: false + body: '{"error":{"code":"ManagedEnvironmentNotProvisioned","message":"The environment ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env'' has not been provisioned successfully."}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "266" + 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-Ratelimit-Remaining-Subscription-Resource-Requests: + - "699" + X-Msedge-Ref: + - 'Ref A: 8719FC1B04D3498E87C36A52A63C4AD9 Ref B: MAA201060515033 Ref C: 2025-01-08T07:52:58Z' + X-Powered-By: + - ASP.NET + status: 400 Bad Request + code: 400 + duration: 3.644592s + - id: 33 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 490 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"aso-sample-job","properties":{"configuration":{"manualTriggerConfig":{"parallelism":1,"replicaCompletionCount":1},"replicaRetryLimit":10,"replicaTimeout":10,"triggerType":"Manual"},"environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env","template":{"containers":[{"image":"mcr.microsoft.com/k8se/quickstart-jobs:latest","name":"testcontainerappsjob"}]}}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "490" + Content-Type: + - application/json + Test-Request-Hash: + - 57b3d73ad9437c3cb921d3b0d33cdb69456ba6f30c35732c12e0204fbe1c2a3a + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/jobs/aso-sample-job?api-version=2024-03-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 266 + uncompressed: false + body: '{"error":{"code":"ManagedEnvironmentNotProvisioned","message":"The environment ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env'' has not been provisioned successfully."}}' + headers: + Api-Supported-Versions: + - 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "266" + 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-Ratelimit-Remaining-Subscription-Resource-Requests: + - "499" + X-Msedge-Ref: + - 'Ref A: 3166536C4F98488588043DD90FD83BCB Ref B: MAA201060515033 Ref C: 2025-01-08T07:53:04Z' + X-Powered-By: + - ASP.NET + status: 400 Bad Request + code: 400 + duration: 4.193425625s + - 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: + - "7" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/e899c191-60cd-4f0b-907b-457aeac9cff8?api-version=2024-03-01&azureAsyncOperation=true&t=638719193441423861&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=btmH3WGKlQsiRYGUEQwopNRdma_NCDMHAsfJkpqweH6hrW-d9fw3gdwMgy2BRePVAsc_6W1wiOx4fglr9n1N-XQqEvBDDTWwftKrmjoGXZ8tHuPYRXKSpd7Gt8fcHVY1k8thjAfKHb4WQ_wqYMv4jW3ixaBWLbmLLVEe8lxb-ZClxOscCRLwzydxVCdADkjsXNgU15ePVJFSTCZdf7xcAqsanQIQZsnTbmUMMsHd5U2HGkyagM8czBwHMVRPsXBOcQg3_EAdAHnRkFQyEb_RpyYtw0sJz0mV8S8HafEg4q-XNkXNi_iFutUIHHjhQsN4k6k4us9cSZ162JDDKkBX0w&h=hnPa70KT4C0MTtXpgE8coRA6HO-PnJlQz3jMopb3DYc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 285 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/e899c191-60cd-4f0b-907b-457aeac9cff8","name":"e899c191-60cd-4f0b-907b-457aeac9cff8","status":"InProgress","startTime":"2025-01-08T07:49:03.6227783"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "285" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 2809B1EB516C4FD59A8EEF9DC571A45D Ref B: MAA201060515033 Ref C: 2025-01-08T07:53:20Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 790.289ms + - 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: + - "7" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/938668fe-fe0c-4da9-8d3d-a532561cd07b?api-version=2024-03-01&azureAsyncOperation=true&t=638719193444443077&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=J2X-zbpJxzHNYtndbwzlI8DQJKmyAy_H7zqeH8xyCs7Z3EEqC5qH_s9GjtrLsVH9-5MS_APQTmPgej9BBopHFVwBtMWAdiBuWBun9oLbslEi9RKNG2a8xuepug0PKfpJsXXL2IMi4wVCm9R8tIwWTto8KJV8SYEnqWWZk4kkUyt9_CYcdTclzH0A4PrZ9jOiPTyJ5NlkrKbKfQjqCj1RXEV2PMENSNaoaM8miS5T3TP4Z8haWQDVZLFeuvsgYYvwJuEV4ESp9ZwSUAdo4RizV0p6vVBGEpXcVgSnlAVgn99zf6wbY-_5rE5y2P2Gs-6z4PUwF9Xmbp7jeca-WJc57g&h=zYgp2T1dvOo9ldSwM24L9Xgtx5CDerqyJp2oaoIhJOY + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 285 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/938668fe-fe0c-4da9-8d3d-a532561cd07b","name":"938668fe-fe0c-4da9-8d3d-a532561cd07b","status":"InProgress","startTime":"2025-01-08T07:49:03.9258668"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "285" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: F111598322204690ADED8896D131D0B3 Ref B: MAA201060515033 Ref C: 2025-01-08T07:53:20Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 774.307792ms + - id: 36 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 670 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"aso-sample-app","properties":{"configuration":{"ingress":{"allowInsecure":false,"targetPort":80}},"environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env","template":{"containers":[{"image":"nginx:latest","name":"nginx","volumeMounts":[{"mountPath":"/usr/share/nginx/html","volumeName":"shared"}]}],"initContainers":[{"args":["-c","echo Hello World"],"command":["/bin/sh"],"image":"debian:latest","name":"debian","volumeMounts":[{"mountPath":"/shared","volumeName":"shared"}]}],"volumes":[{"name":"shared","storageType":"EmptyDir"}]}}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "670" + Content-Type: + - application/json + Test-Request-Hash: + - 4b64ffdd4c9dedafbd224a0954bb2ae40bed6799de3f4af61025c75202f3bd13 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/containerApps/aso-sample-app?api-version=2024-03-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3353 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/containerapps/aso-sample-app","name":"aso-sample-app","type":"Microsoft.App/containerApps","location":"West US 2","systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2001-02-03T04:05:06Z","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2001-02-03T04:05:06Z"},"properties":{"provisioningState":"InProgress","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env","environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env","workloadProfileName":"Consumption","outboundIpAddresses":["20.115.194.124","20.115.194.128","20.115.194.137","20.115.194.126","20.29.134.80","20.29.134.79","20.29.134.41","20.29.134.75","20.29.132.146","20.29.134.12","20.69.82.220","20.69.83.13","20.69.83.5","20.69.83.46","20.115.200.188","20.115.201.160","20.115.201.51","20.115.201.152","20.115.201.28","20.115.201.167","20.99.170.216","20.99.171.18","20.99.170.250","20.99.170.223","20.99.170.208","20.99.170.164","20.99.170.240","20.99.170.49","20.99.171.11","20.99.170.181","4.242.118.131","4.242.118.106","4.242.117.231","4.242.116.225","4.242.119.215","4.242.117.24","4.242.119.156","4.242.119.166","4.242.119.228","4.242.116.236","4.242.119.154","4.242.119.227","4.242.119.160","4.242.119.232","4.242.119.185","4.242.119.193","4.242.119.163","4.242.119.234","4.242.119.230","4.242.119.144","20.3.32.209","20.3.32.145","4.246.2.62","4.246.1.175","4.246.2.107","4.246.2.36","4.246.2.116","4.246.2.84","4.246.1.167","4.246.2.56","4.246.1.215","4.246.1.207","20.3.32.202","52.183.117.50","52.175.252.145","52.175.253.104","52.183.112.167","52.175.253.95","52.183.118.4","52.183.118.72","52.183.119.158","52.183.117.201","20.36.3.170","20.3.32.170","52.183.116.61","52.175.252.245","52.183.113.79","52.183.117.198","52.175.249.101","52.183.116.121","52.175.252.238","52.183.118.188","52.175.253.196","52.151.37.186","20.3.32.226","20.3.32.217","20.3.32.210","20.3.32.116","20.3.32.129","20.3.32.235","52.250.90.30"],"customDomainVerificationId":"EFF02641736216A6CF4A85BE2625D8D075D5E5C45BBE094AB95EC8CC9DC473BF","configuration":{"secrets":null,"activeRevisionsMode":null,"ingress":{"fqdn":null,"external":false,"targetPort":80,"exposedPort":null,"transport":null,"traffic":null,"customDomains":null,"allowInsecure":false,"ipSecurityRestrictions":null,"corsPolicy":null,"clientCertificateMode":null,"stickySessions":null,"additionalPortMappings":null},"registries":null,"dapr":null,"maxInactiveRevisions":100,"service":null},"template":{"revisionSuffix":null,"terminationGracePeriodSeconds":null,"containers":[{"image":"nginx:latest","name":"nginx","volumeMounts":[{"volumeName":"shared","mountPath":"/usr/share/nginx/html"}]}],"initContainers":[{"image":"debian:latest","name":"debian","command":["/bin/sh"],"args":["-c","echo Hello World"],"volumeMounts":[{"volumeName":"shared","mountPath":"/shared"}]}],"scale":null,"volumes":[{"name":"shared","storageType":"EmptyDir"}],"serviceBinds":null},"delegatedIdentities":[]},"identity":{"type":"None"}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappOperationStatuses/c0614124-919d-45d0-b396-e027ad2a9b08?api-version=2024-03-01&azureAsyncOperation=true&t=638719196499428114&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=sQbUuIvxwGBvPXeyV0mukzA6Br3cwLZsppPP6zxcko-hL98Z9JRUVtdkLz_9C0S_VGGAHN9MFhYXy4RdRW7-cCMuuYPwh1CeZHaBlBLJ_zl0_cikIbyqeO11Rv12xxXi6pW7CQ8nhpORcUmmKX07Zu2e6VkXGW_BPWrJrCT_muXIgG0j1p_ALINnBQ2v_LgiAYBHrsuenlFZ569KZwf_CcQ-4idfRIUtlajl1xQxjatIIolfnNukjwqxwka4rx__Zs_hgfq8erpt5KLwB7Y20vud9Kc5yV8gZm5MV4Bo8b3ZlKLcSXH8_uRLcCM5KbF2OGQCxiada-SclrWtiJLESA&h=vmZCs8O1FwispBAfmUR7zvPsgt123T01JU2BeufkKAI + Cache-Control: + - no-cache + Content-Length: + - "3353" + 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-Ms-Async-Operation-Timeout: + - PT15M + X-Ms-Ratelimit-Remaining-Subscription-Resource-Requests: + - "699" + X-Msedge-Ref: + - 'Ref A: 3347E7A555024B74A7CC5AB61D6F7F8A Ref B: MAA201060515033 Ref C: 2025-01-08T07:54:06Z' + X-Powered-By: + - ASP.NET + status: 201 Created + code: 201 + duration: 3.786548458s + - id: 37 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 490 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"aso-sample-job","properties":{"configuration":{"manualTriggerConfig":{"parallelism":1,"replicaCompletionCount":1},"replicaRetryLimit":10,"replicaTimeout":10,"triggerType":"Manual"},"environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env","template":{"containers":[{"image":"mcr.microsoft.com/k8se/quickstart-jobs:latest","name":"testcontainerappsjob"}]}}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "490" + Content-Type: + - application/json + Test-Request-Hash: + - 57b3d73ad9437c3cb921d3b0d33cdb69456ba6f30c35732c12e0204fbe1c2a3a + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/jobs/aso-sample-job?api-version=2024-03-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1380 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/jobs/aso-sample-job","name":"aso-sample-job","type":"Microsoft.App/jobs","location":"West US 2","systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2001-02-03T04:05:06Z","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2001-02-03T04:05:06Z"},"properties":{"provisioningState":"InProgress","environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env","workloadProfileName":"Consumption","configuration":{"secrets":null,"triggerType":"Manual","replicaTimeout":10,"replicaRetryLimit":10,"manualTriggerConfig":{"replicaCompletionCount":1,"parallelism":1},"scheduleTriggerConfig":null,"eventTriggerConfig":null,"registries":null,"dapr":null},"template":{"containers":[{"image":"mcr.microsoft.com/k8se/quickstart-jobs:latest","name":"testcontainerappsjob","resources":{"cpu":0.5,"memory":"1Gi","ephemeralStorage":""}}],"initContainers":null,"volumes":null},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/containerApps/aso-sample-job/eventstream"},"identity":{"type":"None"}}' + headers: + Api-Supported-Versions: + - 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappsjobOperationStatuses/28089b86-0c70-407f-9722-2355f51fccb8?api-version=2024-03-01&azureAsyncOperation=true&t=638719196555210601&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=q4cZpizq5UL1SZJwSG0AEN1M6vG8gVZeq8sVU5pDjLPJ2i22AozAHaRH2CJZBuRwgfLNdysNHlimHVGNNyepsayy-dfi83Y2WeBtFeBDZbzumbLbdmwqDQNfYSLt9j22_SS7gUkJrXjlCcZqAueKUV8sPjLDbTweqQDtQ_eTuCebA8w903G1LobhYTJ-wCQXUh6uCzFcM5ZIUK5Uw98pAMp2hNHCe3ZM7avJJ9y-8nasxwTCqH4yKB8UzbdYRagNMprUx9CGxkoeimH4zeNN7qgnKWFryTt6HRsSMkwWH-AWPdz3UdXIUPoLAZG8DkWreqsrR7UgxBrTydxPloIH9w&h=x20BpNTVTIGC3pXpT-kp2DSVIzxrqK1Zjd7FJhXTZr4 + Cache-Control: + - no-cache + Content-Length: + - "1380" + 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-Ms-Async-Operation-Timeout: + - PT15M + X-Ms-Ratelimit-Remaining-Subscription-Resource-Requests: + - "499" + X-Msedge-Ref: + - 'Ref A: 53194DC00C034BF991DF66736BDF299A Ref B: MAA201060515033 Ref C: 2025-01-08T07:54:13Z' + X-Powered-By: + - ASP.NET + status: 201 Created + code: 201 + duration: 2.401989083s + - 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: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappOperationStatuses/c0614124-919d-45d0-b396-e027ad2a9b08?api-version=2024-03-01&azureAsyncOperation=true&t=638719196499428114&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=sQbUuIvxwGBvPXeyV0mukzA6Br3cwLZsppPP6zxcko-hL98Z9JRUVtdkLz_9C0S_VGGAHN9MFhYXy4RdRW7-cCMuuYPwh1CeZHaBlBLJ_zl0_cikIbyqeO11Rv12xxXi6pW7CQ8nhpORcUmmKX07Zu2e6VkXGW_BPWrJrCT_muXIgG0j1p_ALINnBQ2v_LgiAYBHrsuenlFZ569KZwf_CcQ-4idfRIUtlajl1xQxjatIIolfnNukjwqxwka4rx__Zs_hgfq8erpt5KLwB7Y20vud9Kc5yV8gZm5MV4Bo8b3ZlKLcSXH8_uRLcCM5KbF2OGQCxiada-SclrWtiJLESA&h=vmZCs8O1FwispBAfmUR7zvPsgt123T01JU2BeufkKAI + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 279 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappOperationStatuses/c0614124-919d-45d0-b396-e027ad2a9b08","name":"c0614124-919d-45d0-b396-e027ad2a9b08","status":"InProgress","startTime":"2025-01-08T07:54:09.4319416"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "279" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 2664AA38986E46F09BCC84057BF4E511 Ref B: MAA201060515033 Ref C: 2025-01-08T07:54:15Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 704.478833ms + - 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: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappOperationStatuses/c0614124-919d-45d0-b396-e027ad2a9b08?api-version=2024-03-01&azureAsyncOperation=true&t=638719196499428114&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=sQbUuIvxwGBvPXeyV0mukzA6Br3cwLZsppPP6zxcko-hL98Z9JRUVtdkLz_9C0S_VGGAHN9MFhYXy4RdRW7-cCMuuYPwh1CeZHaBlBLJ_zl0_cikIbyqeO11Rv12xxXi6pW7CQ8nhpORcUmmKX07Zu2e6VkXGW_BPWrJrCT_muXIgG0j1p_ALINnBQ2v_LgiAYBHrsuenlFZ569KZwf_CcQ-4idfRIUtlajl1xQxjatIIolfnNukjwqxwka4rx__Zs_hgfq8erpt5KLwB7Y20vud9Kc5yV8gZm5MV4Bo8b3ZlKLcSXH8_uRLcCM5KbF2OGQCxiada-SclrWtiJLESA&h=vmZCs8O1FwispBAfmUR7zvPsgt123T01JU2BeufkKAI + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 279 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappOperationStatuses/c0614124-919d-45d0-b396-e027ad2a9b08","name":"c0614124-919d-45d0-b396-e027ad2a9b08","status":"InProgress","startTime":"2025-01-08T07:54:09.4319416"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "279" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 46711DC3E5D84D0ABD6E1A63210B157E Ref B: MAA201060515033 Ref C: 2025-01-08T07:54:18Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 795.218ms + - 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/providers/Microsoft.App/locations/westus2/containerappsjobOperationStatuses/28089b86-0c70-407f-9722-2355f51fccb8?api-version=2024-03-01&azureAsyncOperation=true&t=638719196555210601&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=q4cZpizq5UL1SZJwSG0AEN1M6vG8gVZeq8sVU5pDjLPJ2i22AozAHaRH2CJZBuRwgfLNdysNHlimHVGNNyepsayy-dfi83Y2WeBtFeBDZbzumbLbdmwqDQNfYSLt9j22_SS7gUkJrXjlCcZqAueKUV8sPjLDbTweqQDtQ_eTuCebA8w903G1LobhYTJ-wCQXUh6uCzFcM5ZIUK5Uw98pAMp2hNHCe3ZM7avJJ9y-8nasxwTCqH4yKB8UzbdYRagNMprUx9CGxkoeimH4zeNN7qgnKWFryTt6HRsSMkwWH-AWPdz3UdXIUPoLAZG8DkWreqsrR7UgxBrTydxPloIH9w&h=x20BpNTVTIGC3pXpT-kp2DSVIzxrqK1Zjd7FJhXTZr4 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 283 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappsjobOperationStatuses/28089b86-0c70-407f-9722-2355f51fccb8","name":"28089b86-0c70-407f-9722-2355f51fccb8","status":"InProgress","startTime":"2025-01-08T07:54:14.7044402"}' + headers: + Api-Supported-Versions: + - 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "283" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 91795AF482784871AE227558A1050A80 Ref B: MAA201060515033 Ref C: 2025-01-08T07:54:19Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 693.986625ms + - 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: + - "8" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/e899c191-60cd-4f0b-907b-457aeac9cff8?api-version=2024-03-01&azureAsyncOperation=true&t=638719193441423861&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=btmH3WGKlQsiRYGUEQwopNRdma_NCDMHAsfJkpqweH6hrW-d9fw3gdwMgy2BRePVAsc_6W1wiOx4fglr9n1N-XQqEvBDDTWwftKrmjoGXZ8tHuPYRXKSpd7Gt8fcHVY1k8thjAfKHb4WQ_wqYMv4jW3ixaBWLbmLLVEe8lxb-ZClxOscCRLwzydxVCdADkjsXNgU15ePVJFSTCZdf7xcAqsanQIQZsnTbmUMMsHd5U2HGkyagM8czBwHMVRPsXBOcQg3_EAdAHnRkFQyEb_RpyYtw0sJz0mV8S8HafEg4q-XNkXNi_iFutUIHHjhQsN4k6k4us9cSZ162JDDKkBX0w&h=hnPa70KT4C0MTtXpgE8coRA6HO-PnJlQz3jMopb3DYc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 284 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/e899c191-60cd-4f0b-907b-457aeac9cff8","name":"e899c191-60cd-4f0b-907b-457aeac9cff8","status":"Succeeded","startTime":"2025-01-08T07:49:03.6227783"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "284" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: BA07C9FFF7EA402CB825F802A305F932 Ref B: MAA201060515033 Ref C: 2025-01-08T07:54:21Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 755.956917ms + - 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: + - "8" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/938668fe-fe0c-4da9-8d3d-a532561cd07b?api-version=2024-03-01&azureAsyncOperation=true&t=638719193444443077&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=J2X-zbpJxzHNYtndbwzlI8DQJKmyAy_H7zqeH8xyCs7Z3EEqC5qH_s9GjtrLsVH9-5MS_APQTmPgej9BBopHFVwBtMWAdiBuWBun9oLbslEi9RKNG2a8xuepug0PKfpJsXXL2IMi4wVCm9R8tIwWTto8KJV8SYEnqWWZk4kkUyt9_CYcdTclzH0A4PrZ9jOiPTyJ5NlkrKbKfQjqCj1RXEV2PMENSNaoaM8miS5T3TP4Z8haWQDVZLFeuvsgYYvwJuEV4ESp9ZwSUAdo4RizV0p6vVBGEpXcVgSnlAVgn99zf6wbY-_5rE5y2P2Gs-6z4PUwF9Xmbp7jeca-WJc57g&h=zYgp2T1dvOo9ldSwM24L9Xgtx5CDerqyJp2oaoIhJOY + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 284 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/managedEnvironmentOperationStatuses/938668fe-fe0c-4da9-8d3d-a532561cd07b","name":"938668fe-fe0c-4da9-8d3d-a532561cd07b","status":"Succeeded","startTime":"2025-01-08T07:49:03.9258668"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "284" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16498" + X-Msedge-Ref: + - 'Ref A: D97A2FB1019542C2A2AE42D7F2F956F9 Ref B: MAA201060515033 Ref C: 2025-01-08T07:54:22Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 316.307917ms + - 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: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappsjobOperationStatuses/28089b86-0c70-407f-9722-2355f51fccb8?api-version=2024-03-01&azureAsyncOperation=true&t=638719196555210601&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=q4cZpizq5UL1SZJwSG0AEN1M6vG8gVZeq8sVU5pDjLPJ2i22AozAHaRH2CJZBuRwgfLNdysNHlimHVGNNyepsayy-dfi83Y2WeBtFeBDZbzumbLbdmwqDQNfYSLt9j22_SS7gUkJrXjlCcZqAueKUV8sPjLDbTweqQDtQ_eTuCebA8w903G1LobhYTJ-wCQXUh6uCzFcM5ZIUK5Uw98pAMp2hNHCe3ZM7avJJ9y-8nasxwTCqH4yKB8UzbdYRagNMprUx9CGxkoeimH4zeNN7qgnKWFryTt6HRsSMkwWH-AWPdz3UdXIUPoLAZG8DkWreqsrR7UgxBrTydxPloIH9w&h=x20BpNTVTIGC3pXpT-kp2DSVIzxrqK1Zjd7FJhXTZr4 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 282 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappsjobOperationStatuses/28089b86-0c70-407f-9722-2355f51fccb8","name":"28089b86-0c70-407f-9722-2355f51fccb8","status":"Succeeded","startTime":"2025-01-08T07:54:14.7044402"}' + headers: + Api-Supported-Versions: + - 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "282" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 8364A59D4296419D89B3A413063A0E71 Ref B: MAA201060515033 Ref C: 2025-01-08T07:54:22Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 731.9875ms + - 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-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-managedenv?api-version=2024-03-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1665 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-managedenv","name":"aso-sample-managedenv","type":"Microsoft.App/managedEnvironments","location":"West US 2","systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2025-01-08T07:49:02.6786597","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-01-08T07:49:02.6786597"},"properties":{"provisioningState":"Succeeded","daprAIInstrumentationKey":null,"daprAIConnectionString":null,"vnetConfiguration":null,"defaultDomain":"graypebble-e2c8e539.westus2.azurecontainerapps.io","staticIp":"52.148.145.193","appLogsConfiguration":{"destination":null,"logAnalyticsConfiguration":null},"zoneRedundant":false,"kedaConfiguration":{"version":"2.15.1"},"daprConfiguration":{"version":"1.12.5"},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/managedEnvironments/aso-sample-managedenv/eventstream","customDomainConfiguration":{"customDomainVerificationId":"EFF02641736216A6CF4A85BE2625D8D075D5E5C45BBE094AB95EC8CC9DC473BF","dnsSuffix":null,"certificateValue":null,"certificatePassword":null,"thumbprint":null,"subjectName":null,"expirationDate":null},"workloadProfiles":[{"workloadProfileType":"D4","name":"profile1","minimumCount":1,"maximumCount":2},{"workloadProfileType":"Consumption","name":"Consumption"}],"infrastructureResourceGroup":null,"peerAuthentication":{"mtls":{"enabled":false}},"peerTrafficConfiguration":{"encryption":{"enabled":false}}}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "1665" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16497" + X-Msedge-Ref: + - 'Ref A: 1B84B12BE1D34E7F824DAA6677A59AD4 Ref B: MAA201060515033 Ref C: 2025-01-08T07:54:23Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 473.969916ms + - 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: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env?api-version=2024-03-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1643 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env","name":"aso-sample-env","type":"Microsoft.App/managedEnvironments","location":"West US 2","systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2025-01-08T07:49:02.3454776","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-01-08T07:49:02.3454776"},"properties":{"provisioningState":"Succeeded","daprAIInstrumentationKey":null,"daprAIConnectionString":null,"vnetConfiguration":null,"defaultDomain":"happyforest-2166123b.westus2.azurecontainerapps.io","staticIp":"52.156.145.2","appLogsConfiguration":{"destination":null,"logAnalyticsConfiguration":null},"zoneRedundant":false,"kedaConfiguration":{"version":"2.15.1"},"daprConfiguration":{"version":"1.12.5"},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/managedEnvironments/aso-sample-env/eventstream","customDomainConfiguration":{"customDomainVerificationId":"EFF02641736216A6CF4A85BE2625D8D075D5E5C45BBE094AB95EC8CC9DC473BF","dnsSuffix":null,"certificateValue":null,"certificatePassword":null,"thumbprint":null,"subjectName":null,"expirationDate":null},"workloadProfiles":[{"workloadProfileType":"D4","name":"profile1","minimumCount":1,"maximumCount":2},{"workloadProfileType":"Consumption","name":"Consumption"}],"infrastructureResourceGroup":null,"peerAuthentication":{"mtls":{"enabled":false}},"peerTrafficConfiguration":{"encryption":{"enabled":false}}}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "1643" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: D474B47F67324773B1FF6B98333B6BFA Ref B: MAA201060515033 Ref C: 2025-01-08T07:54:23Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 892.612417ms + - 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: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-managedenv?api-version=2024-03-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1665 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-managedenv","name":"aso-sample-managedenv","type":"Microsoft.App/managedEnvironments","location":"West US 2","systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2025-01-08T07:49:02.6786597","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-01-08T07:49:02.6786597"},"properties":{"provisioningState":"Succeeded","daprAIInstrumentationKey":null,"daprAIConnectionString":null,"vnetConfiguration":null,"defaultDomain":"graypebble-e2c8e539.westus2.azurecontainerapps.io","staticIp":"52.148.145.193","appLogsConfiguration":{"destination":null,"logAnalyticsConfiguration":null},"zoneRedundant":false,"kedaConfiguration":{"version":"2.15.1"},"daprConfiguration":{"version":"1.12.5"},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/managedEnvironments/aso-sample-managedenv/eventstream","customDomainConfiguration":{"customDomainVerificationId":"EFF02641736216A6CF4A85BE2625D8D075D5E5C45BBE094AB95EC8CC9DC473BF","dnsSuffix":null,"certificateValue":null,"certificatePassword":null,"thumbprint":null,"subjectName":null,"expirationDate":null},"workloadProfiles":[{"workloadProfileType":"D4","name":"profile1","minimumCount":1,"maximumCount":2},{"workloadProfileType":"Consumption","name":"Consumption"}],"infrastructureResourceGroup":null,"peerAuthentication":{"mtls":{"enabled":false}},"peerTrafficConfiguration":{"encryption":{"enabled":false}}}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "1665" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16496" + X-Msedge-Ref: + - 'Ref A: 013C16E38E1840B89FBFC8C06F2EEBC8 Ref B: MAA201060515033 Ref C: 2025-01-08T07:54:23Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 479.178041ms + - 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: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappOperationStatuses/c0614124-919d-45d0-b396-e027ad2a9b08?api-version=2024-03-01&azureAsyncOperation=true&t=638719196499428114&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=sQbUuIvxwGBvPXeyV0mukzA6Br3cwLZsppPP6zxcko-hL98Z9JRUVtdkLz_9C0S_VGGAHN9MFhYXy4RdRW7-cCMuuYPwh1CeZHaBlBLJ_zl0_cikIbyqeO11Rv12xxXi6pW7CQ8nhpORcUmmKX07Zu2e6VkXGW_BPWrJrCT_muXIgG0j1p_ALINnBQ2v_LgiAYBHrsuenlFZ569KZwf_CcQ-4idfRIUtlajl1xQxjatIIolfnNukjwqxwka4rx__Zs_hgfq8erpt5KLwB7Y20vud9Kc5yV8gZm5MV4Bo8b3ZlKLcSXH8_uRLcCM5KbF2OGQCxiada-SclrWtiJLESA&h=vmZCs8O1FwispBAfmUR7zvPsgt123T01JU2BeufkKAI + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 279 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappOperationStatuses/c0614124-919d-45d0-b396-e027ad2a9b08","name":"c0614124-919d-45d0-b396-e027ad2a9b08","status":"InProgress","startTime":"2025-01-08T07:54:09.4319416"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "279" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 7A5DBDC5C86D49949D67D6170688ED8E Ref B: MAA201060515033 Ref C: 2025-01-08T07:54:24Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 704.65525ms + - 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-lwgnys/providers/Microsoft.App/jobs/aso-sample-job?api-version=2024-03-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1377 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/jobs/aso-sample-job","name":"aso-sample-job","type":"Microsoft.App/jobs","location":"West US 2","systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2025-01-08T07:54:14.5054126","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-01-08T07:54:14.5054126"},"properties":{"provisioningState":"Succeeded","environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env","workloadProfileName":"Consumption","configuration":{"secrets":null,"triggerType":"Manual","replicaTimeout":10,"replicaRetryLimit":10,"manualTriggerConfig":{"replicaCompletionCount":1,"parallelism":1},"scheduleTriggerConfig":null,"eventTriggerConfig":null,"registries":null,"dapr":null},"template":{"containers":[{"image":"mcr.microsoft.com/k8se/quickstart-jobs:latest","name":"testcontainerappsjob","resources":{"cpu":0.5,"memory":"1Gi","ephemeralStorage":""}}],"initContainers":null,"volumes":null},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/containerApps/aso-sample-job/eventstream"},"identity":{"type":"None"}}' + headers: + Api-Supported-Versions: + - 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "1377" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 979D716CC35844599C3FFAF6D5041B5F Ref B: MAA201060515033 Ref C: 2025-01-08T07:54:23Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 911.675125ms + - 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-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env?api-version=2024-03-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1643 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env","name":"aso-sample-env","type":"Microsoft.App/managedEnvironments","location":"West US 2","systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2025-01-08T07:49:02.3454776","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-01-08T07:49:02.3454776"},"properties":{"provisioningState":"Succeeded","daprAIInstrumentationKey":null,"daprAIConnectionString":null,"vnetConfiguration":null,"defaultDomain":"happyforest-2166123b.westus2.azurecontainerapps.io","staticIp":"52.156.145.2","appLogsConfiguration":{"destination":null,"logAnalyticsConfiguration":null},"zoneRedundant":false,"kedaConfiguration":{"version":"2.15.1"},"daprConfiguration":{"version":"1.12.5"},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/managedEnvironments/aso-sample-env/eventstream","customDomainConfiguration":{"customDomainVerificationId":"EFF02641736216A6CF4A85BE2625D8D075D5E5C45BBE094AB95EC8CC9DC473BF","dnsSuffix":null,"certificateValue":null,"certificatePassword":null,"thumbprint":null,"subjectName":null,"expirationDate":null},"workloadProfiles":[{"workloadProfileType":"D4","name":"profile1","minimumCount":1,"maximumCount":2},{"workloadProfileType":"Consumption","name":"Consumption"}],"infrastructureResourceGroup":null,"peerAuthentication":{"mtls":{"enabled":false}},"peerTrafficConfiguration":{"encryption":{"enabled":false}}}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "1643" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 96A4780E7C624563BCCC92704FFDA9CF Ref B: MAA201060515033 Ref C: 2025-01-08T07:54:25Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 909.040125ms + - 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: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/jobs/aso-sample-job?api-version=2024-03-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1377 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/jobs/aso-sample-job","name":"aso-sample-job","type":"Microsoft.App/jobs","location":"West US 2","systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2025-01-08T07:54:14.5054126","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-01-08T07:54:14.5054126"},"properties":{"provisioningState":"Succeeded","environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env","workloadProfileName":"Consumption","configuration":{"secrets":null,"triggerType":"Manual","replicaTimeout":10,"replicaRetryLimit":10,"manualTriggerConfig":{"replicaCompletionCount":1,"parallelism":1},"scheduleTriggerConfig":null,"eventTriggerConfig":null,"registries":null,"dapr":null},"template":{"containers":[{"image":"mcr.microsoft.com/k8se/quickstart-jobs:latest","name":"testcontainerappsjob","resources":{"cpu":0.5,"memory":"1Gi","ephemeralStorage":""}}],"initContainers":null,"volumes":null},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/containerApps/aso-sample-job/eventstream"},"identity":{"type":"None"}}' + headers: + Api-Supported-Versions: + - 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "1377" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 169D4C011DA44B9A91993213DB94D015 Ref B: MAA201060515033 Ref C: 2025-01-08T07:54:25Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 908.873292ms + - 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: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappOperationStatuses/c0614124-919d-45d0-b396-e027ad2a9b08?api-version=2024-03-01&azureAsyncOperation=true&t=638719196499428114&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=sQbUuIvxwGBvPXeyV0mukzA6Br3cwLZsppPP6zxcko-hL98Z9JRUVtdkLz_9C0S_VGGAHN9MFhYXy4RdRW7-cCMuuYPwh1CeZHaBlBLJ_zl0_cikIbyqeO11Rv12xxXi6pW7CQ8nhpORcUmmKX07Zu2e6VkXGW_BPWrJrCT_muXIgG0j1p_ALINnBQ2v_LgiAYBHrsuenlFZ569KZwf_CcQ-4idfRIUtlajl1xQxjatIIolfnNukjwqxwka4rx__Zs_hgfq8erpt5KLwB7Y20vud9Kc5yV8gZm5MV4Bo8b3ZlKLcSXH8_uRLcCM5KbF2OGQCxiada-SclrWtiJLESA&h=vmZCs8O1FwispBAfmUR7zvPsgt123T01JU2BeufkKAI + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 279 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappOperationStatuses/c0614124-919d-45d0-b396-e027ad2a9b08","name":"c0614124-919d-45d0-b396-e027ad2a9b08","status":"InProgress","startTime":"2025-01-08T07:54:09.4319416"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "279" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: CE697EE94C82461F838D2C1B5803CED8 Ref B: MAA201060515033 Ref C: 2025-01-08T07:54:41Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 8.859425959s + - 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: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappOperationStatuses/c0614124-919d-45d0-b396-e027ad2a9b08?api-version=2024-03-01&azureAsyncOperation=true&t=638719196499428114&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=sQbUuIvxwGBvPXeyV0mukzA6Br3cwLZsppPP6zxcko-hL98Z9JRUVtdkLz_9C0S_VGGAHN9MFhYXy4RdRW7-cCMuuYPwh1CeZHaBlBLJ_zl0_cikIbyqeO11Rv12xxXi6pW7CQ8nhpORcUmmKX07Zu2e6VkXGW_BPWrJrCT_muXIgG0j1p_ALINnBQ2v_LgiAYBHrsuenlFZ569KZwf_CcQ-4idfRIUtlajl1xQxjatIIolfnNukjwqxwka4rx__Zs_hgfq8erpt5KLwB7Y20vud9Kc5yV8gZm5MV4Bo8b3ZlKLcSXH8_uRLcCM5KbF2OGQCxiada-SclrWtiJLESA&h=vmZCs8O1FwispBAfmUR7zvPsgt123T01JU2BeufkKAI + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 278 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.App/locations/westus2/containerappOperationStatuses/c0614124-919d-45d0-b396-e027ad2a9b08","name":"c0614124-919d-45d0-b396-e027ad2a9b08","status":"Succeeded","startTime":"2025-01-08T07:54:09.4319416"}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "278" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: CC079AC4B2C3414491C055D95DC45DE0 Ref B: MAA201060515033 Ref C: 2025-01-08T07:55:07Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 795.988084ms + - 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: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/containerApps/aso-sample-app?api-version=2024-03-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 4051 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/containerapps/aso-sample-app","name":"aso-sample-app","type":"Microsoft.App/containerApps","location":"West US 2","systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2025-01-08T07:54:09.2553042","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-01-08T07:54:09.2553042"},"properties":{"provisioningState":"Succeeded","runningStatus":"Running","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env","environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env","workloadProfileName":"Consumption","outboundIpAddresses":["20.115.194.124","20.115.194.128","20.115.194.137","20.115.194.126","20.29.134.80","20.29.134.79","20.29.134.41","20.29.134.75","20.29.132.146","20.29.134.12","20.69.82.220","20.69.83.13","20.69.83.5","20.69.83.46","20.115.200.188","20.115.201.160","20.115.201.51","20.115.201.152","20.115.201.28","20.115.201.167","20.99.170.216","20.99.171.18","20.99.170.250","20.99.170.223","20.99.170.208","20.99.170.164","20.99.170.240","20.99.170.49","20.99.171.11","20.99.170.181","4.242.118.131","4.242.118.106","4.242.117.231","4.242.116.225","4.242.119.215","4.242.117.24","4.242.119.156","4.242.119.166","4.242.119.228","4.242.116.236","4.242.119.154","4.242.119.227","4.242.119.160","4.242.119.232","4.242.119.185","4.242.119.193","4.242.119.163","4.242.119.234","4.242.119.230","4.242.119.144","20.3.32.209","20.3.32.145","4.246.2.62","4.246.1.175","4.246.2.107","4.246.2.36","4.246.2.116","4.246.2.84","4.246.1.167","4.246.2.56","4.246.1.215","4.246.1.207","20.3.32.202","52.183.117.50","52.175.252.145","52.175.253.104","52.183.112.167","52.175.253.95","52.183.118.4","52.183.118.72","52.183.119.158","52.183.117.201","20.36.3.170","20.3.32.170","52.183.116.61","52.175.252.245","52.183.113.79","52.183.117.198","52.175.249.101","52.183.116.121","52.175.252.238","52.183.118.188","52.175.253.196","52.151.37.186","20.3.32.226","20.3.32.217","20.3.32.210","20.3.32.116","20.3.32.129","20.3.32.235","52.250.90.30"],"latestRevisionName":"aso-sample-app--c6tqfq6","latestReadyRevisionName":"aso-sample-app--c6tqfq6","latestRevisionFqdn":"aso-sample-app--c6tqfq6.internal.happyforest-2166123b.westus2.azurecontainerapps.io","customDomainVerificationId":"EFF02641736216A6CF4A85BE2625D8D075D5E5C45BBE094AB95EC8CC9DC473BF","configuration":{"secrets":null,"activeRevisionsMode":"Single","ingress":{"fqdn":"aso-sample-app.internal.happyforest-2166123b.westus2.azurecontainerapps.io","external":false,"targetPort":80,"exposedPort":0,"transport":"Auto","traffic":[{"weight":100,"latestRevision":true}],"customDomains":null,"allowInsecure":false,"ipSecurityRestrictions":null,"corsPolicy":null,"clientCertificateMode":null,"stickySessions":null,"additionalPortMappings":null},"registries":null,"dapr":null,"maxInactiveRevisions":100,"service":null},"template":{"revisionSuffix":"","terminationGracePeriodSeconds":null,"containers":[{"image":"nginx:latest","name":"nginx","resources":{"cpu":0.5,"memory":"1Gi","ephemeralStorage":"2Gi"},"volumeMounts":[{"volumeName":"shared","mountPath":"/usr/share/nginx/html"}]}],"initContainers":[{"image":"debian:latest","name":"debian","command":["/bin/sh"],"args":["-c","echo Hello World"],"resources":{"cpu":0.5,"memory":"1Gi","ephemeralStorage":"2Gi"},"volumeMounts":[{"volumeName":"shared","mountPath":"/shared"}]}],"scale":{"minReplicas":null,"maxReplicas":10,"rules":null},"volumes":[{"name":"shared","storageType":"EmptyDir"}],"serviceBinds":null},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/containerApps/aso-sample-app/eventstream","delegatedIdentities":[]},"identity":{"type":"None"}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "4051" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: B650D58AEE994AF0942778B85B36494B Ref B: MAA201060515033 Ref C: 2025-01-08T07:55:08Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 1.062113833s + - 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: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/containerApps/aso-sample-app?api-version=2024-03-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 4051 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/containerapps/aso-sample-app","name":"aso-sample-app","type":"Microsoft.App/containerApps","location":"West US 2","systemData":{"createdBy":"harshdsingh@microsoft.com","createdByType":"User","createdAt":"2025-01-08T07:54:09.2553042","lastModifiedBy":"harshdsingh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-01-08T07:54:09.2553042"},"properties":{"provisioningState":"Succeeded","runningStatus":"Running","managedEnvironmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env","environmentId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env","workloadProfileName":"Consumption","outboundIpAddresses":["20.115.194.124","20.115.194.128","20.115.194.137","20.115.194.126","20.29.134.80","20.29.134.79","20.29.134.41","20.29.134.75","20.29.132.146","20.29.134.12","20.69.82.220","20.69.83.13","20.69.83.5","20.69.83.46","20.115.200.188","20.115.201.160","20.115.201.51","20.115.201.152","20.115.201.28","20.115.201.167","20.99.170.216","20.99.171.18","20.99.170.250","20.99.170.223","20.99.170.208","20.99.170.164","20.99.170.240","20.99.170.49","20.99.171.11","20.99.170.181","4.242.118.131","4.242.118.106","4.242.117.231","4.242.116.225","4.242.119.215","4.242.117.24","4.242.119.156","4.242.119.166","4.242.119.228","4.242.116.236","4.242.119.154","4.242.119.227","4.242.119.160","4.242.119.232","4.242.119.185","4.242.119.193","4.242.119.163","4.242.119.234","4.242.119.230","4.242.119.144","20.3.32.209","20.3.32.145","4.246.2.62","4.246.1.175","4.246.2.107","4.246.2.36","4.246.2.116","4.246.2.84","4.246.1.167","4.246.2.56","4.246.1.215","4.246.1.207","20.3.32.202","52.183.117.50","52.175.252.145","52.175.253.104","52.183.112.167","52.175.253.95","52.183.118.4","52.183.118.72","52.183.119.158","52.183.117.201","20.36.3.170","20.3.32.170","52.183.116.61","52.175.252.245","52.183.113.79","52.183.117.198","52.175.249.101","52.183.116.121","52.175.252.238","52.183.118.188","52.175.253.196","52.151.37.186","20.3.32.226","20.3.32.217","20.3.32.210","20.3.32.116","20.3.32.129","20.3.32.235","52.250.90.30"],"latestRevisionName":"aso-sample-app--c6tqfq6","latestReadyRevisionName":"aso-sample-app--c6tqfq6","latestRevisionFqdn":"aso-sample-app--c6tqfq6.internal.happyforest-2166123b.westus2.azurecontainerapps.io","customDomainVerificationId":"EFF02641736216A6CF4A85BE2625D8D075D5E5C45BBE094AB95EC8CC9DC473BF","configuration":{"secrets":null,"activeRevisionsMode":"Single","ingress":{"fqdn":"aso-sample-app.internal.happyforest-2166123b.westus2.azurecontainerapps.io","external":false,"targetPort":80,"exposedPort":0,"transport":"Auto","traffic":[{"weight":100,"latestRevision":true}],"customDomains":null,"allowInsecure":false,"ipSecurityRestrictions":null,"corsPolicy":null,"clientCertificateMode":null,"stickySessions":null,"additionalPortMappings":null},"registries":null,"dapr":null,"maxInactiveRevisions":100,"service":null},"template":{"revisionSuffix":"","terminationGracePeriodSeconds":null,"containers":[{"image":"nginx:latest","name":"nginx","resources":{"cpu":0.5,"memory":"1Gi","ephemeralStorage":"2Gi"},"volumeMounts":[{"volumeName":"shared","mountPath":"/usr/share/nginx/html"}]}],"initContainers":[{"image":"debian:latest","name":"debian","command":["/bin/sh"],"args":["-c","echo Hello World"],"resources":{"cpu":0.5,"memory":"1Gi","ephemeralStorage":"2Gi"},"volumeMounts":[{"volumeName":"shared","mountPath":"/shared"}]}],"scale":{"minReplicas":null,"maxReplicas":10,"rules":null},"volumes":[{"name":"shared","storageType":"EmptyDir"}],"serviceBinds":null},"eventStreamEndpoint":"https://westus2.azurecontainerapps.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/containerApps/aso-sample-app/eventstream","delegatedIdentities":[]},"identity":{"type":"None"}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "4051" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: BD74A6EB09BE4C1F9FD9AFC066FEF3F2 Ref B: MAA201060515033 Ref C: 2025-01-08T07:55:10Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 941.748333ms + - id: 55 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 70 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"name":"current","properties":{"httpSettings":{"requireHttps":true}}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "70" + Content-Type: + - application/json + Test-Request-Hash: + - 4e5136ae09790cc249f6f2d7562c94985d5b0205bcbf6a47ad13aa79dfd82739 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/containerApps/aso-sample-app/authConfigs/current?api-version=2024-03-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 284 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/containerApps/aso-sample-app/authConfigs/current","name":"current","type":"Microsoft.App/containerapps/authconfigs","properties":{"httpSettings":{"requireHttps":true}}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "284" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Writes: + - "11999" + X-Msedge-Ref: + - 'Ref A: FC594D1E86EF4BCDA4BE0A730C333219 Ref B: MAA201060515033 Ref C: 2025-01-08T07:56:02Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 2.5637495s + - 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-lwgnys/providers/Microsoft.App/containerApps/aso-sample-app/authConfigs/current?api-version=2024-03-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 308 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-lwgnys/providers/Microsoft.App/containerApps/aso-sample-app/authConfigs/current","name":"current","type":"Microsoft.App/containerapps/authconfigs","properties":{"httpSettings":{"requireHttps":true},"encryptionSettings":{}}}' + headers: + Api-Supported-Versions: + - 2022-03-01, 2022-06-01-preview, 2022-10-01, 2022-11-01-preview, 2023-04-01-preview, 2023-05-01, 2023-05-02-preview, 2023-08-01-preview, 2023-11-02-preview, 2024-02-02-preview, 2024-03-01, 2024-08-02-preview, 2024-10-02-preview + Cache-Control: + - no-cache + Content-Length: + - "308" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 89EF67D0748844E89F2797DCB2E522E0 Ref B: MAA201060515033 Ref C: 2025-01-08T07:56:08Z' + X-Powered-By: + - ASP.NET + status: 200 OK + code: 200 + duration: 1.01438s + - 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-lwgnys?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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Deletes: + - "11999" + X-Msedge-Ref: + - 'Ref A: F834997E3E3749D9AB079186FB435C16 Ref B: MAA201060515033 Ref C: 2025-01-08T07:56:10Z' + status: 202 Accepted + code: 202 + duration: 5.081067167s + - 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: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197971969738&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=lcMswZNzQY8kqMhQINXcLAVcVUNCnVpdRQEHF1UU_KrQXB0b9673tcG8bbcX-6BQWQaaynyHfEYdLnvNIvysKTsSPFM2jrDyCg55Ui_o88O8CKVSixmA7mM3eZo14axRvQydxVxBJTDF7d6bdbCiHnmiMO37RxDbzQvfcfJfDpMi1dzDo9uSk0PV-cbGhxZVWdhQctmguJQeUweB-kWu5tjRRu-p549oxK8YFhS-at0GFjUlp6YuHLu5338HUDGq145AgCyl6LUYhF85qRSNUrN28yIW1E3w0egyzedU4DUnW4lsKeH3E8K3bBjprWVlFz6RQOkSLwtUO298xLnH2Q&h=snJY6aPWIKsrBfJisbbBP3VHlVMrMZ0uBMam80f-dFQ + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 8C27AB70CDD34B549E34FD573A9228AC Ref B: MAA201060515033 Ref C: 2025-01-08T07:56:36Z' + status: 202 Accepted + code: 202 + duration: 1.094003333s + - 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: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719198145044657&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=vRZuX03OP7R8G2abz3yGBSnZj9ZkmwKMSVBhgLNbM5ijFRkkBmbXafgQ4sOEiE4IVhFVbG9xW2HluiGqsQ4CS5yizMoJo0-8rmr9-tchbC5oU7NaOKUn_Zhy569nOt3pVwDnDchEM4mQYMd6Ume__LRnhMvG1k2gm_PQz7bO8D3rXvLzTQIz_rGspJJxH6WAvceIzRLIgcBUHraUvLLWlYHdhXSTKwjQwquS0kL2SDeiJiCElNrvLCk8ys5gL4eaFnYM1sQ87Fbp7bO2Jn4JMlXwdwDZw9w_7H2Ir6oMaBXUh_OygoJcX4GthZrQ-jzqchTP3vT5IdznqCTyVbI3NA&h=9Crd2hxe8jkQd5TDKYTI-ZjPIZzxnNCvXg18rdScGqc + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: C98B6B3BA5C6459FA1F76E53858A8BD5 Ref B: MAA201060515033 Ref C: 2025-01-08T07:56:53Z' + status: 202 Accepted + code: 202 + duration: 1.190924792s + - 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: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719198318866703&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=qYb0EOVLXlRfKQeOoOlOgAWy2Uun7xDmJfT32x-GmfFHUCjHDb_Rx0F3pBD6BzpYPheb269bBBd8gK-q3josH0yjoB5Hs2v7eJHfAG9oZHc4BsvIErKBdxD6VeRCgDXwgxWI4akXYmWPv-khRGXxWLauZYsRsQAL_KHtX7k11RIp2GWl9KYctIuHokTA7OBIJU0lhIJ4kRwcSsw7MT4jsrayNlmW82XJpvXLMxe2e1saBtt4xtEdVpwYoU6lRtaWNrgDxR48un79wWRQ439I1qkHFbl__8m_sqyHEtGRQCWkh1bJkJMWhshVKVt_YNROBHImJjj5kQ5HK6K9j_eNjQ&h=KTDQd4yVKY-bj-NnqO7czMXgQm8qS4sGZQgHRASsvpk + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: B3EE09F36F9B487FA04BC1656630A943 Ref B: MAA201060515033 Ref C: 2025-01-08T07:57:10Z' + status: 202 Accepted + code: 202 + duration: 1.140838875s + - 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: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719198491585303&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=zyZMyLon5IEt2eJmpyFj_Mp_prKD0tBjm-ZjXQdEHxj5FDJzFlRjpESxWp4yCF7N8ERBYgNcBJbNu4JG3c_emuRKBWtazNn-g8xAZrNSumaSZg5fb2C9S7YtDTBSRqYQKPOyDY13cLYurfd32ZAxbRnR8bzprBbhzbajxAu-5PJLXV8hL-7MdVNg84EjEajEFoKRNw6YGgqdfeaZjRqtwVS8AoBPH1RuNfJyfTA2Xe5DNTYtEu1YuT-TBAyTEet1d2G4RN5HiTDEvCHBiyoMP6-maMqwdvn70LRSjWTwwDfQu_kJ_ihmopjKuEeV93CN395_R7aT25uzudOrtq2YUw&h=_ammAcIZmKQAPn_Td3nx4IY38J1Zn1UnhfqT5I1MV6k + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 2F46357A2770410BAA642A066F8142C9 Ref B: MAA201060515033 Ref C: 2025-01-08T07:57:28Z' + status: 202 Accepted + code: 202 + duration: 1.132559292s + - 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: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719198664344724&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=gNoLlE32a0PFVJR3ShSuvJYEyIijBiChrDC48AtR9gF-GGXdp_c5P6w8iDGpzDE8n9eMUm7MkQnJfcXr6PaFuZqinZEVmElAAuXUrr-YU5WG8ecLb_F2-QWF5plhFQ6dN7TG8TbGGVw5x0bWnn4NfW66JwX4jyyfz6hWpioep9y7wxkQ_C0JJvKADvhWOvMMxusIUFrUXuL6ytY3JIRs_Ig0vc_mwTi9MfBJeDKK0yhkbXkRpL9ie9AyhnAHSX_a64DWtp_VzsIHWFgAxLGlP9uUoMppoSZ4xciro3W6n02gm_cU8YgT3oZzNcPIRORV7Ss-a-AhSkdQDLZnelqW8A&h=dAXXh9JJRx7J5aXZ6cIk3zBVeIoVXTl-2qiazJS6H2g + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 0F5C868DC4D74DCCBFB3698DDF3637EB Ref B: MAA201060515033 Ref C: 2025-01-08T07:57:45Z' + status: 202 Accepted + code: 202 + duration: 1.123543334s + - 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: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719198836751892&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=P3Y_pVEr3t9mNmNgvj0JFVeD0DDTJoE-EBkJZLYEib0IkUsdunI2zF9-nbmAfWGK52Pw6zxG4uJ4q3re3P1-Y-b_5JDmtwnaGRnkuOI_8R7Y3DYzL79vXFMkR6CjW0HoxBLW8aSzXWeuSxuIBv0Kuc4BEbx0HxKZwvv0DbyqEADsdXNwBPXZeiezLAG5o6QDbrL3Nfx4Miswp2VHMmdYS7HogYE4K8-S1t2ZXK1FxHn6jNm0Bn-SySBnjMN2l1LT6lkAOH_0vBa0QXPIWEQ3AiyTHod-dpDvC9pCNSjdm3Un-is__rwUvZx3miuIAV4dZa5Ym5dw59VoPkHImFApHg&h=O0qCCTT7_tqm0hMMMJ8SCpqMyR-0TqNHhV4PyE6dvcU + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 54103732CE584966972581080141D91D Ref B: MAA201060515033 Ref C: 2025-01-08T07:58:02Z' + status: 202 Accepted + code: 202 + duration: 1.107648792s + - 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: + - "6" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719199009612046&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=brLUb8UVX1jBvaxgoWOUl69g5Paot0U7IucOBIw3pp7wOfQ-o_0rctKQdLagCj8hGMmrN5uIvzu1DIzNgQyEt278JcI0iegpItYmFn0zhAsip0Hl9mt-tS8HGsBgPFmUY4fce-uD-va1LExRavn3MHZzaFdEAugJlIhxHC_hPlXjjtsEze_7Wux1HtXfnJ3R4S3ZevE-gEeGPphqyYbwvf0xEfdjAPjQCVes9dod_zn0QPhE4KZhf3SqPiqleWxb95wQkh78uAPyXPNAcGfLRj4vaqM5rduFs1jQHUCdOpa0jdT8Kbg5xv4d_xhRubNHGHldj8zJ1hLkQQMH4A_LYg&h=aRnKb6vtqbQKDvJxJ_kKmuuGhbz1fR2aiJHK92aQaCw + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 3172A536BEE341B4998EB58572163805 Ref B: MAA201060515033 Ref C: 2025-01-08T07:58:19Z' + status: 202 Accepted + code: 202 + duration: 1.164568458s + - 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: + - "7" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719199182413056&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=wZaGP3Af3ms5h4llUBcJ_IjQrrRz6s_qHm19-a-KwpfQHRIFo_-usyJqUP4KTBVIgOXecFiedYAYBPR7DDQb_I3kVw7GBvfclSV3gMGWkALwtWK7lmivY5thsKz0TvEVZR4Wwmu3k-iL-pNCI_zbtQe0HQ3M9asP23p6szfP-IUQVPI357wvn_NdmB4Pk2TqeepSxLhFQDGdVPiluUqUBk34KaT_Jd7mrNIU1I5zHsXdlFXjspRWiNn37jtsRx9jamkdDlH17LwPuinGZ3Ti_wLSmqMtVwDdy_-xk_wSBiV9xwnHo9jsV4Zg7dz476meKlqcyeAP9ihgHzN8syhEHQ&h=pBrn-lDWRYF9EvGgXXX4kzmQbBq3-eU_X9q6OwXpV0s + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 50AA4D38E2BA4C40A63CDBCA24719247 Ref B: MAA201060515033 Ref C: 2025-01-08T07:58:37Z' + status: 202 Accepted + code: 202 + duration: 1.099171292s + - 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: + - "8" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719199354630549&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=T_THZPqz5Rd498QDJjPLq9c9juRrovR5vk3yjANEbC6AnrI5wpMkirn_xYZxDhKADLwp1iUYdUhlCGbpStHQ_-DfKlWpAY23OQWwiDWQg_oj2wpIbrkFEiQz-zZJgljdB1LMog2QNvWnWpBEicfWAVCqDRr4CXxM1-jFPy0DFws70NNh1fiKE5ydYXqJokIZPrPOgWztSWsbE98hK83IOzOfBYV47Hx2aokpk-ErfyAnIa8bHxzh1lTtz_eJeDvxhMaO1oV-sM1aseMok0b1p1Sv3imXn3_bWcDPSdOy5E43gF5UPUkj7Xyb-mu1_5hjeAfTSBwx9Gd3JpFxVZF0ig&h=MRH1qB9XDHGsnNeVOPSfKRRAXP0-r1nGyMi5H2EYV2U + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 7C8A225D780445FEA85922C8FF54CA31 Ref B: MAA201060515033 Ref C: 2025-01-08T07:58:54Z' + status: 202 Accepted + code: 202 + duration: 1.104857125s + - 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: + - "9" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719199527372212&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=l_DXPz52BYe4xHGx11T2HlopEOx_nhzJbnPSyEmlIz8G2ikxA70P8RmmO0lrz1dO42QP2hAoK6pPY29dtqX4r75tRMQeCJy4Zz2G5jpmX7Y3V7AQmQmKOwZ6dU0-KlI__S4TMwFGkAc-xeB2IsWD0zJGoA5mXooeVy359ZWVCqMB6sfIjpELr8Lz3F3o99_KoWLLFAcUtOV8HHU8jh8GNdtUp8-ubkL5OphweTjQ9v7iUnRfoRrbLy7PGYc5KC4TIJUqoF2LiGpffLUcByP5usSHgc6CKvxVI7im4HrpdcGWoolcO9D_qSBB5_lPbt6zjGViS4Le6gW7rwFTr9s-Xg&h=vkJEV7WK2ZbvfGaAUGqcHdL62HVVT_y5hQn5a6sn97s + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: CE94AFCC351F459A9A897F04EF1258DA Ref B: MAA201060515033 Ref C: 2025-01-08T07:59:11Z' + status: 202 Accepted + code: 202 + duration: 1.166892792s + - 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: + - "10" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719199694563938&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=IKiEwu3FiR6nzNGmCYFA1yp9Eu14aYQK8SyYX7OWjJEN6qYA_xgpfYZoaPTnAGBrxyKhlFjQoRjZS8G8MKnIQNr3BZSQVr1ub46vFI3cS_4g72iXOEhd0-WW8TLa0XnuIYpMy4GblMH5URWexAFLv3mnC9phqaxAiGNDhV4PXuoQWjCHMgWQVaC3ur4vd3iQskTDqHHeSSYUBccQATrkyYzsacQfgIA2b3zzljHj6_gZs_sPLpgx0f-2iIZVxIWk1NK0Q1J5sf9dTllq0DF7uZSMrDZII-h6yIc3_rp-IiCcNHr-S1az3taoNVtrHzVb7xBvECEPAupP_g5iTdkV9g&h=NmRFbTqZ3mGYq544LEXLe4sB0aATbAFY8MCnvaYE7hc + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 962E59A6508448C892703F106D18CC82 Ref B: MAA201060515033 Ref C: 2025-01-08T07:59:29Z' + status: 202 Accepted + code: 202 + duration: 516.427584ms + - 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: + - "11" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719199861327148&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=L6YRoet0eGoka79VFV8rUowWglfpEKKr14dU8F7hrgg0XMqq7PZafHXlAyqKKArWusN4rnIVqZeubkqtf1MqGGabLhY-71fCWjzsrqVlIJw4C3nU1RAXoJLQxg3pvav2Aj-hJK6PXapsFb3aEK4Hkbo4XJE4qyLZCDAiflxzBfr1ughzObpFTrFdnZ8BOEZ4Pw4ZA28hiL0zv3b4lakVebbca_FIHnUSjWhCGq0eaoO43VzOqJL28FBRULa0mXwUV6_NZPo5O2sfaJwpgdIXo9rHcu9cNlQmnVNIY0YQNghqZxt78w6dAOiTTNOD2M7-V_sAe5LARmDTbiOwt0oW7g&h=kUceJfRramTYEpnQFLeIQpHVd8emSsgEsCl_erkowjI + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: CE6E552097174A6186FBB5D9742474A5 Ref B: MAA201060515033 Ref C: 2025-01-08T07:59:45Z' + status: 202 Accepted + code: 202 + duration: 1.133772584s + - 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: + - "12" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719200033709946&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=Exg9-AWybiQ09E3AZ0SyuGApEL5uYWKH8VTxdT7Q_2O-9BX8FWqn1SL2PL2qF1kgVUsmY5cxnXe5Zp4-LGQvpZhRuA53LokQSvjJjKoYjNM0_1aC4f61q6rHW8sBrYZ0dX7wawuISiZx40C_rYsiPG1PApW724feTa5zGYUZx7zdvKrky1fK91H9t5xJsfKNCrYDwZb04dNPACzGLZKbH-dwEqWeLGSS1LJMsYimpyFjAMvuEPJEahOol_AB_ew1Fife59amvQ1K3xImOPMYREVsA68blePOi7Tlq-DQIJswrnX-OTXJvt23NjmbNtys7_xbmE4_C5hXYRF6lHVAUQ&h=QrDLIQVXbMNYYHmjezis1Twy-dbPKGbYqLlKI8hlc58 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 843B68810649412D8263079A9CE0B529 Ref B: MAA201060515033 Ref C: 2025-01-08T08:00:02Z' + status: 202 Accepted + code: 202 + duration: 1.123067042s + - 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: + - "13" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719200206475434&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=P7Ch7hGGd0ck7gNHyH0riJpejLfxjg4UXAKBRBiBdrmUKayMokpVB1WWr9luZwK1-i0RU8LJc1eiN38L-rSPSo-_9Tc9KTQsb0aITVekXsOHe2VVYr-2BuoAaZFNWc6ul9T23TWUwm-Df4-PqhYYlgr5ZmpRSJedmV1no5-Jq2hpj0FZvsL4itvg57ZBbkx7F3n5R80_r1CR3QdFY9KefJrIdf44gp7E9S2jN2S-pGMq4vrwuHggcjz42VCEFyYNWtxBvNGthoKuH4wkV6EwTzA2kYE3Z1NSHb52CSjLvJHK71wOZGfHyRwP6UtaqF9MSzR540P-fLNIcJcNtOTKsA&h=jmVcgj91-rgsRlaOTaD6zyHYua87TdpBYroauSHdpcU + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 7FE2363E079641739E978B191042D6C2 Ref B: MAA201060515033 Ref C: 2025-01-08T08:00:19Z' + status: 202 Accepted + code: 202 + duration: 1.146951125s + - 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: + - "14" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719200380499850&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=LNRnGbjhbm0Ujigs_743h7zEnTnHIKGrIzGqQ6vIbPsGA6-C_NyBmzISwsvv9rPU9mqxNSpGeCdY00j3-tl-DeKIy1hrSzwGtkesuQsDUUzR-EvBp3POu-CvYFrbtDcIH41qop-JMh5fK_PsloXvts3r8Lr43-QpIcMMEy-UtoSWikn-Q_qgQ9MaY2BgQuhS0Xx6hpN8VcYE9bi0-bGAzsi8dab9dWFPJB8WawTdV7RnvdYJLsW8LUJx45wUFZpHBqBUQIsF5eNd_aXxVnfY1pwZEKBe_a7m-X1-XWJA7jULZrEIEu-0f7cuvcfEmqIeHwOOzoM-PRjEvIxwuC2WGA&h=0LDAK1zaK688BmQ9vSKnn-njB5P7y_vFGp3CXB7R_h8 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 123F7A87E86F4420A96D9D7212277EB4 Ref B: MAA201060515033 Ref C: 2025-01-08T08:00:37Z' + status: 202 Accepted + code: 202 + duration: 1.1634325s + - 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: + - "15" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719200553835218&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=iXf3987rbqqNxc-WYdcaTxYJtEfVHubTSx3ucO8ZibxKIW3vZE6e1Y3HCI42emIBJ3nVLjtNhDY333ft6m9mUiO18r8Xd6l4owBzPdmaeTDZO_PslZclJlR0DELK67J1_-TbbmAQYl6qA0LbyNpcuQotWKYs1JikFcl_38CEUSt5lTzRL_VJA42PS2DQLN4r7kVTOtebbj5Erlox2a50yHTA5zlr7PxN2-r8p3OEgEoq1PzEJ-eW3IR--4ChSjh7TemaJdfA7qJBv-2XgKjFr5dMm15nQ6LeUgWSLlpcuQlUr4rW2-x3d_Y0kyF0GKOZegRwRM36afPc8m-qg8YfYw&h=FByFLdhAIW3EXWe8ZNmiEZTqT6ss7BOpcY9ICc4H4Y8 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 214437D393724BC2B115C2D937D65C57 Ref B: MAA201060515033 Ref C: 2025-01-08T08:00:54Z' + status: 202 Accepted + code: 202 + duration: 1.131622375s + - 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: + - "16" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719200726853065&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=mrdpH6uG5bwVvxaYcQ2EAQjyVMYziAAGkxBSR9Tp2Nxe1PCQbmHdDYiaTCXMMB95YaF70wyB6KSlJP6SdoGO2tRAkNkQRjGA6qOc3iKO_UpQO9yWhrOWA-dx4qxd-80fxj10gvYQpStuFzsK5kMPpXUgww2vY31vgNENlxvE7BroNQidBp9ifD2NRpcfv2O_ZeihHJmTGDJtwp9Zg-lZQdtio-64zBdcxrI5c-XWHQvsZAlxMLYhABRu84Z57GK_CEL2WFhF71LqDwagEroMytULakTY2aSCfqlIkK6vHwjpaQBKM-MHqmQdfySnMIxIyeZP4-uWYaCEx6XIKRq0PA&h=ZZxahHWr-ybQxWPCxnpuSyUoQQ54h0xdl4suyeSr970 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 3B077A1D28C74B5DA62D366D315259EA Ref B: MAA201060515033 Ref C: 2025-01-08T08:01:11Z' + status: 202 Accepted + code: 202 + duration: 1.149394791s + - 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: + - "17" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719200900093944&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=JoiG6oSIihocuWjQzTuYA12ruvKL9RgSzCBbyqYXXYqcf9_9k4qHFqbYXPzmuOvxQF2R-WM9ta44P5Io7oyOJAzvePRQKQ1ptd7hrmrApvJspKXYtT1OlT3W6PUk_S8AaAA3HABj5PQayUAhnzgI2uHSGJUd-Gkt9X_MnoOCh89Ow-efpu1Gbg2ceYcD_caDwCma8CahLqGy1A-8EDhYXeV0jtDUqzNVl-AxSVwXvu5F5F9Cejb-GyRL2TkGii-tLEac_aMbwBT-mhPpmKuqXjE10FykUCM4xSq9CfBlbsv3eMcoBPUKQkkzttPTpukDfuanERjYV18Ob6ICazZuDQ&h=StX58ybZrksQ2q89lN7LEMM6NE3zE_slTqsB0hmN8Q8 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: B9D6887F95E948D2B89827D3DDA86210 Ref B: MAA201060515033 Ref C: 2025-01-08T08:01:28Z' + status: 202 Accepted + code: 202 + duration: 1.160276375s + - 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: + Test-Request-Attempt: + - "18" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719201073680363&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=PN8Np2x-pC0eJJ0kkWl6OTV8HuMMJ-goMds0xS5OgVe2vuCFNX9E801WmY_37dSWvZ5mPiKzB9D-ak0uYQ7ArQS9h-LrKR634Q8WLAFi9Akfq-9PzP9e8Sa83I9GIGxoC4z4wkck0_G8k-bTUAR6rMOcSjGiHNJXzEztQI1G_MUqUYFcjfqDn6WnKcFHuX6lKImgcqqf2CL65XIgDMImGN9yGkTtRO84N27yqqn0kypW7kgeORE6n50zdiLhBbm80vsve1KS-3_cu-8nvm8ZziwS4T4y7Kg5kLqXuX9SFuyQzy-sdFVTO1M8BPuvD9CCMni6OI3TLfJBWbS6vtk-ew&h=ToxfJjbyarJ2ANtROhaDcAAz0FjhS55J_uhoimAF5Vw + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: B733C357AFA4459C83BD43C33F75C3C0 Ref B: MAA201060515033 Ref C: 2025-01-08T08:01:46Z' + status: 202 Accepted + code: 202 + duration: 1.2074655s + - 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: + Test-Request-Attempt: + - "19" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719201248428446&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=L13_RC8RtLLq4MSssGY2ls_70G-G1lZdD-Izr4MfiqL_HPqkwJiixrJGIIxeXT5yunk1G7NTiViBhZH67V1G0Wo81XX5qOjKA0Yvn59U8_PM_1L8WONHtCA-s6hc48gu-bLGehHAxskMY7Y0gnoiJ5v1q0P_Ezfmx4KNN0MA9esxg1WTXqJ26GlYJLy4Z5wLERWyHtPEsyNH6jHZTitx1eO3kH8IyzV3c3KiRvs-oMSpa4IUqVh5GB32rvk_qxzz-IOFYF0CCQsFGziNFySRaNcZ5z2sqpyHhsPfb0fkqhFZ7SV2d5GBpcjoZc5aXK3SndbOpFz1AApG-yc_dkfVyQ&h=5OAO0ZsT4eRabl25FjEVUrO04NNkWpjfkhz1hCvGRNI + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: BE467AABCC4B4A958DCA96014C896D98 Ref B: MAA201060515033 Ref C: 2025-01-08T08:02:03Z' + status: 202 Accepted + code: 202 + duration: 1.183708291s + - id: 78 + 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: + - "20" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719201421748590&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=thqLCpl-CpiT5sJtBj8ABAI7QkXGq3InST_GBeWCJGXSyG7sD0q-3Ks4iM9567DRZTBDVb47a6OPTw2MYmycuBYEYtbIAjvcUmjzvZEH08BmlHrXWDwZDrZ0ACOCzOP3fAD-ItDvn21-0TmkyW8fJeRnMdPt_mZrBboPvFmT1WaRGvicsJkBZWARtVMB5zvCc65aHaQecp0t1LoeT8YEKR371sLbDlkWLI-KJ-kWz1zJamg8U68cAOb_lDIXqtSeGQLopPwQAzkvvBoCBTZybQfffSmgXRyn6mnHc0Ceg8F4WOHox5iRFEHTHwSvxj7FhyS1tMtmyBIfWciW3xcfJA&h=oRGNLth0wp2-OEE6UrdTyS5HNgQW3FUyLFxZVLyfm10 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 680AEFFFA1D74434A3DD7DC9F092D181 Ref B: MAA201060515033 Ref C: 2025-01-08T08:02:21Z' + status: 202 Accepted + code: 202 + duration: 1.139202125s + - id: 79 + 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: + - "21" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719201594822047&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=e9i8Yql03P6JJmkGGpifIfQ_uEtFthqrtAk2Z1rF50x_SCasR1ltpBYQEr27cVzDTkNcqPfc9Rc5dJAEa0KjPdf51g65e6Ry5aaGnMIrYPEUu2YxASmCxYTzoDjZtkCgXyXK4PYyXSrRepGoGBKEdSZFvBVRlMBXuauiX8NDNi6ufSRGxIZxyhUE8nI11P-97xIngma1WauLrXOEnhqcNuQ3CTH1IWZIgJIWG--R40XqG_NxwNY0uNi3ua5M5M_JtC0SS9ya_BZAa-6fYCub4K4BIxKLJl-CEI6b6patiqbqgtvBRMeZDoqIitKWITITBqtxFrAx8vdwoqD24F1-xA&h=21_YuLDq4tkUeVgRMxbXDf0NIIOYKT5qYs98o85BzgY + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 9EAD5E697C5247E19BC5157430A9C6DA Ref B: MAA201060515033 Ref C: 2025-01-08T08:02:38Z' + status: 202 Accepted + code: 202 + duration: 1.149005375s + - id: 80 + 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: + - "22" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719201768302702&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=JahTO8abuI_DgtKWDbwj6c5ZX4FfKNiA5vUropaSwDKSeVQIbwD2yXlOENUBqT3iyuoXWfI0-OLDwNzSRvfVXmClmer18pf-1q8hTOPAU_PXWP1RZyUX2gtgniMQ6bN7b58Zz3ihKgK2lWaA1QY4mT0Fv7QF4GqreViDDBu9P1K2r5R9CNpFJq-TTEjgaA7KdbsnzUsZNqI7a7A9qeacPobKZM6v0x9L-G59cVikMUyGhqQHOhjGo_thl3a_Oa4lWUDjFZdlg6Zpuh1RBv2gz3qLBKMvMJEXUSAF8YCk7DTd14TUYrc2DF_hjdVqIQEL7drXieSwbLcMRhnJE7Yutg&h=EJS9-ptFPFMdBN4Z6Dq9-dMtf148iwNfM6lCzmeDl0s + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 85C53EC891DC44AD9A88628CAF7FCF04 Ref B: MAA201060515033 Ref C: 2025-01-08T08:02:55Z' + status: 202 Accepted + code: 202 + duration: 1.235924709s + - id: 81 + 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: + - "23" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719201943430943&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=It4cYXmFECA2ohFe4duRPv_qWVw6VRL_ufSKERbtL1Z36uSyCm2-x8LBkcXHlY9Hy5e41SS5s0ThiggIkrj9LRfTivQbrC776nONxtgGRXEOzpLtnbcfN1Ko6N9rWHxetlF1PdAI_KGB1myhBYgB2bwail0xzzneg7W9eKWfmzqlWrCXdb_MOQuYd-wE2tSpKJNtQGLdOvnDiqNSkHlerR6iHTO3cDmL8vYRQsb6q676tOOogaGk8xfrQFOOQT4eHgOgH0-RbGfKN-uCVs5BcpK4D9hwUeyhcd0Ff7IuO-rWy86VVeW75sIhhwy1hYS-kIErqNCQKaC0tTFb5fe4_w&h=raRm-wBAJf-NCEtugcJztURQiPzu7I2ubsJBO6jMxY8 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 0F645440D9DE49A98A41B20665F95F21 Ref B: MAA201060515033 Ref C: 2025-01-08T08:03:13Z' + status: 202 Accepted + code: 202 + duration: 1.253634584s + - id: 82 + 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: + - "24" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719202118036730&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=Z0ZGKA1gRFPAqkN67xDDskBdcM2E94HNHFD0ZL2IA0A1QARyaoryn9s4z9JXyo6Z_LsFbloY-3rnex8WYjPzuTVqGMSZAk7soTeymNzBPLUk68RLOc9ioKh2-AGSoTvoSPkS2YP4IjpSA3bBJ8Ct9Cy_KvL5t_GEXTvag_XQGCz9xYjlY9Hc8USs9tP6oi-DkEMI5Gkyf8Sl_LNxPwzqPCF2I_TH8QhpMVbviXnBgk5sgXTXd_eoUHt174GPDBPLHf1M5zTdlqSVkI2HVulGOwLqPx6-suMtHb-VyzMWYAy-k7jairvvlCK0mc7OGhnq-b97M5Gsm38csMwjMGIjyQ&h=oSbLdOh8nnjxaYAFEQhbJ1n-LVWHnhMSZjXZFT2G0z4 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 2D086A90073644EB82CF62E18A9BBD52 Ref B: MAA201060515033 Ref C: 2025-01-08T08:03:30Z' + status: 202 Accepted + code: 202 + duration: 1.122618166s + - id: 83 + 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: + - "25" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719202291366249&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=WfD-i9eplzTvESQDKvJSRCWel99OfbIIDbOwLtyWX2UOfg0wGAe2mY70xCf5uPLJXIfj93UxQ6sc7l70cv2WRwsDokWdWmuj8F-Fojt0ffS0RFL3DvmCKua__kc3DHGU1yZH7fxEeDiTctAe3bEAIPmhyaFmOXwYxnfZEfX_wqJtWlx_4AiOBYlgQQAwx8yu2C7UfZuxG8vOEheX4fj4TP9iIbN_UBt0HY62UidcieuZKuTva78SY8e8mRbkxxnCvLQ-8B4JBp43BjbcoT6yflKpL3i8vLbvesPhR2TLfRWaCQubjOx2WHegCjSXY4REqImDgd8TSGnX9lzPaSDHcA&h=m9Do0GLwAQ9XfgO6zu3FWIT_rtUXBgcj-_5VYk-E83U + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: D263DBB15D5C46A0ADB54742834E5574 Ref B: MAA201060515033 Ref C: 2025-01-08T08:03:48Z' + status: 202 Accepted + code: 202 + duration: 1.167419417s + - id: 84 + 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: + - "26" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719202465067523&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=sDTPP9Pma70l__2J5DEuDceGk0g-qfwavmUQetSNSUtG76yup2ZHgO-cyoGeNWYYugUX3EyIesY4fXdU2Y2ZjIhGi9yAo2gyy7YJtsBHFr8gxJmoWiR0RGkr1LXbsMLHLkFdo238RS7CKECCxnNkdRzk3H7LGwJtc2KilYgqc6Pl_BtS2DqTt-0-EtxoKE3523cWrpWxTYSsGBXDb4a9ZSQoMSK24JDJu_evArJxSH_Y2FPYIm9pjVF73yBt9Z5MOJl-3_7c9Mw1urtf1kxpNTkMvktKfxiT6oXWo_uJa5u4VPjdHKrc25VXVuR0xKmIUMBPrnquEZgu0QTodU60SA&h=VvfP1p2KWHJdxvG6kAUTRSm2M6X0V06UWwodibCI4uo + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 199A4A48B1F6415D80F3AD45DF0E92B6 Ref B: MAA201060515033 Ref C: 2025-01-08T08:04:05Z' + status: 202 Accepted + code: 202 + duration: 1.160781542s + - id: 85 + 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: + - "27" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719202640746879&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=foxibzr9W1yM-akryKvbQuPr4caICZ54R2SUSgybJ2M97SfYOZsO8U-UUkY-V7Rq7W0T8F909sZjgZMCqzK8-WJaQEdRhPv4ejFkhJPeHOjH56qvaxp2o7O4Y3mS_362iXymgq0GCmVqPWzP7zmllwkWIxLe7vWQt5NNN4B1AmeZtU6gs6tJ8o5M516p8vJhL7F3v6dSlSpqUX26AsN_d13R373OgUlGOgyjdlq1cll6xEPldQha353GffIehzDgzrIo9wclSQ7izVw7LoLyXXN9nKx2M5_KKA4Ak20oDqFoPgRN9noBl-Kgbj57jNSQxqcw3YJnRvUwZNW1nxaLxg&h=We649W6zGoFY617MNjb_Vur9xm5AhpD0MX2zQ9n923A + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: DE5031EC363245ACBC36EF582E056DE7 Ref B: MAA201060515033 Ref C: 2025-01-08T08:04:23Z' + status: 202 Accepted + code: 202 + duration: 1.151348375s + - id: 86 + 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: + - "28" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719202814251512&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=fVSiwWRqr8EeXq5yTMU3LN7IDDHMJpNAaeDMWicT-BRkPqEqqCaPMC2D4QjAFTOlBYmYDjeaneXrqqAOrNMUDyA-GYwfpkOYRU_Why85ZX9AigzrwSjyWqUDg8YMAu9Iqy-yQk12soBMNZKINe2-bUM7zSF0semibftzeOMKU6rx4pq9qowqwWwovgDpOe6DvE8G64GjkP2Lc-kQSUDGLLKscMMY-UBsydpfhyIee_AuiGHiahdZ1A4FofIvF0aq0KvrdoRSKPQlUKnvgGa3xsK4HEU63635vf9fkRrOQuziOhqK2so4l0nhe_0JXBEJoP2hlu4NW9hebl_V_T4xIA&h=aEszBIsb-pGt7okShrHSWlCzz26c78rHGnBVk09G7UM + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 3643F69BBEDC458DBC6EA5E7107035CC Ref B: MAA201060515033 Ref C: 2025-01-08T08:04:40Z' + status: 202 Accepted + code: 202 + duration: 1.219409667s + - id: 87 + 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: + - "29" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719202988881371&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=xKWtsexmhM71lWdhoHTv0RX1MkxY3Qdso0nT1OnzwPxk3Thx6dPt3ipjdt1EMCdUv9ei4DopsswN1IHFvyows7xw2fWGiNFGG_MkMNdnX1wgrReuUJtuOzSh6D85Vti7CsFeT7mNsgrLlwJ9Ble87cP3DvriBTAyTnXjHpCCQV0JjlhfGhTPY_LHP16gKWKpeVcfvdBkrH0tY5XWl66NlG5m-x9cUvwLxhIgoVIrfGqz7UCz_-EOPfR1St39giVvQPcR-h98CzJXteBpf1migIMJeRakoPxn0PncCUK9jCNCjuqX_d0HBYjRcU82qMbJyATJ-15yLgNSzH-Wp4P7og&h=RjMplPrTKlInjRB9xqmYTRCMywuWabXAXfLQ0AAib8E + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: A3CC981E39984BEAB823A63E1F963C9A Ref B: MAA201060515033 Ref C: 2025-01-08T08:04:57Z' + status: 202 Accepted + code: 202 + duration: 1.192636333s + - id: 88 + 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: + - "30" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719203162905602&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=kI-BeZ0U8pMn4riQw2U-3PwtteUr8RO83ynuLET6SfxnWCNMeac9SWaq-fgdhdXja7XXADxAStNbBmfTNHhUZNHNOAl1eWvMNH2jw5hd71AEu93jFyGccMJPqgaxoRQb-RYsB-W_6nfRdVB0OdGtBUjJzI6-JTkf_5eIztBT5jStJOtkcn1sUx61pJZwiAZQ1X-DaJQ2MoYzkRGgvzeT9ZAy9SxlQRTGikLW7GmFsyHQoQYzOwGASx-5blmE525fX2fV237RPAtw--aDMB5rpS1meahLgY2pVBvoePKfWIm5TQRv-IneqHKlinBWKWZ31pEwlUH0DR5pFUfRS2L80A&h=FrpyftK7as2svKfP3RP6TRcxpbO9rfBIcaB2qxjlUmI + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 79DC92DF03844B0BA165A7B689C46B51 Ref B: MAA201060515033 Ref C: 2025-01-08T08:05:15Z' + status: 202 Accepted + code: 202 + duration: 1.169041208s + - id: 89 + 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: + - "31" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719203336319945&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=dDMcOmr-NdCEpREWD_hvR83ya-rdcJlj9Y8geQ3ApJk-kvdPorCGYXG9wUji_O9SnCNXF7vIrrAOwM9dniNLegLE83GPwlgzjXGmSKec67N6R4GIeuaXbHxzLa2wldkA_pT4i_HFCNjiXZdf9ucpJcWYUaNtCYvDn2s1C2a_CMGaW1iDsEKZOtHy7tvWdIR4vYU0gDGmWxZ7I3x0xY2wtxfTosLEFWxm4f0X4Zo1LiXJh_sINls1oMM3IznVNmgZEWCvqCha9iYxRrXZ3EcmnljxYBzzXc8zKe-AmLAkVYm-6X79-R2P3uq8Zcawbxm2KohUGCia5D2XapsM1wGtjg&h=c43Ef3PEl1pQkVbZYCGxUikdBhMu5W-cL67wSHYmwR0 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 07CE6B0612CD499191ADC0A0AEAFAD13 Ref B: MAA201060515033 Ref C: 2025-01-08T08:05:32Z' + status: 202 Accepted + code: 202 + duration: 1.161401666s + - id: 90 + 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: + - "32" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719203509504628&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=MbS9B2imKem8SF2PXQcRG65NRq0etcfJ_eNvj04Gx12kQNIIM-EsguRImdEBzi8XuxbHB0c1dViM1x2KSShFcjhdPJ5Qb1JAfIfb4fV1I2pmHY09Ms0IbsvsiCjfhSbqily0hMtUT7eUPGM5dnyP2vpQTCW_xgsMty3GOylVnBVtKpQkOU6qd19JcPNNFaVB5X8mhiKTraZvRKSUC7BoS-hT1DIvS877pBbnDLDCjAiH9D0_HFMDfL3s5xAcm4MhMwLvFgInFUL6FUOmgW0wvZQ4AT0wqTfLHWlMGLbJ5bU1yY23PqtxQhF1Z_PFbK_RbF_hnjqNUDXqWoXfwqixRw&h=2eRSa6qGqrwP3VTxXNdeehV6dM-nIPBKAGFAXPpGC-4 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 7502FEC5E08E49599EDB456514E15869 Ref B: MAA201060515033 Ref C: 2025-01-08T08:05:49Z' + status: 202 Accepted + code: 202 + duration: 1.116404333s + - id: 91 + 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: + - "33" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719203682344121&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=Ymq_rUdV2Q100iD6MXHToayucn9ZppXy2tje9hReE9fM0K72iqpWkumKke-UO-pXm0WtOlBubBD6LwsfTB4TN83KsUWJPSdYxRGHI42HSAyv63_BqtKFFkZwCTDL_cK0P_or0h0qxnhh018i1We6tvy3orRGVm4EuFwa2bV-Y-yviifSKWBIDX9Lk-fBH-XFzVIchnJ-sGjwAsaC8uYUdxjr2ceAJ8vcG2tL1QhE3Es5ITZiJhqVUolkrSz5KOpjsmHvxFPxveSCp3nqyb-ki-z1XAasGFFUixeLgMV5YPUx-3xaAqX-HR4KruNHHhArkhl5fB8X0RTWbgVI9TtiAw&h=CzPtObe44NMJyCLnuodb6HVt74iH64iSA75toKaMHkc + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: C95D2CCC3A0A45B2961D046D3A097F41 Ref B: MAA201060515033 Ref C: 2025-01-08T08:06:07Z' + status: 202 Accepted + code: 202 + duration: 1.2067835s + - id: 92 + 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: + - "34" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719203856555530&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=y6fbOWcAUGVcvMWE5IpjeoMFC7_rkwf4bhMD3bOa3BIe3QGmzBdUx6urjWyZuLgJYATzfLHy2FIiHYy0_h2WuJSacybqazCy1_IPtjD_G7BNlfEj3h12DCWkHa_q8kh8pSfo7x73MeNZ4tW2XGVX9XbBcuBhiiWX4Oyrm-BgglvdRn7JZEZf4pahhVyX4HQ5w9Fhl1uqBbR82njOch7BOfR28XoUfO9XWEvW_EjVFeA2oFmPO-TSO_KRMlFHsRfVC2bdywFxaWyU8nsPuQfBg4SPDOUz2VzItc2T6wUaumF1YKsu5yY5wVHVQFTDg6GBwIwctwpBDKkwLQCqn30XAA&h=PO2-mRGa6GLTPTBpFi8OKNGyr06r59smShThosD-tEI + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 02F4FFF8A5BA49BDA3CD57A9CC46B096 Ref B: MAA201060515033 Ref C: 2025-01-08T08:06:24Z' + status: 202 Accepted + code: 202 + duration: 1.127372167s + - id: 93 + 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: + - "35" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719204029169343&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=bvv6GtoFA81FMKc-8_AXUtbMpj8cRTbfxtWDI2R_ItUvEpxoosd3rVV80erOtsJUi9y-G6EFt9mRKV_aOK_Qt3NtB4DvoaI1qFNc4BDUDERTCOS5j1vspQld6_2RhqDFqmc334IUzc94HeBu3tJq2ZZpHQ-lvi3OrSmUakq4zlf64qZllctbC7aYhJIk4mSP1KgY-fPFDc9lVn2OIHE8d6znZ0PyCudHn9SS8yXwtoFYS67H4bIC19trV5nVBs1nWegsWLeLnfjV7J_EVJsNOocy8xjZcs9rSuGGxmh5hFuWQWfRNKBvTXzOkDBizFb3MNomhLytai8EA5z03-hfew&h=Qa0e_qLZpEXVVCKO1wEAZikidvR4avjwkZPrsWUzs8o + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 1F5B7AFB0EFC48829B3450C56A1D50DD Ref B: MAA201060515033 Ref C: 2025-01-08T08:06:41Z' + status: 202 Accepted + code: 202 + duration: 1.11989925s + - id: 94 + 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: + - "36" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719204217947455&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=PC4tcDIMH526p1AH4tqqMWyOU4bgz-De3zs9QtuMfPLf9tZ6MdLMkxcVPzWw2ruP5x0a19lSfqZEJvKKgRcPTXQAp7vUkFqhVnmsoJx39A3Ffi5inHKeZVa4-yOdQA1DNXgOAK4YeJIDJaRVZxjRd-EnwHGYX6X6n2LbS5WaXoZHF9ecCyrghPsGZTPYX8pB9yxv4SGSKwQVkpi6xsQZkCuqkRndliGEvY2-4boIwXAKBYisNcYMQhzhZPudoXVI5BTTFw6fErxnyMlij_jKcrlnWzaL5b7tD1egYpy4OVbEtEwrr-vH-ddmQc6MEqbQisSOf_VD-vm1yRc7-EelCw&h=AX10hgMy3Mlj9QBHA1-VX-qEEpUX-ksa7SauoCgX_cQ + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 8D46F7F6C9914E16A7865F1060E549D4 Ref B: MAA201060515033 Ref C: 2025-01-08T08:07:00Z' + status: 202 Accepted + code: 202 + duration: 2.742995459s + - id: 95 + 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: + - "37" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719204405975340&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=p9V8CdeI6uaD_kSGpQ5hqzrcXJOcLkxazjRmc0bgLtfaQJ0Jk9Yaj8HRpxbnjSoWPXTfY6vHUuaTlorGgquHIQwFDbMAAJxWG5lVAoI19ROLkZepqyiX0_Z83f0dKKerDOJhfcAFmev0D4Dap5u7qeIDaQOuTqoalALVfEVTe3ZmlW6Rsy9NnBmLtolNAbRu3xeRK2eMXZYYOp2YM97fVPVDdrBVky6TLpGlN77JMmcRdcqAvHDMMEdNFrFiEN0FjNfSgUOgopkWimpgzE_xApDzbwe-SFVrzCJDF9H_MLPdcPPf5C1njExxUkxFyHU-zA1pd2dBdZHIo1StZN6Jug&h=VO-ce665ngJPAaXn1w-2g0lxphVWrUs43y5WKU_wVV0 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: A9C0A82638614FA5A01C7DC31F0FD34D Ref B: MAA201060515033 Ref C: 2025-01-08T08:07:19Z' + status: 202 Accepted + code: 202 + duration: 1.062517125s + - id: 96 + 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: + - "38" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719204578535188&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=w7y3kAJrwhzmeTp9gCrcN_vzgj4iTHA_pk53Z4oINx0ZC9UWrMOPN-yNpU2di04u9XON2TZM3BMAhCfZMddiP3inCRFRJWLCK-dv6RyIvlft89ujqufKj6IVMa0DwbdpZv0c2Wx1lP0lv2Ed5Wr3Bk1BMAELpnfrIFkReWnwKs1UM9j2eOQaRKGZViBNzjTNWV8Aw_NcQFagbSTsI_RgwrxPabgw3eQcMx-0GYY4XKbx20ZUq2JL0eoZVS_BHwO_G_ca5L4w8v2f8J46kk23G3dJ2qXE5rlWNtUfzDUGXX2zmOZ8JmxQCCCQdshsNCxEqKURFhnrBOzgCqYhNLw9lA&h=_cw5QpxmVT8GQQCZhmb3xWBs7Z7m4yl58afFxVv8QBk + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: AB5A07CB1D534565AAC41C6E03E520E4 Ref B: MAA201060515033 Ref C: 2025-01-08T08:07:36Z' + status: 202 Accepted + code: 202 + duration: 1.157777834s + - id: 97 + 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: + - "39" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719204751336244&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=f8_n2IIJGgn0SU5ep7xujzCM388pvRmUACONpwOiMB-Npmd7_MqyprGFRGN5gVR3-1sglffDdiTQCQbbqOk9IGC1-b7K-eAMoWqcWQJNHLwT0t_FrLqsLYps8qvyJ0N7S6NrRa6alfA8OiWMDCcnW_19WSY0auJCleOeZG0cey6KB84_OBKMzdxZWZzTQgdh68P6wwk7U3gvVHx_bM6oyzCcQ8DoPdCMbKqVQIbRCctoASpaQHD2l--0XB4PfMzrXfxtF-oiC9LIv_a4hIV3B6ZrNdmzCHqGvtOLwWuI9cZ1m33Fo9-0L2JtH1wueIJyqvVFRTfUwJo_gXpH1Ja0jw&h=zYOMy4IIUuV8oxOj6LiYHac4gilCPZydFFK4AprJASw + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 40A5653912634E26AA4B80AC5F87DD54 Ref B: MAA201060515033 Ref C: 2025-01-08T08:07:54Z' + status: 202 Accepted + code: 202 + duration: 1.117284125s + - id: 98 + 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: + - "40" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719204924248607&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=evxwhIWessb5RpQ_o9POrP9b2CtdZKwPojo_g8TiNpYCxCBpGAf0Vxpw8qEHZ2mfz0HHGArBHyN-8JI4YGAV94NlUNTWIKn_5wHgCh0kv1ePYnQEvW1bwVdRhSpjpuoHB_L9-O-uKeV_60TTK33J8QcDivhOB9sUxEXuW4iTpex9wZDCJXTVSqEgKm2UJ7M_4noYpZQ_vFdQDGg_rj56fXzL9lkxWqExdKXXPZSHsMGp7RhK-PzJLgXEt7sqWOqV9n_cRnECPYw8sPQSVGFByVbBfkbWOMVNs3a8gnl7AwNM8GRrK7S1hWGfBbF2D60xOIZyYKMFw52ybwuUY5mbKA&h=ya1eue8F2KjfKZKbHbvkz49hDFP7uvKhwjc-j9zaAo0 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 4ADF2567562A4BB1B4D4C295471D9B7A Ref B: MAA201060515033 Ref C: 2025-01-08T08:08:11Z' + status: 202 Accepted + code: 202 + duration: 1.255378917s + - id: 99 + 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: + - "41" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719205098938358&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=Hp4HmMD4I_NtJNFTCeZg3aWoAIOe9QnGhNp4fFT7QgbKpawQrBrYaClw7uI-gXsR3jU2hVNbeNg6ORyBerclPYilCU-DFDhNyGRrC2j0JM4hUVBe3zi2qzrJ_jbdksyl6TZNG0B0adsOGWCTlZDI1XKWQ7vc30dff3eZ99zkrPkENR_tTCBJ7gsnFb6Z88DQBLNw_RIk4wlraTeEqEi3WLsHt9sUzDBtQ1aefiXChwsi-YVuWEpDc2xS2VFqaPfFDHCXtuW5L3imuImVijA2tDLWT1S6KQ-_ESeJ89Rdt6wOe45AGW2gTkRHcAzrdIbZ0kdSYX7iJcckHibqbo8JOA&h=cOzG-bd1622CtFTBgdXHP7iHJtmou3zGqGQKB8Y_dY4 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: B7636BBBBBF445658CC705AC6BC48DA1 Ref B: MAA201060515033 Ref C: 2025-01-08T08:08:28Z' + status: 202 Accepted + code: 202 + duration: 1.093060833s + - id: 100 + 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: + - "42" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719205270675477&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=GXwJ9GTd2XT6VHUlsl15lvGLF20rsnbZCVB2qAbV6i6z-NI-CgUgFry3VXzFO-6wrOPVH05RagurcqEb2YGVhhLVBcNiSKOs6F1taCrOy9wUWoBvmhh1zrSCSTapQCui1gV9A-OzCxScqC79OKHHZsqBaXWizdzE-gJy0uCSElVN9rnV7KKcJf8t6-72ZcAxCCfHiKAZzoX_j1kw8Ax_JoXd_C6ICoOdO2yqAHJXAPXk-3iPYj1iAmMax4qPmyhwRO4yClO5Ex0OVjwZaGSvdL4N5DsU_qSJCLydpy3vnPPOAHzD9IilbJ2FfzsmTpxvXPl871y2dWZE0rehNVsQoA&h=Noj8D3easXritK0cu0gO2ughMKYvFTnPkjtAgLAm_bE + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 511B46A76DC040BBB05D5431A8F0AB13 Ref B: MAA201060515033 Ref C: 2025-01-08T08:08:46Z' + status: 202 Accepted + code: 202 + duration: 1.135321375s + - id: 101 + 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: + - "43" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719205443967405&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=QfQuBuLkSKQYJ07GI-7IjYutnx5qNLuaYr-rNbSeKr2IE5lkviB59K7N0BU-lRfeF36d0MWLiDxWObA_HUXRqeuhHjYkFhya14rNMQ-44gNZcdkzQBGP3O5unB-pHvDhjYv8fu70xCwOCpcd3gjfPwtsGgrUVPg655U2FU4XjNTA3e2B6cdlmbexbLov0t-cZXNDpZbL4WxhbjODwU2pu0Ay6RNyw4mqViV9fZWqTO76-15K_HzUpGl_92XPGPd3bDgfKqCG-BK-NPHDhsQpX_8AMnsxfdM3mm1_bLWOGxosIFIY3BdQzD2Ow473vmmAlIoYA4gw69Pauksium3APA&h=F_tsIfG1_i4JaP_a2SFqVcQd6yR8Ns28i_d39mX20k0 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 1A24600C38554D34BB58A0DED7FC584E Ref B: MAA201060515033 Ref C: 2025-01-08T08:09:03Z' + status: 202 Accepted + code: 202 + duration: 1.102933583s + - id: 102 + 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: + - "44" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719205616270203&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=KFfUkTC1FNhsqMhH4qC81p0zXaej6G_cHY0J0AJ6vD1YtxAksG2enNGCLQDMhB8_ZLGRbiAlKjRW0SwZSpSk77uc27facUJS808A0xOtT_AjbURDcp95gcAVugCc2Vc7bPKmc5xvYFEygMRQAPE4HYVtvS9dPrS2EdjowGa8Pp1-cPfrZG8S6x6jJxL9_JXYKC4B2jiAomXMx4eW_VT_4OdosuWB0X2Nz01VxDtDJev4VXMT0BADr_dpHwlq2S4T8SXgqMD7USHxxQ8pLIe9fndoTbCR7GIIumfrviMSsLpgC2vc-2iKSzBQYJaNkReUzssqwjFoYmpRIEbGQbGC3g&h=UP7k1JG5qJN4XncRqJ-0K4jCMBqbpuYQOSd0RL39KiE + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 141586DF508E4964A4EE6D27CE8D415B Ref B: MAA201060515033 Ref C: 2025-01-08T08:09:20Z' + status: 202 Accepted + code: 202 + duration: 1.136843333s + - id: 103 + 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: + - "45" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719205782677562&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=iunXc4R52rJClDMdeCBZhifv8H6NIjeniaRHknwfieyyRQ36r1kgdawVd1fNswJQluYdzX3FAfR0cmwaS7rdtk9Yg5UV8lVrDwkYq97Z64SdJoGSV6YsGPxZtcQFXhgn_RB4MvCBkouPfXFKMZz08fgJMEZDQIHj4_szKF_KyhaWG3vi6RF5XTPva_jooRcx8pNRjVQpyNl-3z4GxI9wE_qLV903o9YC6d_bSvgcY1f8jVsZXYI_bmzTXKyIOQCLBIUzliNII28BKaMZlXCpkpASs9Y_LwR5ZdqKa-WBoxeURsvp5SS1wqmjSuJ6O2PfvSmvhbQIU_yhsRrKZVG1UQ&h=HDqWP-K694doVOmT2W7ejPVIzaVthUh8efVyVI1R5PA + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: FBEBC1901CCA41BDAC99E1FADA937BDE Ref B: MAA201060515033 Ref C: 2025-01-08T08:09:37Z' + status: 202 Accepted + code: 202 + duration: 463.040667ms + - id: 104 + 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: + - "46" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719205948754615&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=Ww5obxwnuIIENMj77MJvyrnRUPmIepjrCT-TTMS8tS9h0EKXkfbFtkGhNHlpVhdggOZf5ILL3213huUlyKrOvbF4rC8WFG6i2wCRzLRird4UczoL71NIWXP5M8VpGkzQmFkkjKlJYHrwgNcy0j_V4nhKcwSEwOCVQr44gcgtdUsm4h2t5ZO3W5GZoMeshLtCEKHVe9mvrHa5t44jHWQFhYTLJ3S6Synqv5rbeJXl4M0w-H7wQXYbzea4ymvXnVt1r4f4Y_FKLEawnfLfvlx6lG1tcQ3Ek4Yww6pGXwnLNMI-WxcQn3a7igjKHrmNS3HZAqntIKwmeyymgH9UUOZfsQ&h=m5nKh6z64YQu-8Q1iYfSA3ISMddNKKnTuqxQzYbdcoE + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 9E9AF3EAE6CD42F29D4DB34E28112065 Ref B: MAA201060515033 Ref C: 2025-01-08T08:09:53Z' + status: 202 Accepted + code: 202 + duration: 1.130527708s + - id: 105 + 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: + - "47" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719206121099571&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=w1dk-RkCE_IXgeWS_CZjUWleATL2mBcTzxHtsRr0cZdipyELMGzWCewAeAO-KIHQSgYTm6Hq1akOmCA4GiZQvNwaqJxSH3VFfNTe2Ue_-k9bgcptYCdjoDfT6pidwMB_qW3Xa713vsUlZrjJF2-WhYTRLFQVH40eLsdL1Cqlvp3oUGg-Kk8l7x3W6d2XNzgNQz8qfGqNpndD-ju5PbK7I5jjHIutVFHGN74KztQnkLZmh4f5DqxTehmUysrl2T1SWh3AB5aA8FpGBMQhAJMdxsRwm6QQ740B8sZ6HXiNxcg3dobz-2YK-6cQhFw3LGxEsD3EUzTEiYbUfHz_kbNnGQ&h=DVa_VT7Kia8i1HtlVQhe-aYqWL54QKoGIFktTPkksC4 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 701689F7D79A4686AEACEE086DDD86F2 Ref B: MAA201060515033 Ref C: 2025-01-08T08:10:11Z' + status: 202 Accepted + code: 202 + duration: 1.106474792s + - id: 106 + 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: + - "48" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719206293438812&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=oKEKrMnCkDMj9m2MbUbmt70cS2CW_idnW3A_-tY01o4dZBEfKVrZTQIHJc5Mr9_E6IsnDlhvK0s0lhBaChqUsMIUpRIdGTgFe-aMkwwFioUP3e1enjORj36MZlkl9C4zx5hLuoyTAZlYLYoxR8ymEHRKeksfEE_ZDjW1vk45bPCjcorCjop0JpnMkhUEAiQU3l2a_Q_4x5NXinHZSEfMwWk_zsJxrOgY5NT5zHFTnyIVVsc0Ptetv4XcQ0jvvEBACkMQ6j-g3lKYqngm12-DzthRigfw7syHZbmXDtMqXlg0V6dhbzowTbqnpfP02sMY6Vv8klmN_T2_MsCKd1m7kQ&h=2YOZGeLFPDne-s6rkXdLMOWonVP3OGddycE3ji0Sjh0 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 645DCDC9C5774454AC36A2C24F60B3BB Ref B: MAA201060515033 Ref C: 2025-01-08T08:10:28Z' + status: 202 Accepted + code: 202 + duration: 1.098741334s + - id: 107 + 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: + - "49" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719206466411206&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=Pvau3U6N2s06tY_d23wediZnuVF8zpSoYtxT0GJOVuNnZ_-_lLri3JArhjXLVZVEOW2Y6RcnTjOeaG0PvSZOWTUL_m3v-YaUKNyma8TzKrR_X3_6eUZs04MjboFsnhSIFGKyOcV4S1Zo4z1Gn3Na2oqyz6GLhZJye_bldcD280cBqDw33Vlpt04BxJAjqKMgnDfzIZA1KqpZuLNzduQVC9_gaBtHa2Q49Fag1DeYFsLfAArkwjDLZL-NnIc_kishwMe4Olcm4rJDOlf7Zj6J9gfg28M4CFsZS88eQEanNw-3VVEYgUc32sDUXwxvxiLgurP3quVxCmiiZEOHU_r_tg&h=hnAfHXq8Xl_V8rLSKLZZKJJGKOkPb0ANwmO1AtcvTSA + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: C0AEF1DB457444B59751D2D855C78C89 Ref B: MAA201060515033 Ref C: 2025-01-08T08:10:45Z' + status: 202 Accepted + code: 202 + duration: 1.14161525s + - id: 108 + 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: + - "50" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719206639975391&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=Am5TVTkjkMmnSdS5RyzyPAdQ7_JAQZcJKoB1jIAZ5op4tXRLPc2knnagY43dhf1QWWiBw8kDeCNT2rkQIzKO1dOBQsSnPoYqVqQGeUuoWR76m9kaNl0-5GX1qn8RavJ9Rovrfgu2YOzQpjfSKX_yGr4N4uXvfxf0uaSb-Cxwzm3xVPfLAw6wS2AqCn3fK640K7X7D90L2FeIog7f1UZ2tpamwbI8sTNmq_xihzGEqWLL5dMsP4yIpvVDNLzgrcgVNecApbJdKwdwX16_Pc7VM6BVzsmR_zdGm_M4Ks1b3AYKLCVg41jFQpUsLpFrOIPnhzyFNrbxQBwezqmmy6eTig&h=vTzq0F5or68pLDX21Rd23FNsUsNQpu6EKO0uAKJMJac + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 91671189D94E412E9AD565690BD8D6AB Ref B: MAA201060515033 Ref C: 2025-01-08T08:11:02Z' + status: 202 Accepted + code: 202 + duration: 1.203707833s + - id: 109 + 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: + - "51" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719206813663240&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=CltctCNNYuPFxNMhexfEh2RvQTl56qniEllWd2w_lvrcCnYaqZTNsNb__2pXdxwn4Z3QtM6cZns9HEki4nYWVsqi4QtoxfHJLP87txlPghvXaXvA2JhpYmioKcJfHgY8BQXLr-kVh5Z90wJhCLCHM0RjT5LtVpkZDfVS2XGPGGjKYZSphafC6ufFn_VNqfwl5l-vH_vQe4cyuigPmK2MnNj-csrDO_gDxgwtcwgA2sG1lj7LrkYYpgS8JQEt4w5ZlvYMp7NFOp0IDSuAamA4yhx-O0uhy5PWS5EwpKmxGn5SHjCTkdlbRbQ7e4XxpHLtklciLEX8pU0PYdvXIrvlEg&h=AvEOrwKJ9Ee6pzTXFK0_yD51_UVuRQ7oUtg74osCN14 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: B7753112F29B40B4A16BAD664D638237 Ref B: MAA201060515033 Ref C: 2025-01-08T08:11:20Z' + status: 202 Accepted + code: 202 + duration: 1.184359875s + - id: 110 + 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: + - "52" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719206987516385&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=Unx3-I1x3eeWj58Iz3LtxC4fPd1K7OT1hOCuSJgDCf92v2KaX8EtOjivZ9LKnHA4F_CVCjKCXoTCv-a1MQzwiAHlO9hZnKTPBbDK0HomgfX7llmCE_oHD9wlNsTwYYCKki7sRO6GdQa-jgE_6892yj0C-CtUF22_9httcv-SEjcJX9It7FLbPlyK-9OxW0wvhdSPaBiY5P6URVrPnPYRV058YL_PFV8fTr18lHw8kUS_B3i3xHSOSKnw7vOze0ddS_4F3VI5QPo6hIHZlp6Nm_kMsLOtTlEpc6xV6N-JIXy_25_EdVRGFl0xh0bG4izCIxL_lDfGUlXKaILALfp9nw&h=OwzJzPMRQVJKPcfIRvoJXeYrrLRMjNbRu7Ui0WtQF7w + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 0D453D87F5BD4EC5A7E73314035A8D1F Ref B: MAA201060515033 Ref C: 2025-01-08T08:11:37Z' + status: 202 Accepted + code: 202 + duration: 1.090041458s + - id: 111 + 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: + - "53" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719207153192823&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=LSzux0sUgzql1Sck3IXUgyKgyZHB-hgRJomdaUcMoVOXmranCCxZk5clk2ZhyRwkyNb7k0JWNHA53_kpKxX_ZYP3EoIyCj6VJyU3BO-aXg6GbZm4Exw0qVoX3s-fMrQTw331ySdJfk9ZQ9NENcGoawaFQ7V-ZtTJnrstSjOZGxPUXTmdvLtv6tvSb6Xg9j7RMTnIY37ixhflOKh3kkkZuKchzQ9ogYw9nsC7iz-XKBz3uDCVyI3X3ZPUrJm776EKYRNSF782py-yx489KiKjSYEgkfjRONBkI6IVvxtILxeza7VYSJ3enp0e0LnjzhNCXYgCAdeSC_PbhFPZWxdTzg&h=AjX6pTEWeZJrgfxvEjE7TS_zGmk4k-17hBzc3kTIUro + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 66516486D53A477BA37CCEB762A49DC8 Ref B: MAA201060515033 Ref C: 2025-01-08T08:11:54Z' + status: 202 Accepted + code: 202 + duration: 481.846417ms + - id: 112 + 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: + - "54" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719207313611085&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=FysRsnZQwNBF2n1ortfjn9TpjKIbhZVOtgLd8NhlMx4AW0FguNFR56V0z1JOXdUUpnSOiT0wsoJou36k8yr3rfGH1nK0V4KoNaEo9kSOtA3nWUJGsFAADjZmPQnnOahS3-fqqchFZOnO3sFOJ9P_RwwXB8ZizM-mZxrJx49w1hj6kH8XQUp_v_Z53fk3AJusbzbeOnsks5IIRb0QHBeJE-V-ifgDOpMW_hl2UnVzQjfrvupETtNGQxlfTspRri7MrryOq8Oi1c8AA2roF69NrZ2aXds1xFJ-QTRU8PeDmnpfYW1wWaoySGaSKSCEFJKm-J1WhhYjdnmTCsueeOqQjw&h=bXna8QdSdEMgx52DneOLisz5efRfCU-b3oH0n7Y8nuw + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: DDC430849C0C4FCD882946F4B6B83DA3 Ref B: MAA201060515033 Ref C: 2025-01-08T08:12:10Z' + status: 202 Accepted + code: 202 + duration: 623.173167ms + - id: 113 + 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: + - "55" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719207475993087&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=pXwG3xDiKtnMAtpRcLtoJerMXw9sR9rTIfnAcpWV6BqZ77HPbC_kGaaLNlfY-ilK7Iok6yXJNklt0gzt4_6P-_4Qz7QtEEMX1aUUZFOGFEaWBk3x_E1sF2yKAt1VyqMUbygjK5Nc-3UDWdTIWHoY7tUiHkhGXv_WC2kctelZXupuILc_G8lZxo223Z12SqkMhUaeMe8V-DrW670kqM-EruyHAqv5aMkvYE3Ksiz2E08B30LoGxPFu0x3ZIDZsCdbTCY6eTIxC_34egVkfdgGmmDGLqgAViRUw5dNvhS_chwB0k4vTFWKymjwYHpVuFwgQ-xZ2H7TtJr8hz6PTNnR8A&h=oQjbIb01BVItniyXMfCRvlGtBuAQQVZg5xY-irnDmvM + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: DC1A5582291C4E42B355BEBB24A870E4 Ref B: MAA201060515033 Ref C: 2025-01-08T08:12:27Z' + status: 202 Accepted + code: 202 + duration: 485.014958ms + - id: 114 + 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: + - "56" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719207635954907&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=fxMaN4u9T1wJQtbc_3IjMfQBtgkCRc84nt5ttZTpWoECzckgfIudeLoLYsn4aDTCQ1f6tylrnXVDLg3RsOf0Kba8myQTUYFw5TyURX4WIRCz1KuOykpRKgklSsbyezs2WBa9gWlSjRsCj1QEAE5zuzOn7ge0PWkFQlNxm_2WgqUUF97ur3UsVfI-EK3k8m3krTaGLGyUp4edh2YpFokuxC-6ZTvSyE86bkeX2ntvYOigU3FjWgahm8hsrJ4P-rOGd3TBuKAvDHoTbUIhVYNoRfw3_Yg5NGdG0byLKH4OqJZkutsA_kQvblioHPWupJkJDRBZ4pb6C3mw3ydROl5AHg&h=vK2jBZZMIncN4YQ2ms3cHdDgjQW24Pl5f0A_5NvKZDQ + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 6A91577F81854BAC99A0C0922666FB8E Ref B: MAA201060515033 Ref C: 2025-01-08T08:12:43Z' + status: 202 Accepted + code: 202 + duration: 574.57325ms + - id: 115 + 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: + - "57" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719207803605178&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=k0IhN8RsEwNbY7I5GsMFKpSYfKJa_9I7mBpvkBYGsVdjcyOMqZYwRRC0q9bZR9FKfFZaG7RyjsDD8hs_na8gsXfcg02oYnd5PPzBFfWEI9CaM9R1luPxs21t4pjQAqxLoyCFso-4XO5lipoaeMnKzCSa5wgFPjret3-JyHMDGSRnt3x5QB4C4tNczAIugoi48pyJAdj4PnaJ4cm53sxFv0JT-qA_qdi-9P1L0ODtzLIPr7QL-OVQcgoiG9L5xxwZlFVRpDmI0Suwugoh86BOOsp9ewWiVctCK1oisbxdIRaeGpNXQpJNbJnd-74ohxwyKX594kndGVXJhhVVhq3xXA&h=VeTmQKTEu7B-rYpv62cpYgxF7nBvD6HniGmnwh46Q34 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: CEBE0904C0E64ACA8665C882EB948187 Ref B: MAA201060515033 Ref C: 2025-01-08T08:12:59Z' + status: 202 Accepted + code: 202 + duration: 1.126391709s + - id: 116 + 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: + - "58" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719207976730207&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=sXwtdCz5Y8p6a7bEIwvGH2fl4AW9FSsox_Le8HTf6R5aQQ1Srbe7cLwob5HldHURWc8NZ9MWNOhNR6Y6MpTkzJenz-69J5HTPjHpBqnxPNrDUpvPyCyG8irNVPq74k-DGLTRcbEfqCYDUl9XSOau_Kj2kpEoEcVhazyneEP2qulFCceMkYHv-5ijnZHvijrrVMrOTamHLc-bBSu_0dz3nxJXkwnjMAbTsLU4_yAoDfcaDqu-Zt0MduWJc3-v67cLl2qHF_pEZqojsZNransKUeWk1Eqls-ChWKakrgWx_zc1Ng_GtkDAD81P2oEX0rvWO0tBsRYV9kjo-730we0jnQ&h=68eTp9yfaDJY2tZc1SDOojfyUi94eKWu62-gLRvl69Y + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 1554630116074FBAA0FBEC5F246E034A Ref B: MAA201060515033 Ref C: 2025-01-08T08:13:16Z' + status: 202 Accepted + code: 202 + duration: 1.10615025s + - id: 117 + 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: + - "59" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719208142836739&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=YgsUXYsdFHtqED7ufLahOZyH4OINTur85sWrqpAtEkAkde6Gj2de1khOVtElEYJkzW_5YScsxnAoGE8fLqDXNtFVfpm46rEJkQlwSlwmK1c0WiyjWiDp7mvov9ZvIhdXwgKxUJF7dYeDetN7m35Ko_hxFu71eC2CvCcByiG1XmCcNRRblXMQxKhWrMrtBGYUtmQ7hCaH3xueL_OX9yPQ8O7tJvuqHt6uP0A5I3QY-ghv0VCMSPms-PhAhebVa64vq8tEfMai_tOdzkT-PDh0upSrPR3Nre9r9moE82a8PpvTl3Mrl0O0OzbI-_uTk-iNorfRCt48U22Wuga2-nPtQA&h=ssSsyGYArZelNdHae8Cs61pKlqxvsNADP9uSQVyWsSE + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: A224FDA2BAA746B1879D8D9717256EB4 Ref B: MAA201060515033 Ref C: 2025-01-08T08:13:33Z' + status: 202 Accepted + code: 202 + duration: 461.030666ms + - id: 118 + 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: + - "60" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719208309435403&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=sAstfgOPhtCEVpf9BBcZPZqA0cEdYAMnuioRPSNidMlvuH_o3M27RkMWGrFenxeR7VvLzFaazORdYNio5SJ_XRvMMlkkDhShHeLS-c06aV3LTBKsZ-dDPAXnT5F1STG4oJ11Pq2PY7j4bmexNW2U-lX0UsMkEJ2TRxGR_6sLiqZrzPK6qwr2AW9zWjgzyQwnWZW5yBNQn5NoS7lNJqQ2RYy6e03HjjLWLusfpXAnpEgd8y5woUAbXTPIz7Mj0J_WMN_ayYOq_FotwrKvuhfBDofYTQ75LaEIRYuc_PjcfMqDVcDsIjUk9kPFIb2LoWWABAXz8YzQe85la6jcJbbBtA&h=BUblBN1xGIr6v23rHmquajD0kVpI8SDDM60I1tRt6wo + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 363C67EDC44D44609B82EBE96E98F048 Ref B: MAA201060515033 Ref C: 2025-01-08T08:13:49Z' + status: 202 Accepted + code: 202 + duration: 1.185555333s + - id: 119 + 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: + - "61" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719208482310998&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=ZL-revctMrGFW5IUqBK40kP6B_Q-lzARKTI0nfBk0of_ctt0kBx2pHaRvgA_Mx6yY7YkmpgheXSaP3cQTAdv1cv_TOejYNyAJrXcKgRw41oDm7mbEJfIU5zVWyYjEfRYq_a7PF7w9G96G3wIQo3cIOJ2k7DAGxsjeQaVPXaSxxedeOuXIO7kegE2naWlJvInYJmpvLN875TMG3NVjX-da8kogl2LTrMJQPc7inqRrPoXwI7TJZNKk6wuxPTEPYb2iFoGEdaoS_qlaDJEX5NqBSL2rDPZVEtEp-HNmqxtUdUFeXP3fTID7pWXPWn4KNDGoPOb7VoAV5gCAAhco9hNdA&h=W0YodQ90IL26JUtDda2SkVPbqisACqKzKdTeB28xut8 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 9CC7CE98EC314D998DEFBB9376083F49 Ref B: MAA201060515033 Ref C: 2025-01-08T08:14:07Z' + status: 202 Accepted + code: 202 + duration: 1.07629775s + - id: 120 + 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: + - "62" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRMV0dOWVMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638719197758990857&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=AMk_WLlebcKAFzXz9LHvXO1TGj24-jZ4CfrD1IG0XXJwgGW5HEB7b_crF37fFhuVo9aYLX9bW3l8i95BGFWCKUUaSi66CwkEjZ2N_0ufubkHzHCTwv666i4FgdIfiP-mYQI4hN3VRDf49Y4Ju94oikadHNfb2otLGw3quvOL3Dmz3JUJlh37RXpuASfExQNJbPiT7_aF__BiWGBgI3Rq173WbfJRgV5Yac0wvIjF3xaNYSwrLkCcRPWF8zj6yp_29DfSqYGOH7PjkKTyPAnUNhKa0K3b1GVd-saRwNp2Xgqsv1vRuMJHVoTDwQ5lPUIYW4uWT2vPA-IccPW4XurF_g&h=PRAJziV_5RrFvpg9rWLPFkJ4fgwgP_V6Z5CPpIBJXeY + 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-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: EB76805CEA33469EBD57C4C00FDAC771 Ref B: MAA201060515033 Ref C: 2025-01-08T08:14:24Z' + status: 200 OK + code: 200 + duration: 1.346726416s + - id: 121 + 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-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-managedenv?api-version=2024-03-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-lwgnys'' 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: 243C8A205B824F36B40C51039A255691 Ref B: MAA201060515033 Ref C: 2025-01-08T08:14:30Z' + status: 404 Not Found + code: 404 + duration: 600.89525ms + - id: 122 + 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-lwgnys/providers/Microsoft.App/managedEnvironments/aso-sample-env?api-version=2024-03-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-lwgnys'' 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: 77E161B2BE134579A7025AB08B389215 Ref B: MAA201060515033 Ref C: 2025-01-08T08:14:30Z' + status: 404 Not Found + code: 404 + duration: 882.632209ms + - id: 123 + 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-lwgnys/providers/Microsoft.App/jobs/aso-sample-job?api-version=2024-03-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-lwgnys'' 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: B3271B0F159C4B35ACAC8FB21D62DBD3 Ref B: MAA201060515033 Ref C: 2025-01-08T08:14:30Z' + status: 404 Not Found + code: 404 + duration: 888.7205ms + - id: 124 + 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-lwgnys/providers/Microsoft.App/containerApps/aso-sample-app?api-version=2024-03-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-lwgnys'' 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: DD48BF5B0F1C412F9024696687F1F16D Ref B: MAA201060515033 Ref C: 2025-01-08T08:14:30Z' + status: 404 Not Found + code: 404 + duration: 897.037666ms + - id: 125 + 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-lwgnys/providers/Microsoft.App/containerApps/aso-sample-app/authConfigs/current?api-version=2024-03-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-lwgnys'' 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: 7F009D8633AB44A3AFA202D0C90E19A0 Ref B: MAA201060515033 Ref C: 2025-01-08T08:14:36Z' + status: 404 Not Found + code: 404 + duration: 105.658458ms diff --git a/v2/internal/controllers/samples_test.go b/v2/internal/controllers/samples_test.go index 7033921819b..fc7b616dcac 100644 --- a/v2/internal/controllers/samples_test.go +++ b/v2/internal/controllers/samples_test.go @@ -48,6 +48,7 @@ var randomNameExclusions = []string{ "/insights/", "/network/", "/web/", + "/app/", } func Test_Samples_CreationAndDeletion(t *testing.T) { diff --git a/v2/samples/app/v1api20240301/refs/v1api20240301_managedenvironment.yaml b/v2/samples/app/v1api20240301/refs/v1api20240301_managedenvironment.yaml new file mode 100644 index 00000000000..e745f5490c3 --- /dev/null +++ b/v2/samples/app/v1api20240301/refs/v1api20240301_managedenvironment.yaml @@ -0,0 +1,14 @@ +apiVersion: app.azure.com/v1api20240301 +kind: ManagedEnvironment +metadata: + name: aso-sample-managedenv + namespace: default +spec: + location: westus2 + owner: + name: aso-sample-rg + workloadProfiles: + - maximumCount: 2 + minimumCount: 1 + name: profile1 + workloadProfileType: D4 \ No newline at end of file diff --git a/v2/samples/app/v1api20240301/v1api20240301_authconfig.yaml b/v2/samples/app/v1api20240301/v1api20240301_authconfig.yaml new file mode 100644 index 00000000000..b39e3721493 --- /dev/null +++ b/v2/samples/app/v1api20240301/v1api20240301_authconfig.yaml @@ -0,0 +1,10 @@ +apiVersion: app.azure.com/v1api20240301 +kind: AuthConfig +metadata: + name: current + namespace: default +spec: + httpSettings: + requireHttps: true + owner: + name: aso-sample-app diff --git a/v2/samples/app/v1api20240301/v1api20240301_containerapp.yaml b/v2/samples/app/v1api20240301/v1api20240301_containerapp.yaml new file mode 100644 index 00000000000..a7fa7b46270 --- /dev/null +++ b/v2/samples/app/v1api20240301/v1api20240301_containerapp.yaml @@ -0,0 +1,38 @@ +apiVersion: app.azure.com/v1api20240301 +kind: ContainerApp +metadata: + name: aso-sample-app + namespace: default +spec: + configuration: + ingress: + allowInsecure: false + targetPort: 80 + environmentReference: + group: app.azure.com + kind: ManagedEnvironment + name: aso-sample-env + location: westus2 + owner: + name: aso-sample-rg + template: + containers: + - image: nginx:latest + name: nginx + volumeMounts: + - mountPath: /usr/share/nginx/html + volumeName: shared + initContainers: + - args: + - -c + - echo Hello World + command: + - /bin/sh + image: debian:latest + name: debian + volumeMounts: + - mountPath: /shared + volumeName: shared + volumes: + - name: shared + storageType: EmptyDir diff --git a/v2/samples/app/v1api20240301/v1api20240301_job.yaml b/v2/samples/app/v1api20240301/v1api20240301_job.yaml new file mode 100644 index 00000000000..34ed533a1e0 --- /dev/null +++ b/v2/samples/app/v1api20240301/v1api20240301_job.yaml @@ -0,0 +1,24 @@ +apiVersion: app.azure.com/v1api20240301 +kind: Job +metadata: + name: aso-sample-job + namespace: default +spec: + configuration: + manualTriggerConfig: + parallelism: 1 + replicaCompletionCount: 1 + replicaRetryLimit: 10 + replicaTimeout: 10 + triggerType: Manual + environmentReference: + group: app.azure.com + kind: ManagedEnvironment + name: aso-sample-env + location: westus2 + owner: + name: aso-sample-rg + template: + containers: + - image: mcr.microsoft.com/k8se/quickstart-jobs:latest + name: testcontainerappsjob diff --git a/v2/samples/app/v1api20240301/v1api20240301_managedenvironment.yaml b/v2/samples/app/v1api20240301/v1api20240301_managedenvironment.yaml new file mode 100644 index 00000000000..1e51e167462 --- /dev/null +++ b/v2/samples/app/v1api20240301/v1api20240301_managedenvironment.yaml @@ -0,0 +1,14 @@ +apiVersion: app.azure.com/v1api20240301 +kind: ManagedEnvironment +metadata: + name: aso-sample-env + namespace: default +spec: + location: westus2 + owner: + name: aso-sample-rg + workloadProfiles: + - maximumCount: 2 + minimumCount: 1 + name: profile1 + workloadProfileType: D4