diff --git a/docs/hugo/content/design/images/pls-pe-differences.png b/docs/hugo/content/design/images/pls-pe-differences.png new file mode 100644 index 00000000000..cc12e0a940c Binary files /dev/null and b/docs/hugo/content/design/images/pls-pe-differences.png differ diff --git a/docs/hugo/content/reference/_index.md b/docs/hugo/content/reference/_index.md index 6685988816a..7da8d3094b3 100644 --- a/docs/hugo/content/reference/_index.md +++ b/docs/hugo/content/reference/_index.md @@ -526,6 +526,7 @@ Development of these new resources is complete and they will be available in the | Resource | ARM Version | CRD Version | Supported From | Sample | |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------|---------------|----------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------| +| [ApplicationSecurityGroup](https://azure.github.io/azure-service-operator/reference/network/v1api20240101/#network.azure.com/v1api20240101.ApplicationSecurityGroup) | 2024-01-01 | v1api20240101 | v2.10.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/network/v1api20240101/v1api20240101_applicationsecuritygroup.yaml) | | [DnsForwardingRuleSetsVirtualNetworkLink](https://azure.github.io/azure-service-operator/reference/network/v1api20220701/#network.azure.com/v1api20220701.DnsForwardingRuleSetsVirtualNetworkLink) | 2022-07-01 | v1api20220701 | v2.10.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/network/v1api20220701/v1api20220701_dnsforwardingrulesetsvirtualnetworklink.yaml) | | [WebApplicationFirewallPolicy](https://azure.github.io/azure-service-operator/reference/network/v1api20240101/#network.azure.com/v1api20240101.WebApplicationFirewallPolicy) | 2024-01-01 | v1api20240101 | v2.10.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/network/v1api20220701/v1api20240101_webapplicationfirewallpolicy.yaml) | diff --git a/docs/hugo/content/reference/kubernetesconfiguration/v1api20230501.md b/docs/hugo/content/reference/kubernetesconfiguration/v1api20230501.md index a84d60f66fd..688589aa2c9 100644 --- a/docs/hugo/content/reference/kubernetesconfiguration/v1api20230501.md +++ b/docs/hugo/content/reference/kubernetesconfiguration/v1api20230501.md @@ -22,13 +22,13 @@ Resource Types: -

ErrorAdditionalInfo_STATUS +

AzureBlobDefinition

-(Appears on:ErrorDetail_STATUS, ErrorDetail_STATUS_Unrolled) +(Appears on:FluxConfiguration_Spec)

-

The resource management error additional info.

+

Parameters to reconcile to the AzureBlob source kind type.

@@ -40,156 +40,121 @@ Resource Types: - -
-info
+accountKey
- -map[string]k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON + +genruntime.SecretReference
-

Info: The additional info.

+

AccountKey: The account key (shared key) to access the storage account

-type
+containerName
string
-

Type: The additional info type.

+

ContainerName: The Azure Blob container name to sync from the url endpoint for the flux configuration.

-

ErrorAdditionalInfo_STATUS_ARM -

-

-(Appears on:ErrorDetail_STATUS_ARM, ErrorDetail_STATUS_Unrolled_ARM) -

-
-

The resource management error additional info.

-
- - - - - - - - - -
FieldDescription
-info
+localAuthRef
- -map[string]k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON - +string
-

Info: The additional info.

+

LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the +managed or user-provided configuration secrets.

-type
+managedIdentity
-string + +ManagedIdentityDefinition +
-

Type: The additional info type.

+

ManagedIdentity: Parameters to authenticate using a Managed Identity.

-

ErrorDetail_STATUS -

-

-(Appears on:Extension_STATUS) -

-
-

The error detail.

-
- - - - - - - -
FieldDescription
-additionalInfo
+sasToken
- -[]ErrorAdditionalInfo_STATUS + +genruntime.SecretReference
-

AdditionalInfo: The error additional info.

+

SasToken: The Shared Access token to access the storage container

-code
+servicePrincipal
-string + +ServicePrincipalDefinition +
-

Code: The error code.

+

ServicePrincipal: Parameters to authenticate using Service Principal.

-details
+syncIntervalInSeconds
- -[]ErrorDetail_STATUS_Unrolled - +int
-

Details: The error details.

+

SyncIntervalInSeconds: The interval at which to re-reconcile the cluster Azure Blob source with the remote.

-message
+timeoutInSeconds
-string +int
-

Message: The error message.

+

TimeoutInSeconds: The maximum time to attempt to reconcile the cluster Azure Blob source with the remote.

-target
+url
string
-

Target: The error target.

+

Url: The URL to sync for the flux configuration Azure Blob storage account.

-

ErrorDetail_STATUS_ARM +

AzureBlobDefinition_ARM

-(Appears on:Extension_Properties_STATUS_ARM) +(Appears on:FluxConfiguration_Properties_Spec_ARM)

-

The error detail.

+

Parameters to reconcile to the AzureBlob source kind type.

@@ -201,134 +166,117 @@ string - -
-additionalInfo
+accountKey
- -[]ErrorAdditionalInfo_STATUS_ARM - +string
-

AdditionalInfo: The error additional info.

+

AccountKey: The account key (shared key) to access the storage account

-code
+containerName
string
-

Code: The error code.

+

ContainerName: The Azure Blob container name to sync from the url endpoint for the flux configuration.

-details
+localAuthRef
- -[]ErrorDetail_STATUS_Unrolled_ARM - +string
-

Details: The error details.

+

LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the +managed or user-provided configuration secrets.

-message
+managedIdentity
-string + +ManagedIdentityDefinition_ARM +
-

Message: The error message.

+

ManagedIdentity: Parameters to authenticate using a Managed Identity.

-target
+sasToken
string
-

Target: The error target.

+

SasToken: The Shared Access token to access the storage container

-

ErrorDetail_STATUS_Unrolled -

-

-(Appears on:ErrorDetail_STATUS) -

-
-
- - - - - - - -
FieldDescription
-additionalInfo
+servicePrincipal
- -[]ErrorAdditionalInfo_STATUS + +ServicePrincipalDefinition_ARM
-

AdditionalInfo: The error additional info.

+

ServicePrincipal: Parameters to authenticate using Service Principal.

-code
+syncIntervalInSeconds
-string +int
-

Code: The error code.

+

SyncIntervalInSeconds: The interval at which to re-reconcile the cluster Azure Blob source with the remote.

-message
+timeoutInSeconds
-string +int
-

Message: The error message.

+

TimeoutInSeconds: The maximum time to attempt to reconcile the cluster Azure Blob source with the remote.

-target
+url
string
-

Target: The error target.

+

Url: The URL to sync for the flux configuration Azure Blob storage account.

-

ErrorDetail_STATUS_Unrolled_ARM +

AzureBlobDefinition_STATUS

-(Appears on:ErrorDetail_STATUS_ARM) +(Appears on:FluxConfiguration_STATUS)

+

Parameters to reconcile to the AzureBlob source kind type.

@@ -340,58 +288,95 @@ string + + + + + + + + + + + +
-additionalInfo
+containerName
- -[]ErrorAdditionalInfo_STATUS_ARM - +string
-

AdditionalInfo: The error additional info.

+

ContainerName: The Azure Blob container name to sync from the url endpoint for the flux configuration.

-code
+localAuthRef
string
-

Code: The error code.

+

LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the +managed or user-provided configuration secrets.

-message
+managedIdentity
-string + +ManagedIdentityDefinition_STATUS +
-

Message: The error message.

+

ManagedIdentity: Parameters to authenticate using a Managed Identity.

-target
+servicePrincipal
+ + +ServicePrincipalDefinition_STATUS + + +
+

ServicePrincipal: Parameters to authenticate using Service Principal.

+
+syncIntervalInSeconds
+ +int + +
+

SyncIntervalInSeconds: The interval at which to re-reconcile the cluster Azure Blob source with the remote.

+
+timeoutInSeconds
+ +int + +
+

TimeoutInSeconds: The maximum time to attempt to reconcile the cluster Azure Blob source with the remote.

+
+url
string
-

Target: The error target.

+

Url: The URL to sync for the flux configuration Azure Blob storage account.

-

Extension +

AzureBlobDefinition_STATUS_ARM

+

+(Appears on:FluxConfiguration_Properties_STATUS_ARM) +

-

Generator information: -- Generated from: /kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-05-01/extensions.json -- ARM URI: /​subscriptions/​{subscriptionId}/​resourceGroups/​{resourceGroupName}/​providers/​{clusterRp}/​{clusterResourceName}/​{clusterName}/​providers/​Microsoft.KubernetesConfiguration/​extensions/​{extensionName} +

Parameters to reconcile to the AzureBlob source kind type.

@@ -403,339 +388,289 @@ string - -
-metadata
+containerName
- -Kubernetes meta/v1.ObjectMeta - +string
-Refer to the Kubernetes API documentation for the fields of the -metadata field. +

ContainerName: The Azure Blob container name to sync from the url endpoint for the flux configuration.

-spec
+localAuthRef
- -Extension_Spec - +string
-
-
- +

LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the +managed or user-provided configuration secrets.

+ + + +
-aksAssignedIdentity
+managedIdentity
- -Extension_Properties_AksAssignedIdentity_Spec + +ManagedIdentityDefinition_STATUS_ARM
-

AksAssignedIdentity: Identity of the Extension resource in an AKS cluster

+

ManagedIdentity: Parameters to authenticate using a Managed Identity.

-autoUpgradeMinorVersion
+servicePrincipal
-bool + +ServicePrincipalDefinition_STATUS_ARM +
-

AutoUpgradeMinorVersion: Flag to note if this extension participates in auto upgrade of minor version, or not.

+

ServicePrincipal: Parameters to authenticate using Service Principal.

-azureName
+syncIntervalInSeconds
-string +int
-

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.

+

SyncIntervalInSeconds: The interval at which to re-reconcile the cluster Azure Blob source with the remote.

-configurationProtectedSettings
+timeoutInSeconds
- -genruntime.SecretMapReference - +int
-

ConfigurationProtectedSettings: Configuration settings that are sensitive, as name-value pairs for configuring this -extension.

+

TimeoutInSeconds: The maximum time to attempt to reconcile the cluster Azure Blob source with the remote.

-configurationSettings
+url
-map[string]string +string
-

ConfigurationSettings: Configuration settings, as name-value pairs for configuring this extension.

+

Url: The URL to sync for the flux configuration Azure Blob storage account.

+

BucketDefinition +

+

+(Appears on:FluxConfiguration_Spec) +

+
+

Parameters to reconcile to the Bucket source kind type.

+
+ + + + + + + + + +
FieldDescription
-extensionType
+accessKey
-string + +genruntime.SecretReference +
-

ExtensionType: Type of the Extension, of which this resource is an instance of. It must be one of the Extension Types -registered with Microsoft.KubernetesConfiguration by the Extension publisher.

+

AccessKey: Plaintext access key used to securely access the S3 bucket

-identity
+bucketName
- -Identity - +string
-

Identity: Identity of the Extension resource

+

BucketName: The bucket name to sync from the url endpoint for the flux configuration.

-operatorSpec
+insecure
- -ExtensionOperatorSpec - +bool
-

OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not -passed directly to Azure

+

Insecure: Specify whether to use insecure communication when puling data from the S3 bucket.

-owner
+localAuthRef
- -genruntime.ArbitraryOwnerReference - +string
-

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. This resource is an -extension resource, which means that any other Azure resource can be its owner.

+

LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the +managed or user-provided configuration secrets.

-plan
+syncIntervalInSeconds
- -Plan - +int
-

Plan: The plan information.

+

SyncIntervalInSeconds: The interval at which to re-reconcile the cluster bucket source with the remote.

-releaseTrain
+timeoutInSeconds
-string +int
-

ReleaseTrain: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if -autoUpgradeMinorVersion is ‘true’.

+

TimeoutInSeconds: The maximum time to attempt to reconcile the cluster bucket source with the remote.

-scope
+url
- -Scope - +string
-

Scope: Scope at which the extension is installed.

+

Url: The URL to sync for the flux configuration S3 bucket.

+

BucketDefinition_ARM +

+

+(Appears on:FluxConfiguration_Properties_Spec_ARM) +

+
+

Parameters to reconcile to the Bucket source kind type.

+
+ + + + + + + + - -
FieldDescription
-systemData
+accessKey
- -SystemData - +string
-

SystemData: Top level metadata -https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources

+

AccessKey: Plaintext access key used to securely access the S3 bucket

-version
+bucketName
string
-

Version: User-specified version of the extension for this extension to ‘pin’. To use ‘version’, autoUpgradeMinorVersion -must be ‘false’.

-
+

BucketName: The bucket name to sync from the url endpoint for the flux configuration.

-status
+insecure
- -Extension_STATUS - +bool
+

Insecure: Specify whether to use insecure communication when puling data from the S3 bucket.

-

ExtensionOperatorConfigMaps -

-

-(Appears on:ExtensionOperatorSpec) -

-
-
- - - - + + - - - -
FieldDescription +localAuthRef
+ +string + +
+

LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the +managed or user-provided configuration secrets.

+
-principalId
+syncIntervalInSeconds
- -genruntime.ConfigMapDestination - +int
-

PrincipalId: indicates where the PrincipalId config map should be placed. If omitted, no config map will be created.

+

SyncIntervalInSeconds: The interval at which to re-reconcile the cluster bucket source with the remote.

-

ExtensionOperatorSpec -

-

-(Appears on:Extension_Spec) -

-
-

Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure

-
- - - - + + - -
FieldDescription +timeoutInSeconds
+ +int + +
+

TimeoutInSeconds: The maximum time to attempt to reconcile the cluster bucket source with the remote.

+
-configMaps
+url
- -ExtensionOperatorConfigMaps - +string
-

ConfigMaps: configures where to place operator written ConfigMaps.

+

Url: The URL to sync for the flux configuration S3 bucket.

-

ExtensionStatus_Level_STATUS -(string alias)

-

-(Appears on:ExtensionStatus_STATUS) -

-
-
- - - - - - - - - - - - - - -
ValueDescription

"Error"

"Information"

"Warning"

-

ExtensionStatus_Level_STATUS_ARM -(string alias)

-

-(Appears on:ExtensionStatus_STATUS_ARM) -

-
-
- - - - - - - - - - - - - - -
ValueDescription

"Error"

"Information"

"Warning"

-

ExtensionStatus_STATUS +

BucketDefinition_STATUS

-(Appears on:Extension_STATUS) +(Appears on:FluxConfiguration_STATUS)

-

Status from the extension.

+

Parameters to reconcile to the Bucket source kind type.

@@ -747,70 +682,80 @@ ExtensionOperatorConfigMaps + + + +
-code
+bucketName
string
-

Code: Status code provided by the Extension

+

BucketName: The bucket name to sync from the url endpoint for the flux configuration.

-displayStatus
+insecure
+ +bool + +
+

Insecure: Specify whether to use insecure communication when puling data from the S3 bucket.

+
+localAuthRef
string
-

DisplayStatus: Short description of status of the extension.

+

LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the +managed or user-provided configuration secrets.

-level
+syncIntervalInSeconds
- -ExtensionStatus_Level_STATUS - +int
-

Level: Level of the status.

+

SyncIntervalInSeconds: The interval at which to re-reconcile the cluster bucket source with the remote.

-message
+timeoutInSeconds
-string +int
-

Message: Detailed message of the status from the Extension.

+

TimeoutInSeconds: The maximum time to attempt to reconcile the cluster bucket source with the remote.

-time
+url
string
-

Time: DateLiteral (per ISO8601) noting the time of installation status.

+

Url: The URL to sync for the flux configuration S3 bucket.

-

ExtensionStatus_STATUS_ARM +

BucketDefinition_STATUS_ARM

-(Appears on:Extension_Properties_STATUS_ARM) +(Appears on:FluxConfiguration_Properties_STATUS_ARM)

-

Status from the extension.

+

Parameters to reconcile to the Bucket source kind type.

@@ -822,69 +767,80 @@ string + + + +
-code
+bucketName
string
-

Code: Status code provided by the Extension

+

BucketName: The bucket name to sync from the url endpoint for the flux configuration.

-displayStatus
+insecure
+ +bool + +
+

Insecure: Specify whether to use insecure communication when puling data from the S3 bucket.

+
+localAuthRef
string
-

DisplayStatus: Short description of status of the extension.

+

LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the +managed or user-provided configuration secrets.

-level
+syncIntervalInSeconds
- -ExtensionStatus_Level_STATUS_ARM - +int
-

Level: Level of the status.

+

SyncIntervalInSeconds: The interval at which to re-reconcile the cluster bucket source with the remote.

-message
+timeoutInSeconds
-string +int
-

Message: Detailed message of the status from the Extension.

+

TimeoutInSeconds: The maximum time to attempt to reconcile the cluster bucket source with the remote.

-time
+url
string
-

Time: DateLiteral (per ISO8601) noting the time of installation status.

+

Url: The URL to sync for the flux configuration S3 bucket.

-

Extension_Properties_AksAssignedIdentity_STATUS +

ErrorAdditionalInfo_STATUS

-(Appears on:Extension_STATUS) +(Appears on:ErrorDetail_STATUS, ErrorDetail_STATUS_Unrolled)

+

The resource management error additional info.

@@ -896,47 +852,37 @@ string - - - -
-principalId
- -string - -
-

PrincipalId: The principal ID of resource identity.

-
-tenantId
+info
-string + +map[string]k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON +
-

TenantId: The tenant ID of resource.

+

Info: The additional info.

type
- -Extension_Properties_AksAssignedIdentity_Type_STATUS - +string
-

Type: The identity type.

+

Type: The additional info type.

-

Extension_Properties_AksAssignedIdentity_STATUS_ARM +

ErrorAdditionalInfo_STATUS_ARM

-(Appears on:Extension_Properties_STATUS_ARM) +(Appears on:ErrorDetail_STATUS_ARM, ErrorDetail_STATUS_Unrolled_ARM)

+

The resource management error additional info.

@@ -948,47 +894,4459 @@ Extension_Properties_AksAssignedIdentity_Type_STATUS - - - -
-principalId
- -string - -
-

PrincipalId: The principal ID of resource identity.

-
-tenantId
+info
-string + +map[string]k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1.JSON +
-

TenantId: The tenant ID of resource.

+

Info: The additional info.

type
- -Extension_Properties_AksAssignedIdentity_Type_STATUS_ARM - +string
-

Type: The identity type.

+

Type: The additional info type.

-

Extension_Properties_AksAssignedIdentity_Spec +

ErrorDetail_STATUS +

+

+(Appears on:Extension_STATUS) +

+
+

The error detail.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+additionalInfo
+ + +[]ErrorAdditionalInfo_STATUS + + +
+

AdditionalInfo: The error additional info.

+
+code
+ +string + +
+

Code: The error code.

+
+details
+ + +[]ErrorDetail_STATUS_Unrolled + + +
+

Details: The error details.

+
+message
+ +string + +
+

Message: The error message.

+
+target
+ +string + +
+

Target: The error target.

+
+

ErrorDetail_STATUS_ARM +

+

+(Appears on:Extension_Properties_STATUS_ARM) +

+
+

The error detail.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+additionalInfo
+ + +[]ErrorAdditionalInfo_STATUS_ARM + + +
+

AdditionalInfo: The error additional info.

+
+code
+ +string + +
+

Code: The error code.

+
+details
+ + +[]ErrorDetail_STATUS_Unrolled_ARM + + +
+

Details: The error details.

+
+message
+ +string + +
+

Message: The error message.

+
+target
+ +string + +
+

Target: The error target.

+
+

ErrorDetail_STATUS_Unrolled +

+

+(Appears on:ErrorDetail_STATUS) +

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+additionalInfo
+ + +[]ErrorAdditionalInfo_STATUS + + +
+

AdditionalInfo: The error additional info.

+
+code
+ +string + +
+

Code: The error code.

+
+message
+ +string + +
+

Message: The error message.

+
+target
+ +string + +
+

Target: The error target.

+
+

ErrorDetail_STATUS_Unrolled_ARM +

+

+(Appears on:ErrorDetail_STATUS_ARM) +

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+additionalInfo
+ + +[]ErrorAdditionalInfo_STATUS_ARM + + +
+

AdditionalInfo: The error additional info.

+
+code
+ +string + +
+

Code: The error code.

+
+message
+ +string + +
+

Message: The error message.

+
+target
+ +string + +
+

Target: The error target.

+
+

Extension +

+
+

Generator information: +- Generated from: /kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-05-01/extensions.json +- ARM URI: /​subscriptions/​{subscriptionId}/​resourceGroups/​{resourceGroupName}/​providers/​{clusterRp}/​{clusterResourceName}/​{clusterName}/​providers/​Microsoft.KubernetesConfiguration/​extensions/​{extensionName} +

+ + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+metadata
+ + +Kubernetes meta/v1.ObjectMeta + + +
+Refer to the Kubernetes API documentation for the fields of the +metadata field. +
+spec
+ + +Extension_Spec + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+aksAssignedIdentity
+ + +Extension_Properties_AksAssignedIdentity_Spec + + +
+

AksAssignedIdentity: Identity of the Extension resource in an AKS cluster

+
+autoUpgradeMinorVersion
+ +bool + +
+

AutoUpgradeMinorVersion: Flag to note if this extension participates in auto upgrade of minor version, or not.

+
+azureName
+ +string + +
+

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.

+
+configurationProtectedSettings
+ + +genruntime.SecretMapReference + + +
+

ConfigurationProtectedSettings: Configuration settings that are sensitive, as name-value pairs for configuring this +extension.

+
+configurationSettings
+ +map[string]string + +
+

ConfigurationSettings: Configuration settings, as name-value pairs for configuring this extension.

+
+extensionType
+ +string + +
+

ExtensionType: Type of the Extension, of which this resource is an instance of. It must be one of the Extension Types +registered with Microsoft.KubernetesConfiguration by the Extension publisher.

+
+identity
+ + +Identity + + +
+

Identity: Identity of the Extension resource

+
+operatorSpec
+ + +ExtensionOperatorSpec + + +
+

OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not +passed directly to Azure

+
+owner
+ + +genruntime.ArbitraryOwnerReference + + +
+

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. This resource is an +extension resource, which means that any other Azure resource can be its owner.

+
+plan
+ + +Plan + + +
+

Plan: The plan information.

+
+releaseTrain
+ +string + +
+

ReleaseTrain: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if +autoUpgradeMinorVersion is ‘true’.

+
+scope
+ + +Scope + + +
+

Scope: Scope at which the extension is installed.

+
+systemData
+ + +SystemData + + +
+

SystemData: Top level metadata +https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources

+
+version
+ +string + +
+

Version: User-specified version of the extension for this extension to ‘pin’. To use ‘version’, autoUpgradeMinorVersion +must be ‘false’.

+
+
+status
+ + +Extension_STATUS + + +
+
+

ExtensionOperatorConfigMaps +

+

+(Appears on:ExtensionOperatorSpec) +

+
+
+ + + + + + + + + + + + + +
FieldDescription
+principalId
+ + +genruntime.ConfigMapDestination + + +
+

PrincipalId: indicates where the PrincipalId config map should be placed. If omitted, no config map will be created.

+
+

ExtensionOperatorSpec +

+

+(Appears on:Extension_Spec) +

+
+

Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure

+
+ + + + + + + + + + + + + +
FieldDescription
+configMaps
+ + +ExtensionOperatorConfigMaps + + +
+

ConfigMaps: configures where to place operator written ConfigMaps.

+
+

ExtensionStatus_Level_STATUS +(string alias)

+

+(Appears on:ExtensionStatus_STATUS) +

+
+
+ + + + + + + + + + + + + + +
ValueDescription

"Error"

"Information"

"Warning"

+

ExtensionStatus_Level_STATUS_ARM +(string alias)

+

+(Appears on:ExtensionStatus_STATUS_ARM) +

+
+
+ + + + + + + + + + + + + + +
ValueDescription

"Error"

"Information"

"Warning"

+

ExtensionStatus_STATUS +

+

+(Appears on:Extension_STATUS) +

+
+

Status from the extension.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+code
+ +string + +
+

Code: Status code provided by the Extension

+
+displayStatus
+ +string + +
+

DisplayStatus: Short description of status of the extension.

+
+level
+ + +ExtensionStatus_Level_STATUS + + +
+

Level: Level of the status.

+
+message
+ +string + +
+

Message: Detailed message of the status from the Extension.

+
+time
+ +string + +
+

Time: DateLiteral (per ISO8601) noting the time of installation status.

+
+

ExtensionStatus_STATUS_ARM +

+

+(Appears on:Extension_Properties_STATUS_ARM) +

+
+

Status from the extension.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+code
+ +string + +
+

Code: Status code provided by the Extension

+
+displayStatus
+ +string + +
+

DisplayStatus: Short description of status of the extension.

+
+level
+ + +ExtensionStatus_Level_STATUS_ARM + + +
+

Level: Level of the status.

+
+message
+ +string + +
+

Message: Detailed message of the status from the Extension.

+
+time
+ +string + +
+

Time: DateLiteral (per ISO8601) noting the time of installation status.

+
+

Extension_Properties_AksAssignedIdentity_STATUS +

+

+(Appears on:Extension_STATUS) +

+
+
+ + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+principalId
+ +string + +
+

PrincipalId: The principal ID of resource identity.

+
+tenantId
+ +string + +
+

TenantId: The tenant ID of resource.

+
+type
+ + +Extension_Properties_AksAssignedIdentity_Type_STATUS + + +
+

Type: The identity type.

+
+

Extension_Properties_AksAssignedIdentity_STATUS_ARM +

+

+(Appears on:Extension_Properties_STATUS_ARM) +

+
+
+ + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+principalId
+ +string + +
+

PrincipalId: The principal ID of resource identity.

+
+tenantId
+ +string + +
+

TenantId: The tenant ID of resource.

+
+type
+ + +Extension_Properties_AksAssignedIdentity_Type_STATUS_ARM + + +
+

Type: The identity type.

+
+

Extension_Properties_AksAssignedIdentity_Spec +

+

+(Appears on:Extension_Spec) +

+
+
+ + + + + + + + + + + + + +
FieldDescription
+type
+ + +Extension_Properties_AksAssignedIdentity_Type_Spec + + +
+

Type: The identity type.

+
+

Extension_Properties_AksAssignedIdentity_Spec_ARM +

+

+(Appears on:Extension_Properties_Spec_ARM) +

+
+
+ + + + + + + + + + + + + +
FieldDescription
+type
+ + +Extension_Properties_AksAssignedIdentity_Type_Spec_ARM + + +
+

Type: The identity type.

+
+

Extension_Properties_AksAssignedIdentity_Type_STATUS +(string alias)

+

+(Appears on:Extension_Properties_AksAssignedIdentity_STATUS) +

+
+
+ + + + + + + + + + + + +
ValueDescription

"SystemAssigned"

"UserAssigned"

+

Extension_Properties_AksAssignedIdentity_Type_STATUS_ARM +(string alias)

+

+(Appears on:Extension_Properties_AksAssignedIdentity_STATUS_ARM) +

+
+
+ + + + + + + + + + + + +
ValueDescription

"SystemAssigned"

"UserAssigned"

+

Extension_Properties_AksAssignedIdentity_Type_Spec +(string alias)

+

+(Appears on:Extension_Properties_AksAssignedIdentity_Spec) +

+
+
+ + + + + + + + + + + + +
ValueDescription

"SystemAssigned"

"UserAssigned"

+

Extension_Properties_AksAssignedIdentity_Type_Spec_ARM +(string alias)

+

+(Appears on:Extension_Properties_AksAssignedIdentity_Spec_ARM) +

+
+
+ + + + + + + + + + + + +
ValueDescription

"SystemAssigned"

"UserAssigned"

+

Extension_Properties_STATUS_ARM +

+

+(Appears on:Extension_STATUS_ARM) +

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+aksAssignedIdentity
+ + +Extension_Properties_AksAssignedIdentity_STATUS_ARM + + +
+

AksAssignedIdentity: Identity of the Extension resource in an AKS cluster

+
+autoUpgradeMinorVersion
+ +bool + +
+

AutoUpgradeMinorVersion: Flag to note if this extension participates in auto upgrade of minor version, or not.

+
+configurationProtectedSettings
+ +map[string]string + +
+

ConfigurationProtectedSettings: Configuration settings that are sensitive, as name-value pairs for configuring this +extension.

+
+configurationSettings
+ +map[string]string + +
+

ConfigurationSettings: Configuration settings, as name-value pairs for configuring this extension.

+
+currentVersion
+ +string + +
+

CurrentVersion: Currently installed version of the extension.

+
+customLocationSettings
+ +map[string]string + +
+

CustomLocationSettings: Custom Location settings properties.

+
+errorInfo
+ + +ErrorDetail_STATUS_ARM + + +
+

ErrorInfo: Error information from the Agent - e.g. errors during installation.

+
+extensionType
+ +string + +
+

ExtensionType: Type of the Extension, of which this resource is an instance of. It must be one of the Extension Types +registered with Microsoft.KubernetesConfiguration by the Extension publisher.

+
+isSystemExtension
+ +bool + +
+

IsSystemExtension: Flag to note if this extension is a system extension

+
+packageUri
+ +string + +
+

PackageUri: Uri of the Helm package

+
+provisioningState
+ + +ProvisioningStateDefinition_STATUS_ARM + + +
+

ProvisioningState: Status of installation of this extension.

+
+releaseTrain
+ +string + +
+

ReleaseTrain: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if +autoUpgradeMinorVersion is ‘true’.

+
+scope
+ + +Scope_STATUS_ARM + + +
+

Scope: Scope at which the extension is installed.

+
+statuses
+ + +[]ExtensionStatus_STATUS_ARM + + +
+

Statuses: Status from this extension.

+
+version
+ +string + +
+

Version: User-specified version of the extension for this extension to ‘pin’. To use ‘version’, autoUpgradeMinorVersion +must be ‘false’.

+
+

Extension_Properties_Spec_ARM +

+

+(Appears on:Extension_Spec_ARM) +

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+aksAssignedIdentity
+ + +Extension_Properties_AksAssignedIdentity_Spec_ARM + + +
+

AksAssignedIdentity: Identity of the Extension resource in an AKS cluster

+
+autoUpgradeMinorVersion
+ +bool + +
+

AutoUpgradeMinorVersion: Flag to note if this extension participates in auto upgrade of minor version, or not.

+
+configurationProtectedSettings
+ +map[string]string + +
+

ConfigurationProtectedSettings: Configuration settings that are sensitive, as name-value pairs for configuring this +extension.

+
+configurationSettings
+ +map[string]string + +
+

ConfigurationSettings: Configuration settings, as name-value pairs for configuring this extension.

+
+extensionType
+ +string + +
+

ExtensionType: Type of the Extension, of which this resource is an instance of. It must be one of the Extension Types +registered with Microsoft.KubernetesConfiguration by the Extension publisher.

+
+releaseTrain
+ +string + +
+

ReleaseTrain: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if +autoUpgradeMinorVersion is ‘true’.

+
+scope
+ + +Scope_ARM + + +
+

Scope: Scope at which the extension is installed.

+
+version
+ +string + +
+

Version: User-specified version of the extension for this extension to ‘pin’. To use ‘version’, autoUpgradeMinorVersion +must be ‘false’.

+
+

Extension_STATUS +

+

+(Appears on:Extension) +

+
+

The Extension object.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+aksAssignedIdentity
+ + +Extension_Properties_AksAssignedIdentity_STATUS + + +
+

AksAssignedIdentity: Identity of the Extension resource in an AKS cluster

+
+autoUpgradeMinorVersion
+ +bool + +
+

AutoUpgradeMinorVersion: Flag to note if this extension participates in auto upgrade of minor version, or not.

+
+conditions
+ + +[]genruntime/conditions.Condition + + +
+

Conditions: The observed state of the resource

+
+configurationProtectedSettings
+ +map[string]string + +
+

ConfigurationProtectedSettings: Configuration settings that are sensitive, as name-value pairs for configuring this +extension.

+
+configurationSettings
+ +map[string]string + +
+

ConfigurationSettings: Configuration settings, as name-value pairs for configuring this extension.

+
+currentVersion
+ +string + +
+

CurrentVersion: Currently installed version of the extension.

+
+customLocationSettings
+ +map[string]string + +
+

CustomLocationSettings: Custom Location settings properties.

+
+errorInfo
+ + +ErrorDetail_STATUS + + +
+

ErrorInfo: Error information from the Agent - e.g. errors during installation.

+
+extensionType
+ +string + +
+

ExtensionType: Type of the Extension, of which this resource is an instance of. It must be one of the Extension Types +registered with Microsoft.KubernetesConfiguration by the Extension publisher.

+
+id
+ +string + +
+

Id: Fully qualified resource ID for the resource. Ex - +/​subscriptions/​{subscriptionId}/​resourceGroups/​{resourceGroupName}/​providers/​{resourceProviderNamespace}/​{resourceType}/​{resourceName} +

+identity
+ + +Identity_STATUS + + +
+

Identity: Identity of the Extension resource

+
+isSystemExtension
+ +bool + +
+

IsSystemExtension: Flag to note if this extension is a system extension

+
+name
+ +string + +
+

Name: The name of the resource

+
+packageUri
+ +string + +
+

PackageUri: Uri of the Helm package

+
+plan
+ + +Plan_STATUS + + +
+

Plan: The plan information.

+
+provisioningState
+ + +ProvisioningStateDefinition_STATUS + + +
+

ProvisioningState: Status of installation of this extension.

+
+releaseTrain
+ +string + +
+

ReleaseTrain: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if +autoUpgradeMinorVersion is ‘true’.

+
+scope
+ + +Scope_STATUS + + +
+

Scope: Scope at which the extension is installed.

+
+statuses
+ + +[]ExtensionStatus_STATUS + + +
+

Statuses: Status from this extension.

+
+systemData
+ + +SystemData_STATUS + + +
+

SystemData: Top level metadata +https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources

+
+type
+ +string + +
+

Type: The type of the resource. E.g. “Microsoft.Compute/virtualMachines” or “Microsoft.Storage/storageAccounts”

+
+version
+ +string + +
+

Version: User-specified version of the extension for this extension to ‘pin’. To use ‘version’, autoUpgradeMinorVersion +must be ‘false’.

+
+

Extension_STATUS_ARM +

+
+

The Extension object.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+id
+ +string + +
+

Id: Fully qualified resource ID for the resource. Ex - +/​subscriptions/​{subscriptionId}/​resourceGroups/​{resourceGroupName}/​providers/​{resourceProviderNamespace}/​{resourceType}/​{resourceName} +

+identity
+ + +Identity_STATUS_ARM + + +
+

Identity: Identity of the Extension resource

+
+name
+ +string + +
+

Name: The name of the resource

+
+plan
+ + +Plan_STATUS_ARM + + +
+

Plan: The plan information.

+
+properties
+ + +Extension_Properties_STATUS_ARM + + +
+

Properties: Properties of an Extension resource

+
+systemData
+ + +SystemData_STATUS_ARM + + +
+

SystemData: Top level metadata +https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources

+
+type
+ +string + +
+

Type: The type of the resource. E.g. “Microsoft.Compute/virtualMachines” or “Microsoft.Storage/storageAccounts”

+
+

Extension_Spec +

+

+(Appears on:Extension) +

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+aksAssignedIdentity
+ + +Extension_Properties_AksAssignedIdentity_Spec + + +
+

AksAssignedIdentity: Identity of the Extension resource in an AKS cluster

+
+autoUpgradeMinorVersion
+ +bool + +
+

AutoUpgradeMinorVersion: Flag to note if this extension participates in auto upgrade of minor version, or not.

+
+azureName
+ +string + +
+

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.

+
+configurationProtectedSettings
+ + +genruntime.SecretMapReference + + +
+

ConfigurationProtectedSettings: Configuration settings that are sensitive, as name-value pairs for configuring this +extension.

+
+configurationSettings
+ +map[string]string + +
+

ConfigurationSettings: Configuration settings, as name-value pairs for configuring this extension.

+
+extensionType
+ +string + +
+

ExtensionType: Type of the Extension, of which this resource is an instance of. It must be one of the Extension Types +registered with Microsoft.KubernetesConfiguration by the Extension publisher.

+
+identity
+ + +Identity + + +
+

Identity: Identity of the Extension resource

+
+operatorSpec
+ + +ExtensionOperatorSpec + + +
+

OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not +passed directly to Azure

+
+owner
+ + +genruntime.ArbitraryOwnerReference + + +
+

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. This resource is an +extension resource, which means that any other Azure resource can be its owner.

+
+plan
+ + +Plan + + +
+

Plan: The plan information.

+
+releaseTrain
+ +string + +
+

ReleaseTrain: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if +autoUpgradeMinorVersion is ‘true’.

+
+scope
+ + +Scope + + +
+

Scope: Scope at which the extension is installed.

+
+systemData
+ + +SystemData + + +
+

SystemData: Top level metadata +https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources

+
+version
+ +string + +
+

Version: User-specified version of the extension for this extension to ‘pin’. To use ‘version’, autoUpgradeMinorVersion +must be ‘false’.

+
+

Extension_Spec_ARM +

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+identity
+ + +Identity_ARM + + +
+

Identity: Identity of the Extension resource

+
+name
+ +string + +
+
+plan
+ + +Plan_ARM + + +
+

Plan: The plan information.

+
+properties
+ + +Extension_Properties_Spec_ARM + + +
+

Properties: Properties of an Extension resource

+
+systemData
+ + +SystemData_ARM + + +
+

SystemData: Top level metadata +https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources

+
+

FluxComplianceStateDefinition_STATUS +(string alias)

+

+(Appears on:FluxConfiguration_STATUS, ObjectStatusDefinition_STATUS) +

+
+

Compliance state of the cluster object.

+
+ + + + + + + + + + + + + + + + + + +
ValueDescription

"Compliant"

"Non-Compliant"

"Pending"

"Suspended"

"Unknown"

+

FluxComplianceStateDefinition_STATUS_ARM +(string alias)

+

+(Appears on:FluxConfiguration_Properties_STATUS_ARM, ObjectStatusDefinition_STATUS_ARM) +

+
+

Compliance state of the cluster object.

+
+ + + + + + + + + + + + + + + + + + +
ValueDescription

"Compliant"

"Non-Compliant"

"Pending"

"Suspended"

"Unknown"

+

FluxConfiguration +

+
+

Generator information: +- Generated from: /kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-05-01/fluxconfiguration.json +- ARM URI: /​subscriptions/​{subscriptionId}/​resourceGroups/​{resourceGroupName}/​providers/​{clusterRp}/​{clusterResourceName}/​{clusterName}/​providers/​Microsoft.KubernetesConfiguration/​fluxConfigurations/​{fluxConfigurationName} +

+ + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+metadata
+ + +Kubernetes meta/v1.ObjectMeta + + +
+Refer to the Kubernetes API documentation for the fields of the +metadata field. +
+spec
+ + +FluxConfiguration_Spec + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+azureBlob
+ + +AzureBlobDefinition + + +
+

AzureBlob: Parameters to reconcile to the AzureBlob source kind type.

+
+azureName
+ +string + +
+

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.

+
+bucket
+ + +BucketDefinition + + +
+

Bucket: Parameters to reconcile to the Bucket source kind type.

+
+configurationProtectedSettings
+ + +genruntime.SecretMapReference + + +
+

ConfigurationProtectedSettings: Key-value pairs of protected configuration settings for the configuration

+
+gitRepository
+ + +GitRepositoryDefinition + + +
+

GitRepository: Parameters to reconcile to the GitRepository source kind type.

+
+kustomizations
+ + +map[string]./api/kubernetesconfiguration/v1api20230501.KustomizationDefinition + + +
+

Kustomizations: Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.

+
+namespace
+ +string + +
+

Namespace: The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, +hyphen and period only.

+
+owner
+ + +genruntime.ArbitraryOwnerReference + + +
+

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. This resource is an +extension resource, which means that any other Azure resource can be its owner.

+
+reconciliationWaitDuration
+ +string + +
+

ReconciliationWaitDuration: Maximum duration to wait for flux configuration reconciliation. E.g PT1H, PT5M, P1D

+
+scope
+ + +ScopeDefinition + + +
+

Scope: Scope at which the operator will be installed.

+
+sourceKind
+ + +SourceKindDefinition + + +
+

SourceKind: Source Kind to pull the configuration data from.

+
+suspend
+ +bool + +
+

Suspend: Whether this configuration should suspend its reconciliation of its kustomizations and sources.

+
+waitForReconciliation
+ +bool + +
+

WaitForReconciliation: Whether flux configuration deployment should wait for cluster to reconcile the kustomizations.

+
+
+status
+ + +FluxConfiguration_STATUS + + +
+
+

FluxConfiguration_Properties_STATUS_ARM +

+

+(Appears on:FluxConfiguration_STATUS_ARM) +

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+azureBlob
+ + +AzureBlobDefinition_STATUS_ARM + + +
+

AzureBlob: Parameters to reconcile to the AzureBlob source kind type.

+
+bucket
+ + +BucketDefinition_STATUS_ARM + + +
+

Bucket: Parameters to reconcile to the Bucket source kind type.

+
+complianceState
+ + +FluxComplianceStateDefinition_STATUS_ARM + + +
+

ComplianceState: Combined status of the Flux Kubernetes resources created by the fluxConfiguration or created by the +managed objects.

+
+configurationProtectedSettings
+ +map[string]string + +
+

ConfigurationProtectedSettings: Key-value pairs of protected configuration settings for the configuration

+
+errorMessage
+ +string + +
+

ErrorMessage: Error message returned to the user in the case of provisioning failure.

+
+gitRepository
+ + +GitRepositoryDefinition_STATUS_ARM + + +
+

GitRepository: Parameters to reconcile to the GitRepository source kind type.

+
+kustomizations
+ + +map[string]./api/kubernetesconfiguration/v1api20230501.KustomizationDefinition_STATUS_ARM + + +
+

Kustomizations: Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.

+
+namespace
+ +string + +
+

Namespace: The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, +hyphen and period only.

+
+provisioningState
+ + +ProvisioningStateDefinition_STATUS_ARM + + +
+

ProvisioningState: Status of the creation of the fluxConfiguration.

+
+reconciliationWaitDuration
+ +string + +
+

ReconciliationWaitDuration: Maximum duration to wait for flux configuration reconciliation. E.g PT1H, PT5M, P1D

+
+repositoryPublicKey
+ +string + +
+

RepositoryPublicKey: Public Key associated with this fluxConfiguration (either generated within the cluster or provided +by the user).

+
+scope
+ + +ScopeDefinition_STATUS_ARM + + +
+

Scope: Scope at which the operator will be installed.

+
+sourceKind
+ + +SourceKindDefinition_STATUS_ARM + + +
+

SourceKind: Source Kind to pull the configuration data from.

+
+sourceSyncedCommitId
+ +string + +
+

SourceSyncedCommitId: Branch and/or SHA of the source commit synced with the cluster.

+
+sourceUpdatedAt
+ +string + +
+

SourceUpdatedAt: Datetime the fluxConfiguration synced its source on the cluster.

+
+statusUpdatedAt
+ +string + +
+

StatusUpdatedAt: Datetime the fluxConfiguration synced its status on the cluster with Azure.

+
+statuses
+ + +[]ObjectStatusDefinition_STATUS_ARM + + +
+

Statuses: Statuses of the Flux Kubernetes resources created by the fluxConfiguration or created by the managed objects +provisioned by the fluxConfiguration.

+
+suspend
+ +bool + +
+

Suspend: Whether this configuration should suspend its reconciliation of its kustomizations and sources.

+
+waitForReconciliation
+ +bool + +
+

WaitForReconciliation: Whether flux configuration deployment should wait for cluster to reconcile the kustomizations.

+
+

FluxConfiguration_Properties_Spec_ARM +

+

+(Appears on:FluxConfiguration_Spec_ARM) +

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+azureBlob
+ + +AzureBlobDefinition_ARM + + +
+

AzureBlob: Parameters to reconcile to the AzureBlob source kind type.

+
+bucket
+ + +BucketDefinition_ARM + + +
+

Bucket: Parameters to reconcile to the Bucket source kind type.

+
+configurationProtectedSettings
+ +map[string]string + +
+

ConfigurationProtectedSettings: Key-value pairs of protected configuration settings for the configuration

+
+gitRepository
+ + +GitRepositoryDefinition_ARM + + +
+

GitRepository: Parameters to reconcile to the GitRepository source kind type.

+
+kustomizations
+ + +map[string]./api/kubernetesconfiguration/v1api20230501.KustomizationDefinition_ARM + + +
+

Kustomizations: Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.

+
+namespace
+ +string + +
+

Namespace: The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, +hyphen and period only.

+
+reconciliationWaitDuration
+ +string + +
+

ReconciliationWaitDuration: Maximum duration to wait for flux configuration reconciliation. E.g PT1H, PT5M, P1D

+
+scope
+ + +ScopeDefinition_ARM + + +
+

Scope: Scope at which the operator will be installed.

+
+sourceKind
+ + +SourceKindDefinition_ARM + + +
+

SourceKind: Source Kind to pull the configuration data from.

+
+suspend
+ +bool + +
+

Suspend: Whether this configuration should suspend its reconciliation of its kustomizations and sources.

+
+waitForReconciliation
+ +bool + +
+

WaitForReconciliation: Whether flux configuration deployment should wait for cluster to reconcile the kustomizations.

+
+

FluxConfiguration_STATUS +

+

+(Appears on:FluxConfiguration) +

+
+

The Flux Configuration object returned in Get & Put response.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+azureBlob
+ + +AzureBlobDefinition_STATUS + + +
+

AzureBlob: Parameters to reconcile to the AzureBlob source kind type.

+
+bucket
+ + +BucketDefinition_STATUS + + +
+

Bucket: Parameters to reconcile to the Bucket source kind type.

+
+complianceState
+ + +FluxComplianceStateDefinition_STATUS + + +
+

ComplianceState: Combined status of the Flux Kubernetes resources created by the fluxConfiguration or created by the +managed objects.

+
+conditions
+ + +[]genruntime/conditions.Condition + + +
+

Conditions: The observed state of the resource

+
+configurationProtectedSettings
+ +map[string]string + +
+

ConfigurationProtectedSettings: Key-value pairs of protected configuration settings for the configuration

+
+errorMessage
+ +string + +
+

ErrorMessage: Error message returned to the user in the case of provisioning failure.

+
+gitRepository
+ + +GitRepositoryDefinition_STATUS + + +
+

GitRepository: Parameters to reconcile to the GitRepository source kind type.

+
+id
+ +string + +
+

Id: Fully qualified resource ID for the resource. Ex - +/​subscriptions/​{subscriptionId}/​resourceGroups/​{resourceGroupName}/​providers/​{resourceProviderNamespace}/​{resourceType}/​{resourceName} +

+kustomizations
+ + +map[string]./api/kubernetesconfiguration/v1api20230501.KustomizationDefinition_STATUS + + +
+

Kustomizations: Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.

+
+name
+ +string + +
+

Name: The name of the resource

+
+namespace
+ +string + +
+

Namespace: The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, +hyphen and period only.

+
+provisioningState
+ + +ProvisioningStateDefinition_STATUS + + +
+

ProvisioningState: Status of the creation of the fluxConfiguration.

+
+reconciliationWaitDuration
+ +string + +
+

ReconciliationWaitDuration: Maximum duration to wait for flux configuration reconciliation. E.g PT1H, PT5M, P1D

+
+repositoryPublicKey
+ +string + +
+

RepositoryPublicKey: Public Key associated with this fluxConfiguration (either generated within the cluster or provided +by the user).

+
+scope
+ + +ScopeDefinition_STATUS + + +
+

Scope: Scope at which the operator will be installed.

+
+sourceKind
+ + +SourceKindDefinition_STATUS + + +
+

SourceKind: Source Kind to pull the configuration data from.

+
+sourceSyncedCommitId
+ +string + +
+

SourceSyncedCommitId: Branch and/or SHA of the source commit synced with the cluster.

+
+sourceUpdatedAt
+ +string + +
+

SourceUpdatedAt: Datetime the fluxConfiguration synced its source on the cluster.

+
+statusUpdatedAt
+ +string + +
+

StatusUpdatedAt: Datetime the fluxConfiguration synced its status on the cluster with Azure.

+
+statuses
+ + +[]ObjectStatusDefinition_STATUS + + +
+

Statuses: Statuses of the Flux Kubernetes resources created by the fluxConfiguration or created by the managed objects +provisioned by the fluxConfiguration.

+
+suspend
+ +bool + +
+

Suspend: Whether this configuration should suspend its reconciliation of its kustomizations and sources.

+
+type
+ +string + +
+

Type: The type of the resource. E.g. “Microsoft.Compute/virtualMachines” or “Microsoft.Storage/storageAccounts”

+
+waitForReconciliation
+ +bool + +
+

WaitForReconciliation: Whether flux configuration deployment should wait for cluster to reconcile the kustomizations.

+
+

FluxConfiguration_STATUS_ARM +

+
+

The Flux Configuration object returned in Get & Put response.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+id
+ +string + +
+

Id: Fully qualified resource ID for the resource. Ex - +/​subscriptions/​{subscriptionId}/​resourceGroups/​{resourceGroupName}/​providers/​{resourceProviderNamespace}/​{resourceType}/​{resourceName} +

+name
+ +string + +
+

Name: The name of the resource

+
+properties
+ + +FluxConfiguration_Properties_STATUS_ARM + + +
+

Properties: Properties to create a Flux Configuration resource

+
+type
+ +string + +
+

Type: The type of the resource. E.g. “Microsoft.Compute/virtualMachines” or “Microsoft.Storage/storageAccounts”

+
+

FluxConfiguration_Spec +

+

+(Appears on:FluxConfiguration) +

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+azureBlob
+ + +AzureBlobDefinition + + +
+

AzureBlob: Parameters to reconcile to the AzureBlob source kind type.

+
+azureName
+ +string + +
+

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.

+
+bucket
+ + +BucketDefinition + + +
+

Bucket: Parameters to reconcile to the Bucket source kind type.

+
+configurationProtectedSettings
+ + +genruntime.SecretMapReference + + +
+

ConfigurationProtectedSettings: Key-value pairs of protected configuration settings for the configuration

+
+gitRepository
+ + +GitRepositoryDefinition + + +
+

GitRepository: Parameters to reconcile to the GitRepository source kind type.

+
+kustomizations
+ + +map[string]./api/kubernetesconfiguration/v1api20230501.KustomizationDefinition + + +
+

Kustomizations: Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.

+
+namespace
+ +string + +
+

Namespace: The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, +hyphen and period only.

+
+owner
+ + +genruntime.ArbitraryOwnerReference + + +
+

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. This resource is an +extension resource, which means that any other Azure resource can be its owner.

+
+reconciliationWaitDuration
+ +string + +
+

ReconciliationWaitDuration: Maximum duration to wait for flux configuration reconciliation. E.g PT1H, PT5M, P1D

+
+scope
+ + +ScopeDefinition + + +
+

Scope: Scope at which the operator will be installed.

+
+sourceKind
+ + +SourceKindDefinition + + +
+

SourceKind: Source Kind to pull the configuration data from.

+
+suspend
+ +bool + +
+

Suspend: Whether this configuration should suspend its reconciliation of its kustomizations and sources.

+
+waitForReconciliation
+ +bool + +
+

WaitForReconciliation: Whether flux configuration deployment should wait for cluster to reconcile the kustomizations.

+
+

FluxConfiguration_Spec_ARM +

+
+
+ + + + + + + + + + + + + + + + + +
FieldDescription
+name
+ +string + +
+
+properties
+ + +FluxConfiguration_Properties_Spec_ARM + + +
+

Properties: Properties to create a Flux Configuration resource

+
+

GitRepositoryDefinition +

+

+(Appears on:FluxConfiguration_Spec) +

+
+

Parameters to reconcile to the GitRepository source kind type.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+httpsCACert
+ + +genruntime.SecretReference + + +
+

HttpsCACert: Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS

+
+httpsUser
+ +string + +
+

HttpsUser: Plaintext HTTPS username used to access private git repositories over HTTPS

+
+localAuthRef
+ +string + +
+

LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the +managed or user-provided configuration secrets.

+
+repositoryRef
+ + +RepositoryRefDefinition + + +
+

RepositoryRef: The source reference for the GitRepository object.

+
+sshKnownHosts
+ +string + +
+

SshKnownHosts: Base64-encoded known_hosts value containing public SSH keys required to access private git repositories +over SSH

+
+syncIntervalInSeconds
+ +int + +
+

SyncIntervalInSeconds: The interval at which to re-reconcile the cluster git repository source with the remote.

+
+timeoutInSeconds
+ +int + +
+

TimeoutInSeconds: The maximum time to attempt to reconcile the cluster git repository source with the remote.

+
+url
+ +string + +
+

Url: The URL to sync for the flux configuration git repository.

+
+

GitRepositoryDefinition_ARM +

+

+(Appears on:FluxConfiguration_Properties_Spec_ARM) +

+
+

Parameters to reconcile to the GitRepository source kind type.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+httpsCACert
+ +string + +
+

HttpsCACert: Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS

+
+httpsUser
+ +string + +
+

HttpsUser: Plaintext HTTPS username used to access private git repositories over HTTPS

+
+localAuthRef
+ +string + +
+

LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the +managed or user-provided configuration secrets.

+
+repositoryRef
+ + +RepositoryRefDefinition_ARM + + +
+

RepositoryRef: The source reference for the GitRepository object.

+
+sshKnownHosts
+ +string + +
+

SshKnownHosts: Base64-encoded known_hosts value containing public SSH keys required to access private git repositories +over SSH

+
+syncIntervalInSeconds
+ +int + +
+

SyncIntervalInSeconds: The interval at which to re-reconcile the cluster git repository source with the remote.

+
+timeoutInSeconds
+ +int + +
+

TimeoutInSeconds: The maximum time to attempt to reconcile the cluster git repository source with the remote.

+
+url
+ +string + +
+

Url: The URL to sync for the flux configuration git repository.

+
+

GitRepositoryDefinition_STATUS +

+

+(Appears on:FluxConfiguration_STATUS) +

+
+

Parameters to reconcile to the GitRepository source kind type.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+httpsUser
+ +string + +
+

HttpsUser: Plaintext HTTPS username used to access private git repositories over HTTPS

+
+localAuthRef
+ +string + +
+

LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the +managed or user-provided configuration secrets.

+
+repositoryRef
+ + +RepositoryRefDefinition_STATUS + + +
+

RepositoryRef: The source reference for the GitRepository object.

+
+sshKnownHosts
+ +string + +
+

SshKnownHosts: Base64-encoded known_hosts value containing public SSH keys required to access private git repositories +over SSH

+
+syncIntervalInSeconds
+ +int + +
+

SyncIntervalInSeconds: The interval at which to re-reconcile the cluster git repository source with the remote.

+
+timeoutInSeconds
+ +int + +
+

TimeoutInSeconds: The maximum time to attempt to reconcile the cluster git repository source with the remote.

+
+url
+ +string + +
+

Url: The URL to sync for the flux configuration git repository.

+
+

GitRepositoryDefinition_STATUS_ARM +

+

+(Appears on:FluxConfiguration_Properties_STATUS_ARM) +

+
+

Parameters to reconcile to the GitRepository source kind type.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+httpsUser
+ +string + +
+

HttpsUser: Plaintext HTTPS username used to access private git repositories over HTTPS

+
+localAuthRef
+ +string + +
+

LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the +managed or user-provided configuration secrets.

+
+repositoryRef
+ + +RepositoryRefDefinition_STATUS_ARM + + +
+

RepositoryRef: The source reference for the GitRepository object.

+
+sshKnownHosts
+ +string + +
+

SshKnownHosts: Base64-encoded known_hosts value containing public SSH keys required to access private git repositories +over SSH

+
+syncIntervalInSeconds
+ +int + +
+

SyncIntervalInSeconds: The interval at which to re-reconcile the cluster git repository source with the remote.

+
+timeoutInSeconds
+ +int + +
+

TimeoutInSeconds: The maximum time to attempt to reconcile the cluster git repository source with the remote.

+
+url
+ +string + +
+

Url: The URL to sync for the flux configuration git repository.

+
+

HelmReleasePropertiesDefinition_STATUS +

+

+(Appears on:ObjectStatusDefinition_STATUS) +

+
+

Properties for HelmRelease objects

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+failureCount
+ +int + +
+

FailureCount: Total number of times that the HelmRelease failed to install or upgrade

+
+helmChartRef
+ + +ObjectReferenceDefinition_STATUS + + +
+

HelmChartRef: The reference to the HelmChart object used as the source to this HelmRelease

+
+installFailureCount
+ +int + +
+

InstallFailureCount: Number of times that the HelmRelease failed to install

+
+lastRevisionApplied
+ +int + +
+

LastRevisionApplied: The revision number of the last released object change

+
+upgradeFailureCount
+ +int + +
+

UpgradeFailureCount: Number of times that the HelmRelease failed to upgrade

+
+

HelmReleasePropertiesDefinition_STATUS_ARM +

+

+(Appears on:ObjectStatusDefinition_STATUS_ARM) +

+
+

Properties for HelmRelease objects

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+failureCount
+ +int + +
+

FailureCount: Total number of times that the HelmRelease failed to install or upgrade

+
+helmChartRef
+ + +ObjectReferenceDefinition_STATUS_ARM + + +
+

HelmChartRef: The reference to the HelmChart object used as the source to this HelmRelease

+
+installFailureCount
+ +int + +
+

InstallFailureCount: Number of times that the HelmRelease failed to install

+
+lastRevisionApplied
+ +int + +
+

LastRevisionApplied: The revision number of the last released object change

+
+upgradeFailureCount
+ +int + +
+

UpgradeFailureCount: Number of times that the HelmRelease failed to upgrade

+
+

Identity +

+

+(Appears on:Extension_Spec) +

+
+

Identity for the resource.

+
+ + + + + + + + + + + + + +
FieldDescription
+type
+ + +Identity_Type + + +
+

Type: The identity type.

+
+

Identity_ARM +

+

+(Appears on:Extension_Spec_ARM) +

+
+

Identity for the resource.

+
+ + + + + + + + + + + + + +
FieldDescription
+type
+ + +Identity_Type_ARM + + +
+

Type: The identity type.

+
+

Identity_STATUS +

+

+(Appears on:Extension_STATUS) +

+
+

Identity for the resource.

+
+ + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+principalId
+ +string + +
+

PrincipalId: The principal ID of resource identity.

+
+tenantId
+ +string + +
+

TenantId: The tenant ID of resource.

+
+type
+ + +Identity_Type_STATUS + + +
+

Type: The identity type.

+
+

Identity_STATUS_ARM +

+

+(Appears on:Extension_STATUS_ARM) +

+
+

Identity for the resource.

+
+ + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+principalId
+ +string + +
+

PrincipalId: The principal ID of resource identity.

+
+tenantId
+ +string + +
+

TenantId: The tenant ID of resource.

+
+type
+ + +Identity_Type_STATUS_ARM + + +
+

Type: The identity type.

+
+

Identity_Type +(string alias)

+

+(Appears on:Identity) +

+
+
+ + + + + + + + + + +
ValueDescription

"SystemAssigned"

+

Identity_Type_ARM +(string alias)

+

+(Appears on:Identity_ARM) +

+
+
+ + + + + + + + + + +
ValueDescription

"SystemAssigned"

+

Identity_Type_STATUS +(string alias)

+

+(Appears on:Identity_STATUS) +

+
+
+ + + + + + + + + + +
ValueDescription

"SystemAssigned"

+

Identity_Type_STATUS_ARM +(string alias)

+

+(Appears on:Identity_STATUS_ARM) +

+
+
+ + + + + + + + + + +
ValueDescription

"SystemAssigned"

+

KustomizationDefinition +

+

+(Appears on:FluxConfiguration_Spec) +

+
+

The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+dependsOn
+ +[]string + +
+

DependsOn: Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile +until all dependencies have completed their reconciliation.

+
+force
+ +bool + +
+

Force: Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field +change.

+
+path
+ +string + +
+

Path: The path in the source reference to reconcile on the cluster.

+
+postBuild
+ + +PostBuildDefinition + + +
+

PostBuild: Used for variable substitution for this Kustomization after kustomize build.

+
+prune
+ +bool + +
+

Prune: Enable/disable garbage collections of Kubernetes objects created by this Kustomization.

+
+retryIntervalInSeconds
+ +int + +
+

RetryIntervalInSeconds: The interval at which to re-reconcile the Kustomization on the cluster in the event of failure +on reconciliation.

+
+syncIntervalInSeconds
+ +int + +
+

SyncIntervalInSeconds: The interval at which to re-reconcile the Kustomization on the cluster.

+
+timeoutInSeconds
+ +int + +
+

TimeoutInSeconds: The maximum time to attempt to reconcile the Kustomization on the cluster.

+
+wait
+ +bool + +
+

Wait: Enable/disable health check for all Kubernetes objects created by this Kustomization.

+
+

KustomizationDefinition_ARM +

+

+(Appears on:FluxConfiguration_Properties_Spec_ARM) +

+
+

The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+dependsOn
+ +[]string + +
+

DependsOn: Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile +until all dependencies have completed their reconciliation.

+
+force
+ +bool + +
+

Force: Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field +change.

+
+path
+ +string + +
+

Path: The path in the source reference to reconcile on the cluster.

+
+postBuild
+ + +PostBuildDefinition_ARM + + +
+

PostBuild: Used for variable substitution for this Kustomization after kustomize build.

+
+prune
+ +bool + +
+

Prune: Enable/disable garbage collections of Kubernetes objects created by this Kustomization.

+
+retryIntervalInSeconds
+ +int + +
+

RetryIntervalInSeconds: The interval at which to re-reconcile the Kustomization on the cluster in the event of failure +on reconciliation.

+
+syncIntervalInSeconds
+ +int + +
+

SyncIntervalInSeconds: The interval at which to re-reconcile the Kustomization on the cluster.

+
+timeoutInSeconds
+ +int + +
+

TimeoutInSeconds: The maximum time to attempt to reconcile the Kustomization on the cluster.

+
+wait
+ +bool + +
+

Wait: Enable/disable health check for all Kubernetes objects created by this Kustomization.

+
+

KustomizationDefinition_STATUS +

+

+(Appears on:FluxConfiguration_STATUS) +

+
+

The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+dependsOn
+ +[]string + +
+

DependsOn: Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile +until all dependencies have completed their reconciliation.

+
+force
+ +bool + +
+

Force: Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field +change.

+
+name
+ +string + +
+

Name: Name of the Kustomization, matching the key in the Kustomizations object map.

+
+path
+ +string + +
+

Path: The path in the source reference to reconcile on the cluster.

+
+postBuild
+ + +PostBuildDefinition_STATUS + + +
+

PostBuild: Used for variable substitution for this Kustomization after kustomize build.

+
+prune
+ +bool + +
+

Prune: Enable/disable garbage collections of Kubernetes objects created by this Kustomization.

+
+retryIntervalInSeconds
+ +int + +
+

RetryIntervalInSeconds: The interval at which to re-reconcile the Kustomization on the cluster in the event of failure +on reconciliation.

+
+syncIntervalInSeconds
+ +int + +
+

SyncIntervalInSeconds: The interval at which to re-reconcile the Kustomization on the cluster.

+
+timeoutInSeconds
+ +int + +
+

TimeoutInSeconds: The maximum time to attempt to reconcile the Kustomization on the cluster.

+
+wait
+ +bool + +
+

Wait: Enable/disable health check for all Kubernetes objects created by this Kustomization.

+
+

KustomizationDefinition_STATUS_ARM

-(Appears on:Extension_Spec) +(Appears on:FluxConfiguration_Properties_STATUS_ARM)

+

The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster.

@@ -1000,25 +5358,244 @@ Extension_Properties_AksAssignedIdentity_Type_STATUS_ARM + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
-type
+dependsOn
- -Extension_Properties_AksAssignedIdentity_Type_Spec +[]string + +
+

DependsOn: Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile +until all dependencies have completed their reconciliation.

+
+force
+ +bool + +
+

Force: Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field +change.

+
+name
+ +string + +
+

Name: Name of the Kustomization, matching the key in the Kustomizations object map.

+
+path
+ +string + +
+

Path: The path in the source reference to reconcile on the cluster.

+
+postBuild
+ + +PostBuildDefinition_STATUS_ARM
-

Type: The identity type.

+

PostBuild: Used for variable substitution for this Kustomization after kustomize build.

+
+prune
+ +bool + +
+

Prune: Enable/disable garbage collections of Kubernetes objects created by this Kustomization.

+
+retryIntervalInSeconds
+ +int + +
+

RetryIntervalInSeconds: The interval at which to re-reconcile the Kustomization on the cluster in the event of failure +on reconciliation.

+
+syncIntervalInSeconds
+ +int + +
+

SyncIntervalInSeconds: The interval at which to re-reconcile the Kustomization on the cluster.

+
+timeoutInSeconds
+ +int + +
+

TimeoutInSeconds: The maximum time to attempt to reconcile the Kustomization on the cluster.

+
+wait
+ +bool + +
+

Wait: Enable/disable health check for all Kubernetes objects created by this Kustomization.

+
+

ManagedIdentityDefinition +

+

+(Appears on:AzureBlobDefinition) +

+
+

Parameters to authenticate using a Managed Identity.

+
+ + + + + + + + + + + + + +
FieldDescription
+clientId
+ +string + +
+

ClientId: The client Id for authenticating a Managed Identity.

+
+

ManagedIdentityDefinition_ARM +

+

+(Appears on:AzureBlobDefinition_ARM) +

+
+

Parameters to authenticate using a Managed Identity.

+
+ + + + + + + + + + + + + +
FieldDescription
+clientId
+ +string + +
+

ClientId: The client Id for authenticating a Managed Identity.

+
+

ManagedIdentityDefinition_STATUS +

+

+(Appears on:AzureBlobDefinition_STATUS) +

+
+

Parameters to authenticate using a Managed Identity.

+
+ + + + + + + + + + + + + +
FieldDescription
+clientId
+ +string + +
+

ClientId: The client Id for authenticating a Managed Identity.

+
+

ManagedIdentityDefinition_STATUS_ARM +

+

+(Appears on:AzureBlobDefinition_STATUS_ARM) +

+
+

Parameters to authenticate using a Managed Identity.

+
+ + + + + + + + + + +
FieldDescription
+clientId
+ +string + +
+

ClientId: The client Id for authenticating a Managed Identity.

-

Extension_Properties_AksAssignedIdentity_Spec_ARM +

ObjectReferenceDefinition_STATUS

-(Appears on:Extension_Properties_Spec_ARM) +(Appears on:HelmReleasePropertiesDefinition_STATUS, ObjectStatusDefinition_STATUS)

+

Object reference to a Kubernetes object on a cluster

@@ -1030,105 +5607,75 @@ Extension_Properties_AksAssignedIdentity_Type_Spec - -
-type
+name
- -Extension_Properties_AksAssignedIdentity_Type_Spec_ARM - +string
-

Type: The identity type.

+

Name: Name of the object

-

Extension_Properties_AksAssignedIdentity_Type_STATUS -(string alias)

-

-(Appears on:Extension_Properties_AksAssignedIdentity_STATUS) -

-
-
- - - - + + - - - - - - +
ValueDescription +namespace
+ +string + +
+

Namespace: Namespace of the object

+

"SystemAssigned"

"UserAssigned"

-

Extension_Properties_AksAssignedIdentity_Type_STATUS_ARM -(string alias)

+

ObjectReferenceDefinition_STATUS_ARM +

-(Appears on:Extension_Properties_AksAssignedIdentity_STATUS_ARM) +(Appears on:HelmReleasePropertiesDefinition_STATUS_ARM, ObjectStatusDefinition_STATUS_ARM)

+

Object reference to a Kubernetes object on a cluster

- + - - - - - -
ValueField Description

"SystemAssigned"

"UserAssigned"

-

Extension_Properties_AksAssignedIdentity_Type_Spec -(string alias)

-

-(Appears on:Extension_Properties_AksAssignedIdentity_Spec) -

-
-
- - + - - + + - - - - - - -
ValueDescription +name
+ +string + +
+

Name: Name of the object

+

"SystemAssigned"

"UserAssigned"

-

Extension_Properties_AksAssignedIdentity_Type_Spec_ARM -(string alias)

-

-(Appears on:Extension_Properties_AksAssignedIdentity_Spec_ARM) -

-
-
- - - - + + - - - - - - +
ValueDescription +namespace
+ +string + +
+

Namespace: Namespace of the object

+

"SystemAssigned"

"UserAssigned"

-

Extension_Properties_STATUS_ARM +

ObjectStatusConditionDefinition_STATUS

-(Appears on:Extension_STATUS_ARM) +(Appears on:ObjectStatusDefinition_STATUS)

+

Status condition of Kubernetes object

@@ -1140,191 +5687,245 @@ Extension_Properties_AksAssignedIdentity_Type_Spec_ARM + +
-aksAssignedIdentity
+lastTransitionTime
- -Extension_Properties_AksAssignedIdentity_STATUS_ARM - +string
-

AksAssignedIdentity: Identity of the Extension resource in an AKS cluster

+

LastTransitionTime: Last time this status condition has changed

-autoUpgradeMinorVersion
+message
-bool +string
-

AutoUpgradeMinorVersion: Flag to note if this extension participates in auto upgrade of minor version, or not.

+

Message: A more verbose description of the object status condition

-configurationProtectedSettings
+reason
-map[string]string +string
-

ConfigurationProtectedSettings: Configuration settings that are sensitive, as name-value pairs for configuring this -extension.

+

Reason: Reason for the specified status condition type status

-configurationSettings
+status
-map[string]string +string
-

ConfigurationSettings: Configuration settings, as name-value pairs for configuring this extension.

+

Status: Status of the Kubernetes object condition type

-currentVersion
+type
string
-

CurrentVersion: Currently installed version of the extension.

+

Type: Object status condition type for this object

+

ObjectStatusConditionDefinition_STATUS_ARM +

+

+(Appears on:ObjectStatusDefinition_STATUS_ARM) +

+
+

Status condition of Kubernetes object

+
+ + + + + + + + + +
FieldDescription
-customLocationSettings
+lastTransitionTime
-map[string]string +string
-

CustomLocationSettings: Custom Location settings properties.

+

LastTransitionTime: Last time this status condition has changed

-errorInfo
+message
- -ErrorDetail_STATUS_ARM - +string
-

ErrorInfo: Error information from the Agent - e.g. errors during installation.

+

Message: A more verbose description of the object status condition

-extensionType
+reason
string
-

ExtensionType: Type of the Extension, of which this resource is an instance of. It must be one of the Extension Types -registered with Microsoft.KubernetesConfiguration by the Extension publisher.

+

Reason: Reason for the specified status condition type status

-isSystemExtension
+status
-bool +string
-

IsSystemExtension: Flag to note if this extension is a system extension

+

Status: Status of the Kubernetes object condition type

-packageUri
+type
string
-

PackageUri: Uri of the Helm package

+

Type: Object status condition type for this object

+

ObjectStatusDefinition_STATUS +

+

+(Appears on:FluxConfiguration_STATUS) +

+
+

Statuses of objects deployed by the user-specified kustomizations from the git repository.

+
+ + + + + + + + + + + + + + + +
FieldDescription
-provisioningState
+appliedBy
- -ProvisioningStateDefinition_STATUS_ARM + +ObjectReferenceDefinition_STATUS
-

ProvisioningState: Status of installation of this extension.

+

AppliedBy: Object reference to the Kustomization that applied this object

-releaseTrain
+complianceState
-string + +FluxComplianceStateDefinition_STATUS +
-

ReleaseTrain: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if -autoUpgradeMinorVersion is ‘true’.

+

ComplianceState: Compliance state of the applied object showing whether the applied object has come into a ready state +on the cluster.

-scope
+helmReleaseProperties
- -Scope_STATUS_ARM + +HelmReleasePropertiesDefinition_STATUS
-

Scope: Scope at which the extension is installed.

+

HelmReleaseProperties: Additional properties that are provided from objects of the HelmRelease kind

-statuses
+kind
- -[]ExtensionStatus_STATUS_ARM - +string
-

Statuses: Status from this extension.

+

Kind: Kind of the applied object

-version
+name
string
-

Version: User-specified version of the extension for this extension to ‘pin’. To use ‘version’, autoUpgradeMinorVersion -must be ‘false’.

+

Name: Name of the applied object

+
+namespace
+ +string + +
+

Namespace: Namespace of the applied object

+
+statusConditions
+ + +[]ObjectStatusConditionDefinition_STATUS + + +
+

StatusConditions: List of Kubernetes object status conditions present on the cluster

-

Extension_Properties_Spec_ARM +

ObjectStatusDefinition_STATUS_ARM

-(Appears on:Extension_Spec_ARM) +(Appears on:FluxConfiguration_Properties_STATUS_ARM)

+

Statuses of objects deployed by the user-specified kustomizations from the git repository.

@@ -1336,109 +5937,99 @@ must be ‘false’.

- - - -
-aksAssignedIdentity
+appliedBy
- -Extension_Properties_AksAssignedIdentity_Spec_ARM + +ObjectReferenceDefinition_STATUS_ARM
-

AksAssignedIdentity: Identity of the Extension resource in an AKS cluster

-
-autoUpgradeMinorVersion
- -bool - -
-

AutoUpgradeMinorVersion: Flag to note if this extension participates in auto upgrade of minor version, or not.

+

AppliedBy: Object reference to the Kustomization that applied this object

-configurationProtectedSettings
+complianceState
-map[string]string + +FluxComplianceStateDefinition_STATUS_ARM +
-

ConfigurationProtectedSettings: Configuration settings that are sensitive, as name-value pairs for configuring this -extension.

+

ComplianceState: Compliance state of the applied object showing whether the applied object has come into a ready state +on the cluster.

-configurationSettings
+helmReleaseProperties
-map[string]string + +HelmReleasePropertiesDefinition_STATUS_ARM +
-

ConfigurationSettings: Configuration settings, as name-value pairs for configuring this extension.

+

HelmReleaseProperties: Additional properties that are provided from objects of the HelmRelease kind

-extensionType
+kind
string
-

ExtensionType: Type of the Extension, of which this resource is an instance of. It must be one of the Extension Types -registered with Microsoft.KubernetesConfiguration by the Extension publisher.

+

Kind: Kind of the applied object

-releaseTrain
+name
string
-

ReleaseTrain: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if -autoUpgradeMinorVersion is ‘true’.

+

Name: Name of the applied object

-scope
+namespace
- -Scope_ARM - +string
-

Scope: Scope at which the extension is installed.

+

Namespace: Namespace of the applied object

-version
+statusConditions
-string + +[]ObjectStatusConditionDefinition_STATUS_ARM +
-

Version: User-specified version of the extension for this extension to ‘pin’. To use ‘version’, autoUpgradeMinorVersion -must be ‘false’.

+

StatusConditions: List of Kubernetes object status conditions present on the cluster

-

Extension_STATUS +

Plan

-(Appears on:Extension) +(Appears on:Extension_Spec)

-

The Extension object.

+

Plan for the resource.

@@ -1450,147 +6041,152 @@ must be ‘false’.

+ +
-aksAssignedIdentity
+name
- -Extension_Properties_AksAssignedIdentity_STATUS - +string
-

AksAssignedIdentity: Identity of the Extension resource in an AKS cluster

+

Name: A user defined name of the 3rd Party Artifact that is being procured.

-autoUpgradeMinorVersion
+product
-bool +string
-

AutoUpgradeMinorVersion: Flag to note if this extension participates in auto upgrade of minor version, or not.

+

Product: The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the +artifact at the time of Data Market onboarding.

-conditions
+promotionCode
- -[]genruntime/conditions.Condition - +string
-

Conditions: The observed state of the resource

+

PromotionCode: A publisher provided promotion code as provisioned in Data Market for the said product/artifact.

-configurationProtectedSettings
+publisher
-map[string]string +string
-

ConfigurationProtectedSettings: Configuration settings that are sensitive, as name-value pairs for configuring this -extension.

+

Publisher: The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic

-configurationSettings
+version
-map[string]string +string
-

ConfigurationSettings: Configuration settings, as name-value pairs for configuring this extension.

+

Version: The version of the desired product/artifact.

+

Plan_ARM +

+

+(Appears on:Extension_Spec_ARM) +

+
+

Plan for the resource.

+
+ + - - + + + + + +
-currentVersion
- -string - -
-

CurrentVersion: Currently installed version of the extension.

-
FieldDescription
-customLocationSettings
+name
-map[string]string +string
-

CustomLocationSettings: Custom Location settings properties.

+

Name: A user defined name of the 3rd Party Artifact that is being procured.

-errorInfo
+product
- -ErrorDetail_STATUS - +string
-

ErrorInfo: Error information from the Agent - e.g. errors during installation.

+

Product: The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the +artifact at the time of Data Market onboarding.

-extensionType
+promotionCode
string
-

ExtensionType: Type of the Extension, of which this resource is an instance of. It must be one of the Extension Types -registered with Microsoft.KubernetesConfiguration by the Extension publisher.

+

PromotionCode: A publisher provided promotion code as provisioned in Data Market for the said product/artifact.

-id
+publisher
string
-

Id: Fully qualified resource ID for the resource. Ex - -/​subscriptions/​{subscriptionId}/​resourceGroups/​{resourceGroupName}/​providers/​{resourceProviderNamespace}/​{resourceType}/​{resourceName} +

Publisher: The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic

-identity
+version
- -Identity_STATUS - +string
-

Identity: Identity of the Extension resource

+

Version: The version of the desired product/artifact.

+

Plan_STATUS +

+

+(Appears on:Extension_STATUS) +

+
+

Plan for the resource.

+
+ + - - + + + + + +
-isSystemExtension
- -bool - -
-

IsSystemExtension: Flag to note if this extension is a system extension

-
FieldDescription
name
@@ -1599,107 +6195,115 @@ string
-

Name: The name of the resource

+

Name: A user defined name of the 3rd Party Artifact that is being procured.

-packageUri
+product
string
-

PackageUri: Uri of the Helm package

+

Product: The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the +artifact at the time of Data Market onboarding.

-plan
+promotionCode
- -Plan_STATUS - +string
-

Plan: The plan information.

+

PromotionCode: A publisher provided promotion code as provisioned in Data Market for the said product/artifact.

-provisioningState
+publisher
- -ProvisioningStateDefinition_STATUS - +string
-

ProvisioningState: Status of installation of this extension.

+

Publisher: The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic

-releaseTrain
+version
string
-

ReleaseTrain: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if -autoUpgradeMinorVersion is ‘true’.

+

Version: The version of the desired product/artifact.

+

Plan_STATUS_ARM +

+

+(Appears on:Extension_STATUS_ARM) +

+
+

Plan for the resource.

+
+ + + + + + + + @@ -1710,16 +6314,18 @@ string
FieldDescription
-scope
+name
- -Scope_STATUS - +string
-

Scope: Scope at which the extension is installed.

+

Name: A user defined name of the 3rd Party Artifact that is being procured.

-statuses
+product
- -[]ExtensionStatus_STATUS - +string
-

Statuses: Status from this extension.

+

Product: The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the +artifact at the time of Data Market onboarding.

-systemData
+promotionCode
- -SystemData_STATUS - +string
-

SystemData: Top level metadata -https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources

+

PromotionCode: A publisher provided promotion code as provisioned in Data Market for the said product/artifact.

-type
+publisher
string
-

Type: The type of the resource. E.g. “Microsoft.Compute/virtualMachines” or “Microsoft.Storage/storageAccounts”

+

Publisher: The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic

-

Version: User-specified version of the extension for this extension to ‘pin’. To use ‘version’, autoUpgradeMinorVersion -must be ‘false’.

+

Version: The version of the desired product/artifact.

-

Extension_STATUS_ARM +

PostBuildDefinition

+

+(Appears on:KustomizationDefinition) +

-

The Extension object.

+

The postBuild definitions defining variable substitutions for this Kustomization after kustomize build.

@@ -1731,99 +6337,121 @@ must be ‘false’.

+ +
-id
+substitute
-string +map[string]string
-

Id: Fully qualified resource ID for the resource. Ex - -/​subscriptions/​{subscriptionId}/​resourceGroups/​{resourceGroupName}/​providers/​{resourceProviderNamespace}/​{resourceType}/​{resourceName} +

Substitute: Key/value pairs holding the variables to be substituted in this Kustomization.

-identity
+substituteFrom
- -Identity_STATUS_ARM + +[]SubstituteFromDefinition
-

Identity: Identity of the Extension resource

+

SubstituteFrom: Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization.

+

PostBuildDefinition_ARM +

+

+(Appears on:KustomizationDefinition_ARM) +

+
+

The postBuild definitions defining variable substitutions for this Kustomization after kustomize build.

+
+ + - - + + + + - + +
-name
- -string - -
-

Name: The name of the resource

-
FieldDescription
-plan
- - -Plan_STATUS_ARM - +
+substitute
+ +map[string]string
-

Plan: The plan information.

+

Substitute: Key/value pairs holding the variables to be substituted in this Kustomization.

-properties
+substituteFrom
- -Extension_Properties_STATUS_ARM + +[]SubstituteFromDefinition_ARM
-

Properties: Properties of an Extension resource

+

SubstituteFrom: Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization.

+

PostBuildDefinition_STATUS +

+

+(Appears on:KustomizationDefinition_STATUS) +

+
+

The postBuild definitions defining variable substitutions for this Kustomization after kustomize build.

+
+ + + + + + + +
FieldDescription
-systemData
+substitute
- -SystemData_STATUS_ARM - +map[string]string
-

SystemData: Top level metadata -https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources

+

Substitute: Key/value pairs holding the variables to be substituted in this Kustomization.

-type
+substituteFrom
-string + +[]SubstituteFromDefinition_STATUS +
-

Type: The type of the resource. E.g. “Microsoft.Compute/virtualMachines” or “Microsoft.Storage/storageAccounts”

+

SubstituteFrom: Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization.

-

Extension_Spec +

PostBuildDefinition_STATUS_ARM

-(Appears on:Extension) +(Appears on:KustomizationDefinition_STATUS_ARM)

+

The postBuild definitions defining variable substitutions for this Kustomization after kustomize build.

@@ -1835,188 +6463,284 @@ string + +
-aksAssignedIdentity
+substitute
- -Extension_Properties_AksAssignedIdentity_Spec - +map[string]string
-

AksAssignedIdentity: Identity of the Extension resource in an AKS cluster

+

Substitute: Key/value pairs holding the variables to be substituted in this Kustomization.

-autoUpgradeMinorVersion
+substituteFrom
-bool + +[]SubstituteFromDefinition_STATUS_ARM +
-

AutoUpgradeMinorVersion: Flag to note if this extension participates in auto upgrade of minor version, or not.

+

SubstituteFrom: Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization.

+

ProvisioningStateDefinition_STATUS +(string alias)

+

+(Appears on:Extension_STATUS, FluxConfiguration_STATUS) +

+
+

The provisioning state of the resource.

+
+ + + + + + + + + + + + + + + + + + + + +
ValueDescription

"Canceled"

"Creating"

"Deleting"

"Failed"

"Succeeded"

"Updating"

+

ProvisioningStateDefinition_STATUS_ARM +(string alias)

+

+(Appears on:Extension_Properties_STATUS_ARM, FluxConfiguration_Properties_STATUS_ARM) +

+
+

The provisioning state of the resource.

+
+ + + + + + + + + + + + + + + + + + + + +
ValueDescription

"Canceled"

"Creating"

"Deleting"

"Failed"

"Succeeded"

"Updating"

+

RepositoryRefDefinition +

+

+(Appears on:GitRepositoryDefinition) +

+
+

The source reference for the GitRepository object.

+
+ + + + + + + + + +
FieldDescription
-azureName
+branch
string
-

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.

+

Branch: The git repository branch name to checkout.

-configurationProtectedSettings
+commit
- -genruntime.SecretMapReference - +string
-

ConfigurationProtectedSettings: Configuration settings that are sensitive, as name-value pairs for configuring this -extension.

+

Commit: The commit SHA to checkout. This value must be combined with the branch name to be valid. This takes precedence +over semver.

-configurationSettings
+semver
-map[string]string +string
-

ConfigurationSettings: Configuration settings, as name-value pairs for configuring this extension.

+

Semver: The semver range used to match against git repository tags. This takes precedence over tag.

-extensionType
+tag
string
-

ExtensionType: Type of the Extension, of which this resource is an instance of. It must be one of the Extension Types -registered with Microsoft.KubernetesConfiguration by the Extension publisher.

+

Tag: The git repository tag name to checkout. This takes precedence over branch.

+

RepositoryRefDefinition_ARM +

+

+(Appears on:GitRepositoryDefinition_ARM) +

+
+

The source reference for the GitRepository object.

+
+ + + + + + + + + +
FieldDescription
-identity
+branch
- -Identity - +string
-

Identity: Identity of the Extension resource

+

Branch: The git repository branch name to checkout.

-operatorSpec
+commit
- -ExtensionOperatorSpec - +string
-

OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not -passed directly to Azure

+

Commit: The commit SHA to checkout. This value must be combined with the branch name to be valid. This takes precedence +over semver.

-owner
+semver
- -genruntime.ArbitraryOwnerReference - +string
-

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. This resource is an -extension resource, which means that any other Azure resource can be its owner.

+

Semver: The semver range used to match against git repository tags. This takes precedence over tag.

-plan
+tag
- -Plan - +string
-

Plan: The plan information.

+

Tag: The git repository tag name to checkout. This takes precedence over branch.

+

RepositoryRefDefinition_STATUS +

+

+(Appears on:GitRepositoryDefinition_STATUS) +

+
+

The source reference for the GitRepository object.

+
+ + + + + + + +
FieldDescription
-releaseTrain
+branch
string
-

ReleaseTrain: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if -autoUpgradeMinorVersion is ‘true’.

+

Branch: The git repository branch name to checkout.

-scope
+commit
- -Scope - +string
-

Scope: Scope at which the extension is installed.

+

Commit: The commit SHA to checkout. This value must be combined with the branch name to be valid. This takes precedence +over semver.

-systemData
+semver
- -SystemData - +string
-

SystemData: Top level metadata -https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources

+

Semver: The semver range used to match against git repository tags. This takes precedence over tag.

-version
+tag
string
-

Version: User-specified version of the extension for this extension to ‘pin’. To use ‘version’, autoUpgradeMinorVersion -must be ‘false’.

+

Tag: The git repository tag name to checkout. This takes precedence over branch.

-

Extension_Spec_ARM +

RepositoryRefDefinition_STATUS_ARM

+

+(Appears on:GitRepositoryDefinition_STATUS_ARM) +

+

The source reference for the GitRepository object.

@@ -2028,76 +6752,102 @@ must be ‘false’.

+ + + +
-identity
+branch
- -Identity_ARM - +string
-

Identity: Identity of the Extension resource

+

Branch: The git repository branch name to checkout.

-name
+commit
string
+

Commit: The commit SHA to checkout. This value must be combined with the branch name to be valid. This takes precedence +over semver.

-plan
+semver
- -Plan_ARM - +string
-

Plan: The plan information.

+

Semver: The semver range used to match against git repository tags. This takes precedence over tag.

-properties
+tag
- -Extension_Properties_Spec_ARM +string + +
+

Tag: The git repository tag name to checkout. This takes precedence over branch.

+
+

Scope +

+

+(Appears on:Extension_Spec) +

+
+

Scope of the extension. It can be either Cluster or Namespace; but not both.

+
+ + + + + + + + + +
FieldDescription
+cluster
+ + +ScopeCluster
-

Properties: Properties of an Extension resource

+

Cluster: Specifies that the scope of the extension is Cluster

-systemData
+namespace
- -SystemData_ARM + +ScopeNamespace
-

SystemData: Top level metadata -https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources

+

Namespace: Specifies that the scope of the extension is Namespace

-

Identity +

ScopeCluster

-(Appears on:Extension_Spec) +(Appears on:Scope)

-

Identity for the resource.

+

Specifies that the scope of the extension is Cluster

@@ -2109,26 +6859,25 @@ SystemData_ARM
-type
+releaseNamespace
- -Identity_Type - +string
-

Type: The identity type.

+

ReleaseNamespace: Namespace where the extension Release must be placed, for a Cluster scoped extension. If this +namespace does not exist, it will be created

-

Identity_ARM +

ScopeCluster_ARM

-(Appears on:Extension_Spec_ARM) +(Appears on:Scope_ARM)

-

Identity for the resource.

+

Specifies that the scope of the extension is Cluster

@@ -2140,26 +6889,25 @@ Identity_Type
-type
+releaseNamespace
- -Identity_Type_ARM - +string
-

Type: The identity type.

+

ReleaseNamespace: Namespace where the extension Release must be placed, for a Cluster scoped extension. If this +namespace does not exist, it will be created

-

Identity_STATUS +

ScopeCluster_STATUS

-(Appears on:Extension_STATUS) +(Appears on:Scope_STATUS)

-

Identity for the resource.

+

Specifies that the scope of the extension is Cluster

@@ -2171,48 +6919,25 @@ Identity_Type_ARM - - - - - - - -
-principalId
- -string - -
-

PrincipalId: The principal ID of resource identity.

-
-tenantId
+releaseNamespace
string
-

TenantId: The tenant ID of resource.

-
-type
- - -Identity_Type_STATUS - - -
-

Type: The identity type.

+

ReleaseNamespace: Namespace where the extension Release must be placed, for a Cluster scoped extension. If this +namespace does not exist, it will be created

-

Identity_STATUS_ARM +

ScopeCluster_STATUS_ARM

-(Appears on:Extension_STATUS_ARM) +(Appears on:Scope_STATUS_ARM)

-

Identity for the resource.

+

Specifies that the scope of the extension is Cluster

@@ -2224,47 +6949,25 @@ Identity_Type_STATUS - - - - - - - -
-principalId
- -string - -
-

PrincipalId: The principal ID of resource identity.

-
-tenantId
+releaseNamespace
string
-

TenantId: The tenant ID of resource.

-
-type
- - -Identity_Type_STATUS_ARM - - -
-

Type: The identity type.

+

ReleaseNamespace: Namespace where the extension Release must be placed, for a Cluster scoped extension. If this +namespace does not exist, it will be created

-

Identity_Type +

ScopeDefinition (string alias)

-(Appears on:Identity) +(Appears on:FluxConfiguration_Spec)

+

Scope at which the configuration will be installed.

@@ -2273,16 +6976,19 @@ Identity_Type_STATUS_ARM - + + +
Description

"SystemAssigned"

"cluster"

"namespace"

-

Identity_Type_ARM +

ScopeDefinition_ARM (string alias)

-(Appears on:Identity_ARM) +(Appears on:FluxConfiguration_Properties_Spec_ARM)

+

Scope at which the configuration will be installed.

@@ -2291,16 +6997,19 @@ Identity_Type_STATUS_ARM - + + +
Description

"SystemAssigned"

"cluster"

"namespace"

-

Identity_Type_STATUS +

ScopeDefinition_STATUS (string alias)

-(Appears on:Identity_STATUS) +(Appears on:FluxConfiguration_STATUS)

+

Scope at which the configuration will be installed.

@@ -2309,16 +7018,19 @@ Identity_Type_STATUS_ARM - + + +
Description

"SystemAssigned"

"cluster"

"namespace"

-

Identity_Type_STATUS_ARM +

ScopeDefinition_STATUS_ARM (string alias)

-(Appears on:Identity_STATUS_ARM) +(Appears on:FluxConfiguration_Properties_STATUS_ARM)

+

Scope at which the configuration will be installed.

@@ -2327,17 +7039,139 @@ Identity_Type_STATUS_ARM - + + +
Description

"SystemAssigned"

"cluster"

"namespace"

-

Plan +

ScopeNamespace

-(Appears on:Extension_Spec) +(Appears on:Scope)

-

Plan for the resource.

+

Specifies that the scope of the extension is Namespace

+
+ + + + + + + + + + + + + +
FieldDescription
+targetNamespace
+ +string + +
+

TargetNamespace: Namespace where the extension will be created for an Namespace scoped extension. If this namespace +does not exist, it will be created

+
+

ScopeNamespace_ARM +

+

+(Appears on:Scope_ARM) +

+
+

Specifies that the scope of the extension is Namespace

+
+ + + + + + + + + + + + + +
FieldDescription
+targetNamespace
+ +string + +
+

TargetNamespace: Namespace where the extension will be created for an Namespace scoped extension. If this namespace +does not exist, it will be created

+
+

ScopeNamespace_STATUS +

+

+(Appears on:Scope_STATUS) +

+
+

Specifies that the scope of the extension is Namespace

+
+ + + + + + + + + + + + + +
FieldDescription
+targetNamespace
+ +string + +
+

TargetNamespace: Namespace where the extension will be created for an Namespace scoped extension. If this namespace +does not exist, it will be created

+
+

ScopeNamespace_STATUS_ARM +

+

+(Appears on:Scope_STATUS_ARM) +

+
+

Specifies that the scope of the extension is Namespace

+
+ + + + + + + + + + + + + +
FieldDescription
+targetNamespace
+ +string + +
+

TargetNamespace: Namespace where the extension will be created for an Namespace scoped extension. If this namespace +does not exist, it will be created

+
+

Scope_ARM +

+

+(Appears on:Extension_Properties_Spec_ARM) +

+
+

Scope of the extension. It can be either Cluster or Namespace; but not both.

@@ -2349,69 +7183,83 @@ Identity_Type_STATUS_ARM + +
-name
+cluster
-string + +ScopeCluster_ARM +
-

Name: A user defined name of the 3rd Party Artifact that is being procured.

+

Cluster: Specifies that the scope of the extension is Cluster

-product
+namespace
-string + +ScopeNamespace_ARM +
-

Product: The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the -artifact at the time of Data Market onboarding.

+

Namespace: Specifies that the scope of the extension is Namespace

+

Scope_STATUS +

+

+(Appears on:Extension_STATUS) +

+
+

Scope of the extension. It can be either Cluster or Namespace; but not both.

+
+ + - - + + + +
-promotionCode
- -string - -
-

PromotionCode: A publisher provided promotion code as provisioned in Data Market for the said product/artifact.

-
FieldDescription
-publisher
+cluster
-string + +ScopeCluster_STATUS +
-

Publisher: The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic

+

Cluster: Specifies that the scope of the extension is Cluster

-version
+namespace
-string + +ScopeNamespace_STATUS +
-

Version: The version of the desired product/artifact.

+

Namespace: Specifies that the scope of the extension is Namespace

-

Plan_ARM +

Scope_STATUS_ARM

-(Appears on:Extension_Spec_ARM) +(Appears on:Extension_Properties_STATUS_ARM)

-

Plan for the resource.

+

Scope of the extension. It can be either Cluster or Namespace; but not both.

@@ -2423,143 +7271,156 @@ string + +
-name
+cluster
-string + +ScopeCluster_STATUS_ARM +
-

Name: A user defined name of the 3rd Party Artifact that is being procured.

+

Cluster: Specifies that the scope of the extension is Cluster

-product
+namespace
-string + +ScopeNamespace_STATUS_ARM +
-

Product: The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the -artifact at the time of Data Market onboarding.

+

Namespace: Specifies that the scope of the extension is Namespace

+

ServicePrincipalDefinition +

+

+(Appears on:AzureBlobDefinition) +

+
+

Parameters to authenticate using Service Principal.

+
+ + + + + + + + - -
FieldDescription
-promotionCode
+clientCertificate
-string + +genruntime.SecretReference +
-

PromotionCode: A publisher provided promotion code as provisioned in Data Market for the said product/artifact.

+

ClientCertificate: Base64-encoded certificate used to authenticate a Service Principal

-publisher
+clientCertificatePassword
-string + +genruntime.SecretReference +
-

Publisher: The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic

+

ClientCertificatePassword: The password for the certificate used to authenticate a Service Principal

-version
+clientCertificateSendChain
-string +bool
-

Version: The version of the desired product/artifact.

+

ClientCertificateSendChain: Specifies whether to include x5c header in client claims when acquiring a token to enable +subject name / issuer based authentication for the Client Certificate

-

Plan_STATUS -

-

-(Appears on:Extension_STATUS) -

-
-

Plan for the resource.

-
- - - - - - - -
FieldDescription
-name
+clientId
string
-

Name: A user defined name of the 3rd Party Artifact that is being procured.

+

ClientId: The client Id for authenticating a Service Principal.

-product
+clientIdFromConfig
-string + +genruntime.ConfigMapReference +
-

Product: The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the -artifact at the time of Data Market onboarding.

+

ClientIdFromConfig: The client Id for authenticating a Service Principal.

-promotionCode
+clientSecret
-string + +genruntime.SecretReference +
-

PromotionCode: A publisher provided promotion code as provisioned in Data Market for the said product/artifact.

+

ClientSecret: The client secret for authenticating a Service Principal

-publisher
+tenantId
string
-

Publisher: The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic

+

TenantId: The tenant Id for authenticating a Service Principal

-version
+tenantIdFromConfig
-string + +genruntime.ConfigMapReference +
-

Version: The version of the desired product/artifact.

+

TenantIdFromConfig: The tenant Id for authenticating a Service Principal

-

Plan_STATUS_ARM +

ServicePrincipalDefinition_ARM

-(Appears on:Extension_STATUS_ARM) +(Appears on:AzureBlobDefinition_ARM)

-

Plan for the resource.

+

Parameters to authenticate using Service Principal.

@@ -2571,171 +7432,80 @@ string - - -
-name
+clientCertificate
string
-

Name: A user defined name of the 3rd Party Artifact that is being procured.

+

ClientCertificate: Base64-encoded certificate used to authenticate a Service Principal

-product
+clientCertificatePassword
string
-

Product: The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the -artifact at the time of Data Market onboarding.

+

ClientCertificatePassword: The password for the certificate used to authenticate a Service Principal

-promotionCode
+clientCertificateSendChain
-string +bool
-

PromotionCode: A publisher provided promotion code as provisioned in Data Market for the said product/artifact.

+

ClientCertificateSendChain: Specifies whether to include x5c header in client claims when acquiring a token to enable +subject name / issuer based authentication for the Client Certificate

-publisher
+clientId
string
-

Publisher: The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic

+

ClientId: The client Id for authenticating a Service Principal.

-version
+clientSecret
string
-

Version: The version of the desired product/artifact.

-
-

ProvisioningStateDefinition_STATUS -(string alias)

-

-(Appears on:Extension_STATUS) -

-
-

The provisioning state of the resource.

-
- - - - - - - - - - - - - - - - - - - - -
ValueDescription

"Canceled"

"Creating"

"Deleting"

"Failed"

"Succeeded"

"Updating"

-

ProvisioningStateDefinition_STATUS_ARM -(string alias)

-

-(Appears on:Extension_Properties_STATUS_ARM) -

-
-

The provisioning state of the resource.

-
- - - - - - - - - - - - - - - - - - - - -
ValueDescription

"Canceled"

"Creating"

"Deleting"

"Failed"

"Succeeded"

"Updating"

-

Scope -

-

-(Appears on:Extension_Spec) -

-
-

Scope of the extension. It can be either Cluster or Namespace; but not both.

-
- - - - - - - - - - -
FieldDescription
-cluster
- - -ScopeCluster - - -
-

Cluster: Specifies that the scope of the extension is Cluster

+

ClientSecret: The client secret for authenticating a Service Principal

-namespace
+tenantId
- -ScopeNamespace - +string
-

Namespace: Specifies that the scope of the extension is Namespace

+

TenantId: The tenant Id for authenticating a Service Principal

-

ScopeCluster +

ServicePrincipalDefinition_STATUS

-(Appears on:Scope) +(Appears on:AzureBlobDefinition_STATUS)

-

Specifies that the scope of the extension is Cluster

+

Parameters to authenticate using Service Principal.

@@ -2747,55 +7517,47 @@ ScopeNamespace - -
-releaseNamespace
+clientCertificateSendChain
-string +bool
-

ReleaseNamespace: Namespace where the extension Release must be placed, for a Cluster scoped extension. If this -namespace does not exist, it will be created

+

ClientCertificateSendChain: Specifies whether to include x5c header in client claims when acquiring a token to enable +subject name / issuer based authentication for the Client Certificate

-

ScopeCluster_ARM -

-

-(Appears on:Scope_ARM) -

-
-

Specifies that the scope of the extension is Cluster

-
- - - - + + - -
FieldDescription +clientId
+ +string + +
+

ClientId: The client Id for authenticating a Service Principal.

+
-releaseNamespace
+tenantId
string
-

ReleaseNamespace: Namespace where the extension Release must be placed, for a Cluster scoped extension. If this -namespace does not exist, it will be created

+

TenantId: The tenant Id for authenticating a Service Principal

-

ScopeCluster_STATUS +

ServicePrincipalDefinition_STATUS_ARM

-(Appears on:Scope_STATUS) +(Appears on:AzureBlobDefinition_STATUS_ARM)

-

Specifies that the scope of the extension is Cluster

+

Parameters to authenticate using Service Principal.

@@ -2807,115 +7569,139 @@ namespace does not exist, it will be created

- -
-releaseNamespace
+clientCertificateSendChain
-string +bool
-

ReleaseNamespace: Namespace where the extension Release must be placed, for a Cluster scoped extension. If this -namespace does not exist, it will be created

+

ClientCertificateSendChain: Specifies whether to include x5c header in client claims when acquiring a token to enable +subject name / issuer based authentication for the Client Certificate

-

ScopeCluster_STATUS_ARM -

-

-(Appears on:Scope_STATUS_ARM) -

-
-

Specifies that the scope of the extension is Cluster

-
- - - - + + - -
FieldDescription +clientId
+ +string + +
+

ClientId: The client Id for authenticating a Service Principal.

+
-releaseNamespace
+tenantId
string
-

ReleaseNamespace: Namespace where the extension Release must be placed, for a Cluster scoped extension. If this -namespace does not exist, it will be created

+

TenantId: The tenant Id for authenticating a Service Principal

-

ScopeNamespace -

+

SourceKindDefinition +(string alias)

-(Appears on:Scope) +(Appears on:FluxConfiguration_Spec)

-

Specifies that the scope of the extension is Namespace

+

Source Kind to pull the configuration data from.

- + - + + + + + + + +
FieldValue Description

"AzureBlob"

"Bucket"

"GitRepository"

+

SourceKindDefinition_ARM +(string alias)

+

+(Appears on:FluxConfiguration_Properties_Spec_ARM) +

+
+

Source Kind to pull the configuration data from.

+
+ + - - + + - + + + + + + + +
-targetNamespace
- -string - -
-

TargetNamespace: Namespace where the extension will be created for an Namespace scoped extension. If this namespace -does not exist, it will be created

-
ValueDescription

"AzureBlob"

"Bucket"

"GitRepository"

-

ScopeNamespace_ARM -

+

SourceKindDefinition_STATUS +(string alias)

-(Appears on:Scope_ARM) +(Appears on:FluxConfiguration_STATUS)

-

Specifies that the scope of the extension is Namespace

+

Source Kind to pull the configuration data from.

- + - + + + + + + + +
FieldValue Description

"AzureBlob"

"Bucket"

"GitRepository"

+

SourceKindDefinition_STATUS_ARM +(string alias)

+

+(Appears on:FluxConfiguration_Properties_STATUS_ARM) +

+
+

Source Kind to pull the configuration data from.

+
+ + - - + + - + + + + + + + +
-targetNamespace
- -string - -
-

TargetNamespace: Namespace where the extension will be created for an Namespace scoped extension. If this namespace -does not exist, it will be created

-
ValueDescription

"AzureBlob"

"Bucket"

"GitRepository"

-

ScopeNamespace_STATUS +

SubstituteFromDefinition

-(Appears on:Scope_STATUS) +(Appears on:PostBuildDefinition)

-

Specifies that the scope of the extension is Namespace

+

Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization.

@@ -2927,55 +7713,46 @@ does not exist, it will be created

- -
-targetNamespace
+kind
string
-

TargetNamespace: Namespace where the extension will be created for an Namespace scoped extension. If this namespace -does not exist, it will be created

+

Kind: Define whether it is ConfigMap or Secret that holds the variables to be used in substitution.

-

ScopeNamespace_STATUS_ARM -

-

-(Appears on:Scope_STATUS_ARM) -

-
-

Specifies that the scope of the extension is Namespace

-
- - - - + + - -
FieldDescription +name
+ +string + +
+

Name: Name of the ConfigMap/Secret that holds the variables to be used in substitution.

+
-targetNamespace
+optional
-string +bool
-

TargetNamespace: Namespace where the extension will be created for an Namespace scoped extension. If this namespace -does not exist, it will be created

+

Optional: Set to True to proceed without ConfigMap/Secret, if it is not present.

-

Scope_ARM +

SubstituteFromDefinition_ARM

-(Appears on:Extension_Properties_Spec_ARM) +(Appears on:PostBuildDefinition_ARM)

-

Scope of the extension. It can be either Cluster or Namespace; but not both.

+

Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization.

@@ -2987,39 +7764,46 @@ does not exist, it will be created

+ + + +
-cluster
+kind
- -ScopeCluster_ARM - +string
-

Cluster: Specifies that the scope of the extension is Cluster

+

Kind: Define whether it is ConfigMap or Secret that holds the variables to be used in substitution.

-namespace
+name
- -ScopeNamespace_ARM - +string
-

Namespace: Specifies that the scope of the extension is Namespace

+

Name: Name of the ConfigMap/Secret that holds the variables to be used in substitution.

+
+optional
+ +bool + +
+

Optional: Set to True to proceed without ConfigMap/Secret, if it is not present.

-

Scope_STATUS +

SubstituteFromDefinition_STATUS

-(Appears on:Extension_STATUS) +(Appears on:PostBuildDefinition_STATUS)

-

Scope of the extension. It can be either Cluster or Namespace; but not both.

+

Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization.

@@ -3031,39 +7815,46 @@ ScopeNamespace_ARM + + + +
-cluster
+kind
- -ScopeCluster_STATUS - +string
-

Cluster: Specifies that the scope of the extension is Cluster

+

Kind: Define whether it is ConfigMap or Secret that holds the variables to be used in substitution.

-namespace
+name
- -ScopeNamespace_STATUS - +string
-

Namespace: Specifies that the scope of the extension is Namespace

+

Name: Name of the ConfigMap/Secret that holds the variables to be used in substitution.

+
+optional
+ +bool + +
+

Optional: Set to True to proceed without ConfigMap/Secret, if it is not present.

-

Scope_STATUS_ARM +

SubstituteFromDefinition_STATUS_ARM

-(Appears on:Extension_Properties_STATUS_ARM) +(Appears on:PostBuildDefinition_STATUS_ARM)

-

Scope of the extension. It can be either Cluster or Namespace; but not both.

+

Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization.

@@ -3075,28 +7866,35 @@ ScopeNamespace_STATUS + + + + diff --git a/docs/hugo/content/reference/network/_index.md b/docs/hugo/content/reference/network/_index.md index 14a2e81cfe5..89fc4aebefe 100644 --- a/docs/hugo/content/reference/network/_index.md +++ b/docs/hugo/content/reference/network/_index.md @@ -11,6 +11,7 @@ Development of these new resources is complete and they will be available in the | Resource | ARM Version | CRD Version | Supported From | Sample | |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------|---------------|----------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------| +| [ApplicationSecurityGroup](https://azure.github.io/azure-service-operator/reference/network/v1api20240101/#network.azure.com/v1api20240101.ApplicationSecurityGroup) | 2024-01-01 | v1api20240101 | v2.10.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/network/v1api20240101/v1api20240101_applicationsecuritygroup.yaml) | | [DnsForwardingRuleSetsVirtualNetworkLink](https://azure.github.io/azure-service-operator/reference/network/v1api20220701/#network.azure.com/v1api20220701.DnsForwardingRuleSetsVirtualNetworkLink) | 2022-07-01 | v1api20220701 | v2.10.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/network/v1api20220701/v1api20220701_dnsforwardingrulesetsvirtualnetworklink.yaml) | | [WebApplicationFirewallPolicy](https://azure.github.io/azure-service-operator/reference/network/v1api20240101/#network.azure.com/v1api20240101.WebApplicationFirewallPolicy) | 2024-01-01 | v1api20240101 | v2.10.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/network/v1api20220701/v1api20240101_webapplicationfirewallpolicy.yaml) | diff --git a/docs/hugo/content/reference/network/v1api20220701.md b/docs/hugo/content/reference/network/v1api20220701.md index 6180fa6bd07..d041fe1ffff 100644 --- a/docs/hugo/content/reference/network/v1api20220701.md +++ b/docs/hugo/content/reference/network/v1api20220701.md @@ -14228,6 +14228,116 @@ DnsForwardingRulesets_ForwardingRule_STATUS
-cluster
+kind
- -ScopeCluster_STATUS_ARM - +string
-

Cluster: Specifies that the scope of the extension is Cluster

+

Kind: Define whether it is ConfigMap or Secret that holds the variables to be used in substitution.

-namespace
+name
- -ScopeNamespace_STATUS_ARM - +string
-

Namespace: Specifies that the scope of the extension is Namespace

+

Name: Name of the ConfigMap/Secret that holds the variables to be used in substitution.

+
+optional
+ +bool + +
+

Optional: Set to True to proceed without ConfigMap/Secret, if it is not present.

+ +
+

Generator information: +- Generated from: /dnsresolver/resource-manager/Microsoft.Network/stable/2022-07-01/dnsresolver.json +- ARM URI: /​subscriptions/​{subscriptionId}/​resourceGroups/​{resourceGroupName}/​providers/​Microsoft.Network/​dnsForwardingRulesets/​{dnsForwardingRulesetName}/​virtualNetworkLinks/​{virtualNetworkLinkName} +

+ + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+metadata
+ + +Kubernetes meta/v1.ObjectMeta + + +
+Refer to the Kubernetes API documentation for the fields of the +metadata field. +
+spec
+ + +DnsForwardingRulesets_VirtualNetworkLink_Spec + + +
+
+
+ + + + + + + + + + + + + + + + + +
+azureName
+ +string + +
+

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.

+
+metadata
+ +map[string]string + +
+

Metadata: Metadata attached to the virtual network link.

+
+owner
+ + +genruntime.KnownResourceReference + + +
+

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 network.azure.com/DnsForwardingRuleset resource

+
+virtualNetwork
+ + +DnsresolverSubResource + + +
+

VirtualNetwork: The reference to the virtual network. This cannot be changed after creation.

+
+
+status
+ + +DnsForwardingRulesets_VirtualNetworkLink_STATUS + + +
+

DnsForwardingRuleset

@@ -15200,6 +15310,322 @@ ForwardingRuleProperties_ARM + +

+(Appears on:DnsForwardingRuleSetsVirtualNetworkLink) +

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+conditions
+ + +[]genruntime/conditions.Condition + + +
+

Conditions: The observed state of the resource

+
+etag
+ +string + +
+

Etag: ETag of the virtual network link.

+
+id
+ +string + +
+

Id: Fully qualified resource ID for the resource. Ex - +/​subscriptions/​{subscriptionId}/​resourceGroups/​{resourceGroupName}/​providers/​{resourceProviderNamespace}/​{resourceType}/​{resourceName} +

+metadata
+ +map[string]string + +
+

Metadata: Metadata attached to the virtual network link.

+
+name
+ +string + +
+

Name: The name of the resource

+
+provisioningState
+ + +DnsresolverProvisioningState_STATUS + + +
+

ProvisioningState: The current provisioning state of the virtual network link. This is a read-only property and any +attempt to set this value will be ignored.

+
+systemData
+ + +SystemData_STATUS + + +
+

SystemData: Metadata pertaining to creation and last modification of the resource.

+
+type
+ +string + +
+

Type: The type of the resource. E.g. “Microsoft.Compute/virtualMachines” or “Microsoft.Storage/storageAccounts”

+
+virtualNetwork
+ + +DnsresolverSubResource_STATUS + + +
+

VirtualNetwork: The reference to the virtual network. This cannot be changed after creation.

+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+etag
+ +string + +
+

Etag: ETag of the virtual network link.

+
+id
+ +string + +
+

Id: Fully qualified resource ID for the resource. Ex - +/​subscriptions/​{subscriptionId}/​resourceGroups/​{resourceGroupName}/​providers/​{resourceProviderNamespace}/​{resourceType}/​{resourceName} +

+name
+ +string + +
+

Name: The name of the resource

+
+properties
+ + +VirtualNetworkLinkProperties_STATUS_ARM + + +
+

Properties: Properties of the virtual network link.

+
+systemData
+ + +SystemData_STATUS_ARM + + +
+

SystemData: Metadata pertaining to creation and last modification of the resource.

+
+type
+ +string + +
+

Type: The type of the resource. E.g. “Microsoft.Compute/virtualMachines” or “Microsoft.Storage/storageAccounts”

+
+ +

+(Appears on:DnsForwardingRuleSetsVirtualNetworkLink) +

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+azureName
+ +string + +
+

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.

+
+metadata
+ +map[string]string + +
+

Metadata: Metadata attached to the virtual network link.

+
+owner
+ + +genruntime.KnownResourceReference + + +
+

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 network.azure.com/DnsForwardingRuleset resource

+
+virtualNetwork
+ + +DnsresolverSubResource + + +
+

VirtualNetwork: The reference to the virtual network. This cannot be changed after creation.

+
+ +
+
+ + + + + + + + + + + + + + + + + +
FieldDescription
+name
+ +string + +
+
+properties
+ + +VirtualNetworkLinkProperties_ARM + + +
+

Properties: Properties of the virtual network link.

+

DnsResolver

@@ -16902,7 +17328,7 @@ map[string]string

DnsresolverProvisioningState_STATUS (string alias)

-(Appears on:DnsForwardingRuleset_STATUS, DnsForwardingRulesets_ForwardingRule_STATUS, DnsResolver_STATUS, DnsResolvers_InboundEndpoint_STATUS, DnsResolvers_OutboundEndpoint_STATUS) +(Appears on:DnsForwardingRuleset_STATUS, DnsForwardingRulesets_ForwardingRule_STATUS, DnsForwardingRulesets_VirtualNetworkLink_STATUS, DnsResolver_STATUS, DnsResolvers_InboundEndpoint_STATUS, DnsResolvers_OutboundEndpoint_STATUS)

The current provisioning state of the resource.

@@ -16931,7 +17357,7 @@ map[string]string

DnsresolverProvisioningState_STATUS_ARM (string alias)

-(Appears on:DnsForwardingRulesetProperties_STATUS_ARM, DnsResolverProperties_STATUS_ARM, ForwardingRuleProperties_STATUS_ARM, InboundEndpointProperties_STATUS_ARM, OutboundEndpointProperties_STATUS_ARM) +(Appears on:DnsForwardingRulesetProperties_STATUS_ARM, DnsResolverProperties_STATUS_ARM, ForwardingRuleProperties_STATUS_ARM, InboundEndpointProperties_STATUS_ARM, OutboundEndpointProperties_STATUS_ARM, VirtualNetworkLinkProperties_STATUS_ARM)

The current provisioning state of the resource.

@@ -16960,7 +17386,7 @@ map[string]string

DnsresolverSubResource

-(Appears on:DnsForwardingRuleset_Spec, DnsResolver_Spec, DnsResolvers_OutboundEndpoint_Spec, IpConfiguration) +(Appears on:DnsForwardingRuleset_Spec, DnsForwardingRulesets_VirtualNetworkLink_Spec, DnsResolver_Spec, DnsResolvers_OutboundEndpoint_Spec, IpConfiguration)

Reference to another ARM resource.

@@ -16991,7 +17417,7 @@ genruntime.ResourceReference

DnsresolverSubResource_ARM

-(Appears on:DnsForwardingRulesetProperties_ARM, DnsResolverProperties_ARM, IpConfiguration_ARM, OutboundEndpointProperties_ARM) +(Appears on:DnsForwardingRulesetProperties_ARM, DnsResolverProperties_ARM, IpConfiguration_ARM, OutboundEndpointProperties_ARM, VirtualNetworkLinkProperties_ARM)

Reference to another ARM resource.

@@ -17019,7 +17445,7 @@ string

DnsresolverSubResource_STATUS

-(Appears on:DnsForwardingRuleset_STATUS, DnsResolver_STATUS, DnsResolvers_OutboundEndpoint_STATUS, IpConfiguration_STATUS) +(Appears on:DnsForwardingRuleset_STATUS, DnsForwardingRulesets_VirtualNetworkLink_STATUS, DnsResolver_STATUS, DnsResolvers_OutboundEndpoint_STATUS, IpConfiguration_STATUS)

Reference to another ARM resource.

@@ -17048,7 +17474,7 @@ string

DnsresolverSubResource_STATUS_ARM

-(Appears on:DnsForwardingRulesetProperties_STATUS_ARM, DnsResolverProperties_STATUS_ARM, IpConfiguration_STATUS_ARM, OutboundEndpointProperties_STATUS_ARM) +(Appears on:DnsForwardingRulesetProperties_STATUS_ARM, DnsResolverProperties_STATUS_ARM, IpConfiguration_STATUS_ARM, OutboundEndpointProperties_STATUS_ARM, VirtualNetworkLinkProperties_STATUS_ARM)

Reference to another ARM resource.

@@ -27339,7 +27765,7 @@ string

SystemData_STATUS

-(Appears on:DnsForwardingRuleset_STATUS, DnsForwardingRulesets_ForwardingRule_STATUS, DnsResolver_STATUS, DnsResolvers_InboundEndpoint_STATUS, DnsResolvers_OutboundEndpoint_STATUS) +(Appears on:DnsForwardingRuleset_STATUS, DnsForwardingRulesets_ForwardingRule_STATUS, DnsForwardingRulesets_VirtualNetworkLink_STATUS, DnsResolver_STATUS, DnsResolvers_InboundEndpoint_STATUS, DnsResolvers_OutboundEndpoint_STATUS)

Metadata pertaining to creation and last modification of the resource.

@@ -27427,7 +27853,7 @@ SystemData_LastModifiedByType_STATUS

SystemData_STATUS_ARM

-(Appears on:DnsForwardingRuleset_STATUS_ARM, DnsForwardingRulesets_ForwardingRule_STATUS_ARM, DnsResolver_STATUS_ARM, DnsResolvers_InboundEndpoint_STATUS_ARM, DnsResolvers_OutboundEndpoint_STATUS_ARM) +(Appears on:DnsForwardingRuleset_STATUS_ARM, DnsForwardingRulesets_ForwardingRule_STATUS_ARM, DnsForwardingRulesets_VirtualNetworkLink_STATUS_ARM, DnsResolver_STATUS_ARM, DnsResolvers_InboundEndpoint_STATUS_ARM, DnsResolvers_OutboundEndpoint_STATUS_ARM)

Metadata pertaining to creation and last modification of the resource.

@@ -27723,4 +28149,102 @@ genruntime.ResourceReference

Information about the user assigned identity for the resource

+

VirtualNetworkLinkProperties_ARM +

+

+(Appears on:DnsForwardingRulesets_VirtualNetworkLink_Spec_ARM) +

+
+

Represents the properties of a virtual network link.

+
+ + + + + + + + + + + + + + + + + +
FieldDescription
+metadata
+ +map[string]string + +
+

Metadata: Metadata attached to the virtual network link.

+
+virtualNetwork
+ + +DnsresolverSubResource_ARM + + +
+

VirtualNetwork: The reference to the virtual network. This cannot be changed after creation.

+
+

VirtualNetworkLinkProperties_STATUS_ARM +

+

+(Appears on:DnsForwardingRulesets_VirtualNetworkLink_STATUS_ARM) +

+
+

Represents the properties of a virtual network link.

+
+ + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+metadata
+ +map[string]string + +
+

Metadata: Metadata attached to the virtual network link.

+
+provisioningState
+ + +DnsresolverProvisioningState_STATUS_ARM + + +
+

ProvisioningState: The current provisioning state of the virtual network link. This is a read-only property and any +attempt to set this value will be ignored.

+
+virtualNetwork
+ + +DnsresolverSubResource_STATUS_ARM + + +
+

VirtualNetwork: The reference to the virtual network. This cannot be changed after creation.

+

diff --git a/docs/hugo/content/reference/network/v1api20240101.md b/docs/hugo/content/reference/network/v1api20240101.md index 18fc0d12c5d..55782d3a973 100644 --- a/docs/hugo/content/reference/network/v1api20240101.md +++ b/docs/hugo/content/reference/network/v1api20240101.md @@ -645,6 +645,485 @@ string +

ApplicationSecurityGroup +

+
+

Generator information: +- Generated from: /network/resource-manager/Microsoft.Network/stable/2024-01-01/applicationSecurityGroup.json +- ARM URI: /​subscriptions/​{subscriptionId}/​resourceGroups/​{resourceGroupName}/​providers/​Microsoft.Network/​applicationSecurityGroups/​{applicationSecurityGroupName} +

+ + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+metadata
+ + +Kubernetes meta/v1.ObjectMeta + + +
+Refer to the Kubernetes API documentation for the fields of the +metadata field. +
+spec
+ + +ApplicationSecurityGroup_Spec + + +
+
+
+ + + + + + + + + + + + + + + + + +
+azureName
+ +string + +
+

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.

+
+location
+ +string + +
+

Location: Resource location.

+
+owner
+ + +genruntime.KnownResourceReference + + +
+

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

+
+tags
+ +map[string]string + +
+

Tags: Resource tags.

+
+
+status
+ + +ApplicationSecurityGroup_STATUS + + +
+
+

ApplicationSecurityGroupPropertiesFormat_STATUS_ARM +

+

+(Appears on:ApplicationSecurityGroup_STATUS_ARM) +

+
+

Application security group properties.

+
+ + + + + + + + + + + + + + + + + +
FieldDescription
+provisioningState
+ + +ProvisioningState_STATUS_ARM + + +
+

ProvisioningState: The provisioning state of the application security group resource.

+
+resourceGuid
+ +string + +
+

ResourceGuid: The resource GUID property of the application security group resource. It uniquely identifies a resource, +even if the user changes its name or migrate the resource across subscriptions or resource groups.

+
+

ApplicationSecurityGroup_STATUS +

+

+(Appears on:ApplicationSecurityGroup) +

+
+

An application security group in a resource group.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+conditions
+ + +[]genruntime/conditions.Condition + + +
+

Conditions: The observed state of the resource

+
+etag
+ +string + +
+

Etag: A unique read-only string that changes whenever the resource is updated.

+
+id
+ +string + +
+

Id: Resource ID.

+
+location
+ +string + +
+

Location: Resource location.

+
+name
+ +string + +
+

Name: Resource name.

+
+provisioningState
+ + +ProvisioningState_STATUS + + +
+

ProvisioningState: The provisioning state of the application security group resource.

+
+resourceGuid
+ +string + +
+

ResourceGuid: The resource GUID property of the application security group resource. It uniquely identifies a resource, +even if the user changes its name or migrate the resource across subscriptions or resource groups.

+
+tags
+ +map[string]string + +
+

Tags: Resource tags.

+
+type
+ +string + +
+

Type: Resource type.

+
+

ApplicationSecurityGroup_STATUS_ARM +

+
+

An application security group in a resource group.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+etag
+ +string + +
+

Etag: A unique read-only string that changes whenever the resource is updated.

+
+id
+ +string + +
+

Id: Resource ID.

+
+location
+ +string + +
+

Location: Resource location.

+
+name
+ +string + +
+

Name: Resource name.

+
+properties
+ + +ApplicationSecurityGroupPropertiesFormat_STATUS_ARM + + +
+

Properties: Properties of the application security group.

+
+tags
+ +map[string]string + +
+

Tags: Resource tags.

+
+type
+ +string + +
+

Type: Resource type.

+
+

ApplicationSecurityGroup_Spec +

+

+(Appears on:ApplicationSecurityGroup) +

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+azureName
+ +string + +
+

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.

+
+location
+ +string + +
+

Location: Resource location.

+
+owner
+ + +genruntime.KnownResourceReference + + +
+

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

+
+tags
+ +map[string]string + +
+

Tags: Resource tags.

+
+

ApplicationSecurityGroup_Spec_ARM +

+
+
+ + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+location
+ +string + +
+

Location: Resource location.

+
+name
+ +string + +
+
+tags
+ +map[string]string + +
+

Tags: Resource tags.

+

ExclusionManagedRule

@@ -4668,7 +5147,7 @@ PolicySettings_State_STATUS_ARM

ProvisioningState_STATUS (string alias)

-(Appears on:ApplicationGatewayWebApplicationFirewallPolicy_STATUS) +(Appears on:ApplicationGatewayWebApplicationFirewallPolicy_STATUS, ApplicationSecurityGroup_STATUS)

The current provisioning state.

@@ -4693,7 +5172,7 @@ PolicySettings_State_STATUS_ARM

ProvisioningState_STATUS_ARM (string alias)

-(Appears on:WebApplicationFirewallPolicyPropertiesFormat_STATUS_ARM) +(Appears on:ApplicationSecurityGroupPropertiesFormat_STATUS_ARM, WebApplicationFirewallPolicyPropertiesFormat_STATUS_ARM)

The current provisioning state.

diff --git a/docs/hugo/content/reference/storage/v1api20210401.md b/docs/hugo/content/reference/storage/v1api20210401.md index 75f3ca2764c..cc2c3644be7 100644 --- a/docs/hugo/content/reference/storage/v1api20210401.md +++ b/docs/hugo/content/reference/storage/v1api20210401.md @@ -8480,9 +8480,7 @@ DateAfterCreation_STATUS_ARM bypass
- -NetworkRuleSet_Bypass - +string @@ -8564,9 +8562,7 @@ NetworkRuleSet_DefaultAction bypass
- -NetworkRuleSet_Bypass_ARM - +string @@ -8628,54 +8624,6 @@ NetworkRuleSet_DefaultAction_ARM -

NetworkRuleSet_Bypass -(string alias)

-

-(Appears on:NetworkRuleSet) -

-
-
- - - - - - - - - - - - - - - - -
ValueDescription

"AzureServices"

"Logging"

"Metrics"

"None"

-

NetworkRuleSet_Bypass_ARM -(string alias)

-

-(Appears on:NetworkRuleSet_ARM) -

-
-
- - - - - - - - - - - - - - - - -
ValueDescription

"AzureServices"

"Logging"

"Metrics"

"None"

NetworkRuleSet_Bypass_STATUS (string alias)

diff --git a/docs/hugo/content/reference/storage/v1api20220901.md b/docs/hugo/content/reference/storage/v1api20220901.md index a2d604923bb..f909c9df418 100644 --- a/docs/hugo/content/reference/storage/v1api20220901.md +++ b/docs/hugo/content/reference/storage/v1api20220901.md @@ -10927,9 +10927,7 @@ bool bypass
- -NetworkRuleSet_Bypass - +string @@ -11011,9 +11009,7 @@ NetworkRuleSet_DefaultAction bypass
- -NetworkRuleSet_Bypass_ARM - +string @@ -11075,54 +11071,6 @@ NetworkRuleSet_DefaultAction_ARM -

NetworkRuleSet_Bypass -(string alias)

-

-(Appears on:NetworkRuleSet) -

-
-
- - - - - - - - - - - - - - - - -
ValueDescription

"AzureServices"

"Logging"

"Metrics"

"None"

-

NetworkRuleSet_Bypass_ARM -(string alias)

-

-(Appears on:NetworkRuleSet_ARM) -

-
-
- - - - - - - - - - - - - - - - -
ValueDescription

"AzureServices"

"Logging"

"Metrics"

"None"

NetworkRuleSet_Bypass_STATUS (string alias)

diff --git a/docs/hugo/content/reference/storage/v1api20230101.md b/docs/hugo/content/reference/storage/v1api20230101.md index 6fe6e7e0e73..027cd067b48 100644 --- a/docs/hugo/content/reference/storage/v1api20230101.md +++ b/docs/hugo/content/reference/storage/v1api20230101.md @@ -11105,9 +11105,7 @@ bool bypass
- -NetworkRuleSet_Bypass - +string @@ -11189,9 +11187,7 @@ NetworkRuleSet_DefaultAction bypass
- -NetworkRuleSet_Bypass_ARM - +string @@ -11253,54 +11249,6 @@ NetworkRuleSet_DefaultAction_ARM -

NetworkRuleSet_Bypass -(string alias)

-

-(Appears on:NetworkRuleSet) -

-
-
- - - - - - - - - - - - - - - - -
ValueDescription

"AzureServices"

"Logging"

"Metrics"

"None"

-

NetworkRuleSet_Bypass_ARM -(string alias)

-

-(Appears on:NetworkRuleSet_ARM) -

-
-
- - - - - - - - - - - - - - - - -
ValueDescription

"AzureServices"

"Logging"

"Metrics"

"None"

NetworkRuleSet_Bypass_STATUS (string alias)

diff --git a/v2/api/network/customizations/application_security_group_extension_types_gen.go b/v2/api/network/customizations/application_security_group_extension_types_gen.go new file mode 100644 index 00000000000..31b07844f07 --- /dev/null +++ b/v2/api/network/customizations/application_security_group_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 ( + v20240101 "github.com/Azure/azure-service-operator/v2/api/network/v1api20240101" + storage "github.com/Azure/azure-service-operator/v2/api/network/v1api20240101/storage" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" +) + +type ApplicationSecurityGroupExtension struct { +} + +// GetExtendedResources Returns the KubernetesResource slice for Resource versions +func (extension *ApplicationSecurityGroupExtension) GetExtendedResources() []genruntime.KubernetesResource { + return []genruntime.KubernetesResource{ + &v20240101.ApplicationSecurityGroup{}, + &storage.ApplicationSecurityGroup{}} +} diff --git a/v2/api/network/customizations/structure.txt b/v2/api/network/customizations/structure.txt index 2df088ff639..de15689a148 100644 --- a/v2/api/network/customizations/structure.txt +++ b/v2/api/network/customizations/structure.txt @@ -2,6 +2,7 @@ github.com/Azure/azure-service-operator/v2/api/network/customizations --------------------------------------------------------------------- ApplicationGatewayExtension: Object (0 properties) +ApplicationSecurityGroupExtension: Object (0 properties) BastionHostExtension: Object (0 properties) DnsForwardingRuleSetsForwardingRuleExtension: Object (0 properties) DnsForwardingRuleSetsVirtualNetworkLinkExtension: Object (0 properties) diff --git a/v2/api/network/v1api20240101/application_security_group_spec_arm_types_gen.go b/v2/api/network/v1api20240101/application_security_group_spec_arm_types_gen.go new file mode 100644 index 00000000000..d5a999fc9ca --- /dev/null +++ b/v2/api/network/v1api20240101/application_security_group_spec_arm_types_gen.go @@ -0,0 +1,32 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20240101 + +import "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + +type ApplicationSecurityGroup_Spec_ARM struct { + // Location: Resource location. + Location *string `json:"location,omitempty"` + Name string `json:"name,omitempty"` + + // Tags: Resource tags. + Tags map[string]string `json:"tags,omitempty"` +} + +var _ genruntime.ARMResourceSpec = &ApplicationSecurityGroup_Spec_ARM{} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-01-01" +func (group ApplicationSecurityGroup_Spec_ARM) GetAPIVersion() string { + return "2024-01-01" +} + +// GetName returns the Name of the resource +func (group *ApplicationSecurityGroup_Spec_ARM) GetName() string { + return group.Name +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.Network/applicationSecurityGroups" +func (group *ApplicationSecurityGroup_Spec_ARM) GetType() string { + return "Microsoft.Network/applicationSecurityGroups" +} diff --git a/v2/api/network/v1api20240101/application_security_group_spec_arm_types_gen_test.go b/v2/api/network/v1api20240101/application_security_group_spec_arm_types_gen_test.go new file mode 100644 index 00000000000..00c600e02c5 --- /dev/null +++ b/v2/api/network/v1api20240101/application_security_group_spec_arm_types_gen_test.go @@ -0,0 +1,83 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20240101 + +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_ApplicationSecurityGroup_Spec_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ApplicationSecurityGroup_Spec_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForApplicationSecurityGroup_Spec_ARM, ApplicationSecurityGroup_Spec_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForApplicationSecurityGroup_Spec_ARM runs a test to see if a specific instance of ApplicationSecurityGroup_Spec_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForApplicationSecurityGroup_Spec_ARM(subject ApplicationSecurityGroup_Spec_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ApplicationSecurityGroup_Spec_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ApplicationSecurityGroup_Spec_ARM instances for property testing - lazily instantiated by +// ApplicationSecurityGroup_Spec_ARMGenerator() +var applicationSecurityGroup_Spec_ARMGenerator gopter.Gen + +// ApplicationSecurityGroup_Spec_ARMGenerator returns a generator of ApplicationSecurityGroup_Spec_ARM instances for property testing. +func ApplicationSecurityGroup_Spec_ARMGenerator() gopter.Gen { + if applicationSecurityGroup_Spec_ARMGenerator != nil { + return applicationSecurityGroup_Spec_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForApplicationSecurityGroup_Spec_ARM(generators) + applicationSecurityGroup_Spec_ARMGenerator = gen.Struct(reflect.TypeOf(ApplicationSecurityGroup_Spec_ARM{}), generators) + + return applicationSecurityGroup_Spec_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForApplicationSecurityGroup_Spec_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForApplicationSecurityGroup_Spec_ARM(gens map[string]gopter.Gen) { + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.AlphaString() + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} diff --git a/v2/api/network/v1api20240101/application_security_group_status_arm_types_gen.go b/v2/api/network/v1api20240101/application_security_group_status_arm_types_gen.go new file mode 100644 index 00000000000..106e92c2689 --- /dev/null +++ b/v2/api/network/v1api20240101/application_security_group_status_arm_types_gen.go @@ -0,0 +1,38 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20240101 + +// An application security group in a resource group. +type ApplicationSecurityGroup_STATUS_ARM struct { + // Etag: A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + + // Id: Resource ID. + Id *string `json:"id,omitempty"` + + // Location: Resource location. + Location *string `json:"location,omitempty"` + + // Name: Resource name. + Name *string `json:"name,omitempty"` + + // Properties: Properties of the application security group. + Properties *ApplicationSecurityGroupPropertiesFormat_STATUS_ARM `json:"properties,omitempty"` + + // Tags: Resource tags. + Tags map[string]string `json:"tags,omitempty"` + + // Type: Resource type. + Type *string `json:"type,omitempty"` +} + +// Application security group properties. +type ApplicationSecurityGroupPropertiesFormat_STATUS_ARM struct { + // ProvisioningState: The provisioning state of the application security group resource. + ProvisioningState *ProvisioningState_STATUS_ARM `json:"provisioningState,omitempty"` + + // ResourceGuid: The resource GUID property of the application security group resource. It uniquely identifies a resource, + // even if the user changes its name or migrate the resource across subscriptions or resource groups. + ResourceGuid *string `json:"resourceGuid,omitempty"` +} diff --git a/v2/api/network/v1api20240101/application_security_group_status_arm_types_gen_test.go b/v2/api/network/v1api20240101/application_security_group_status_arm_types_gen_test.go new file mode 100644 index 00000000000..c176ee899dc --- /dev/null +++ b/v2/api/network/v1api20240101/application_security_group_status_arm_types_gen_test.go @@ -0,0 +1,166 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20240101 + +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_ApplicationSecurityGroupPropertiesFormat_STATUS_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ApplicationSecurityGroupPropertiesFormat_STATUS_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForApplicationSecurityGroupPropertiesFormat_STATUS_ARM, ApplicationSecurityGroupPropertiesFormat_STATUS_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForApplicationSecurityGroupPropertiesFormat_STATUS_ARM runs a test to see if a specific instance of ApplicationSecurityGroupPropertiesFormat_STATUS_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForApplicationSecurityGroupPropertiesFormat_STATUS_ARM(subject ApplicationSecurityGroupPropertiesFormat_STATUS_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ApplicationSecurityGroupPropertiesFormat_STATUS_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ApplicationSecurityGroupPropertiesFormat_STATUS_ARM instances for property testing - lazily instantiated +// by ApplicationSecurityGroupPropertiesFormat_STATUS_ARMGenerator() +var applicationSecurityGroupPropertiesFormat_STATUS_ARMGenerator gopter.Gen + +// ApplicationSecurityGroupPropertiesFormat_STATUS_ARMGenerator returns a generator of ApplicationSecurityGroupPropertiesFormat_STATUS_ARM instances for property testing. +func ApplicationSecurityGroupPropertiesFormat_STATUS_ARMGenerator() gopter.Gen { + if applicationSecurityGroupPropertiesFormat_STATUS_ARMGenerator != nil { + return applicationSecurityGroupPropertiesFormat_STATUS_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForApplicationSecurityGroupPropertiesFormat_STATUS_ARM(generators) + applicationSecurityGroupPropertiesFormat_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(ApplicationSecurityGroupPropertiesFormat_STATUS_ARM{}), generators) + + return applicationSecurityGroupPropertiesFormat_STATUS_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForApplicationSecurityGroupPropertiesFormat_STATUS_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForApplicationSecurityGroupPropertiesFormat_STATUS_ARM(gens map[string]gopter.Gen) { + gens["ProvisioningState"] = gen.PtrOf(gen.OneConstOf( + ProvisioningState_STATUS_ARM_Deleting, + ProvisioningState_STATUS_ARM_Failed, + ProvisioningState_STATUS_ARM_Succeeded, + ProvisioningState_STATUS_ARM_Updating)) + gens["ResourceGuid"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ApplicationSecurityGroup_STATUS_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ApplicationSecurityGroup_STATUS_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForApplicationSecurityGroup_STATUS_ARM, ApplicationSecurityGroup_STATUS_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForApplicationSecurityGroup_STATUS_ARM runs a test to see if a specific instance of ApplicationSecurityGroup_STATUS_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForApplicationSecurityGroup_STATUS_ARM(subject ApplicationSecurityGroup_STATUS_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ApplicationSecurityGroup_STATUS_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ApplicationSecurityGroup_STATUS_ARM instances for property testing - lazily instantiated by +// ApplicationSecurityGroup_STATUS_ARMGenerator() +var applicationSecurityGroup_STATUS_ARMGenerator gopter.Gen + +// ApplicationSecurityGroup_STATUS_ARMGenerator returns a generator of ApplicationSecurityGroup_STATUS_ARM instances for property testing. +// We first initialize applicationSecurityGroup_STATUS_ARMGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ApplicationSecurityGroup_STATUS_ARMGenerator() gopter.Gen { + if applicationSecurityGroup_STATUS_ARMGenerator != nil { + return applicationSecurityGroup_STATUS_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForApplicationSecurityGroup_STATUS_ARM(generators) + applicationSecurityGroup_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(ApplicationSecurityGroup_STATUS_ARM{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForApplicationSecurityGroup_STATUS_ARM(generators) + AddRelatedPropertyGeneratorsForApplicationSecurityGroup_STATUS_ARM(generators) + applicationSecurityGroup_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(ApplicationSecurityGroup_STATUS_ARM{}), generators) + + return applicationSecurityGroup_STATUS_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForApplicationSecurityGroup_STATUS_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForApplicationSecurityGroup_STATUS_ARM(gens map[string]gopter.Gen) { + gens["Etag"] = gen.PtrOf(gen.AlphaString()) + 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()) +} + +// AddRelatedPropertyGeneratorsForApplicationSecurityGroup_STATUS_ARM is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForApplicationSecurityGroup_STATUS_ARM(gens map[string]gopter.Gen) { + gens["Properties"] = gen.PtrOf(ApplicationSecurityGroupPropertiesFormat_STATUS_ARMGenerator()) +} diff --git a/v2/api/network/v1api20240101/application_security_group_types_gen.go b/v2/api/network/v1api20240101/application_security_group_types_gen.go new file mode 100644 index 00000000000..65a42146fba --- /dev/null +++ b/v2/api/network/v1api20240101/application_security_group_types_gen.go @@ -0,0 +1,817 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20240101 + +import ( + "fmt" + storage "github.com/Azure/azure-service-operator/v2/api/network/v1api20240101/storage" + "github.com/Azure/azure-service-operator/v2/internal/reflecthelpers" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "github.com/pkg/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/conversion" + "sigs.k8s.io/controller-runtime/pkg/webhook/admission" +) + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" +// +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" +// Generator information: +// - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-01-01/applicationSecurityGroup.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName} +type ApplicationSecurityGroup struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ApplicationSecurityGroup_Spec `json:"spec,omitempty"` + Status ApplicationSecurityGroup_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &ApplicationSecurityGroup{} + +// GetConditions returns the conditions of the resource +func (group *ApplicationSecurityGroup) GetConditions() conditions.Conditions { + return group.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (group *ApplicationSecurityGroup) SetConditions(conditions conditions.Conditions) { + group.Status.Conditions = conditions +} + +var _ conversion.Convertible = &ApplicationSecurityGroup{} + +// ConvertFrom populates our ApplicationSecurityGroup from the provided hub ApplicationSecurityGroup +func (group *ApplicationSecurityGroup) ConvertFrom(hub conversion.Hub) error { + source, ok := hub.(*storage.ApplicationSecurityGroup) + if !ok { + return fmt.Errorf("expected network/v1api20240101/storage/ApplicationSecurityGroup but received %T instead", hub) + } + + return group.AssignProperties_From_ApplicationSecurityGroup(source) +} + +// ConvertTo populates the provided hub ApplicationSecurityGroup from our ApplicationSecurityGroup +func (group *ApplicationSecurityGroup) ConvertTo(hub conversion.Hub) error { + destination, ok := hub.(*storage.ApplicationSecurityGroup) + if !ok { + return fmt.Errorf("expected network/v1api20240101/storage/ApplicationSecurityGroup but received %T instead", hub) + } + + return group.AssignProperties_To_ApplicationSecurityGroup(destination) +} + +// +kubebuilder:webhook:path=/mutate-network-azure-com-v1api20240101-applicationsecuritygroup,mutating=true,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=network.azure.com,resources=applicationsecuritygroups,verbs=create;update,versions=v1api20240101,name=default.v1api20240101.applicationsecuritygroups.network.azure.com,admissionReviewVersions=v1 + +var _ admission.Defaulter = &ApplicationSecurityGroup{} + +// Default applies defaults to the ApplicationSecurityGroup resource +func (group *ApplicationSecurityGroup) Default() { + group.defaultImpl() + var temp any = group + if runtimeDefaulter, ok := temp.(genruntime.Defaulter); ok { + runtimeDefaulter.CustomDefault() + } +} + +// defaultAzureName defaults the Azure name of the resource to the Kubernetes name +func (group *ApplicationSecurityGroup) defaultAzureName() { + if group.Spec.AzureName == "" { + group.Spec.AzureName = group.Name + } +} + +// defaultImpl applies the code generated defaults to the ApplicationSecurityGroup resource +func (group *ApplicationSecurityGroup) defaultImpl() { group.defaultAzureName() } + +var _ genruntime.ImportableResource = &ApplicationSecurityGroup{} + +// InitializeSpec initializes the spec for this resource from the given status +func (group *ApplicationSecurityGroup) InitializeSpec(status genruntime.ConvertibleStatus) error { + if s, ok := status.(*ApplicationSecurityGroup_STATUS); ok { + return group.Spec.Initialize_From_ApplicationSecurityGroup_STATUS(s) + } + + return fmt.Errorf("expected Status of type ApplicationSecurityGroup_STATUS but received %T instead", status) +} + +var _ genruntime.KubernetesResource = &ApplicationSecurityGroup{} + +// AzureName returns the Azure name of the resource +func (group *ApplicationSecurityGroup) AzureName() string { + return group.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-01-01" +func (group ApplicationSecurityGroup) GetAPIVersion() string { + return "2024-01-01" +} + +// GetResourceScope returns the scope of the resource +func (group *ApplicationSecurityGroup) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (group *ApplicationSecurityGroup) GetSpec() genruntime.ConvertibleSpec { + return &group.Spec +} + +// GetStatus returns the status of this resource +func (group *ApplicationSecurityGroup) GetStatus() genruntime.ConvertibleStatus { + return &group.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (group *ApplicationSecurityGroup) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.Network/applicationSecurityGroups" +func (group *ApplicationSecurityGroup) GetType() string { + return "Microsoft.Network/applicationSecurityGroups" +} + +// NewEmptyStatus returns a new empty (blank) status +func (group *ApplicationSecurityGroup) NewEmptyStatus() genruntime.ConvertibleStatus { + return &ApplicationSecurityGroup_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (group *ApplicationSecurityGroup) Owner() *genruntime.ResourceReference { + ownerGroup, ownerKind := genruntime.LookupOwnerGroupKind(group.Spec) + return group.Spec.Owner.AsResourceReference(ownerGroup, ownerKind) +} + +// SetStatus sets the status of this resource +func (group *ApplicationSecurityGroup) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*ApplicationSecurityGroup_STATUS); ok { + group.Status = *st + return nil + } + + // Convert status to required version + var st ApplicationSecurityGroup_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return errors.Wrap(err, "failed to convert status") + } + + group.Status = st + return nil +} + +// +kubebuilder:webhook:path=/validate-network-azure-com-v1api20240101-applicationsecuritygroup,mutating=false,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=network.azure.com,resources=applicationsecuritygroups,verbs=create;update,versions=v1api20240101,name=validate.v1api20240101.applicationsecuritygroups.network.azure.com,admissionReviewVersions=v1 + +var _ admission.Validator = &ApplicationSecurityGroup{} + +// ValidateCreate validates the creation of the resource +func (group *ApplicationSecurityGroup) ValidateCreate() (admission.Warnings, error) { + validations := group.createValidations() + var temp any = group + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.CreateValidations()...) + } + return genruntime.ValidateCreate(validations) +} + +// ValidateDelete validates the deletion of the resource +func (group *ApplicationSecurityGroup) ValidateDelete() (admission.Warnings, error) { + validations := group.deleteValidations() + var temp any = group + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.DeleteValidations()...) + } + return genruntime.ValidateDelete(validations) +} + +// ValidateUpdate validates an update of the resource +func (group *ApplicationSecurityGroup) ValidateUpdate(old runtime.Object) (admission.Warnings, error) { + validations := group.updateValidations() + var temp any = group + 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 (group *ApplicationSecurityGroup) createValidations() []func() (admission.Warnings, error) { + return []func() (admission.Warnings, error){group.validateResourceReferences, group.validateOwnerReference} +} + +// deleteValidations validates the deletion of the resource +func (group *ApplicationSecurityGroup) deleteValidations() []func() (admission.Warnings, error) { + return nil +} + +// updateValidations validates the update of the resource +func (group *ApplicationSecurityGroup) updateValidations() []func(old runtime.Object) (admission.Warnings, error) { + return []func(old runtime.Object) (admission.Warnings, error){ + func(old runtime.Object) (admission.Warnings, error) { + return group.validateResourceReferences() + }, + group.validateWriteOnceProperties, + func(old runtime.Object) (admission.Warnings, error) { + return group.validateOwnerReference() + }, + } +} + +// validateOwnerReference validates the owner field +func (group *ApplicationSecurityGroup) validateOwnerReference() (admission.Warnings, error) { + return genruntime.ValidateOwner(group) +} + +// validateResourceReferences validates all resource references +func (group *ApplicationSecurityGroup) validateResourceReferences() (admission.Warnings, error) { + refs, err := reflecthelpers.FindResourceReferences(&group.Spec) + if err != nil { + return nil, err + } + return genruntime.ValidateResourceReferences(refs) +} + +// validateWriteOnceProperties validates all WriteOnce properties +func (group *ApplicationSecurityGroup) validateWriteOnceProperties(old runtime.Object) (admission.Warnings, error) { + oldObj, ok := old.(*ApplicationSecurityGroup) + if !ok { + return nil, nil + } + + return genruntime.ValidateWriteOnceProperties(oldObj, group) +} + +// AssignProperties_From_ApplicationSecurityGroup populates our ApplicationSecurityGroup from the provided source ApplicationSecurityGroup +func (group *ApplicationSecurityGroup) AssignProperties_From_ApplicationSecurityGroup(source *storage.ApplicationSecurityGroup) error { + + // ObjectMeta + group.ObjectMeta = *source.ObjectMeta.DeepCopy() + + // Spec + var spec ApplicationSecurityGroup_Spec + err := spec.AssignProperties_From_ApplicationSecurityGroup_Spec(&source.Spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ApplicationSecurityGroup_Spec() to populate field Spec") + } + group.Spec = spec + + // Status + var status ApplicationSecurityGroup_STATUS + err = status.AssignProperties_From_ApplicationSecurityGroup_STATUS(&source.Status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ApplicationSecurityGroup_STATUS() to populate field Status") + } + group.Status = status + + // No error + return nil +} + +// AssignProperties_To_ApplicationSecurityGroup populates the provided destination ApplicationSecurityGroup from our ApplicationSecurityGroup +func (group *ApplicationSecurityGroup) AssignProperties_To_ApplicationSecurityGroup(destination *storage.ApplicationSecurityGroup) error { + + // ObjectMeta + destination.ObjectMeta = *group.ObjectMeta.DeepCopy() + + // Spec + var spec storage.ApplicationSecurityGroup_Spec + err := group.Spec.AssignProperties_To_ApplicationSecurityGroup_Spec(&spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ApplicationSecurityGroup_Spec() to populate field Spec") + } + destination.Spec = spec + + // Status + var status storage.ApplicationSecurityGroup_STATUS + err = group.Status.AssignProperties_To_ApplicationSecurityGroup_STATUS(&status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ApplicationSecurityGroup_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 (group *ApplicationSecurityGroup) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: group.Spec.OriginalVersion(), + Kind: "ApplicationSecurityGroup", + } +} + +// +kubebuilder:object:root=true +// Generator information: +// - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-01-01/applicationSecurityGroup.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName} +type ApplicationSecurityGroupList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ApplicationSecurityGroup `json:"items"` +} + +// +kubebuilder:validation:Enum={"2024-01-01"} +type APIVersion string + +const APIVersion_Value = APIVersion("2024-01-01") + +type ApplicationSecurityGroup_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"` + + // Location: Resource location. + Location *string `json:"location,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"` +} + +var _ genruntime.ARMTransformer = &ApplicationSecurityGroup_Spec{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (group *ApplicationSecurityGroup_Spec) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if group == nil { + return nil, nil + } + result := &ApplicationSecurityGroup_Spec_ARM{} + + // Set property "Location": + if group.Location != nil { + location := *group.Location + result.Location = &location + } + + // Set property "Name": + result.Name = resolved.Name + + // Set property "Tags": + if group.Tags != nil { + result.Tags = make(map[string]string, len(group.Tags)) + for key, value := range group.Tags { + result.Tags[key] = value + } + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (group *ApplicationSecurityGroup_Spec) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &ApplicationSecurityGroup_Spec_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (group *ApplicationSecurityGroup_Spec) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(ApplicationSecurityGroup_Spec_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected ApplicationSecurityGroup_Spec_ARM, got %T", armInput) + } + + // Set property "AzureName": + group.SetAzureName(genruntime.ExtractKubernetesResourceNameFromARMName(typedInput.Name)) + + // Set property "Location": + if typedInput.Location != nil { + location := *typedInput.Location + group.Location = &location + } + + // Set property "Owner": + group.Owner = &genruntime.KnownResourceReference{ + Name: owner.Name, + ARMID: owner.ARMID, + } + + // Set property "Tags": + if typedInput.Tags != nil { + group.Tags = make(map[string]string, len(typedInput.Tags)) + for key, value := range typedInput.Tags { + group.Tags[key] = value + } + } + + // No error + return nil +} + +var _ genruntime.ConvertibleSpec = &ApplicationSecurityGroup_Spec{} + +// ConvertSpecFrom populates our ApplicationSecurityGroup_Spec from the provided source +func (group *ApplicationSecurityGroup_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + src, ok := source.(*storage.ApplicationSecurityGroup_Spec) + if ok { + // Populate our instance from source + return group.AssignProperties_From_ApplicationSecurityGroup_Spec(src) + } + + // Convert to an intermediate form + src = &storage.ApplicationSecurityGroup_Spec{} + err := src.ConvertSpecFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecFrom()") + } + + // Update our instance from src + err = group.AssignProperties_From_ApplicationSecurityGroup_Spec(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecFrom()") + } + + return nil +} + +// ConvertSpecTo populates the provided destination from our ApplicationSecurityGroup_Spec +func (group *ApplicationSecurityGroup_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + dst, ok := destination.(*storage.ApplicationSecurityGroup_Spec) + if ok { + // Populate destination from our instance + return group.AssignProperties_To_ApplicationSecurityGroup_Spec(dst) + } + + // Convert to an intermediate form + dst = &storage.ApplicationSecurityGroup_Spec{} + err := group.AssignProperties_To_ApplicationSecurityGroup_Spec(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecTo()") + } + + // Update dst from our instance + err = dst.ConvertSpecTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecTo()") + } + + return nil +} + +// AssignProperties_From_ApplicationSecurityGroup_Spec populates our ApplicationSecurityGroup_Spec from the provided source ApplicationSecurityGroup_Spec +func (group *ApplicationSecurityGroup_Spec) AssignProperties_From_ApplicationSecurityGroup_Spec(source *storage.ApplicationSecurityGroup_Spec) error { + + // AzureName + group.AzureName = source.AzureName + + // Location + group.Location = genruntime.ClonePointerToString(source.Location) + + // Owner + if source.Owner != nil { + owner := source.Owner.Copy() + group.Owner = &owner + } else { + group.Owner = nil + } + + // Tags + group.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // No error + return nil +} + +// AssignProperties_To_ApplicationSecurityGroup_Spec populates the provided destination ApplicationSecurityGroup_Spec from our ApplicationSecurityGroup_Spec +func (group *ApplicationSecurityGroup_Spec) AssignProperties_To_ApplicationSecurityGroup_Spec(destination *storage.ApplicationSecurityGroup_Spec) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AzureName + destination.AzureName = group.AzureName + + // Location + destination.Location = genruntime.ClonePointerToString(group.Location) + + // OriginalVersion + destination.OriginalVersion = group.OriginalVersion() + + // Owner + if group.Owner != nil { + owner := group.Owner.Copy() + destination.Owner = &owner + } else { + destination.Owner = nil + } + + // Tags + destination.Tags = genruntime.CloneMapOfStringToString(group.Tags) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ApplicationSecurityGroup_STATUS populates our ApplicationSecurityGroup_Spec from the provided source ApplicationSecurityGroup_STATUS +func (group *ApplicationSecurityGroup_Spec) Initialize_From_ApplicationSecurityGroup_STATUS(source *ApplicationSecurityGroup_STATUS) error { + + // Location + group.Location = genruntime.ClonePointerToString(source.Location) + + // Tags + group.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // No error + return nil +} + +// OriginalVersion returns the original API version used to create the resource. +func (group *ApplicationSecurityGroup_Spec) OriginalVersion() string { + return GroupVersion.Version +} + +// SetAzureName sets the Azure name of the resource +func (group *ApplicationSecurityGroup_Spec) SetAzureName(azureName string) { + group.AzureName = azureName +} + +// An application security group in a resource group. +type ApplicationSecurityGroup_STATUS struct { + // Conditions: The observed state of the resource + Conditions []conditions.Condition `json:"conditions,omitempty"` + + // Etag: A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + + // Id: Resource ID. + Id *string `json:"id,omitempty"` + + // Location: Resource location. + Location *string `json:"location,omitempty"` + + // Name: Resource name. + Name *string `json:"name,omitempty"` + + // ProvisioningState: The provisioning state of the application security group resource. + ProvisioningState *ProvisioningState_STATUS `json:"provisioningState,omitempty"` + + // ResourceGuid: The resource GUID property of the application security group resource. It uniquely identifies a resource, + // even if the user changes its name or migrate the resource across subscriptions or resource groups. + ResourceGuid *string `json:"resourceGuid,omitempty"` + + // Tags: Resource tags. + Tags map[string]string `json:"tags,omitempty"` + + // Type: Resource type. + Type *string `json:"type,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &ApplicationSecurityGroup_STATUS{} + +// ConvertStatusFrom populates our ApplicationSecurityGroup_STATUS from the provided source +func (group *ApplicationSecurityGroup_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + src, ok := source.(*storage.ApplicationSecurityGroup_STATUS) + if ok { + // Populate our instance from source + return group.AssignProperties_From_ApplicationSecurityGroup_STATUS(src) + } + + // Convert to an intermediate form + src = &storage.ApplicationSecurityGroup_STATUS{} + err := src.ConvertStatusFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusFrom()") + } + + // Update our instance from src + err = group.AssignProperties_From_ApplicationSecurityGroup_STATUS(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusFrom()") + } + + return nil +} + +// ConvertStatusTo populates the provided destination from our ApplicationSecurityGroup_STATUS +func (group *ApplicationSecurityGroup_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + dst, ok := destination.(*storage.ApplicationSecurityGroup_STATUS) + if ok { + // Populate destination from our instance + return group.AssignProperties_To_ApplicationSecurityGroup_STATUS(dst) + } + + // Convert to an intermediate form + dst = &storage.ApplicationSecurityGroup_STATUS{} + err := group.AssignProperties_To_ApplicationSecurityGroup_STATUS(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusTo()") + } + + // Update dst from our instance + err = dst.ConvertStatusTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusTo()") + } + + return nil +} + +var _ genruntime.FromARMConverter = &ApplicationSecurityGroup_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (group *ApplicationSecurityGroup_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &ApplicationSecurityGroup_STATUS_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (group *ApplicationSecurityGroup_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(ApplicationSecurityGroup_STATUS_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected ApplicationSecurityGroup_STATUS_ARM, got %T", armInput) + } + + // no assignment for property "Conditions" + + // Set property "Etag": + if typedInput.Etag != nil { + etag := *typedInput.Etag + group.Etag = &etag + } + + // Set property "Id": + if typedInput.Id != nil { + id := *typedInput.Id + group.Id = &id + } + + // Set property "Location": + if typedInput.Location != nil { + location := *typedInput.Location + group.Location = &location + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + group.Name = &name + } + + // Set property "ProvisioningState": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ProvisioningState != nil { + var temp string + temp = string(*typedInput.Properties.ProvisioningState) + provisioningState := ProvisioningState_STATUS(temp) + group.ProvisioningState = &provisioningState + } + } + + // Set property "ResourceGuid": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ResourceGuid != nil { + resourceGuid := *typedInput.Properties.ResourceGuid + group.ResourceGuid = &resourceGuid + } + } + + // Set property "Tags": + if typedInput.Tags != nil { + group.Tags = make(map[string]string, len(typedInput.Tags)) + for key, value := range typedInput.Tags { + group.Tags[key] = value + } + } + + // Set property "Type": + if typedInput.Type != nil { + typeVar := *typedInput.Type + group.Type = &typeVar + } + + // No error + return nil +} + +// AssignProperties_From_ApplicationSecurityGroup_STATUS populates our ApplicationSecurityGroup_STATUS from the provided source ApplicationSecurityGroup_STATUS +func (group *ApplicationSecurityGroup_STATUS) AssignProperties_From_ApplicationSecurityGroup_STATUS(source *storage.ApplicationSecurityGroup_STATUS) error { + + // Conditions + group.Conditions = genruntime.CloneSliceOfCondition(source.Conditions) + + // Etag + group.Etag = genruntime.ClonePointerToString(source.Etag) + + // Id + group.Id = genruntime.ClonePointerToString(source.Id) + + // Location + group.Location = genruntime.ClonePointerToString(source.Location) + + // Name + group.Name = genruntime.ClonePointerToString(source.Name) + + // ProvisioningState + if source.ProvisioningState != nil { + provisioningState := *source.ProvisioningState + provisioningStateTemp := genruntime.ToEnum(provisioningState, provisioningState_STATUS_Values) + group.ProvisioningState = &provisioningStateTemp + } else { + group.ProvisioningState = nil + } + + // ResourceGuid + group.ResourceGuid = genruntime.ClonePointerToString(source.ResourceGuid) + + // Tags + group.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // Type + group.Type = genruntime.ClonePointerToString(source.Type) + + // No error + return nil +} + +// AssignProperties_To_ApplicationSecurityGroup_STATUS populates the provided destination ApplicationSecurityGroup_STATUS from our ApplicationSecurityGroup_STATUS +func (group *ApplicationSecurityGroup_STATUS) AssignProperties_To_ApplicationSecurityGroup_STATUS(destination *storage.ApplicationSecurityGroup_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Conditions + destination.Conditions = genruntime.CloneSliceOfCondition(group.Conditions) + + // Etag + destination.Etag = genruntime.ClonePointerToString(group.Etag) + + // Id + destination.Id = genruntime.ClonePointerToString(group.Id) + + // Location + destination.Location = genruntime.ClonePointerToString(group.Location) + + // Name + destination.Name = genruntime.ClonePointerToString(group.Name) + + // ProvisioningState + if group.ProvisioningState != nil { + provisioningState := string(*group.ProvisioningState) + destination.ProvisioningState = &provisioningState + } else { + destination.ProvisioningState = nil + } + + // ResourceGuid + destination.ResourceGuid = genruntime.ClonePointerToString(group.ResourceGuid) + + // Tags + destination.Tags = genruntime.CloneMapOfStringToString(group.Tags) + + // Type + destination.Type = genruntime.ClonePointerToString(group.Type) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The current provisioning state. +type ProvisioningState_STATUS string + +const ( + ProvisioningState_STATUS_Deleting = ProvisioningState_STATUS("Deleting") + ProvisioningState_STATUS_Failed = ProvisioningState_STATUS("Failed") + ProvisioningState_STATUS_Succeeded = ProvisioningState_STATUS("Succeeded") + ProvisioningState_STATUS_Updating = ProvisioningState_STATUS("Updating") +) + +// Mapping from string to ProvisioningState_STATUS +var provisioningState_STATUS_Values = map[string]ProvisioningState_STATUS{ + "deleting": ProvisioningState_STATUS_Deleting, + "failed": ProvisioningState_STATUS_Failed, + "succeeded": ProvisioningState_STATUS_Succeeded, + "updating": ProvisioningState_STATUS_Updating, +} + +func init() { + SchemeBuilder.Register(&ApplicationSecurityGroup{}, &ApplicationSecurityGroupList{}) +} diff --git a/v2/api/network/v1api20240101/application_security_group_types_gen_test.go b/v2/api/network/v1api20240101/application_security_group_types_gen_test.go new file mode 100644 index 00000000000..4256813c9a1 --- /dev/null +++ b/v2/api/network/v1api20240101/application_security_group_types_gen_test.go @@ -0,0 +1,389 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20240101 + +import ( + "encoding/json" + storage "github.com/Azure/azure-service-operator/v2/api/network/v1api20240101/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_ApplicationSecurityGroup_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 ApplicationSecurityGroup to hub returns original", + prop.ForAll(RunResourceConversionTestForApplicationSecurityGroup, ApplicationSecurityGroupGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunResourceConversionTestForApplicationSecurityGroup tests if a specific instance of ApplicationSecurityGroup round trips to the hub storage version and back losslessly +func RunResourceConversionTestForApplicationSecurityGroup(subject ApplicationSecurityGroup) string { + // Copy subject to make sure conversion doesn't modify it + copied := subject.DeepCopy() + + // Convert to our hub version + var hub storage.ApplicationSecurityGroup + err := copied.ConvertTo(&hub) + if err != nil { + return err.Error() + } + + // Convert from our hub version + var actual ApplicationSecurityGroup + 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_ApplicationSecurityGroup_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ApplicationSecurityGroup to ApplicationSecurityGroup via AssignProperties_To_ApplicationSecurityGroup & AssignProperties_From_ApplicationSecurityGroup returns original", + prop.ForAll(RunPropertyAssignmentTestForApplicationSecurityGroup, ApplicationSecurityGroupGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForApplicationSecurityGroup tests if a specific instance of ApplicationSecurityGroup can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForApplicationSecurityGroup(subject ApplicationSecurityGroup) 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.ApplicationSecurityGroup + err := copied.AssignProperties_To_ApplicationSecurityGroup(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ApplicationSecurityGroup + err = actual.AssignProperties_From_ApplicationSecurityGroup(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ApplicationSecurityGroup_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 ApplicationSecurityGroup via JSON returns original", + prop.ForAll(RunJSONSerializationTestForApplicationSecurityGroup, ApplicationSecurityGroupGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForApplicationSecurityGroup runs a test to see if a specific instance of ApplicationSecurityGroup round trips to JSON and back losslessly +func RunJSONSerializationTestForApplicationSecurityGroup(subject ApplicationSecurityGroup) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ApplicationSecurityGroup + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ApplicationSecurityGroup instances for property testing - lazily instantiated by +// ApplicationSecurityGroupGenerator() +var applicationSecurityGroupGenerator gopter.Gen + +// ApplicationSecurityGroupGenerator returns a generator of ApplicationSecurityGroup instances for property testing. +func ApplicationSecurityGroupGenerator() gopter.Gen { + if applicationSecurityGroupGenerator != nil { + return applicationSecurityGroupGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForApplicationSecurityGroup(generators) + applicationSecurityGroupGenerator = gen.Struct(reflect.TypeOf(ApplicationSecurityGroup{}), generators) + + return applicationSecurityGroupGenerator +} + +// AddRelatedPropertyGeneratorsForApplicationSecurityGroup is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForApplicationSecurityGroup(gens map[string]gopter.Gen) { + gens["Spec"] = ApplicationSecurityGroup_SpecGenerator() + gens["Status"] = ApplicationSecurityGroup_STATUSGenerator() +} + +func Test_ApplicationSecurityGroup_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ApplicationSecurityGroup_STATUS to ApplicationSecurityGroup_STATUS via AssignProperties_To_ApplicationSecurityGroup_STATUS & AssignProperties_From_ApplicationSecurityGroup_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForApplicationSecurityGroup_STATUS, ApplicationSecurityGroup_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForApplicationSecurityGroup_STATUS tests if a specific instance of ApplicationSecurityGroup_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForApplicationSecurityGroup_STATUS(subject ApplicationSecurityGroup_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.ApplicationSecurityGroup_STATUS + err := copied.AssignProperties_To_ApplicationSecurityGroup_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ApplicationSecurityGroup_STATUS + err = actual.AssignProperties_From_ApplicationSecurityGroup_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_ApplicationSecurityGroup_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ApplicationSecurityGroup_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForApplicationSecurityGroup_STATUS, ApplicationSecurityGroup_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForApplicationSecurityGroup_STATUS runs a test to see if a specific instance of ApplicationSecurityGroup_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForApplicationSecurityGroup_STATUS(subject ApplicationSecurityGroup_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ApplicationSecurityGroup_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ApplicationSecurityGroup_STATUS instances for property testing - lazily instantiated by +// ApplicationSecurityGroup_STATUSGenerator() +var applicationSecurityGroup_STATUSGenerator gopter.Gen + +// ApplicationSecurityGroup_STATUSGenerator returns a generator of ApplicationSecurityGroup_STATUS instances for property testing. +func ApplicationSecurityGroup_STATUSGenerator() gopter.Gen { + if applicationSecurityGroup_STATUSGenerator != nil { + return applicationSecurityGroup_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForApplicationSecurityGroup_STATUS(generators) + applicationSecurityGroup_STATUSGenerator = gen.Struct(reflect.TypeOf(ApplicationSecurityGroup_STATUS{}), generators) + + return applicationSecurityGroup_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForApplicationSecurityGroup_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForApplicationSecurityGroup_STATUS(gens map[string]gopter.Gen) { + gens["Etag"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["ProvisioningState"] = gen.PtrOf(gen.OneConstOf( + ProvisioningState_STATUS_Deleting, + ProvisioningState_STATUS_Failed, + ProvisioningState_STATUS_Succeeded, + ProvisioningState_STATUS_Updating)) + gens["ResourceGuid"] = gen.PtrOf(gen.AlphaString()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ApplicationSecurityGroup_Spec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ApplicationSecurityGroup_Spec to ApplicationSecurityGroup_Spec via AssignProperties_To_ApplicationSecurityGroup_Spec & AssignProperties_From_ApplicationSecurityGroup_Spec returns original", + prop.ForAll(RunPropertyAssignmentTestForApplicationSecurityGroup_Spec, ApplicationSecurityGroup_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForApplicationSecurityGroup_Spec tests if a specific instance of ApplicationSecurityGroup_Spec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForApplicationSecurityGroup_Spec(subject ApplicationSecurityGroup_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.ApplicationSecurityGroup_Spec + err := copied.AssignProperties_To_ApplicationSecurityGroup_Spec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ApplicationSecurityGroup_Spec + err = actual.AssignProperties_From_ApplicationSecurityGroup_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_ApplicationSecurityGroup_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 ApplicationSecurityGroup_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForApplicationSecurityGroup_Spec, ApplicationSecurityGroup_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForApplicationSecurityGroup_Spec runs a test to see if a specific instance of ApplicationSecurityGroup_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForApplicationSecurityGroup_Spec(subject ApplicationSecurityGroup_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ApplicationSecurityGroup_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 ApplicationSecurityGroup_Spec instances for property testing - lazily instantiated by +// ApplicationSecurityGroup_SpecGenerator() +var applicationSecurityGroup_SpecGenerator gopter.Gen + +// ApplicationSecurityGroup_SpecGenerator returns a generator of ApplicationSecurityGroup_Spec instances for property testing. +func ApplicationSecurityGroup_SpecGenerator() gopter.Gen { + if applicationSecurityGroup_SpecGenerator != nil { + return applicationSecurityGroup_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForApplicationSecurityGroup_Spec(generators) + applicationSecurityGroup_SpecGenerator = gen.Struct(reflect.TypeOf(ApplicationSecurityGroup_Spec{}), generators) + + return applicationSecurityGroup_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForApplicationSecurityGroup_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForApplicationSecurityGroup_Spec(gens map[string]gopter.Gen) { + gens["AzureName"] = gen.AlphaString() + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} diff --git a/v2/api/network/v1api20240101/storage/application_security_group_types_gen.go b/v2/api/network/v1api20240101/storage/application_security_group_types_gen.go new file mode 100644 index 00000000000..fca28c09311 --- /dev/null +++ b/v2/api/network/v1api20240101/storage/application_security_group_types_gen.go @@ -0,0 +1,221 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package storage + +import ( + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "github.com/pkg/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// +kubebuilder:rbac:groups=network.azure.com,resources=applicationsecuritygroups,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=network.azure.com,resources={applicationsecuritygroups/status,applicationsecuritygroups/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 v1api20240101.ApplicationSecurityGroup +// Generator information: +// - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-01-01/applicationSecurityGroup.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName} +type ApplicationSecurityGroup struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ApplicationSecurityGroup_Spec `json:"spec,omitempty"` + Status ApplicationSecurityGroup_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &ApplicationSecurityGroup{} + +// GetConditions returns the conditions of the resource +func (group *ApplicationSecurityGroup) GetConditions() conditions.Conditions { + return group.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (group *ApplicationSecurityGroup) SetConditions(conditions conditions.Conditions) { + group.Status.Conditions = conditions +} + +var _ genruntime.KubernetesResource = &ApplicationSecurityGroup{} + +// AzureName returns the Azure name of the resource +func (group *ApplicationSecurityGroup) AzureName() string { + return group.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-01-01" +func (group ApplicationSecurityGroup) GetAPIVersion() string { + return "2024-01-01" +} + +// GetResourceScope returns the scope of the resource +func (group *ApplicationSecurityGroup) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (group *ApplicationSecurityGroup) GetSpec() genruntime.ConvertibleSpec { + return &group.Spec +} + +// GetStatus returns the status of this resource +func (group *ApplicationSecurityGroup) GetStatus() genruntime.ConvertibleStatus { + return &group.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (group *ApplicationSecurityGroup) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.Network/applicationSecurityGroups" +func (group *ApplicationSecurityGroup) GetType() string { + return "Microsoft.Network/applicationSecurityGroups" +} + +// NewEmptyStatus returns a new empty (blank) status +func (group *ApplicationSecurityGroup) NewEmptyStatus() genruntime.ConvertibleStatus { + return &ApplicationSecurityGroup_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (group *ApplicationSecurityGroup) Owner() *genruntime.ResourceReference { + ownerGroup, ownerKind := genruntime.LookupOwnerGroupKind(group.Spec) + return group.Spec.Owner.AsResourceReference(ownerGroup, ownerKind) +} + +// SetStatus sets the status of this resource +func (group *ApplicationSecurityGroup) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*ApplicationSecurityGroup_STATUS); ok { + group.Status = *st + return nil + } + + // Convert status to required version + var st ApplicationSecurityGroup_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return errors.Wrap(err, "failed to convert status") + } + + group.Status = st + return nil +} + +// Hub marks that this ApplicationSecurityGroup is the hub type for conversion +func (group *ApplicationSecurityGroup) Hub() {} + +// OriginalGVK returns a GroupValueKind for the original API version used to create the resource +func (group *ApplicationSecurityGroup) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: group.Spec.OriginalVersion, + Kind: "ApplicationSecurityGroup", + } +} + +// +kubebuilder:object:root=true +// Storage version of v1api20240101.ApplicationSecurityGroup +// Generator information: +// - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-01-01/applicationSecurityGroup.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName} +type ApplicationSecurityGroupList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ApplicationSecurityGroup `json:"items"` +} + +// Storage version of v1api20240101.APIVersion +// +kubebuilder:validation:Enum={"2024-01-01"} +type APIVersion string + +const APIVersion_Value = APIVersion("2024-01-01") + +// Storage version of v1api20240101.ApplicationSecurityGroup_Spec +type ApplicationSecurityGroup_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"` + Location *string `json:"location,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"` +} + +var _ genruntime.ConvertibleSpec = &ApplicationSecurityGroup_Spec{} + +// ConvertSpecFrom populates our ApplicationSecurityGroup_Spec from the provided source +func (group *ApplicationSecurityGroup_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + if source == group { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return source.ConvertSpecTo(group) +} + +// ConvertSpecTo populates the provided destination from our ApplicationSecurityGroup_Spec +func (group *ApplicationSecurityGroup_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + if destination == group { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return destination.ConvertSpecFrom(group) +} + +// Storage version of v1api20240101.ApplicationSecurityGroup_STATUS +// An application security group in a resource group. +type ApplicationSecurityGroup_STATUS struct { + Conditions []conditions.Condition `json:"conditions,omitempty"` + Etag *string `json:"etag,omitempty"` + Id *string `json:"id,omitempty"` + Location *string `json:"location,omitempty"` + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` + ResourceGuid *string `json:"resourceGuid,omitempty"` + Tags map[string]string `json:"tags,omitempty"` + Type *string `json:"type,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &ApplicationSecurityGroup_STATUS{} + +// ConvertStatusFrom populates our ApplicationSecurityGroup_STATUS from the provided source +func (group *ApplicationSecurityGroup_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + if source == group { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return source.ConvertStatusTo(group) +} + +// ConvertStatusTo populates the provided destination from our ApplicationSecurityGroup_STATUS +func (group *ApplicationSecurityGroup_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + if destination == group { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return destination.ConvertStatusFrom(group) +} + +func init() { + SchemeBuilder.Register(&ApplicationSecurityGroup{}, &ApplicationSecurityGroupList{}) +} diff --git a/v2/api/network/v1api20240101/storage/application_security_group_types_gen_test.go b/v2/api/network/v1api20240101/storage/application_security_group_types_gen_test.go new file mode 100644 index 00000000000..2e429fbf39e --- /dev/null +++ b/v2/api/network/v1api20240101/storage/application_security_group_types_gen_test.go @@ -0,0 +1,216 @@ +// 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_ApplicationSecurityGroup_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 ApplicationSecurityGroup via JSON returns original", + prop.ForAll(RunJSONSerializationTestForApplicationSecurityGroup, ApplicationSecurityGroupGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForApplicationSecurityGroup runs a test to see if a specific instance of ApplicationSecurityGroup round trips to JSON and back losslessly +func RunJSONSerializationTestForApplicationSecurityGroup(subject ApplicationSecurityGroup) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ApplicationSecurityGroup + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ApplicationSecurityGroup instances for property testing - lazily instantiated by +// ApplicationSecurityGroupGenerator() +var applicationSecurityGroupGenerator gopter.Gen + +// ApplicationSecurityGroupGenerator returns a generator of ApplicationSecurityGroup instances for property testing. +func ApplicationSecurityGroupGenerator() gopter.Gen { + if applicationSecurityGroupGenerator != nil { + return applicationSecurityGroupGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForApplicationSecurityGroup(generators) + applicationSecurityGroupGenerator = gen.Struct(reflect.TypeOf(ApplicationSecurityGroup{}), generators) + + return applicationSecurityGroupGenerator +} + +// AddRelatedPropertyGeneratorsForApplicationSecurityGroup is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForApplicationSecurityGroup(gens map[string]gopter.Gen) { + gens["Spec"] = ApplicationSecurityGroup_SpecGenerator() + gens["Status"] = ApplicationSecurityGroup_STATUSGenerator() +} + +func Test_ApplicationSecurityGroup_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ApplicationSecurityGroup_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForApplicationSecurityGroup_STATUS, ApplicationSecurityGroup_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForApplicationSecurityGroup_STATUS runs a test to see if a specific instance of ApplicationSecurityGroup_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForApplicationSecurityGroup_STATUS(subject ApplicationSecurityGroup_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ApplicationSecurityGroup_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ApplicationSecurityGroup_STATUS instances for property testing - lazily instantiated by +// ApplicationSecurityGroup_STATUSGenerator() +var applicationSecurityGroup_STATUSGenerator gopter.Gen + +// ApplicationSecurityGroup_STATUSGenerator returns a generator of ApplicationSecurityGroup_STATUS instances for property testing. +func ApplicationSecurityGroup_STATUSGenerator() gopter.Gen { + if applicationSecurityGroup_STATUSGenerator != nil { + return applicationSecurityGroup_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForApplicationSecurityGroup_STATUS(generators) + applicationSecurityGroup_STATUSGenerator = gen.Struct(reflect.TypeOf(ApplicationSecurityGroup_STATUS{}), generators) + + return applicationSecurityGroup_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForApplicationSecurityGroup_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForApplicationSecurityGroup_STATUS(gens map[string]gopter.Gen) { + gens["Etag"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["ProvisioningState"] = gen.PtrOf(gen.AlphaString()) + gens["ResourceGuid"] = gen.PtrOf(gen.AlphaString()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ApplicationSecurityGroup_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 ApplicationSecurityGroup_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForApplicationSecurityGroup_Spec, ApplicationSecurityGroup_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForApplicationSecurityGroup_Spec runs a test to see if a specific instance of ApplicationSecurityGroup_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForApplicationSecurityGroup_Spec(subject ApplicationSecurityGroup_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ApplicationSecurityGroup_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 ApplicationSecurityGroup_Spec instances for property testing - lazily instantiated by +// ApplicationSecurityGroup_SpecGenerator() +var applicationSecurityGroup_SpecGenerator gopter.Gen + +// ApplicationSecurityGroup_SpecGenerator returns a generator of ApplicationSecurityGroup_Spec instances for property testing. +func ApplicationSecurityGroup_SpecGenerator() gopter.Gen { + if applicationSecurityGroup_SpecGenerator != nil { + return applicationSecurityGroup_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForApplicationSecurityGroup_Spec(generators) + applicationSecurityGroup_SpecGenerator = gen.Struct(reflect.TypeOf(ApplicationSecurityGroup_Spec{}), generators) + + return applicationSecurityGroup_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForApplicationSecurityGroup_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForApplicationSecurityGroup_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()) +} diff --git a/v2/api/network/v1api20240101/storage/structure.txt b/v2/api/network/v1api20240101/storage/structure.txt index 5ce447cd4d3..96870dda504 100644 --- a/v2/api/network/v1api20240101/storage/structure.txt +++ b/v2/api/network/v1api20240101/storage/structure.txt @@ -3,6 +3,26 @@ github.com/Azure/azure-service-operator/v2/api/network/v1api20240101/storage ---------------------------------------------------------------------------- APIVersion: Enum (1 value) └── "2024-01-01" +ApplicationSecurityGroup: Resource +├── Owner: resources/v1apiv20191001.ResourceGroup +├── Spec: Object (6 properties) +│ ├── AzureName: string +│ ├── Location: *string +│ ├── OriginalVersion: string +│ ├── Owner: *genruntime.KnownResourceReference +│ ├── PropertyBag: genruntime.PropertyBag +│ └── Tags: map[string]string +└── Status: Object (10 properties) + ├── Conditions: conditions.Condition[] + ├── Etag: *string + ├── Id: *string + ├── Location: *string + ├── Name: *string + ├── PropertyBag: genruntime.PropertyBag + ├── ProvisioningState: *string + ├── ResourceGuid: *string + ├── Tags: map[string]string + └── Type: *string WebApplicationFirewallPolicy: Resource ├── Owner: resources/v1apiv20191001.ResourceGroup ├── Spec: Object (9 properties) diff --git a/v2/api/network/v1api20240101/storage/web_application_firewall_policy_types_gen.go b/v2/api/network/v1api20240101/storage/web_application_firewall_policy_types_gen.go index b1569d607ac..d8f85664c02 100644 --- a/v2/api/network/v1api20240101/storage/web_application_firewall_policy_types_gen.go +++ b/v2/api/network/v1api20240101/storage/web_application_firewall_policy_types_gen.go @@ -138,12 +138,6 @@ type WebApplicationFirewallPolicyList struct { Items []WebApplicationFirewallPolicy `json:"items"` } -// Storage version of v1api20240101.APIVersion -// +kubebuilder:validation:Enum={"2024-01-01"} -type APIVersion string - -const APIVersion_Value = APIVersion("2024-01-01") - // Storage version of v1api20240101.ApplicationGatewayWebApplicationFirewallPolicy_Spec type ApplicationGatewayWebApplicationFirewallPolicy_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 diff --git a/v2/api/network/v1api20240101/storage/zz_generated.deepcopy.go b/v2/api/network/v1api20240101/storage/zz_generated.deepcopy.go index 94fae2c54fa..925e7ac376d 100644 --- a/v2/api/network/v1api20240101/storage/zz_generated.deepcopy.go +++ b/v2/api/network/v1api20240101/storage/zz_generated.deepcopy.go @@ -207,6 +207,175 @@ func (in *ApplicationGateway_STATUS_ApplicationGatewayWebApplicationFirewallPoli return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ApplicationSecurityGroup) DeepCopyInto(out *ApplicationSecurityGroup) { + *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 ApplicationSecurityGroup. +func (in *ApplicationSecurityGroup) DeepCopy() *ApplicationSecurityGroup { + if in == nil { + return nil + } + out := new(ApplicationSecurityGroup) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ApplicationSecurityGroup) 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 *ApplicationSecurityGroupList) DeepCopyInto(out *ApplicationSecurityGroupList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ApplicationSecurityGroup, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSecurityGroupList. +func (in *ApplicationSecurityGroupList) DeepCopy() *ApplicationSecurityGroupList { + if in == nil { + return nil + } + out := new(ApplicationSecurityGroupList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ApplicationSecurityGroupList) 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 *ApplicationSecurityGroup_STATUS) DeepCopyInto(out *ApplicationSecurityGroup_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.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *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.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.ResourceGuid != nil { + in, out := &in.ResourceGuid, &out.ResourceGuid + *out = new(string) + **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.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 ApplicationSecurityGroup_STATUS. +func (in *ApplicationSecurityGroup_STATUS) DeepCopy() *ApplicationSecurityGroup_STATUS { + if in == nil { + return nil + } + out := new(ApplicationSecurityGroup_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 *ApplicationSecurityGroup_Spec) DeepCopyInto(out *ApplicationSecurityGroup_Spec) { + *out = *in + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.KnownResourceReference) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSecurityGroup_Spec. +func (in *ApplicationSecurityGroup_Spec) DeepCopy() *ApplicationSecurityGroup_Spec { + if in == nil { + return nil + } + out := new(ApplicationSecurityGroup_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 *ExclusionManagedRule) DeepCopyInto(out *ExclusionManagedRule) { *out = *in diff --git a/v2/api/network/v1api20240101/structure.txt b/v2/api/network/v1api20240101/structure.txt index cae425f301a..1ea0b056b0f 100644 --- a/v2/api/network/v1api20240101/structure.txt +++ b/v2/api/network/v1api20240101/structure.txt @@ -309,6 +309,45 @@ ApplicationGatewayWebApplicationFirewallPolicy_Spec_ARM: Object (4 properties) │ ├── "Disabled" │ └── "Enabled" └── Tags: map[string]string +ApplicationSecurityGroup: Resource +├── Owner: resources/v1apiv20191001.ResourceGroup +├── Spec: Object (4 properties) +│ ├── AzureName: string +│ ├── Location: *string +│ ├── Owner: *genruntime.KnownResourceReference +│ └── Tags: map[string]string +└── Status: Object (9 properties) + ├── Conditions: conditions.Condition[] + ├── Etag: *string + ├── Id: *string + ├── Location: *string + ├── Name: *string + ├── ProvisioningState: *Enum (4 values) + │ ├── "Deleting" + │ ├── "Failed" + │ ├── "Succeeded" + │ └── "Updating" + ├── ResourceGuid: *string + ├── Tags: map[string]string + └── Type: *string +ApplicationSecurityGroup_STATUS_ARM: Object (7 properties) +├── Etag: *string +├── Id: *string +├── Location: *string +├── Name: *string +├── Properties: *Object (2 properties) +│ ├── ProvisioningState: *Enum (4 values) +│ │ ├── "Deleting" +│ │ ├── "Failed" +│ │ ├── "Succeeded" +│ │ └── "Updating" +│ └── ResourceGuid: *string +├── Tags: map[string]string +└── Type: *string +ApplicationSecurityGroup_Spec_ARM: Object (3 properties) +├── Location: *string +├── Name: string +└── Tags: map[string]string WebApplicationFirewallPolicy: Resource ├── Owner: resources/v1apiv20191001.ResourceGroup ├── Spec: Object (7 properties) diff --git a/v2/api/network/v1api20240101/web_application_firewall_policy_types_gen.go b/v2/api/network/v1api20240101/web_application_firewall_policy_types_gen.go index fe31cfabc78..51bb3e8f4e4 100644 --- a/v2/api/network/v1api20240101/web_application_firewall_policy_types_gen.go +++ b/v2/api/network/v1api20240101/web_application_firewall_policy_types_gen.go @@ -324,11 +324,6 @@ type WebApplicationFirewallPolicyList struct { Items []WebApplicationFirewallPolicy `json:"items"` } -// +kubebuilder:validation:Enum={"2024-01-01"} -type APIVersion string - -const APIVersion_Value = APIVersion("2024-01-01") - type ApplicationGatewayWebApplicationFirewallPolicy_Spec struct { // +kubebuilder:validation:MaxLength=128 // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it @@ -2573,24 +2568,6 @@ func (settings *PolicySettings_STATUS) AssignProperties_To_PolicySettings_STATUS return nil } -// The current provisioning state. -type ProvisioningState_STATUS string - -const ( - ProvisioningState_STATUS_Deleting = ProvisioningState_STATUS("Deleting") - ProvisioningState_STATUS_Failed = ProvisioningState_STATUS("Failed") - ProvisioningState_STATUS_Succeeded = ProvisioningState_STATUS("Succeeded") - ProvisioningState_STATUS_Updating = ProvisioningState_STATUS("Updating") -) - -// Mapping from string to ProvisioningState_STATUS -var provisioningState_STATUS_Values = map[string]ProvisioningState_STATUS{ - "deleting": ProvisioningState_STATUS_Deleting, - "failed": ProvisioningState_STATUS_Failed, - "succeeded": ProvisioningState_STATUS_Succeeded, - "updating": ProvisioningState_STATUS_Updating, -} - // Reference to another subresource. type SubResource_STATUS struct { // Id: Resource ID. diff --git a/v2/api/network/v1api20240101/zz_generated.deepcopy.go b/v2/api/network/v1api20240101/zz_generated.deepcopy.go index ce444f41449..b604a8a5a7c 100644 --- a/v2/api/network/v1api20240101/zz_generated.deepcopy.go +++ b/v2/api/network/v1api20240101/zz_generated.deepcopy.go @@ -290,6 +290,265 @@ func (in *ApplicationGateway_STATUS_ApplicationGatewayWebApplicationFirewallPoli return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ApplicationSecurityGroup) DeepCopyInto(out *ApplicationSecurityGroup) { + *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 ApplicationSecurityGroup. +func (in *ApplicationSecurityGroup) DeepCopy() *ApplicationSecurityGroup { + if in == nil { + return nil + } + out := new(ApplicationSecurityGroup) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ApplicationSecurityGroup) 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 *ApplicationSecurityGroupList) DeepCopyInto(out *ApplicationSecurityGroupList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ApplicationSecurityGroup, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSecurityGroupList. +func (in *ApplicationSecurityGroupList) DeepCopy() *ApplicationSecurityGroupList { + if in == nil { + return nil + } + out := new(ApplicationSecurityGroupList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ApplicationSecurityGroupList) 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 *ApplicationSecurityGroupPropertiesFormat_STATUS_ARM) DeepCopyInto(out *ApplicationSecurityGroupPropertiesFormat_STATUS_ARM) { + *out = *in + if in.ProvisioningState != nil { + in, out := &in.ProvisioningState, &out.ProvisioningState + *out = new(ProvisioningState_STATUS_ARM) + **out = **in + } + if in.ResourceGuid != nil { + in, out := &in.ResourceGuid, &out.ResourceGuid + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSecurityGroupPropertiesFormat_STATUS_ARM. +func (in *ApplicationSecurityGroupPropertiesFormat_STATUS_ARM) DeepCopy() *ApplicationSecurityGroupPropertiesFormat_STATUS_ARM { + if in == nil { + return nil + } + out := new(ApplicationSecurityGroupPropertiesFormat_STATUS_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ApplicationSecurityGroup_STATUS) DeepCopyInto(out *ApplicationSecurityGroup_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.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *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.ProvisioningState != nil { + in, out := &in.ProvisioningState, &out.ProvisioningState + *out = new(ProvisioningState_STATUS) + **out = **in + } + if in.ResourceGuid != nil { + in, out := &in.ResourceGuid, &out.ResourceGuid + *out = new(string) + **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.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 ApplicationSecurityGroup_STATUS. +func (in *ApplicationSecurityGroup_STATUS) DeepCopy() *ApplicationSecurityGroup_STATUS { + if in == nil { + return nil + } + out := new(ApplicationSecurityGroup_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 *ApplicationSecurityGroup_STATUS_ARM) DeepCopyInto(out *ApplicationSecurityGroup_STATUS_ARM) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *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.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = new(ApplicationSecurityGroupPropertiesFormat_STATUS_ARM) + (*in).DeepCopyInto(*out) + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSecurityGroup_STATUS_ARM. +func (in *ApplicationSecurityGroup_STATUS_ARM) DeepCopy() *ApplicationSecurityGroup_STATUS_ARM { + if in == nil { + return nil + } + out := new(ApplicationSecurityGroup_STATUS_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ApplicationSecurityGroup_Spec) DeepCopyInto(out *ApplicationSecurityGroup_Spec) { + *out = *in + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + 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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSecurityGroup_Spec. +func (in *ApplicationSecurityGroup_Spec) DeepCopy() *ApplicationSecurityGroup_Spec { + if in == nil { + return nil + } + out := new(ApplicationSecurityGroup_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 *ApplicationSecurityGroup_Spec_ARM) DeepCopyInto(out *ApplicationSecurityGroup_Spec_ARM) { + *out = *in + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSecurityGroup_Spec_ARM. +func (in *ApplicationSecurityGroup_Spec_ARM) DeepCopy() *ApplicationSecurityGroup_Spec_ARM { + if in == nil { + return nil + } + out := new(ApplicationSecurityGroup_Spec_ARM) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ExclusionManagedRule) DeepCopyInto(out *ExclusionManagedRule) { *out = *in diff --git a/v2/api/network/versions_matrix.md b/v2/api/network/versions_matrix.md index b4b5bec0162..2703162ddc1 100644 --- a/v2/api/network/versions_matrix.md +++ b/v2/api/network/versions_matrix.md @@ -136,13 +136,17 @@ | ApplicationGateway_STATUS_ApplicationGatewayWebApplicationFirewallPolicy_SubResourceEmbedded | | | | | | | v1api20240101 | | ApplicationGateway_STATUS_ApplicationGateway_SubResourceEmbedded | | | | | | v1api20220701 | | | ApplicationGateway_Spec | | | | | | v1api20220701 | | +| ApplicationSecurityGroup | | | | | | | v1api20240101 | +| ApplicationSecurityGroupPropertiesFormat_STATUS | | | | | | | v1api20240101 | | ApplicationSecurityGroupSpec_NetworkInterface_SubResourceEmbedded | | | | v1api20201101 | | | | | ApplicationSecurityGroupSpec_NetworkSecurityGroup_SubResourceEmbedded | | | | v1api20201101 | | | | | ApplicationSecurityGroupSpec_NetworkSecurityGroups_SecurityRule_SubResourceEmbedded | | | | v1api20201101 | | | | | ApplicationSecurityGroupSpec_PrivateEndpoint_SubResourceEmbedded | | | | | | v1api20220701 | | +| ApplicationSecurityGroup_STATUS | | | | | | | v1api20240101 | | ApplicationSecurityGroup_STATUS_NetworkInterface_SubResourceEmbedded | | | | v1api20201101 | | | | | ApplicationSecurityGroup_STATUS_NetworkSecurityGroups_SecurityRule_SubResourceEmbedded | | | | v1api20201101 | | | | | ApplicationSecurityGroup_STATUS_PrivateEndpoint_SubResourceEmbedded | | | | | | v1api20220701 | | +| ApplicationSecurityGroup_Spec | | | | | | | v1api20240101 | | BackendAddressPoolPropertiesFormat | | | | v1api20201101 | | | | | BackendAddressPoolPropertiesFormat_STATUS_LoadBalancer_SubResourceEmbedded | | | | v1api20201101 | | | | | BackendAddressPool_LoadBalancer_SubResourceEmbedded | | | | v1api20201101 | | | | diff --git a/v2/azure-arm.yaml b/v2/azure-arm.yaml index 96fa4d1d36e..957bec6506e 100644 --- a/v2/azure-arm.yaml +++ b/v2/azure-arm.yaml @@ -2403,6 +2403,7 @@ objectModelConfiguration: WebTestGeolocation: Id: $armReference: false + keyvault: 2021-04-01-preview: Vault: @@ -3074,6 +3075,9 @@ objectModelConfiguration: ApplicationGatewayWebApplicationFirewallPolicy: $exportAs: WebApplicationFirewallPolicy $supportedFrom: v2.10.0 + ApplicationSecurityGroup: + $export: true + $supportedFrom: v2.10.0 network.frontdoor: 2022-05-01: FrontDoorWebApplicationFirewallPolicy: diff --git a/v2/internal/controllers/controller_resources_gen.go b/v2/internal/controllers/controller_resources_gen.go index 4e117abf6d9..b0288db1109 100644 --- a/v2/internal/controllers/controller_resources_gen.go +++ b/v2/internal/controllers/controller_resources_gen.go @@ -1119,6 +1119,7 @@ func getKnownStorageTypes() []*registration.StorageType { result = append(result, ®istration.StorageType{Obj: new(network_v20220701s.PrivateEndpointsPrivateDnsZoneGroup)}) result = append(result, ®istration.StorageType{Obj: new(network_v20220701s.PrivateLinkService)}) result = append(result, ®istration.StorageType{Obj: new(network_v20220701s.PublicIPPrefix)}) + result = append(result, ®istration.StorageType{Obj: new(network_v20240101s.ApplicationSecurityGroup)}) result = append(result, ®istration.StorageType{Obj: new(network_v20240101s.WebApplicationFirewallPolicy)}) result = append(result, ®istration.StorageType{Obj: new(networkfrontdoor_v20220501s.WebApplicationFirewallPolicy)}) result = append(result, ®istration.StorageType{Obj: new(operationalinsights_v20210601s.Workspace)}) @@ -2027,8 +2028,14 @@ func getKnownTypes() []client.Object { new(network_v20220701s.PrivateEndpointsPrivateDnsZoneGroup), new(network_v20220701s.PrivateLinkService), new(network_v20220701s.PublicIPPrefix)) - result = append(result, new(network_v20240101.WebApplicationFirewallPolicy)) - result = append(result, new(network_v20240101s.WebApplicationFirewallPolicy)) + result = append( + result, + new(network_v20240101.ApplicationSecurityGroup), + new(network_v20240101.WebApplicationFirewallPolicy)) + result = append( + result, + new(network_v20240101s.ApplicationSecurityGroup), + new(network_v20240101s.WebApplicationFirewallPolicy)) result = append(result, new(networkfrontdoor_v20220501.WebApplicationFirewallPolicy)) result = append(result, new(networkfrontdoor_v20220501s.WebApplicationFirewallPolicy)) result = append(result, new(operationalinsights_v20210601.Workspace)) @@ -2504,6 +2511,7 @@ func getResourceExtensions() []genruntime.ResourceExtension { result = append(result, &managedidentity_customizations.UserAssignedIdentityExtension{}) result = append(result, &monitor_customizations.AccountExtension{}) result = append(result, &network_customizations.ApplicationGatewayExtension{}) + result = append(result, &network_customizations.ApplicationSecurityGroupExtension{}) result = append(result, &network_customizations.BastionHostExtension{}) result = append(result, &network_customizations.DnsForwardingRuleSetsForwardingRuleExtension{}) result = append(result, &network_customizations.DnsForwardingRuleSetsVirtualNetworkLinkExtension{}) diff --git a/v2/internal/controllers/network_applicationsecuritygroup_crud_v20240101_test.go b/v2/internal/controllers/network_applicationsecuritygroup_crud_v20240101_test.go new file mode 100644 index 00000000000..e3e92eaacd7 --- /dev/null +++ b/v2/internal/controllers/network_applicationsecuritygroup_crud_v20240101_test.go @@ -0,0 +1,60 @@ +/* +Copyright (c) Microsoft Corporation. +Licensed under the MIT license. +*/ + +package controllers_test + +import ( + "testing" + + . "github.com/onsi/gomega" + + network "github.com/Azure/azure-service-operator/v2/api/network/v1api20240101" + "github.com/Azure/azure-service-operator/v2/internal/testcommon" +) + +func Test_Networking_ApplicationSecurityGroup_CRUD(t *testing.T) { + t.Parallel() + + tc := globalTestContext.ForTest(t) + + rg := tc.CreateTestResourceGroupAndWait() + + // Application Security Group + // nsg := &network.NetworkSecurityGroup{ + // ObjectMeta: tc.MakeObjectMetaWithName(tc.Namer.GenerateName("asg")), + // Spec: network.NetworkSecurityGroup_Spec{ + // Location: tc.AzureRegion, + // Owner: testcommon.AsOwner(rg), + // }, + // } + asg := &network.ApplicationSecurityGroup{ + ObjectMeta: tc.MakeObjectMetaWithName(tc.Namer.GenerateName("asg")), + Spec: network.ApplicationSecurityGroup_Spec{ + Location: tc.AzureRegion, + Owner: testcommon.AsOwner(rg), + }, + } + + tc.CreateResourceAndWait(asg) + + tc.Expect(asg.Status.Id).ToNot(BeNil()) + armId := *asg.Status.Id + + // Perform a simple patch + old := asg.DeepCopy() + asg.Spec.Tags = map[string]string{ + "foo": "bar", + } + tc.PatchResourceAndWait(old, asg) + tc.Expect(asg.Status.Tags).To(HaveKey("foo")) + + tc.DeleteResourceAndWait(asg) + + // Ensure that the resource was really deleted in Azure + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(network.APIVersion_Value)) + tc.Expect(err).ToNot(HaveOccurred()) + tc.Expect(retryAfter).To(BeZero()) + tc.Expect(exists).To(BeFalse()) +} diff --git a/v2/internal/controllers/recordings/Test_Networking_ApplicationSecurityGroup_CRUD.yaml b/v2/internal/controllers/recordings/Test_Networking_ApplicationSecurityGroup_CRUD.yaml new file mode 100644 index 00000000000..1372b431eca --- /dev/null +++ b/v2/internal/controllers/recordings/Test_Networking_ApplicationSecurityGroup_CRUD.yaml @@ -0,0 +1,877 @@ +--- +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-ibncnr","tags":{"CreatedAt":"2001-02-03T04:05:06Z"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "93" + Content-Type: + - application/json + Test-Request-Hash: + - b7cfb7592918dc5df3d55d25349feb7a363ad9db8fd75a168ff0cbe424f7d657 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibncnr?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-ibncnr","name":"asotest-rg-ibncnr","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: + - "2999" + X-Msedge-Ref: + - 'Ref A: 7DE3DD072065421FA71ECEDF99ED3199 Ref B: MAA201060516029 Ref C: 2024-10-15T06:36:48Z' + status: 201 Created + code: 201 + duration: 1.971383876s + - 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-ibncnr?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-ibncnr","name":"asotest-rg-ibncnr","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: + - "3749" + X-Msedge-Ref: + - 'Ref A: 5252F21E421742168E3A65832D93F4C3 Ref B: MAA201060516029 Ref C: 2024-10-15T06:36:52Z' + status: 200 OK + code: 200 + duration: 325.868709ms + - id: 2 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 50 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"asotest-asg-iowend"}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "50" + Content-Type: + - application/json + Test-Request-Hash: + - a3bbc13a93e8316eef5ef2d8c97ecdbe3946ed45421d723db81811adcce4e35b + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibncnr/providers/Microsoft.Network/applicationSecurityGroups/asotest-asg-iowend?api-version=2024-01-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 366 + uncompressed: false + body: '{"name":"asotest-asg-iowend","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibncnr/providers/Microsoft.Network/applicationSecurityGroups/asotest-asg-iowend","etag":"W/\"f58f0c7d-eaed-4fa5-b098-0ca1df796e16\"","type":"Microsoft.Network/applicationSecurityGroups","location":"westus2","properties":{"provisioningState":"Updating"}}' + headers: + Azure-Asyncnotification: + - Enabled + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/037a3c6f-b14a-4f5a-86e8-cbd4c95591c1?api-version=2024-01-01&t=638645710204258351&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=g8yYoyNSCS2qNn_ykFgBRBIuKWu0YawvRDne8zYUnR1FdH-9BTFUjX1H102vhq9PaV4kiusASnCWB05B-_T63R7ZTuCNEiS0XOZHNgPu_GaI1u07qrFpAW9tyPiJyzF6IoI4OddjAY4adjRR3_phQvF3TZ2fypFqmSHXfTnkz5vCqdwPFpEC2TUfZPpwQXnpA_GB97DTsSBCyEKFXe9N3JVlHAg0uU9PrYrpgm_j-y5shoQK_M59fppUatDmiK7x_mcWAGlBNfe6yJfdyv81QcxXoCVfj1mJ51RpKt9Q-wSMdrA0crconfXtMjMK2SlDj4YFk0pNv4McW7E9VnhD5A&h=ngS4p61kE6udcOO9sRiVTi8CeOYvgTcMMLGCZgIckEY + Cache-Control: + - no-cache + Content-Length: + - "366" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "1" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Writes: + - "2999" + X-Msedge-Ref: + - 'Ref A: A9718A4D6E93482BA52937840D5C53D2 Ref B: MAA201060516029 Ref C: 2024-10-15T06:36:56Z' + status: 201 Created + code: 201 + duration: 3.533662794s + - 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.Network/locations/westus2/operations/037a3c6f-b14a-4f5a-86e8-cbd4c95591c1?api-version=2024-01-01&t=638645710204258351&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=g8yYoyNSCS2qNn_ykFgBRBIuKWu0YawvRDne8zYUnR1FdH-9BTFUjX1H102vhq9PaV4kiusASnCWB05B-_T63R7ZTuCNEiS0XOZHNgPu_GaI1u07qrFpAW9tyPiJyzF6IoI4OddjAY4adjRR3_phQvF3TZ2fypFqmSHXfTnkz5vCqdwPFpEC2TUfZPpwQXnpA_GB97DTsSBCyEKFXe9N3JVlHAg0uU9PrYrpgm_j-y5shoQK_M59fppUatDmiK7x_mcWAGlBNfe6yJfdyv81QcxXoCVfj1mJ51RpKt9Q-wSMdrA0crconfXtMjMK2SlDj4YFk0pNv4McW7E9VnhD5A&h=ngS4p61kE6udcOO9sRiVTi8CeOYvgTcMMLGCZgIckEY + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 22 + uncompressed: false + body: '{"status":"Succeeded"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "22" + 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: + - "3749" + X-Msedge-Ref: + - 'Ref A: E2094C0E43CF4DDC97B65A1E1E1F0DF4 Ref B: MAA201060516029 Ref C: 2024-10-15T06:37:06Z' + status: 200 OK + code: 200 + duration: 344.522917ms + - 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: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibncnr/providers/Microsoft.Network/applicationSecurityGroups/asotest-asg-iowend?api-version=2024-01-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 367 + uncompressed: false + body: '{"name":"asotest-asg-iowend","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibncnr/providers/Microsoft.Network/applicationSecurityGroups/asotest-asg-iowend","etag":"W/\"62596c86-3e32-45ab-8078-94182725c06d\"","type":"Microsoft.Network/applicationSecurityGroups","location":"westus2","properties":{"provisioningState":"Succeeded"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "367" + Content-Type: + - application/json; charset=utf-8 + Etag: + - W/"62596c86-3e32-45ab-8078-94182725c06d" + 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: + - "3748" + X-Msedge-Ref: + - 'Ref A: 497CBA1F7F424D9BA199862107C30FF4 Ref B: MAA201060516029 Ref C: 2024-10-15T06:37:06Z' + status: 200 OK + code: 200 + duration: 557.384876ms + - 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: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibncnr/providers/Microsoft.Network/applicationSecurityGroups/asotest-asg-iowend?api-version=2024-01-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 367 + uncompressed: false + body: '{"name":"asotest-asg-iowend","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibncnr/providers/Microsoft.Network/applicationSecurityGroups/asotest-asg-iowend","etag":"W/\"62596c86-3e32-45ab-8078-94182725c06d\"","type":"Microsoft.Network/applicationSecurityGroups","location":"westus2","properties":{"provisioningState":"Succeeded"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "367" + Content-Type: + - application/json; charset=utf-8 + Etag: + - W/"62596c86-3e32-45ab-8078-94182725c06d" + 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: + - "3749" + X-Msedge-Ref: + - 'Ref A: BF5ABD2DBC63413EA7E79E6BAED36E50 Ref B: MAA201060516029 Ref C: 2024-10-15T06:37:07Z' + status: 200 OK + code: 200 + duration: 597.548042ms + - id: 6 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 71 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"asotest-asg-iowend","tags":{"foo":"bar"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "71" + Content-Type: + - application/json + Test-Request-Hash: + - f85827a2a5e8b28e436cf2cd426fb56f773b1f2c7361f3ccc37ce957676660ea + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibncnr/providers/Microsoft.Network/applicationSecurityGroups/asotest-asg-iowend?api-version=2024-01-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 388 + uncompressed: false + body: '{"name":"asotest-asg-iowend","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibncnr/providers/Microsoft.Network/applicationSecurityGroups/asotest-asg-iowend","etag":"W/\"09fb4826-c73a-4daf-a343-47921480d206\"","type":"Microsoft.Network/applicationSecurityGroups","location":"westus2","tags":{"foo":"bar"},"properties":{"provisioningState":"Succeeded"}}' + headers: + Azure-Asyncnotification: + - Enabled + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/b3a13eaa-0140-458f-90c8-f8b7504340a0?api-version=2024-01-01&t=638645710332070864&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=ORop8HnEppBVSMWnE2xnPkdN807HTUQayxXOkO9JIMVu_qtdWNwR0AD0wqpWMvgBBx0Xz1qhk779D0O3P1953L5g-N2nExDIR_JHT0lN7rDX65twxf4EqwA5P1p1D6gQNQ6tCg4NXU5RiZdc9eoHbqI9-7tI7BNQZSBe05NPQVb2_dJCtNPo48q8UKu7dNSN3tyEO8D5dyblNDHzm-jYGN8vj7tiy6T_ibGVsQRNYU3zjncmezVfDwU2s6LCXpwEh8zKBSxqYh5ME-S4nw1N08aw9TyrW5Gsi-vlvXNwSUsGZiJq9P_92FXRyXFrfAz_nQiC13M8bgg4GbJwGwqi2Q&h=_uSDCOAF8iQxV3DjwGmi5pUnI8UKolK4HMZKdo81ugg + Cache-Control: + - no-cache + Content-Length: + - "388" + 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: + - "2998" + X-Msedge-Ref: + - 'Ref A: 6E3FC6104F514CC19C6CB4B20F14E915 Ref B: MAA201060516029 Ref C: 2024-10-15T06:37:11Z' + status: 200 OK + code: 200 + duration: 2.288504335s + - 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: + Accept: + - application/json + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibncnr/providers/Microsoft.Network/applicationSecurityGroups/asotest-asg-iowend?api-version=2024-01-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 388 + uncompressed: false + body: '{"name":"asotest-asg-iowend","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibncnr/providers/Microsoft.Network/applicationSecurityGroups/asotest-asg-iowend","etag":"W/\"09fb4826-c73a-4daf-a343-47921480d206\"","type":"Microsoft.Network/applicationSecurityGroups","location":"westus2","tags":{"foo":"bar"},"properties":{"provisioningState":"Succeeded"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "388" + Content-Type: + - application/json; charset=utf-8 + Etag: + - W/"09fb4826-c73a-4daf-a343-47921480d206" + 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: + - "3749" + X-Msedge-Ref: + - 'Ref A: F562A6BD187C48E39DCA0F8013393F19 Ref B: MAA201060516029 Ref C: 2024-10-15T06:37:15Z' + status: 200 OK + code: 200 + duration: 545.660334ms + - 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: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibncnr/providers/Microsoft.Network/applicationSecurityGroups/asotest-asg-iowend?api-version=2024-01-01 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Azure-Asyncnotification: + - Enabled + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/ed4ac5c7-b89a-4a97-9096-ee2a36784a7e?api-version=2024-01-01&t=638645710437258635&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=bIDF30kmpgHPiMYzSBfyJ5ewAyNRMKvVnBBKFJJ11DjLgqe28LDBaDRALY_eXBFMqceDbN555AGNEHnpJBxd_x9s6c8-l-ytIa8VvCpTTTVIYH9qt7pMmU282VdfwAxXDs7WFxHFH_PndcbiH4e47gmHMtPCi1D220TE-HGdPyPvsVSEPtQIqQRNX_znGhiHGgU9eFjfGINNwfw6P9R02tvK8AOKOZQwzyiPp80MDQsr_q_TKZdLd6jga1K_w3o4-kr_WJd6NxbKsZh2oBE32lwiFqonYxGwMS6NSNP54kIprASAg4XCY2rU65ItbQurF03kskH9E6lL-PQ2Y81klA&h=8mR_jdzbo5CGOCe_loGUX-Y5EUHlvzk25iQdiAt06jc + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operationResults/ed4ac5c7-b89a-4a97-9096-ee2a36784a7e?api-version=2024-01-01&t=638645710437258635&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=MtAIS9T_DkQWfch-15pqi_pcIv_NBKA2yfw5c1HC_yRipQCFEFripHBaHr2KoEqLPKbXMJfpzsx_8c_4Zo3mXYkvLIBOo0Z7kIvgwbErXunVknLr8xuYB9lTur1f1lNg1-ZDxrt6QaAyQSOoB_G4pqn4xk6HVGIuu4fG_8iDDFOPDv8OwkXwEUeSk8_IMfp80Q8w6xaLe5FhDvR5-npHZFqRxlG-kCyO6w6tZzIo8Lsg2cULKyZYYgECy-m4lxpfRp_mrEPib_vkG3fQyLU127ThSDLY4zzCC6iY9kAdBMaOMN8zQJeBku4AbXBsqN0hhOUZfAlOUc7qFiQ3mY6SXQ&h=IO7XKEN248tMXEmHgoaolh05hG9MO1X958_ScNLvk5A + Pragma: + - no-cache + Retry-After: + - "1" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Deletes: + - "2999" + X-Msedge-Ref: + - 'Ref A: C027F53D31C24084BAA20A73D4832777 Ref B: MAA201060516029 Ref C: 2024-10-15T06:37:21Z' + status: 202 Accepted + code: 202 + duration: 2.723016376s + - 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: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/ed4ac5c7-b89a-4a97-9096-ee2a36784a7e?api-version=2024-01-01&t=638645710437258635&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=bIDF30kmpgHPiMYzSBfyJ5ewAyNRMKvVnBBKFJJ11DjLgqe28LDBaDRALY_eXBFMqceDbN555AGNEHnpJBxd_x9s6c8-l-ytIa8VvCpTTTVIYH9qt7pMmU282VdfwAxXDs7WFxHFH_PndcbiH4e47gmHMtPCi1D220TE-HGdPyPvsVSEPtQIqQRNX_znGhiHGgU9eFjfGINNwfw6P9R02tvK8AOKOZQwzyiPp80MDQsr_q_TKZdLd6jga1K_w3o4-kr_WJd6NxbKsZh2oBE32lwiFqonYxGwMS6NSNP54kIprASAg4XCY2rU65ItbQurF03kskH9E6lL-PQ2Y81klA&h=8mR_jdzbo5CGOCe_loGUX-Y5EUHlvzk25iQdiAt06jc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 22 + uncompressed: false + body: '{"status":"Succeeded"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "22" + 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: + - "3749" + X-Msedge-Ref: + - 'Ref A: AB7D4FEA099143C0B68E48D37446511C Ref B: MAA201060516029 Ref C: 2024-10-15T06:37:27Z' + status: 200 OK + code: 200 + duration: 404.640459ms + - 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: + Accept: + - application/json + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibncnr/providers/Microsoft.Network/applicationSecurityGroups/asotest-asg-iowend?api-version=2024-01-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 251 + uncompressed: false + body: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.Network/applicationSecurityGroups/asotest-asg-iowend'' under resource group ''asotest-rg-ibncnr'' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "251" + 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: 9108B0F253D2447796753DE11022229D Ref B: MAA201060516029 Ref C: 2024-10-15T06:37:31Z' + status: 404 Not Found + code: 404 + duration: 309.376459ms + - 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: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibncnr?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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRJQk5DTlItV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638645710557464328&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=aZnNdhM3gg9zchLbByhwBJaw4_w60RBwcJoB3SEWqWOl_qHjGu8EiYIhUKylTCcerQWTJyrOcmUAc-6pWNuKmCkGoRkQE0FOfJ0BEpHRJQVS3YeI02OiB_aTyu1ieJWdBcRkhSoSod8d2UByPLZlGPIe_itDNopnM9Dyi6jtLMKp6uL8hag-xY0wsTImB5G68YER-yctcAwIWk4FyuC9pO-_-5acJrk9J8-zuv08ma3QcWYWygxwkshCKvtQ0EmWwEHEzm48JqWAHcAm2wiU0CGQqOp3mmUm7Qlw0vm3G33_q0mtmzNk5kiGA5Vi5sYNQ23Rdc_oIELyxzuZF0aj8Q&h=5VWL0UdP763sKnRsw7orhdue6ouj7l6lxO914L5SOkY + 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: + - "2999" + X-Msedge-Ref: + - 'Ref A: 36B60CB4D01F4B2FA441CBEE8F224761 Ref B: MAA201060516029 Ref C: 2024-10-15T06:37:32Z' + status: 202 Accepted + code: 202 + duration: 3.576514794s + - id: 12 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRJQk5DTlItV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638645710557464328&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=aZnNdhM3gg9zchLbByhwBJaw4_w60RBwcJoB3SEWqWOl_qHjGu8EiYIhUKylTCcerQWTJyrOcmUAc-6pWNuKmCkGoRkQE0FOfJ0BEpHRJQVS3YeI02OiB_aTyu1ieJWdBcRkhSoSod8d2UByPLZlGPIe_itDNopnM9Dyi6jtLMKp6uL8hag-xY0wsTImB5G68YER-yctcAwIWk4FyuC9pO-_-5acJrk9J8-zuv08ma3QcWYWygxwkshCKvtQ0EmWwEHEzm48JqWAHcAm2wiU0CGQqOp3mmUm7Qlw0vm3G33_q0mtmzNk5kiGA5Vi5sYNQ23Rdc_oIELyxzuZF0aj8Q&h=5VWL0UdP763sKnRsw7orhdue6ouj7l6lxO914L5SOkY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRJQk5DTlItV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638645710753999159&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=y3kjIvL3p9LYPlz6su_1VZBDpQ4OGRF-CU-cQCAFqP47iRA9NcK00E-Xjo1K2thyiyoQBltxfT66qwnLPu8WspaVOzxX32dZptt4WvYWbSlMPyDkOR__YChVfCJSjp2JphzkhbSpKukSeDiz1LuNw4l60zkH3M3z1ZnxW9fJNq0ZfCD6cTfNs_KL4I22sKUY-1nBsyjGxgf18X4hJeGfOeAYiRzRMxPVVqgA9Q0ihKSo0PcAUj3v_zGcLxgbnW01lI3SkwquMf_gCX3fLUzLTQ2AbfXBAku1XUJbuX6THI6sA7Kc19G2LBRyzI6NH8nEriQi9nPor8leatEVcSe-wA&h=B7MI9sPH_tbw6QspAhgfz0vG-64L4J3GI02ox9s-CqI + 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: + - "3749" + X-Msedge-Ref: + - 'Ref A: 8561A4C974BA4F8F9D419A924961A48E Ref B: MAA201060516029 Ref C: 2024-10-15T06:37:54Z' + status: 202 Accepted + code: 202 + duration: 979.770417ms + - 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: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRJQk5DTlItV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638645710557464328&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=aZnNdhM3gg9zchLbByhwBJaw4_w60RBwcJoB3SEWqWOl_qHjGu8EiYIhUKylTCcerQWTJyrOcmUAc-6pWNuKmCkGoRkQE0FOfJ0BEpHRJQVS3YeI02OiB_aTyu1ieJWdBcRkhSoSod8d2UByPLZlGPIe_itDNopnM9Dyi6jtLMKp6uL8hag-xY0wsTImB5G68YER-yctcAwIWk4FyuC9pO-_-5acJrk9J8-zuv08ma3QcWYWygxwkshCKvtQ0EmWwEHEzm48JqWAHcAm2wiU0CGQqOp3mmUm7Qlw0vm3G33_q0mtmzNk5kiGA5Vi5sYNQ23Rdc_oIELyxzuZF0aj8Q&h=5VWL0UdP763sKnRsw7orhdue6ouj7l6lxO914L5SOkY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRJQk5DTlItV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638645710924558931&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=NpQBtX4hrwaU8uZLlH_LKZDXpVP7NzMmj39boSvEe5N5jJVC-TSXT5qzfS4zf6IWtBvr_b-kOWoxZS4VBGk9yaKbzEqNT3DoTSA17DJ8N7gA2sX9jFI82LHQVzzMPwYeX2NzqV8ZyWa46CBrPUKxfBY6tqg-P1zq5IhudZnR9JhRemgr2OM_sc1Su9zmrcg720JEzOWBBn3bPeaqFt_K9iwc5VGCitVVehEZrlvM6-K3Jf49JkEo9ZkMoTdjdlXq7mKsyR0AwUSEaITyGLw2_5L-5Qofe0T7y9l0JRcZFsSnSYg-a5Zd9ESyVnXWLdFOmRAVWKThrZXfNHUQ_5Bs4Q&h=gHwsHIWzGD6a48Htp0vamsRsB87XqlQDCQtB7u3S0G0 + 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: + - "3748" + X-Msedge-Ref: + - 'Ref A: 6E5552196975450E9F523D7ADAC3EADD Ref B: MAA201060516029 Ref C: 2024-10-15T06:38:11Z' + status: 202 Accepted + code: 202 + duration: 1.054360417s + - 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/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRJQk5DTlItV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638645710557464328&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=aZnNdhM3gg9zchLbByhwBJaw4_w60RBwcJoB3SEWqWOl_qHjGu8EiYIhUKylTCcerQWTJyrOcmUAc-6pWNuKmCkGoRkQE0FOfJ0BEpHRJQVS3YeI02OiB_aTyu1ieJWdBcRkhSoSod8d2UByPLZlGPIe_itDNopnM9Dyi6jtLMKp6uL8hag-xY0wsTImB5G68YER-yctcAwIWk4FyuC9pO-_-5acJrk9J8-zuv08ma3QcWYWygxwkshCKvtQ0EmWwEHEzm48JqWAHcAm2wiU0CGQqOp3mmUm7Qlw0vm3G33_q0mtmzNk5kiGA5Vi5sYNQ23Rdc_oIELyxzuZF0aj8Q&h=5VWL0UdP763sKnRsw7orhdue6ouj7l6lxO914L5SOkY + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRJQk5DTlItV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638645711095889950&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=Otj8FqasGyDwBh-0Q0XrYYokUDqwTpIJFv9Cu8X-TUy3LtSGq8Xpks9fVt03LHucmwgjgODd1xZ7dVZM2x1GhDUkOduT1YPuquZFwBMi_e65tcvcUeJ_6quMUJwyFxkuN2hycaTxj2DbIXaNfR0mEpz727A4sPqAjaqF26OuLGe3sMdjyuJFisOHqRSd-jRDpg981nwc1gYNgHX0jp4LY0hHWpFCJz1EsSo6IVOrvKSFJrNze5n9MAMST-SjSmKVvEuG4rBooPsZkoJHZHBW7_F6HDIZ5JTF8hpnw5YFwJNZT3EVs8itPbwWTH_1oyac4bfPmPi83yClI0kKB7npEA&h=uFPyEkASbQ2QJ31CncQYROVln42eUWDA1oaZb1eiV9s + 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: + - "3749" + X-Msedge-Ref: + - 'Ref A: 7107B17C589D4B9FAAD4220836076742 Ref B: MAA201060516029 Ref C: 2024-10-15T06:38:28Z' + status: 202 Accepted + code: 202 + duration: 1.082573876s + - 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: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRJQk5DTlItV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638645710557464328&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=aZnNdhM3gg9zchLbByhwBJaw4_w60RBwcJoB3SEWqWOl_qHjGu8EiYIhUKylTCcerQWTJyrOcmUAc-6pWNuKmCkGoRkQE0FOfJ0BEpHRJQVS3YeI02OiB_aTyu1ieJWdBcRkhSoSod8d2UByPLZlGPIe_itDNopnM9Dyi6jtLMKp6uL8hag-xY0wsTImB5G68YER-yctcAwIWk4FyuC9pO-_-5acJrk9J8-zuv08ma3QcWYWygxwkshCKvtQ0EmWwEHEzm48JqWAHcAm2wiU0CGQqOp3mmUm7Qlw0vm3G33_q0mtmzNk5kiGA5Vi5sYNQ23Rdc_oIELyxzuZF0aj8Q&h=5VWL0UdP763sKnRsw7orhdue6ouj7l6lxO914L5SOkY + 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: + - "3749" + X-Msedge-Ref: + - 'Ref A: 7F0C6C54AD5B41779BF3EBAEC06558EF Ref B: MAA201060516029 Ref C: 2024-10-15T06:38:45Z' + status: 200 OK + code: 200 + duration: 972.891084ms diff --git a/v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_Network_v1api20240101_CreationAndDeletion.yaml b/v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_Network_v1api20240101_CreationAndDeletion.yaml new file mode 100644 index 00000000000..c1d5492a498 --- /dev/null +++ b/v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_Network_v1api20240101_CreationAndDeletion.yaml @@ -0,0 +1,863 @@ +--- +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-ebwvmr","tags":{"CreatedAt":"2001-02-03T04:05:06Z"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "93" + Content-Type: + - application/json + Test-Request-Hash: + - 3237738651d9208c17769a280eb8ded87cfec764d11aa8eb4ab313758edf1172 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ebwvmr?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-ebwvmr","name":"asotest-rg-ebwvmr","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: + - "2999" + X-Msedge-Ref: + - 'Ref A: D699A66B3C9B4731B1C4A92DD24E1462 Ref B: MAA201060515053 Ref C: 2024-10-15T08:37:07Z' + status: 201 Created + code: 201 + duration: 2.261564167s + - 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-ebwvmr?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-ebwvmr","name":"asotest-rg-ebwvmr","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: + - "3749" + X-Msedge-Ref: + - 'Ref A: FD936E9719E843AA9BDDDF6C04610ABD Ref B: MAA201060515053 Ref C: 2024-10-15T08:37:11Z' + status: 200 OK + code: 200 + duration: 309.329875ms + - id: 2 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 41 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"eastus2","name":"sampleasg"}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "41" + Content-Type: + - application/json + Test-Request-Hash: + - 194f013bde4053424ad4066340666db379b8221e24b9b7c0b028cf899673031a + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ebwvmr/providers/Microsoft.Network/applicationSecurityGroups/sampleasg?api-version=2024-01-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 348 + uncompressed: false + body: '{"name":"sampleasg","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ebwvmr/providers/Microsoft.Network/applicationSecurityGroups/sampleasg","etag":"W/\"6eb50fda-ab24-4ae7-adc8-87d9da0852e9\"","type":"Microsoft.Network/applicationSecurityGroups","location":"eastus2","properties":{"provisioningState":"Updating"}}' + headers: + Azure-Asyncnotification: + - Enabled + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2/operations/2891ba66-cc3d-4a98-8cc0-563d58d6bf10?api-version=2024-01-01&t=638645782380798593&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=qpV7oFj1FXr_dskprvfzzE_tpkpjDcnH9wfqgpC3thcfgoZ4RTr5CJP5-1NB3Esct0RSuXENtRxxVpJuAkTj1in6hX2FQzTRZSoliZC0Vwf0BaWabkXqm-h48cet9r1UzILBp0IRXKjku8Qn5eow042YlKUxME_hjNlhcY8-LMpFu_xqmmmSfXO7JXe2-CghAyzl8Cj-DZIBcjqvMhsHCfBN2YJBS4a65xwFovuSlFNsXVufXAX6V1DARuOD7QuzO_S5kkeze-F3LjIMAV5CHAXl0QZ_7Jgaq87VDHLyC2A9o9cA2t5Ca3QtKk-08V1KaWI3Hbc2l_5ITcS0EQ_UeQ&h=SL-dF5lVQ7RfzTnTXIL38uqsyLuqnQiKUoRkq6GgQ5I + Cache-Control: + - no-cache + Content-Length: + - "348" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "1" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Writes: + - "2999" + X-Msedge-Ref: + - 'Ref A: 1DFCA8B40C794F7EA863DDAAB4505B47 Ref B: MAA201060515053 Ref C: 2024-10-15T08:37:15Z' + status: 201 Created + code: 201 + duration: 3.065805251s + - 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.Network/locations/eastus2/operations/2891ba66-cc3d-4a98-8cc0-563d58d6bf10?api-version=2024-01-01&t=638645782380798593&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=qpV7oFj1FXr_dskprvfzzE_tpkpjDcnH9wfqgpC3thcfgoZ4RTr5CJP5-1NB3Esct0RSuXENtRxxVpJuAkTj1in6hX2FQzTRZSoliZC0Vwf0BaWabkXqm-h48cet9r1UzILBp0IRXKjku8Qn5eow042YlKUxME_hjNlhcY8-LMpFu_xqmmmSfXO7JXe2-CghAyzl8Cj-DZIBcjqvMhsHCfBN2YJBS4a65xwFovuSlFNsXVufXAX6V1DARuOD7QuzO_S5kkeze-F3LjIMAV5CHAXl0QZ_7Jgaq87VDHLyC2A9o9cA2t5Ca3QtKk-08V1KaWI3Hbc2l_5ITcS0EQ_UeQ&h=SL-dF5lVQ7RfzTnTXIL38uqsyLuqnQiKUoRkq6GgQ5I + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 22 + uncompressed: false + body: '{"status":"Succeeded"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "22" + 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: + - "3749" + X-Msedge-Ref: + - 'Ref A: AA22427E12E0426399D8B8E45720F6A8 Ref B: MAA201060515053 Ref C: 2024-10-15T08:37:23Z' + status: 200 OK + code: 200 + duration: 314.823042ms + - 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: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ebwvmr/providers/Microsoft.Network/applicationSecurityGroups/sampleasg?api-version=2024-01-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 349 + uncompressed: false + body: '{"name":"sampleasg","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ebwvmr/providers/Microsoft.Network/applicationSecurityGroups/sampleasg","etag":"W/\"b3cea183-0b6d-42c1-bbbb-78351ed3e8ec\"","type":"Microsoft.Network/applicationSecurityGroups","location":"eastus2","properties":{"provisioningState":"Succeeded"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "349" + Content-Type: + - application/json; charset=utf-8 + Etag: + - W/"b3cea183-0b6d-42c1-bbbb-78351ed3e8ec" + 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: + - "3749" + X-Msedge-Ref: + - 'Ref A: 4DB76A4DC35045C38B9A863BFE738FDB Ref B: MAA201060515053 Ref C: 2024-10-15T08:37:23Z' + status: 200 OK + code: 200 + duration: 598.433083ms + - 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: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ebwvmr/providers/Microsoft.Network/applicationSecurityGroups/sampleasg?api-version=2024-01-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 349 + uncompressed: false + body: '{"name":"sampleasg","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ebwvmr/providers/Microsoft.Network/applicationSecurityGroups/sampleasg","etag":"W/\"b3cea183-0b6d-42c1-bbbb-78351ed3e8ec\"","type":"Microsoft.Network/applicationSecurityGroups","location":"eastus2","properties":{"provisioningState":"Succeeded"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "349" + Content-Type: + - application/json; charset=utf-8 + Etag: + - W/"b3cea183-0b6d-42c1-bbbb-78351ed3e8ec" + 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: + - "3749" + X-Msedge-Ref: + - 'Ref A: 0D7B898168C346BEBBE9F2961C9C7F63 Ref B: MAA201060515053 Ref C: 2024-10-15T08:37:25Z' + status: 200 OK + code: 200 + duration: 549.157167ms + - 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: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ebwvmr?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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRFQldWTVItV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638645782525631648&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=Wx8PVI1oEbPLRndf8ST6NkxGJk_pzrOxzPX18VOCA31jvJSCIAz9RUWEotXfAcx-_ednSnMf1-y-dzr0ptzzh24d3hotP2TCUH6em3Uoyb1IAonaWVzmJZiVbuPg01Wqv8ZEMt_4jW-Trw8zsSsHoby3KS4HlE39u5zBxlvD0LvqO9ruiojyQxAKkTFI03dMhIZfj-NpaNe2E9wghG1ym74z_q2wwL_SW-Q3Z0YrKHhlJFM1zOCkoJ3NVb7-syMJFKqbB57DCk4kQWBr00-F-P2ZPBYYRmmet4g6DG1fpofIzNhqF6P7rZwN6crQqkAsK1dKhJ_9nIwfDqPGVv8yWQ&h=9arWnULvtu6jjdMPK9Q5A9T9BeiUM2CeJGDS7UGp2a0 + 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: + - "2999" + X-Msedge-Ref: + - 'Ref A: 9BD3AE13B2504C0BAE9750AB4EF5283B Ref B: MAA201060515053 Ref C: 2024-10-15T08:37:29Z' + status: 202 Accepted + code: 202 + duration: 3.588062376s + - 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/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRFQldWTVItV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638645782525631648&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=Wx8PVI1oEbPLRndf8ST6NkxGJk_pzrOxzPX18VOCA31jvJSCIAz9RUWEotXfAcx-_ednSnMf1-y-dzr0ptzzh24d3hotP2TCUH6em3Uoyb1IAonaWVzmJZiVbuPg01Wqv8ZEMt_4jW-Trw8zsSsHoby3KS4HlE39u5zBxlvD0LvqO9ruiojyQxAKkTFI03dMhIZfj-NpaNe2E9wghG1ym74z_q2wwL_SW-Q3Z0YrKHhlJFM1zOCkoJ3NVb7-syMJFKqbB57DCk4kQWBr00-F-P2ZPBYYRmmet4g6DG1fpofIzNhqF6P7rZwN6crQqkAsK1dKhJ_9nIwfDqPGVv8yWQ&h=9arWnULvtu6jjdMPK9Q5A9T9BeiUM2CeJGDS7UGp2a0 + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRFQldWTVItV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638645782723648103&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=WF45Ns2idyM9tOxMvrzOFhlFoaXYUSlNh7eUXhbotFrzQpoxKM3FVYlOcZjEAHGg6apt47AkZijTE7UJNY9GxA_M1eUG6stSJR_Y-66uUCQBuwYxLHS-3NrVcSyiezLhrJSulnJV5r079P5fseLDftjScJuK1yFoXzOAbLdSfxOQKXHpNo481WTOagNXGCUSuQND5iGr2Wgsbd23b6SyaAjnWvLwA_ZLUZ4TidnDJvBXaUgDhU5SEPJwYnUj-u-7RZOrO0UMLFdr6Jk4ckMVaqn_lAQSKXmfKSb_EqMatvqebkiok3v4ZawiUw6SsEDcdLDKeLN1CktN9dBAFjyKJg&h=oaTmrgb0PIjJLWQfFmPF-uvaCqigctT61pBiiQGyTyY + 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: + - "3749" + X-Msedge-Ref: + - 'Ref A: FEA8A6CEFD964816A07D9CDD3E71033B Ref B: MAA201060515053 Ref C: 2024-10-15T08:37:51Z' + status: 202 Accepted + code: 202 + duration: 1.095311376s + - 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: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRFQldWTVItV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638645782525631648&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=Wx8PVI1oEbPLRndf8ST6NkxGJk_pzrOxzPX18VOCA31jvJSCIAz9RUWEotXfAcx-_ednSnMf1-y-dzr0ptzzh24d3hotP2TCUH6em3Uoyb1IAonaWVzmJZiVbuPg01Wqv8ZEMt_4jW-Trw8zsSsHoby3KS4HlE39u5zBxlvD0LvqO9ruiojyQxAKkTFI03dMhIZfj-NpaNe2E9wghG1ym74z_q2wwL_SW-Q3Z0YrKHhlJFM1zOCkoJ3NVb7-syMJFKqbB57DCk4kQWBr00-F-P2ZPBYYRmmet4g6DG1fpofIzNhqF6P7rZwN6crQqkAsK1dKhJ_9nIwfDqPGVv8yWQ&h=9arWnULvtu6jjdMPK9Q5A9T9BeiUM2CeJGDS7UGp2a0 + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRFQldWTVItV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638645782890681205&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=L3j-Zdezqe4vl02f1NwUPNUIb4DR-VVStcaACs3TuahVh4OL7RJylqqUWp7aL4F6z-fOWu1LRd74QxMZYPdyUIHEJOdwtuuR_b1ofwuMmVmBmRQ0Hp92g1BPvB83tMfbV3YTdfumCLaS3PP0GBESLREIS5VEJOaA8PCHIwmW3PZhgjk6ZXAbe9JO7esGjCp4MGY4Wc0OulAw6SV3FXt655kWsm9eUL7vtP9roWfi2WguWJCjpCs0nfwT1CAHUBxGYChxkTYtIxVHijTWrPZ12bEW75FO7lC9PB_0BOngubyDESIx9mtM4Ekqato7KkTLtixfJ8paCE7Cd-BW9ueNeg&h=3zNl-yZzMTxy4knJj-DxA6tGupHtcPRcw-CDrMas0a0 + 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: + - "3749" + X-Msedge-Ref: + - 'Ref A: 76ECD8D51B4544CA9745E14B0765E63A Ref B: MAA201060515053 Ref C: 2024-10-15T08:38:08Z' + status: 202 Accepted + code: 202 + duration: 577.212083ms + - 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: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRFQldWTVItV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638645782525631648&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=Wx8PVI1oEbPLRndf8ST6NkxGJk_pzrOxzPX18VOCA31jvJSCIAz9RUWEotXfAcx-_ednSnMf1-y-dzr0ptzzh24d3hotP2TCUH6em3Uoyb1IAonaWVzmJZiVbuPg01Wqv8ZEMt_4jW-Trw8zsSsHoby3KS4HlE39u5zBxlvD0LvqO9ruiojyQxAKkTFI03dMhIZfj-NpaNe2E9wghG1ym74z_q2wwL_SW-Q3Z0YrKHhlJFM1zOCkoJ3NVb7-syMJFKqbB57DCk4kQWBr00-F-P2ZPBYYRmmet4g6DG1fpofIzNhqF6P7rZwN6crQqkAsK1dKhJ_9nIwfDqPGVv8yWQ&h=9arWnULvtu6jjdMPK9Q5A9T9BeiUM2CeJGDS7UGp2a0 + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRFQldWTVItV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638645783056771682&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=CY-4ape8G9Hyd5yrGsbFA_B1NzuNoQnDep6X28ft80czKxU0KTdBA9jLxJNL6D9y_lufNEY1HlgK8_upnMIfbWs77FYFZBK1AK8A3Ad-W1QnZVY2bTEPLRGBTm5iSOMgyuwMn_Fhs_lfuvKH6gIIdKhM1EEamtaDUMdOM7rp3Qiuzi-XSSRonqNz8cwD-OUVbJs9uDFD1P7MxKg28Kd-AdCJh4kAY7xytWMKZ9KPGrVS884VqK6PK8bJ5JAcKAVRvOvLXnG-doJmZ_AmoMa-NU3TRVDrvzJeTVMmvSw0kKAxVDxMjXFvryLYZrI-Gos_Dpky9qcpn7HXqsNnlYrlfA&h=FRExYdRXynwSgVOgBNZBem52sspL_xh3kp4JHEgCGxk + 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: + - "3749" + X-Msedge-Ref: + - 'Ref A: EBBB7CFC92834093A30F227C29C2770A Ref B: MAA201060515053 Ref C: 2024-10-15T08:38:24Z' + status: 202 Accepted + code: 202 + duration: 999.164834ms + - 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: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRFQldWTVItV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638645782525631648&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=Wx8PVI1oEbPLRndf8ST6NkxGJk_pzrOxzPX18VOCA31jvJSCIAz9RUWEotXfAcx-_ednSnMf1-y-dzr0ptzzh24d3hotP2TCUH6em3Uoyb1IAonaWVzmJZiVbuPg01Wqv8ZEMt_4jW-Trw8zsSsHoby3KS4HlE39u5zBxlvD0LvqO9ruiojyQxAKkTFI03dMhIZfj-NpaNe2E9wghG1ym74z_q2wwL_SW-Q3Z0YrKHhlJFM1zOCkoJ3NVb7-syMJFKqbB57DCk4kQWBr00-F-P2ZPBYYRmmet4g6DG1fpofIzNhqF6P7rZwN6crQqkAsK1dKhJ_9nIwfDqPGVv8yWQ&h=9arWnULvtu6jjdMPK9Q5A9T9BeiUM2CeJGDS7UGp2a0 + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRFQldWTVItV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638645783222469306&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=prVg1Q8wq7YxpoCPXuqb1lmOv45pAUhakVQ233qmcFG9pE-uPjyoOgpPeZaLjqCKIj2PBnyTbzPuWBbNlf4-7wwx_si-rYhagR4KvQm4iYERfRsGMyWOJC5mfmpQewJe6OlFzLhCnsG3P0KTAhwqCzKi6Nnd3uj-2hoVRKdTyqARxVgk85xnfaFQ-_bk9YU_vM5SU7bzAuTswE15MEKjpyWfxnwJLbFcnyi_i8A9WsDCs4Yy1Wc2-AeMO4haTMLM4L_kvdERHnOVnqYIP9Uh9b28nkOUbBra1DP_GNwCnDt-Fs-e3qHlLRE1e9IBKteop_JEXixo8XAcc-fQZAvaWw&h=UfHBErWwgseCfRm-jTMuERl9IR1Xq-Vi0349n35CiMA + 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: + - "3749" + X-Msedge-Ref: + - 'Ref A: C76CD4A61F744E82A72AF4368F999F67 Ref B: MAA201060515053 Ref C: 2024-10-15T08:38:41Z' + status: 202 Accepted + code: 202 + duration: 577.075ms + - 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: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRFQldWTVItV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638645782525631648&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=Wx8PVI1oEbPLRndf8ST6NkxGJk_pzrOxzPX18VOCA31jvJSCIAz9RUWEotXfAcx-_ednSnMf1-y-dzr0ptzzh24d3hotP2TCUH6em3Uoyb1IAonaWVzmJZiVbuPg01Wqv8ZEMt_4jW-Trw8zsSsHoby3KS4HlE39u5zBxlvD0LvqO9ruiojyQxAKkTFI03dMhIZfj-NpaNe2E9wghG1ym74z_q2wwL_SW-Q3Z0YrKHhlJFM1zOCkoJ3NVb7-syMJFKqbB57DCk4kQWBr00-F-P2ZPBYYRmmet4g6DG1fpofIzNhqF6P7rZwN6crQqkAsK1dKhJ_9nIwfDqPGVv8yWQ&h=9arWnULvtu6jjdMPK9Q5A9T9BeiUM2CeJGDS7UGp2a0 + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRFQldWTVItV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638645783388311068&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=R7H2TZ_HadVyIvVy_S-Q3pgXMZJSfF95Y9HyOLqIyl0sgkWZnFvaHo7fNCroTL8vdOs25_pXqB-6qrT02S9xoIDWiLUG7wfl-q_4F2NWGYIjoCp-m1Y65L05wn4eSKx59PAQO08hZfwivDwpFyNpQp05T4_FbOUvhN0lptZ8oV1LYZLqwA324zuf9kfPZJ257hN01kl567-5NOqeXlaVX1_thWPDuoy1Di_DDGuJ9ceg-MSelRW3UpqIeS6VHQuCy2qlJRWmQXmZi5YvPP9b2iwp0EghKHroHVebNlYbMDjOxtfvdaNVSd8GOZwXBwA_KJyGmOIaJXmzJS2gpERSdQ&h=3DXDfLPfIcv5cKyuPR7rrrgqkByuzATS88cBFVNlByg + 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: + - "3749" + X-Msedge-Ref: + - 'Ref A: 1801A9FCC19940FC81EF57409EFB6686 Ref B: MAA201060515053 Ref C: 2024-10-15T08:38:57Z' + status: 202 Accepted + code: 202 + duration: 988.023126ms + - 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: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRFQldWTVItV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638645782525631648&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=Wx8PVI1oEbPLRndf8ST6NkxGJk_pzrOxzPX18VOCA31jvJSCIAz9RUWEotXfAcx-_ednSnMf1-y-dzr0ptzzh24d3hotP2TCUH6em3Uoyb1IAonaWVzmJZiVbuPg01Wqv8ZEMt_4jW-Trw8zsSsHoby3KS4HlE39u5zBxlvD0LvqO9ruiojyQxAKkTFI03dMhIZfj-NpaNe2E9wghG1ym74z_q2wwL_SW-Q3Z0YrKHhlJFM1zOCkoJ3NVb7-syMJFKqbB57DCk4kQWBr00-F-P2ZPBYYRmmet4g6DG1fpofIzNhqF6P7rZwN6crQqkAsK1dKhJ_9nIwfDqPGVv8yWQ&h=9arWnULvtu6jjdMPK9Q5A9T9BeiUM2CeJGDS7UGp2a0 + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRFQldWTVItV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638645783558134949&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=db2EPGHkVRFMvIDJkccbNmW4AzrPCKChuxu8u2c0ONzHUWh1HBSDw4jC3uIvKLK08x6Thqc24fcbiAZE7eWy2f--E8oNmfW6knoIUUFCngWSynT9BTkzUfsCeLyRUEFpBg8GfhB0e7fowur8rdhVXbhdbseD_sW7i_wveq1VVfbVa8n6eJld7oIeE7XTTC1r3DKSqYKU0LuXw9ZN_j4vdGiXzPfYoq96ISSO_NwGjd05FBtjS1YkMPyzweZSi9i53hDq5RMCSrmBzUw80b1uo67UFQ2SmIEgBBaV6aS4nGzjuS3vOA7UFy56LczjMZ6EhJIF5BNBZOnQ2UCq73ITtA&h=ArqWOxvkpJoE7GcioBznYGrgLV4iVAuog5brr5N5IxY + 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: + - "3749" + X-Msedge-Ref: + - 'Ref A: B88C3A5D0DC247C7B19DDAB17C4F1DEB Ref B: MAA201060515053 Ref C: 2024-10-15T08:39:14Z' + status: 202 Accepted + code: 202 + duration: 994.784667ms + - 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: + - "6" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRFQldWTVItV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638645782525631648&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=Wx8PVI1oEbPLRndf8ST6NkxGJk_pzrOxzPX18VOCA31jvJSCIAz9RUWEotXfAcx-_ednSnMf1-y-dzr0ptzzh24d3hotP2TCUH6em3Uoyb1IAonaWVzmJZiVbuPg01Wqv8ZEMt_4jW-Trw8zsSsHoby3KS4HlE39u5zBxlvD0LvqO9ruiojyQxAKkTFI03dMhIZfj-NpaNe2E9wghG1ym74z_q2wwL_SW-Q3Z0YrKHhlJFM1zOCkoJ3NVb7-syMJFKqbB57DCk4kQWBr00-F-P2ZPBYYRmmet4g6DG1fpofIzNhqF6P7rZwN6crQqkAsK1dKhJ_9nIwfDqPGVv8yWQ&h=9arWnULvtu6jjdMPK9Q5A9T9BeiUM2CeJGDS7UGp2a0 + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRFQldWTVItV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638645783728206895&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=QZDhsUBugX92HibSiFTfESjA8L8rDUYrmi_HK2fmK5cjgyendC0mjn8ay7jZR7_GDV019xpnzHT8ZrIr8zvRg7Q7PBJdM5Flfl4jZnbulAvXsAjaQCCWipgIXGBjLfANl1Mvam0OrKtae6_IfBxNjc7vQW1Cu0Yw69v4mOHJZnHEQ7qhPMMYquP2TrkGMkUr3yYDLdPCheASValOJr1sqNbth7VU9wFdUY5a-t71HW0kHOCc3Y0keQiwZvOo5c9qz92Qz9h9pLUSjdyeMVzMEqrvvz-JC8WgR5l4uU0Y8sdhjvuvDyG6GUlx9J-HtPmPu7nienyRVRGgHAivg46Keg&h=CQmxwKnRIubRfqB7dKs-z3alcHOelJdShRMLC0VBy-8 + 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: + - "3749" + X-Msedge-Ref: + - 'Ref A: 8092DA8EBE644023A5CD6F2A43379A11 Ref B: MAA201060515053 Ref C: 2024-10-15T08:39:31Z' + status: 202 Accepted + code: 202 + duration: 1.003467876s + - 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: + - "7" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRFQldWTVItV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638645782525631648&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=Wx8PVI1oEbPLRndf8ST6NkxGJk_pzrOxzPX18VOCA31jvJSCIAz9RUWEotXfAcx-_ednSnMf1-y-dzr0ptzzh24d3hotP2TCUH6em3Uoyb1IAonaWVzmJZiVbuPg01Wqv8ZEMt_4jW-Trw8zsSsHoby3KS4HlE39u5zBxlvD0LvqO9ruiojyQxAKkTFI03dMhIZfj-NpaNe2E9wghG1ym74z_q2wwL_SW-Q3Z0YrKHhlJFM1zOCkoJ3NVb7-syMJFKqbB57DCk4kQWBr00-F-P2ZPBYYRmmet4g6DG1fpofIzNhqF6P7rZwN6crQqkAsK1dKhJ_9nIwfDqPGVv8yWQ&h=9arWnULvtu6jjdMPK9Q5A9T9BeiUM2CeJGDS7UGp2a0 + 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: + - "3749" + X-Msedge-Ref: + - 'Ref A: B8C952535ED3495DBC5E9A3F751B1F64 Ref B: MAA201060515053 Ref C: 2024-10-15T08:39:48Z' + status: 200 OK + code: 200 + duration: 1.053654709s + - 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: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ebwvmr/providers/Microsoft.Network/applicationSecurityGroups/sampleasg?api-version=2024-01-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-ebwvmr'' 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: 9D2C47D88E8442739450A064F1929702 Ref B: MAA201060515053 Ref C: 2024-10-15T08:39:54Z' + status: 404 Not Found + code: 404 + duration: 385.225333ms diff --git a/v2/samples/network/v1api20240101/v1api20240101_applicationsecuritygroup.yaml b/v2/samples/network/v1api20240101/v1api20240101_applicationsecuritygroup.yaml new file mode 100644 index 00000000000..eb08cb4713e --- /dev/null +++ b/v2/samples/network/v1api20240101/v1api20240101_applicationsecuritygroup.yaml @@ -0,0 +1,9 @@ +apiVersion: network.azure.com/v1api20240101 +kind: ApplicationSecurityGroup +metadata: + name: sampleasg + namespace: default +spec: + location: eastus2 + owner: + name: aso-sample-rg