diff --git a/docs/hugo/content/reference/_index.md b/docs/hugo/content/reference/_index.md index 04f56f31f38..ff108ac3b4a 100644 --- a/docs/hugo/content/reference/_index.md +++ b/docs/hugo/content/reference/_index.md @@ -418,6 +418,14 @@ These resource(s) are available for use in the current release of ASO. Different To install the CRDs for these resources, your ASO configuration must include `insights.azure.com/*` as a one of the configured CRD patterns. See [CRD Management in ASO](https://azure.github.io/azure-service-operator/guide/crd-management/) for details on doing this for both [Helm](https://azure.github.io/azure-service-operator/guide/crd-management/#helm) and [YAML](https://azure.github.io/azure-service-operator/guide/crd-management/#yaml) based installations. +### Next Release + +Development of these new resources is complete and they will be available in the next release of ASO. + +| Resource | ARM Version | CRD Version | Supported From | Sample | +|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------|----------------------|----------------|--------------------------------------------------------------------------------------------------------------------------------------------------------| +| [DiagnosticSetting](https://azure.github.io/azure-service-operator/reference/insights/v1api20210501preview/#insights.azure.com/v1api20210501preview.DiagnosticSetting) | 2021-05-01-preview | v1api20210501preview | v2.11.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/insights/v1api20210501preview/v1api20210501preview_diagnosticsetting.yaml) | + ### Released These resource(s) are available for use in the current release of ASO. Different versions of a given resource reflect different versions of the Azure ARM API. diff --git a/docs/hugo/content/reference/insights/_index.md b/docs/hugo/content/reference/insights/_index.md index 58e87bf9a22..7381b8218ac 100644 --- a/docs/hugo/content/reference/insights/_index.md +++ b/docs/hugo/content/reference/insights/_index.md @@ -5,6 +5,14 @@ no_list: true --- To install the CRDs for these resources, your ASO configuration must include `insights.azure.com/*` as a one of the configured CRD patterns. See [CRD Management in ASO](https://azure.github.io/azure-service-operator/guide/crd-management/) for details on doing this for both [Helm](https://azure.github.io/azure-service-operator/guide/crd-management/#helm) and [YAML](https://azure.github.io/azure-service-operator/guide/crd-management/#yaml) based installations. +### Next Release + +Development of these new resources is complete and they will be available in the next release of ASO. + +| Resource | ARM Version | CRD Version | Supported From | Sample | +|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------|----------------------|----------------|--------------------------------------------------------------------------------------------------------------------------------------------------------| +| [DiagnosticSetting](https://azure.github.io/azure-service-operator/reference/insights/v1api20210501preview/#insights.azure.com/v1api20210501preview.DiagnosticSetting) | 2021-05-01-preview | v1api20210501preview | v2.11.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/insights/v1api20210501preview/v1api20210501preview_diagnosticsetting.yaml) | + ### Released These resource(s) are available for use in the current release of ASO. Different versions of a given resource reflect different versions of the Azure ARM API. diff --git a/docs/hugo/content/reference/insights/v1api20210501preview.md b/docs/hugo/content/reference/insights/v1api20210501preview.md new file mode 100644 index 00000000000..b6b54c6e239 --- /dev/null +++ b/docs/hugo/content/reference/insights/v1api20210501preview.md @@ -0,0 +1,1884 @@ +--- +title: insights.azure.com/v1api20210501preview +--- +

insights.azure.com/v1api20210501preview

+
+

Package v1api20210501preview contains API Schema definitions for the insights v1api20210501preview API group

+
+Resource Types: + +

APIVersion +(string alias)

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

"2021-05-01-preview"

+

DiagnosticSetting +

+
+

Generator information: +- Generated from: /monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/diagnosticsSettings_API.json +- ARM URI: /{resourceUri}/providers/Microsoft.Insights/diagnosticSettings/{name}

+
+ + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+metadata
+ + +Kubernetes meta/v1.ObjectMeta + + +
+Refer to the Kubernetes API documentation for the fields of the +metadata field. +
+spec
+ + +DiagnosticSetting_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.

+
+eventHubAuthorizationRuleReference
+ + +genruntime.ResourceReference + + +
+

EventHubAuthorizationRuleReference: The resource Id for the event hub authorization rule.

+
+eventHubName
+ +string + +
+

EventHubName: The name of the event hub. If none is specified, the default event hub will be selected.

+
+logAnalyticsDestinationType
+ +string + +
+

LogAnalyticsDestinationType: A string indicating whether the export to Log Analytics should use the default destination +type, i.e. AzureDiagnostics, or use a destination type constructed as follows: _. Possible values are: Dedicated and null (null is default.)

+
+logs
+ + +[]LogSettings + + +
+

Logs: The list of logs settings.

+
+marketplacePartnerReference
+ + +genruntime.ResourceReference + + +
+

MarketplacePartnerReference: The full ARM resource ID of the Marketplace resource to which you would like to send +Diagnostic Logs.

+
+metrics
+ + +[]MetricSettings + + +
+

Metrics: The list of metric settings.

+
+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.

+
+serviceBusRuleId
+ +string + +
+

ServiceBusRuleId: The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility.

+
+storageAccountReference
+ + +genruntime.ResourceReference + + +
+

StorageAccountReference: The resource ID of the storage account to which you would like to send Diagnostic Logs.

+
+workspaceReference
+ + +genruntime.ResourceReference + + +
+

WorkspaceReference: The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic +Logs. Example: +/​subscriptions/​4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/​resourceGroups/​insights-integration/​providers/​Microsoft.OperationalInsights/​workspaces/​viruela2 +

+
+status
+ + +DiagnosticSetting_STATUS + + +
+
+

DiagnosticSetting_STATUS +

+

+(Appears on:DiagnosticSetting) +

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

Conditions: The observed state of the resource

+
+eventHubAuthorizationRuleId
+ +string + +
+

EventHubAuthorizationRuleId: The resource Id for the event hub authorization rule.

+
+eventHubName
+ +string + +
+

EventHubName: The name of the event hub. If none is specified, the default event hub will be selected.

+
+id
+ +string + +
+

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

+logAnalyticsDestinationType
+ +string + +
+

LogAnalyticsDestinationType: A string indicating whether the export to Log Analytics should use the default destination +type, i.e. AzureDiagnostics, or use a destination type constructed as follows: _. Possible values are: Dedicated and null (null is default.)

+
+logs
+ + +[]LogSettings_STATUS + + +
+

Logs: The list of logs settings.

+
+marketplacePartnerId
+ +string + +
+

MarketplacePartnerId: The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic +Logs.

+
+metrics
+ + +[]MetricSettings_STATUS + + +
+

Metrics: The list of metric settings.

+
+name
+ +string + +
+

Name: The name of the resource

+
+serviceBusRuleId
+ +string + +
+

ServiceBusRuleId: The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility.

+
+storageAccountId
+ +string + +
+

StorageAccountId: The resource ID of the storage account to which you would like to send Diagnostic Logs.

+
+systemData
+ + +SystemData_STATUS + + +
+

SystemData: The system metadata related to this resource.

+
+type
+ +string + +
+

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

+
+workspaceId
+ +string + +
+

WorkspaceId: The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. +Example: +/​subscriptions/​4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/​resourceGroups/​insights-integration/​providers/​Microsoft.OperationalInsights/​workspaces/​viruela2 +

+

DiagnosticSetting_STATUS_ARM +

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
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
+ + +DiagnosticSettings_STATUS_ARM + + +
+

Properties: Properties of a Diagnostic Settings Resource.

+
+systemData
+ + +SystemData_STATUS_ARM + + +
+

SystemData: The system metadata related to this resource.

+
+type
+ +string + +
+

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

+
+

DiagnosticSetting_Spec +

+

+(Appears on:DiagnosticSetting) +

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
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.

+
+eventHubAuthorizationRuleReference
+ + +genruntime.ResourceReference + + +
+

EventHubAuthorizationRuleReference: The resource Id for the event hub authorization rule.

+
+eventHubName
+ +string + +
+

EventHubName: The name of the event hub. If none is specified, the default event hub will be selected.

+
+logAnalyticsDestinationType
+ +string + +
+

LogAnalyticsDestinationType: A string indicating whether the export to Log Analytics should use the default destination +type, i.e. AzureDiagnostics, or use a destination type constructed as follows: _. Possible values are: Dedicated and null (null is default.)

+
+logs
+ + +[]LogSettings + + +
+

Logs: The list of logs settings.

+
+marketplacePartnerReference
+ + +genruntime.ResourceReference + + +
+

MarketplacePartnerReference: The full ARM resource ID of the Marketplace resource to which you would like to send +Diagnostic Logs.

+
+metrics
+ + +[]MetricSettings + + +
+

Metrics: The list of metric settings.

+
+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.

+
+serviceBusRuleId
+ +string + +
+

ServiceBusRuleId: The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility.

+
+storageAccountReference
+ + +genruntime.ResourceReference + + +
+

StorageAccountReference: The resource ID of the storage account to which you would like to send Diagnostic Logs.

+
+workspaceReference
+ + +genruntime.ResourceReference + + +
+

WorkspaceReference: The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic +Logs. Example: +/​subscriptions/​4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/​resourceGroups/​insights-integration/​providers/​Microsoft.OperationalInsights/​workspaces/​viruela2 +

+

DiagnosticSetting_Spec_ARM +

+
+
+ + + + + + + + + + + + + + + + + +
FieldDescription
+name
+ +string + +
+
+properties
+ + +DiagnosticSettings_ARM + + +
+

Properties: Properties of a Diagnostic Settings Resource.

+
+

DiagnosticSettings_ARM +

+

+(Appears on:DiagnosticSetting_Spec_ARM) +

+
+

The diagnostic settings.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+eventHubAuthorizationRuleId
+ +string + +
+
+eventHubName
+ +string + +
+

EventHubName: The name of the event hub. If none is specified, the default event hub will be selected.

+
+logAnalyticsDestinationType
+ +string + +
+

LogAnalyticsDestinationType: A string indicating whether the export to Log Analytics should use the default destination +type, i.e. AzureDiagnostics, or use a destination type constructed as follows: _. Possible values are: Dedicated and null (null is default.)

+
+logs
+ + +[]LogSettings_ARM + + +
+

Logs: The list of logs settings.

+
+marketplacePartnerId
+ +string + +
+
+metrics
+ + +[]MetricSettings_ARM + + +
+

Metrics: The list of metric settings.

+
+serviceBusRuleId
+ +string + +
+

ServiceBusRuleId: The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility.

+
+storageAccountId
+ +string + +
+
+workspaceId
+ +string + +
+
+

DiagnosticSettings_STATUS_ARM +

+

+(Appears on:DiagnosticSetting_STATUS_ARM) +

+
+

The diagnostic settings.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+eventHubAuthorizationRuleId
+ +string + +
+

EventHubAuthorizationRuleId: The resource Id for the event hub authorization rule.

+
+eventHubName
+ +string + +
+

EventHubName: The name of the event hub. If none is specified, the default event hub will be selected.

+
+logAnalyticsDestinationType
+ +string + +
+

LogAnalyticsDestinationType: A string indicating whether the export to Log Analytics should use the default destination +type, i.e. AzureDiagnostics, or use a destination type constructed as follows: _. Possible values are: Dedicated and null (null is default.)

+
+logs
+ + +[]LogSettings_STATUS_ARM + + +
+

Logs: The list of logs settings.

+
+marketplacePartnerId
+ +string + +
+

MarketplacePartnerId: The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic +Logs.

+
+metrics
+ + +[]MetricSettings_STATUS_ARM + + +
+

Metrics: The list of metric settings.

+
+serviceBusRuleId
+ +string + +
+

ServiceBusRuleId: The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility.

+
+storageAccountId
+ +string + +
+

StorageAccountId: The resource ID of the storage account to which you would like to send Diagnostic Logs.

+
+workspaceId
+ +string + +
+

WorkspaceId: The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. +Example: +/​subscriptions/​4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/​resourceGroups/​insights-integration/​providers/​Microsoft.OperationalInsights/​workspaces/​viruela2 +

+

LogSettings +

+

+(Appears on:DiagnosticSetting_Spec) +

+
+

Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+category
+ +string + +
+

Category: Name of a Diagnostic Log category for a resource type this setting is applied to. To obtain the list of +Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation.

+
+categoryGroup
+ +string + +
+

CategoryGroup: Name of a Diagnostic Log category group for a resource type this setting is applied to. To obtain the +list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation.

+
+enabled
+ +bool + +
+

Enabled: a value indicating whether this log is enabled.

+
+retentionPolicy
+ + +RetentionPolicy + + +
+

RetentionPolicy: the retention policy for this log.

+
+

LogSettings_ARM +

+

+(Appears on:DiagnosticSettings_ARM) +

+
+

Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+category
+ +string + +
+

Category: Name of a Diagnostic Log category for a resource type this setting is applied to. To obtain the list of +Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation.

+
+categoryGroup
+ +string + +
+

CategoryGroup: Name of a Diagnostic Log category group for a resource type this setting is applied to. To obtain the +list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation.

+
+enabled
+ +bool + +
+

Enabled: a value indicating whether this log is enabled.

+
+retentionPolicy
+ + +RetentionPolicy_ARM + + +
+

RetentionPolicy: the retention policy for this log.

+
+

LogSettings_STATUS +

+

+(Appears on:DiagnosticSetting_STATUS) +

+
+

Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+category
+ +string + +
+

Category: Name of a Diagnostic Log category for a resource type this setting is applied to. To obtain the list of +Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation.

+
+categoryGroup
+ +string + +
+

CategoryGroup: Name of a Diagnostic Log category group for a resource type this setting is applied to. To obtain the +list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation.

+
+enabled
+ +bool + +
+

Enabled: a value indicating whether this log is enabled.

+
+retentionPolicy
+ + +RetentionPolicy_STATUS + + +
+

RetentionPolicy: the retention policy for this log.

+
+

LogSettings_STATUS_ARM +

+

+(Appears on:DiagnosticSettings_STATUS_ARM) +

+
+

Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+category
+ +string + +
+

Category: Name of a Diagnostic Log category for a resource type this setting is applied to. To obtain the list of +Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation.

+
+categoryGroup
+ +string + +
+

CategoryGroup: Name of a Diagnostic Log category group for a resource type this setting is applied to. To obtain the +list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation.

+
+enabled
+ +bool + +
+

Enabled: a value indicating whether this log is enabled.

+
+retentionPolicy
+ + +RetentionPolicy_STATUS_ARM + + +
+

RetentionPolicy: the retention policy for this log.

+
+

MetricSettings +

+

+(Appears on:DiagnosticSetting_Spec) +

+
+

Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+category
+ +string + +
+

Category: Name of a Diagnostic Metric category for a resource type this setting is applied to. To obtain the list of +Diagnostic metric categories for a resource, first perform a GET diagnostic settings operation.

+
+enabled
+ +bool + +
+

Enabled: a value indicating whether this category is enabled.

+
+retentionPolicy
+ + +RetentionPolicy + + +
+

RetentionPolicy: the retention policy for this category.

+
+timeGrain
+ +string + +
+

TimeGrain: the timegrain of the metric in ISO8601 format.

+
+

MetricSettings_ARM +

+

+(Appears on:DiagnosticSettings_ARM) +

+
+

Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+category
+ +string + +
+

Category: Name of a Diagnostic Metric category for a resource type this setting is applied to. To obtain the list of +Diagnostic metric categories for a resource, first perform a GET diagnostic settings operation.

+
+enabled
+ +bool + +
+

Enabled: a value indicating whether this category is enabled.

+
+retentionPolicy
+ + +RetentionPolicy_ARM + + +
+

RetentionPolicy: the retention policy for this category.

+
+timeGrain
+ +string + +
+

TimeGrain: the timegrain of the metric in ISO8601 format.

+
+

MetricSettings_STATUS +

+

+(Appears on:DiagnosticSetting_STATUS) +

+
+

Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+category
+ +string + +
+

Category: Name of a Diagnostic Metric category for a resource type this setting is applied to. To obtain the list of +Diagnostic metric categories for a resource, first perform a GET diagnostic settings operation.

+
+enabled
+ +bool + +
+

Enabled: a value indicating whether this category is enabled.

+
+retentionPolicy
+ + +RetentionPolicy_STATUS + + +
+

RetentionPolicy: the retention policy for this category.

+
+timeGrain
+ +string + +
+

TimeGrain: the timegrain of the metric in ISO8601 format.

+
+

MetricSettings_STATUS_ARM +

+

+(Appears on:DiagnosticSettings_STATUS_ARM) +

+
+

Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+category
+ +string + +
+

Category: Name of a Diagnostic Metric category for a resource type this setting is applied to. To obtain the list of +Diagnostic metric categories for a resource, first perform a GET diagnostic settings operation.

+
+enabled
+ +bool + +
+

Enabled: a value indicating whether this category is enabled.

+
+retentionPolicy
+ + +RetentionPolicy_STATUS_ARM + + +
+

RetentionPolicy: the retention policy for this category.

+
+timeGrain
+ +string + +
+

TimeGrain: the timegrain of the metric in ISO8601 format.

+
+

RetentionPolicy +

+

+(Appears on:LogSettings, MetricSettings) +

+
+

Specifies the retention policy for the log.

+
+ + + + + + + + + + + + + + + + + +
FieldDescription
+days
+ +int + +
+

Days: the number of days for the retention in days. A value of 0 will retain the events indefinitely.

+
+enabled
+ +bool + +
+

Enabled: a value indicating whether the retention policy is enabled.

+
+

RetentionPolicy_ARM +

+

+(Appears on:LogSettings_ARM, MetricSettings_ARM) +

+
+

Specifies the retention policy for the log.

+
+ + + + + + + + + + + + + + + + + +
FieldDescription
+days
+ +int + +
+

Days: the number of days for the retention in days. A value of 0 will retain the events indefinitely.

+
+enabled
+ +bool + +
+

Enabled: a value indicating whether the retention policy is enabled.

+
+

RetentionPolicy_STATUS +

+

+(Appears on:LogSettings_STATUS, MetricSettings_STATUS) +

+
+

Specifies the retention policy for the log.

+
+ + + + + + + + + + + + + + + + + +
FieldDescription
+days
+ +int + +
+

Days: the number of days for the retention in days. A value of 0 will retain the events indefinitely.

+
+enabled
+ +bool + +
+

Enabled: a value indicating whether the retention policy is enabled.

+
+

RetentionPolicy_STATUS_ARM +

+

+(Appears on:LogSettings_STATUS_ARM, MetricSettings_STATUS_ARM) +

+
+

Specifies the retention policy for the log.

+
+ + + + + + + + + + + + + + + + + +
FieldDescription
+days
+ +int + +
+

Days: the number of days for the retention in days. A value of 0 will retain the events indefinitely.

+
+enabled
+ +bool + +
+

Enabled: a value indicating whether the retention policy is enabled.

+
+

SystemData_CreatedByType_STATUS +(string alias)

+

+(Appears on:SystemData_STATUS) +

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

"Application"

"Key"

"ManagedIdentity"

"User"

+

SystemData_CreatedByType_STATUS_ARM +(string alias)

+

+(Appears on:SystemData_STATUS_ARM) +

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

"Application"

"Key"

"ManagedIdentity"

"User"

+

SystemData_LastModifiedByType_STATUS +(string alias)

+

+(Appears on:SystemData_STATUS) +

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

"Application"

"Key"

"ManagedIdentity"

"User"

+

SystemData_LastModifiedByType_STATUS_ARM +(string alias)

+

+(Appears on:SystemData_STATUS_ARM) +

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

"Application"

"Key"

"ManagedIdentity"

"User"

+

SystemData_STATUS +

+

+(Appears on:DiagnosticSetting_STATUS) +

+
+

Metadata pertaining to creation and last modification of the resource.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+createdAt
+ +string + +
+

CreatedAt: The timestamp of resource creation (UTC).

+
+createdBy
+ +string + +
+

CreatedBy: The identity that created the resource.

+
+createdByType
+ + +SystemData_CreatedByType_STATUS + + +
+

CreatedByType: The type of identity that created the resource.

+
+lastModifiedAt
+ +string + +
+

LastModifiedAt: The timestamp of resource last modification (UTC)

+
+lastModifiedBy
+ +string + +
+

LastModifiedBy: The identity that last modified the resource.

+
+lastModifiedByType
+ + +SystemData_LastModifiedByType_STATUS + + +
+

LastModifiedByType: The type of identity that last modified the resource.

+
+

SystemData_STATUS_ARM +

+

+(Appears on:DiagnosticSetting_STATUS_ARM) +

+
+

Metadata pertaining to creation and last modification of the resource.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+createdAt
+ +string + +
+

CreatedAt: The timestamp of resource creation (UTC).

+
+createdBy
+ +string + +
+

CreatedBy: The identity that created the resource.

+
+createdByType
+ + +SystemData_CreatedByType_STATUS_ARM + + +
+

CreatedByType: The type of identity that created the resource.

+
+lastModifiedAt
+ +string + +
+

LastModifiedAt: The timestamp of resource last modification (UTC)

+
+lastModifiedBy
+ +string + +
+

LastModifiedBy: The identity that last modified the resource.

+
+lastModifiedByType
+ + +SystemData_LastModifiedByType_STATUS_ARM + + +
+

LastModifiedByType: The type of identity that last modified the resource.

+
+
diff --git a/v2/api/insights/customizations/diagnostic_setting_extension_types_gen.go b/v2/api/insights/customizations/diagnostic_setting_extension_types_gen.go new file mode 100644 index 00000000000..6688ab0221c --- /dev/null +++ b/v2/api/insights/customizations/diagnostic_setting_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 ( + v20210501p "github.com/Azure/azure-service-operator/v2/api/insights/v1api20210501preview" + storage "github.com/Azure/azure-service-operator/v2/api/insights/v1api20210501preview/storage" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" +) + +type DiagnosticSettingExtension struct { +} + +// GetExtendedResources Returns the KubernetesResource slice for Resource versions +func (extension *DiagnosticSettingExtension) GetExtendedResources() []genruntime.KubernetesResource { + return []genruntime.KubernetesResource{ + &v20210501p.DiagnosticSetting{}, + &storage.DiagnosticSetting{}} +} diff --git a/v2/api/insights/customizations/structure.txt b/v2/api/insights/customizations/structure.txt index 546c5aff4d0..8555e355211 100644 --- a/v2/api/insights/customizations/structure.txt +++ b/v2/api/insights/customizations/structure.txt @@ -4,6 +4,7 @@ github.com/Azure/azure-service-operator/v2/api/insights/customizations ActionGroupExtension: Object (0 properties) AutoscaleSettingExtension: Object (0 properties) ComponentExtension: Object (0 properties) +DiagnosticSettingExtension: Object (0 properties) MetricAlertExtension: Object (0 properties) ScheduledQueryRuleExtension: Object (0 properties) WebtestExtension: Object (0 properties) diff --git a/v2/api/insights/v1api20210501preview/diagnostic_setting_spec_arm_types_gen.go b/v2/api/insights/v1api20210501preview/diagnostic_setting_spec_arm_types_gen.go new file mode 100644 index 00000000000..6201924ec80 --- /dev/null +++ b/v2/api/insights/v1api20210501preview/diagnostic_setting_spec_arm_types_gen.go @@ -0,0 +1,97 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20210501preview + +import "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + +type DiagnosticSetting_Spec_ARM struct { + Name string `json:"name,omitempty"` + + // Properties: Properties of a Diagnostic Settings Resource. + Properties *DiagnosticSettings_ARM `json:"properties,omitempty"` +} + +var _ genruntime.ARMResourceSpec = &DiagnosticSetting_Spec_ARM{} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2021-05-01-preview" +func (setting DiagnosticSetting_Spec_ARM) GetAPIVersion() string { + return "2021-05-01-preview" +} + +// GetName returns the Name of the resource +func (setting *DiagnosticSetting_Spec_ARM) GetName() string { + return setting.Name +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.Insights/diagnosticSettings" +func (setting *DiagnosticSetting_Spec_ARM) GetType() string { + return "Microsoft.Insights/diagnosticSettings" +} + +// The diagnostic settings. +type DiagnosticSettings_ARM struct { + EventHubAuthorizationRuleId *string `json:"eventHubAuthorizationRuleId,omitempty"` + + // EventHubName: The name of the event hub. If none is specified, the default event hub will be selected. + EventHubName *string `json:"eventHubName,omitempty"` + + // LogAnalyticsDestinationType: A string indicating whether the export to Log Analytics should use the default destination + // type, i.e. AzureDiagnostics, or use a destination type constructed as follows: _. Possible values are: Dedicated and null (null is default.) + LogAnalyticsDestinationType *string `json:"logAnalyticsDestinationType,omitempty"` + + // Logs: The list of logs settings. + Logs []LogSettings_ARM `json:"logs,omitempty"` + MarketplacePartnerId *string `json:"marketplacePartnerId,omitempty"` + + // Metrics: The list of metric settings. + Metrics []MetricSettings_ARM `json:"metrics,omitempty"` + + // ServiceBusRuleId: The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + ServiceBusRuleId *string `json:"serviceBusRuleId,omitempty"` + StorageAccountId *string `json:"storageAccountId,omitempty"` + WorkspaceId *string `json:"workspaceId,omitempty"` +} + +// Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log. +type LogSettings_ARM struct { + // Category: Name of a Diagnostic Log category for a resource type this setting is applied to. To obtain the list of + // Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + Category *string `json:"category,omitempty"` + + // CategoryGroup: Name of a Diagnostic Log category group for a resource type this setting is applied to. To obtain the + // list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + CategoryGroup *string `json:"categoryGroup,omitempty"` + + // Enabled: a value indicating whether this log is enabled. + Enabled *bool `json:"enabled,omitempty"` + + // RetentionPolicy: the retention policy for this log. + RetentionPolicy *RetentionPolicy_ARM `json:"retentionPolicy,omitempty"` +} + +// Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric. +type MetricSettings_ARM struct { + // Category: Name of a Diagnostic Metric category for a resource type this setting is applied to. To obtain the list of + // Diagnostic metric categories for a resource, first perform a GET diagnostic settings operation. + Category *string `json:"category,omitempty"` + + // Enabled: a value indicating whether this category is enabled. + Enabled *bool `json:"enabled,omitempty"` + + // RetentionPolicy: the retention policy for this category. + RetentionPolicy *RetentionPolicy_ARM `json:"retentionPolicy,omitempty"` + + // TimeGrain: the timegrain of the metric in ISO8601 format. + TimeGrain *string `json:"timeGrain,omitempty"` +} + +// Specifies the retention policy for the log. +type RetentionPolicy_ARM struct { + // Days: the number of days for the retention in days. A value of 0 will retain the events indefinitely. + Days *int `json:"days,omitempty"` + + // Enabled: a value indicating whether the retention policy is enabled. + Enabled *bool `json:"enabled,omitempty"` +} diff --git a/v2/api/insights/v1api20210501preview/diagnostic_setting_spec_arm_types_gen_test.go b/v2/api/insights/v1api20210501preview/diagnostic_setting_spec_arm_types_gen_test.go new file mode 100644 index 00000000000..8049bfd2a8b --- /dev/null +++ b/v2/api/insights/v1api20210501preview/diagnostic_setting_spec_arm_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 v1api20210501preview + +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_DiagnosticSetting_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 DiagnosticSetting_Spec_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDiagnosticSetting_Spec_ARM, DiagnosticSetting_Spec_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDiagnosticSetting_Spec_ARM runs a test to see if a specific instance of DiagnosticSetting_Spec_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForDiagnosticSetting_Spec_ARM(subject DiagnosticSetting_Spec_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DiagnosticSetting_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 DiagnosticSetting_Spec_ARM instances for property testing - lazily instantiated by +// DiagnosticSetting_Spec_ARMGenerator() +var diagnosticSetting_Spec_ARMGenerator gopter.Gen + +// DiagnosticSetting_Spec_ARMGenerator returns a generator of DiagnosticSetting_Spec_ARM instances for property testing. +// We first initialize diagnosticSetting_Spec_ARMGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func DiagnosticSetting_Spec_ARMGenerator() gopter.Gen { + if diagnosticSetting_Spec_ARMGenerator != nil { + return diagnosticSetting_Spec_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDiagnosticSetting_Spec_ARM(generators) + diagnosticSetting_Spec_ARMGenerator = gen.Struct(reflect.TypeOf(DiagnosticSetting_Spec_ARM{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDiagnosticSetting_Spec_ARM(generators) + AddRelatedPropertyGeneratorsForDiagnosticSetting_Spec_ARM(generators) + diagnosticSetting_Spec_ARMGenerator = gen.Struct(reflect.TypeOf(DiagnosticSetting_Spec_ARM{}), generators) + + return diagnosticSetting_Spec_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForDiagnosticSetting_Spec_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDiagnosticSetting_Spec_ARM(gens map[string]gopter.Gen) { + gens["Name"] = gen.AlphaString() +} + +// AddRelatedPropertyGeneratorsForDiagnosticSetting_Spec_ARM is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForDiagnosticSetting_Spec_ARM(gens map[string]gopter.Gen) { + gens["Properties"] = gen.PtrOf(DiagnosticSettings_ARMGenerator()) +} + +func Test_DiagnosticSettings_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DiagnosticSettings_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDiagnosticSettings_ARM, DiagnosticSettings_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDiagnosticSettings_ARM runs a test to see if a specific instance of DiagnosticSettings_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForDiagnosticSettings_ARM(subject DiagnosticSettings_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DiagnosticSettings_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 DiagnosticSettings_ARM instances for property testing - lazily instantiated by +// DiagnosticSettings_ARMGenerator() +var diagnosticSettings_ARMGenerator gopter.Gen + +// DiagnosticSettings_ARMGenerator returns a generator of DiagnosticSettings_ARM instances for property testing. +// We first initialize diagnosticSettings_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 DiagnosticSettings_ARMGenerator() gopter.Gen { + if diagnosticSettings_ARMGenerator != nil { + return diagnosticSettings_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDiagnosticSettings_ARM(generators) + diagnosticSettings_ARMGenerator = gen.Struct(reflect.TypeOf(DiagnosticSettings_ARM{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDiagnosticSettings_ARM(generators) + AddRelatedPropertyGeneratorsForDiagnosticSettings_ARM(generators) + diagnosticSettings_ARMGenerator = gen.Struct(reflect.TypeOf(DiagnosticSettings_ARM{}), generators) + + return diagnosticSettings_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForDiagnosticSettings_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDiagnosticSettings_ARM(gens map[string]gopter.Gen) { + gens["EventHubAuthorizationRuleId"] = gen.PtrOf(gen.AlphaString()) + gens["EventHubName"] = gen.PtrOf(gen.AlphaString()) + gens["LogAnalyticsDestinationType"] = gen.PtrOf(gen.AlphaString()) + gens["MarketplacePartnerId"] = gen.PtrOf(gen.AlphaString()) + gens["ServiceBusRuleId"] = gen.PtrOf(gen.AlphaString()) + gens["StorageAccountId"] = gen.PtrOf(gen.AlphaString()) + gens["WorkspaceId"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForDiagnosticSettings_ARM is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForDiagnosticSettings_ARM(gens map[string]gopter.Gen) { + gens["Logs"] = gen.SliceOf(LogSettings_ARMGenerator()) + gens["Metrics"] = gen.SliceOf(MetricSettings_ARMGenerator()) +} + +func Test_LogSettings_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of LogSettings_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLogSettings_ARM, LogSettings_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLogSettings_ARM runs a test to see if a specific instance of LogSettings_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForLogSettings_ARM(subject LogSettings_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual LogSettings_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 LogSettings_ARM instances for property testing - lazily instantiated by LogSettings_ARMGenerator() +var logSettings_ARMGenerator gopter.Gen + +// LogSettings_ARMGenerator returns a generator of LogSettings_ARM instances for property testing. +// We first initialize logSettings_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 LogSettings_ARMGenerator() gopter.Gen { + if logSettings_ARMGenerator != nil { + return logSettings_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLogSettings_ARM(generators) + logSettings_ARMGenerator = gen.Struct(reflect.TypeOf(LogSettings_ARM{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLogSettings_ARM(generators) + AddRelatedPropertyGeneratorsForLogSettings_ARM(generators) + logSettings_ARMGenerator = gen.Struct(reflect.TypeOf(LogSettings_ARM{}), generators) + + return logSettings_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForLogSettings_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLogSettings_ARM(gens map[string]gopter.Gen) { + gens["Category"] = gen.PtrOf(gen.AlphaString()) + gens["CategoryGroup"] = gen.PtrOf(gen.AlphaString()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForLogSettings_ARM is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForLogSettings_ARM(gens map[string]gopter.Gen) { + gens["RetentionPolicy"] = gen.PtrOf(RetentionPolicy_ARMGenerator()) +} + +func Test_MetricSettings_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MetricSettings_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMetricSettings_ARM, MetricSettings_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMetricSettings_ARM runs a test to see if a specific instance of MetricSettings_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForMetricSettings_ARM(subject MetricSettings_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MetricSettings_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 MetricSettings_ARM instances for property testing - lazily instantiated by MetricSettings_ARMGenerator() +var metricSettings_ARMGenerator gopter.Gen + +// MetricSettings_ARMGenerator returns a generator of MetricSettings_ARM instances for property testing. +// We first initialize metricSettings_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 MetricSettings_ARMGenerator() gopter.Gen { + if metricSettings_ARMGenerator != nil { + return metricSettings_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMetricSettings_ARM(generators) + metricSettings_ARMGenerator = gen.Struct(reflect.TypeOf(MetricSettings_ARM{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMetricSettings_ARM(generators) + AddRelatedPropertyGeneratorsForMetricSettings_ARM(generators) + metricSettings_ARMGenerator = gen.Struct(reflect.TypeOf(MetricSettings_ARM{}), generators) + + return metricSettings_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForMetricSettings_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMetricSettings_ARM(gens map[string]gopter.Gen) { + gens["Category"] = gen.PtrOf(gen.AlphaString()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["TimeGrain"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForMetricSettings_ARM is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForMetricSettings_ARM(gens map[string]gopter.Gen) { + gens["RetentionPolicy"] = gen.PtrOf(RetentionPolicy_ARMGenerator()) +} + +func Test_RetentionPolicy_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of RetentionPolicy_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForRetentionPolicy_ARM, RetentionPolicy_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForRetentionPolicy_ARM runs a test to see if a specific instance of RetentionPolicy_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForRetentionPolicy_ARM(subject RetentionPolicy_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual RetentionPolicy_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 RetentionPolicy_ARM instances for property testing - lazily instantiated by +// RetentionPolicy_ARMGenerator() +var retentionPolicy_ARMGenerator gopter.Gen + +// RetentionPolicy_ARMGenerator returns a generator of RetentionPolicy_ARM instances for property testing. +func RetentionPolicy_ARMGenerator() gopter.Gen { + if retentionPolicy_ARMGenerator != nil { + return retentionPolicy_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForRetentionPolicy_ARM(generators) + retentionPolicy_ARMGenerator = gen.Struct(reflect.TypeOf(RetentionPolicy_ARM{}), generators) + + return retentionPolicy_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForRetentionPolicy_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForRetentionPolicy_ARM(gens map[string]gopter.Gen) { + gens["Days"] = gen.PtrOf(gen.Int()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} diff --git a/v2/api/insights/v1api20210501preview/diagnostic_setting_status_arm_types_gen.go b/v2/api/insights/v1api20210501preview/diagnostic_setting_status_arm_types_gen.go new file mode 100644 index 00000000000..401fb025f08 --- /dev/null +++ b/v2/api/insights/v1api20210501preview/diagnostic_setting_status_arm_types_gen.go @@ -0,0 +1,154 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20210501preview + +type DiagnosticSetting_STATUS_ARM struct { + // Id: Fully qualified resource ID for the resource. Ex - + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + Id *string `json:"id,omitempty"` + + // Name: The name of the resource + Name *string `json:"name,omitempty"` + + // Properties: Properties of a Diagnostic Settings Resource. + Properties *DiagnosticSettings_STATUS_ARM `json:"properties,omitempty"` + + // SystemData: The system metadata related to this resource. + SystemData *SystemData_STATUS_ARM `json:"systemData,omitempty"` + + // Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + Type *string `json:"type,omitempty"` +} + +// The diagnostic settings. +type DiagnosticSettings_STATUS_ARM struct { + // EventHubAuthorizationRuleId: The resource Id for the event hub authorization rule. + EventHubAuthorizationRuleId *string `json:"eventHubAuthorizationRuleId,omitempty"` + + // EventHubName: The name of the event hub. If none is specified, the default event hub will be selected. + EventHubName *string `json:"eventHubName,omitempty"` + + // LogAnalyticsDestinationType: A string indicating whether the export to Log Analytics should use the default destination + // type, i.e. AzureDiagnostics, or use a destination type constructed as follows: _. Possible values are: Dedicated and null (null is default.) + LogAnalyticsDestinationType *string `json:"logAnalyticsDestinationType,omitempty"` + + // Logs: The list of logs settings. + Logs []LogSettings_STATUS_ARM `json:"logs,omitempty"` + + // MarketplacePartnerId: The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic + // Logs. + MarketplacePartnerId *string `json:"marketplacePartnerId,omitempty"` + + // Metrics: The list of metric settings. + Metrics []MetricSettings_STATUS_ARM `json:"metrics,omitempty"` + + // ServiceBusRuleId: The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + ServiceBusRuleId *string `json:"serviceBusRuleId,omitempty"` + + // StorageAccountId: The resource ID of the storage account to which you would like to send Diagnostic Logs. + StorageAccountId *string `json:"storageAccountId,omitempty"` + + // WorkspaceId: The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. + // Example: + // /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + WorkspaceId *string `json:"workspaceId,omitempty"` +} + +// Metadata pertaining to creation and last modification of the resource. +type SystemData_STATUS_ARM struct { + // CreatedAt: The timestamp of resource creation (UTC). + CreatedAt *string `json:"createdAt,omitempty"` + + // CreatedBy: The identity that created the resource. + CreatedBy *string `json:"createdBy,omitempty"` + + // CreatedByType: The type of identity that created the resource. + CreatedByType *SystemData_CreatedByType_STATUS_ARM `json:"createdByType,omitempty"` + + // LastModifiedAt: The timestamp of resource last modification (UTC) + LastModifiedAt *string `json:"lastModifiedAt,omitempty"` + + // LastModifiedBy: The identity that last modified the resource. + LastModifiedBy *string `json:"lastModifiedBy,omitempty"` + + // LastModifiedByType: The type of identity that last modified the resource. + LastModifiedByType *SystemData_LastModifiedByType_STATUS_ARM `json:"lastModifiedByType,omitempty"` +} + +// Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log. +type LogSettings_STATUS_ARM struct { + // Category: Name of a Diagnostic Log category for a resource type this setting is applied to. To obtain the list of + // Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + Category *string `json:"category,omitempty"` + + // CategoryGroup: Name of a Diagnostic Log category group for a resource type this setting is applied to. To obtain the + // list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + CategoryGroup *string `json:"categoryGroup,omitempty"` + + // Enabled: a value indicating whether this log is enabled. + Enabled *bool `json:"enabled,omitempty"` + + // RetentionPolicy: the retention policy for this log. + RetentionPolicy *RetentionPolicy_STATUS_ARM `json:"retentionPolicy,omitempty"` +} + +// Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric. +type MetricSettings_STATUS_ARM struct { + // Category: Name of a Diagnostic Metric category for a resource type this setting is applied to. To obtain the list of + // Diagnostic metric categories for a resource, first perform a GET diagnostic settings operation. + Category *string `json:"category,omitempty"` + + // Enabled: a value indicating whether this category is enabled. + Enabled *bool `json:"enabled,omitempty"` + + // RetentionPolicy: the retention policy for this category. + RetentionPolicy *RetentionPolicy_STATUS_ARM `json:"retentionPolicy,omitempty"` + + // TimeGrain: the timegrain of the metric in ISO8601 format. + TimeGrain *string `json:"timeGrain,omitempty"` +} + +type SystemData_CreatedByType_STATUS_ARM string + +const ( + SystemData_CreatedByType_STATUS_ARM_Application = SystemData_CreatedByType_STATUS_ARM("Application") + SystemData_CreatedByType_STATUS_ARM_Key = SystemData_CreatedByType_STATUS_ARM("Key") + SystemData_CreatedByType_STATUS_ARM_ManagedIdentity = SystemData_CreatedByType_STATUS_ARM("ManagedIdentity") + SystemData_CreatedByType_STATUS_ARM_User = SystemData_CreatedByType_STATUS_ARM("User") +) + +// Mapping from string to SystemData_CreatedByType_STATUS_ARM +var systemData_CreatedByType_STATUS_ARM_Values = map[string]SystemData_CreatedByType_STATUS_ARM{ + "application": SystemData_CreatedByType_STATUS_ARM_Application, + "key": SystemData_CreatedByType_STATUS_ARM_Key, + "managedidentity": SystemData_CreatedByType_STATUS_ARM_ManagedIdentity, + "user": SystemData_CreatedByType_STATUS_ARM_User, +} + +type SystemData_LastModifiedByType_STATUS_ARM string + +const ( + SystemData_LastModifiedByType_STATUS_ARM_Application = SystemData_LastModifiedByType_STATUS_ARM("Application") + SystemData_LastModifiedByType_STATUS_ARM_Key = SystemData_LastModifiedByType_STATUS_ARM("Key") + SystemData_LastModifiedByType_STATUS_ARM_ManagedIdentity = SystemData_LastModifiedByType_STATUS_ARM("ManagedIdentity") + SystemData_LastModifiedByType_STATUS_ARM_User = SystemData_LastModifiedByType_STATUS_ARM("User") +) + +// Mapping from string to SystemData_LastModifiedByType_STATUS_ARM +var systemData_LastModifiedByType_STATUS_ARM_Values = map[string]SystemData_LastModifiedByType_STATUS_ARM{ + "application": SystemData_LastModifiedByType_STATUS_ARM_Application, + "key": SystemData_LastModifiedByType_STATUS_ARM_Key, + "managedidentity": SystemData_LastModifiedByType_STATUS_ARM_ManagedIdentity, + "user": SystemData_LastModifiedByType_STATUS_ARM_User, +} + +// Specifies the retention policy for the log. +type RetentionPolicy_STATUS_ARM struct { + // Days: the number of days for the retention in days. A value of 0 will retain the events indefinitely. + Days *int `json:"days,omitempty"` + + // Enabled: a value indicating whether the retention policy is enabled. + Enabled *bool `json:"enabled,omitempty"` +} diff --git a/v2/api/insights/v1api20210501preview/diagnostic_setting_status_arm_types_gen_test.go b/v2/api/insights/v1api20210501preview/diagnostic_setting_status_arm_types_gen_test.go new file mode 100644 index 00000000000..59e52d8d34c --- /dev/null +++ b/v2/api/insights/v1api20210501preview/diagnostic_setting_status_arm_types_gen_test.go @@ -0,0 +1,468 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20210501preview + +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_DiagnosticSetting_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 DiagnosticSetting_STATUS_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDiagnosticSetting_STATUS_ARM, DiagnosticSetting_STATUS_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDiagnosticSetting_STATUS_ARM runs a test to see if a specific instance of DiagnosticSetting_STATUS_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForDiagnosticSetting_STATUS_ARM(subject DiagnosticSetting_STATUS_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DiagnosticSetting_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 DiagnosticSetting_STATUS_ARM instances for property testing - lazily instantiated by +// DiagnosticSetting_STATUS_ARMGenerator() +var diagnosticSetting_STATUS_ARMGenerator gopter.Gen + +// DiagnosticSetting_STATUS_ARMGenerator returns a generator of DiagnosticSetting_STATUS_ARM instances for property testing. +// We first initialize diagnosticSetting_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 DiagnosticSetting_STATUS_ARMGenerator() gopter.Gen { + if diagnosticSetting_STATUS_ARMGenerator != nil { + return diagnosticSetting_STATUS_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDiagnosticSetting_STATUS_ARM(generators) + diagnosticSetting_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(DiagnosticSetting_STATUS_ARM{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDiagnosticSetting_STATUS_ARM(generators) + AddRelatedPropertyGeneratorsForDiagnosticSetting_STATUS_ARM(generators) + diagnosticSetting_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(DiagnosticSetting_STATUS_ARM{}), generators) + + return diagnosticSetting_STATUS_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForDiagnosticSetting_STATUS_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDiagnosticSetting_STATUS_ARM(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForDiagnosticSetting_STATUS_ARM is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForDiagnosticSetting_STATUS_ARM(gens map[string]gopter.Gen) { + gens["Properties"] = gen.PtrOf(DiagnosticSettings_STATUS_ARMGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUS_ARMGenerator()) +} + +func Test_DiagnosticSettings_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 DiagnosticSettings_STATUS_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDiagnosticSettings_STATUS_ARM, DiagnosticSettings_STATUS_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDiagnosticSettings_STATUS_ARM runs a test to see if a specific instance of DiagnosticSettings_STATUS_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForDiagnosticSettings_STATUS_ARM(subject DiagnosticSettings_STATUS_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DiagnosticSettings_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 DiagnosticSettings_STATUS_ARM instances for property testing - lazily instantiated by +// DiagnosticSettings_STATUS_ARMGenerator() +var diagnosticSettings_STATUS_ARMGenerator gopter.Gen + +// DiagnosticSettings_STATUS_ARMGenerator returns a generator of DiagnosticSettings_STATUS_ARM instances for property testing. +// We first initialize diagnosticSettings_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 DiagnosticSettings_STATUS_ARMGenerator() gopter.Gen { + if diagnosticSettings_STATUS_ARMGenerator != nil { + return diagnosticSettings_STATUS_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDiagnosticSettings_STATUS_ARM(generators) + diagnosticSettings_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(DiagnosticSettings_STATUS_ARM{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDiagnosticSettings_STATUS_ARM(generators) + AddRelatedPropertyGeneratorsForDiagnosticSettings_STATUS_ARM(generators) + diagnosticSettings_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(DiagnosticSettings_STATUS_ARM{}), generators) + + return diagnosticSettings_STATUS_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForDiagnosticSettings_STATUS_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDiagnosticSettings_STATUS_ARM(gens map[string]gopter.Gen) { + gens["EventHubAuthorizationRuleId"] = gen.PtrOf(gen.AlphaString()) + gens["EventHubName"] = gen.PtrOf(gen.AlphaString()) + gens["LogAnalyticsDestinationType"] = gen.PtrOf(gen.AlphaString()) + gens["MarketplacePartnerId"] = gen.PtrOf(gen.AlphaString()) + gens["ServiceBusRuleId"] = gen.PtrOf(gen.AlphaString()) + gens["StorageAccountId"] = gen.PtrOf(gen.AlphaString()) + gens["WorkspaceId"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForDiagnosticSettings_STATUS_ARM is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForDiagnosticSettings_STATUS_ARM(gens map[string]gopter.Gen) { + gens["Logs"] = gen.SliceOf(LogSettings_STATUS_ARMGenerator()) + gens["Metrics"] = gen.SliceOf(MetricSettings_STATUS_ARMGenerator()) +} + +func Test_LogSettings_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 LogSettings_STATUS_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLogSettings_STATUS_ARM, LogSettings_STATUS_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLogSettings_STATUS_ARM runs a test to see if a specific instance of LogSettings_STATUS_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForLogSettings_STATUS_ARM(subject LogSettings_STATUS_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual LogSettings_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 LogSettings_STATUS_ARM instances for property testing - lazily instantiated by +// LogSettings_STATUS_ARMGenerator() +var logSettings_STATUS_ARMGenerator gopter.Gen + +// LogSettings_STATUS_ARMGenerator returns a generator of LogSettings_STATUS_ARM instances for property testing. +// We first initialize logSettings_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 LogSettings_STATUS_ARMGenerator() gopter.Gen { + if logSettings_STATUS_ARMGenerator != nil { + return logSettings_STATUS_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLogSettings_STATUS_ARM(generators) + logSettings_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(LogSettings_STATUS_ARM{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLogSettings_STATUS_ARM(generators) + AddRelatedPropertyGeneratorsForLogSettings_STATUS_ARM(generators) + logSettings_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(LogSettings_STATUS_ARM{}), generators) + + return logSettings_STATUS_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForLogSettings_STATUS_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLogSettings_STATUS_ARM(gens map[string]gopter.Gen) { + gens["Category"] = gen.PtrOf(gen.AlphaString()) + gens["CategoryGroup"] = gen.PtrOf(gen.AlphaString()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForLogSettings_STATUS_ARM is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForLogSettings_STATUS_ARM(gens map[string]gopter.Gen) { + gens["RetentionPolicy"] = gen.PtrOf(RetentionPolicy_STATUS_ARMGenerator()) +} + +func Test_MetricSettings_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 MetricSettings_STATUS_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMetricSettings_STATUS_ARM, MetricSettings_STATUS_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMetricSettings_STATUS_ARM runs a test to see if a specific instance of MetricSettings_STATUS_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForMetricSettings_STATUS_ARM(subject MetricSettings_STATUS_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MetricSettings_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 MetricSettings_STATUS_ARM instances for property testing - lazily instantiated by +// MetricSettings_STATUS_ARMGenerator() +var metricSettings_STATUS_ARMGenerator gopter.Gen + +// MetricSettings_STATUS_ARMGenerator returns a generator of MetricSettings_STATUS_ARM instances for property testing. +// We first initialize metricSettings_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 MetricSettings_STATUS_ARMGenerator() gopter.Gen { + if metricSettings_STATUS_ARMGenerator != nil { + return metricSettings_STATUS_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMetricSettings_STATUS_ARM(generators) + metricSettings_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(MetricSettings_STATUS_ARM{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMetricSettings_STATUS_ARM(generators) + AddRelatedPropertyGeneratorsForMetricSettings_STATUS_ARM(generators) + metricSettings_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(MetricSettings_STATUS_ARM{}), generators) + + return metricSettings_STATUS_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForMetricSettings_STATUS_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMetricSettings_STATUS_ARM(gens map[string]gopter.Gen) { + gens["Category"] = gen.PtrOf(gen.AlphaString()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["TimeGrain"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForMetricSettings_STATUS_ARM is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForMetricSettings_STATUS_ARM(gens map[string]gopter.Gen) { + gens["RetentionPolicy"] = gen.PtrOf(RetentionPolicy_STATUS_ARMGenerator()) +} + +func Test_RetentionPolicy_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 RetentionPolicy_STATUS_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForRetentionPolicy_STATUS_ARM, RetentionPolicy_STATUS_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForRetentionPolicy_STATUS_ARM runs a test to see if a specific instance of RetentionPolicy_STATUS_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForRetentionPolicy_STATUS_ARM(subject RetentionPolicy_STATUS_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual RetentionPolicy_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 RetentionPolicy_STATUS_ARM instances for property testing - lazily instantiated by +// RetentionPolicy_STATUS_ARMGenerator() +var retentionPolicy_STATUS_ARMGenerator gopter.Gen + +// RetentionPolicy_STATUS_ARMGenerator returns a generator of RetentionPolicy_STATUS_ARM instances for property testing. +func RetentionPolicy_STATUS_ARMGenerator() gopter.Gen { + if retentionPolicy_STATUS_ARMGenerator != nil { + return retentionPolicy_STATUS_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForRetentionPolicy_STATUS_ARM(generators) + retentionPolicy_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(RetentionPolicy_STATUS_ARM{}), generators) + + return retentionPolicy_STATUS_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForRetentionPolicy_STATUS_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForRetentionPolicy_STATUS_ARM(gens map[string]gopter.Gen) { + gens["Days"] = gen.PtrOf(gen.Int()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_SystemData_STATUS_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of SystemData_STATUS_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSystemData_STATUS_ARM, SystemData_STATUS_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSystemData_STATUS_ARM runs a test to see if a specific instance of SystemData_STATUS_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForSystemData_STATUS_ARM(subject SystemData_STATUS_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual SystemData_STATUS_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of SystemData_STATUS_ARM instances for property testing - lazily instantiated by +// SystemData_STATUS_ARMGenerator() +var systemData_STATUS_ARMGenerator gopter.Gen + +// SystemData_STATUS_ARMGenerator returns a generator of SystemData_STATUS_ARM instances for property testing. +func SystemData_STATUS_ARMGenerator() gopter.Gen { + if systemData_STATUS_ARMGenerator != nil { + return systemData_STATUS_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForSystemData_STATUS_ARM(generators) + systemData_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(SystemData_STATUS_ARM{}), generators) + + return systemData_STATUS_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForSystemData_STATUS_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForSystemData_STATUS_ARM(gens map[string]gopter.Gen) { + gens["CreatedAt"] = gen.PtrOf(gen.AlphaString()) + gens["CreatedBy"] = gen.PtrOf(gen.AlphaString()) + gens["CreatedByType"] = gen.PtrOf(gen.OneConstOf( + SystemData_CreatedByType_STATUS_ARM_Application, + SystemData_CreatedByType_STATUS_ARM_Key, + SystemData_CreatedByType_STATUS_ARM_ManagedIdentity, + SystemData_CreatedByType_STATUS_ARM_User)) + gens["LastModifiedAt"] = gen.PtrOf(gen.AlphaString()) + gens["LastModifiedBy"] = gen.PtrOf(gen.AlphaString()) + gens["LastModifiedByType"] = gen.PtrOf(gen.OneConstOf( + SystemData_LastModifiedByType_STATUS_ARM_Application, + SystemData_LastModifiedByType_STATUS_ARM_Key, + SystemData_LastModifiedByType_STATUS_ARM_ManagedIdentity, + SystemData_LastModifiedByType_STATUS_ARM_User)) +} diff --git a/v2/api/insights/v1api20210501preview/diagnostic_setting_types_gen.go b/v2/api/insights/v1api20210501preview/diagnostic_setting_types_gen.go new file mode 100644 index 00000000000..c4b937fbef4 --- /dev/null +++ b/v2/api/insights/v1api20210501preview/diagnostic_setting_types_gen.go @@ -0,0 +1,2418 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20210501preview + +import ( + "fmt" + storage "github.com/Azure/azure-service-operator/v2/api/insights/v1api20210501preview/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: /monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/diagnosticsSettings_API.json +// - ARM URI: /{resourceUri}/providers/Microsoft.Insights/diagnosticSettings/{name} +type DiagnosticSetting struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DiagnosticSetting_Spec `json:"spec,omitempty"` + Status DiagnosticSetting_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &DiagnosticSetting{} + +// GetConditions returns the conditions of the resource +func (setting *DiagnosticSetting) GetConditions() conditions.Conditions { + return setting.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (setting *DiagnosticSetting) SetConditions(conditions conditions.Conditions) { + setting.Status.Conditions = conditions +} + +var _ conversion.Convertible = &DiagnosticSetting{} + +// ConvertFrom populates our DiagnosticSetting from the provided hub DiagnosticSetting +func (setting *DiagnosticSetting) ConvertFrom(hub conversion.Hub) error { + source, ok := hub.(*storage.DiagnosticSetting) + if !ok { + return fmt.Errorf("expected insights/v1api20210501preview/storage/DiagnosticSetting but received %T instead", hub) + } + + return setting.AssignProperties_From_DiagnosticSetting(source) +} + +// ConvertTo populates the provided hub DiagnosticSetting from our DiagnosticSetting +func (setting *DiagnosticSetting) ConvertTo(hub conversion.Hub) error { + destination, ok := hub.(*storage.DiagnosticSetting) + if !ok { + return fmt.Errorf("expected insights/v1api20210501preview/storage/DiagnosticSetting but received %T instead", hub) + } + + return setting.AssignProperties_To_DiagnosticSetting(destination) +} + +// +kubebuilder:webhook:path=/mutate-insights-azure-com-v1api20210501preview-diagnosticsetting,mutating=true,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=insights.azure.com,resources=diagnosticsettings,verbs=create;update,versions=v1api20210501preview,name=default.v1api20210501preview.diagnosticsettings.insights.azure.com,admissionReviewVersions=v1 + +var _ admission.Defaulter = &DiagnosticSetting{} + +// Default applies defaults to the DiagnosticSetting resource +func (setting *DiagnosticSetting) Default() { + setting.defaultImpl() + var temp any = setting + if runtimeDefaulter, ok := temp.(genruntime.Defaulter); ok { + runtimeDefaulter.CustomDefault() + } +} + +// defaultAzureName defaults the Azure name of the resource to the Kubernetes name +func (setting *DiagnosticSetting) defaultAzureName() { + if setting.Spec.AzureName == "" { + setting.Spec.AzureName = setting.Name + } +} + +// defaultImpl applies the code generated defaults to the DiagnosticSetting resource +func (setting *DiagnosticSetting) defaultImpl() { setting.defaultAzureName() } + +var _ genruntime.ImportableResource = &DiagnosticSetting{} + +// InitializeSpec initializes the spec for this resource from the given status +func (setting *DiagnosticSetting) InitializeSpec(status genruntime.ConvertibleStatus) error { + if s, ok := status.(*DiagnosticSetting_STATUS); ok { + return setting.Spec.Initialize_From_DiagnosticSetting_STATUS(s) + } + + return fmt.Errorf("expected Status of type DiagnosticSetting_STATUS but received %T instead", status) +} + +var _ genruntime.KubernetesResource = &DiagnosticSetting{} + +// AzureName returns the Azure name of the resource +func (setting *DiagnosticSetting) AzureName() string { + return setting.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2021-05-01-preview" +func (setting DiagnosticSetting) GetAPIVersion() string { + return "2021-05-01-preview" +} + +// GetResourceScope returns the scope of the resource +func (setting *DiagnosticSetting) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeExtension +} + +// GetSpec returns the specification of this resource +func (setting *DiagnosticSetting) GetSpec() genruntime.ConvertibleSpec { + return &setting.Spec +} + +// GetStatus returns the status of this resource +func (setting *DiagnosticSetting) GetStatus() genruntime.ConvertibleStatus { + return &setting.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (setting *DiagnosticSetting) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.Insights/diagnosticSettings" +func (setting *DiagnosticSetting) GetType() string { + return "Microsoft.Insights/diagnosticSettings" +} + +// NewEmptyStatus returns a new empty (blank) status +func (setting *DiagnosticSetting) NewEmptyStatus() genruntime.ConvertibleStatus { + return &DiagnosticSetting_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (setting *DiagnosticSetting) Owner() *genruntime.ResourceReference { + return setting.Spec.Owner.AsResourceReference() +} + +// SetStatus sets the status of this resource +func (setting *DiagnosticSetting) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*DiagnosticSetting_STATUS); ok { + setting.Status = *st + return nil + } + + // Convert status to required version + var st DiagnosticSetting_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return errors.Wrap(err, "failed to convert status") + } + + setting.Status = st + return nil +} + +// +kubebuilder:webhook:path=/validate-insights-azure-com-v1api20210501preview-diagnosticsetting,mutating=false,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=insights.azure.com,resources=diagnosticsettings,verbs=create;update,versions=v1api20210501preview,name=validate.v1api20210501preview.diagnosticsettings.insights.azure.com,admissionReviewVersions=v1 + +var _ admission.Validator = &DiagnosticSetting{} + +// ValidateCreate validates the creation of the resource +func (setting *DiagnosticSetting) ValidateCreate() (admission.Warnings, error) { + validations := setting.createValidations() + var temp any = setting + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.CreateValidations()...) + } + return genruntime.ValidateCreate(validations) +} + +// ValidateDelete validates the deletion of the resource +func (setting *DiagnosticSetting) ValidateDelete() (admission.Warnings, error) { + validations := setting.deleteValidations() + var temp any = setting + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.DeleteValidations()...) + } + return genruntime.ValidateDelete(validations) +} + +// ValidateUpdate validates an update of the resource +func (setting *DiagnosticSetting) ValidateUpdate(old runtime.Object) (admission.Warnings, error) { + validations := setting.updateValidations() + var temp any = setting + 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 (setting *DiagnosticSetting) createValidations() []func() (admission.Warnings, error) { + return []func() (admission.Warnings, error){setting.validateResourceReferences} +} + +// deleteValidations validates the deletion of the resource +func (setting *DiagnosticSetting) deleteValidations() []func() (admission.Warnings, error) { + return nil +} + +// updateValidations validates the update of the resource +func (setting *DiagnosticSetting) updateValidations() []func(old runtime.Object) (admission.Warnings, error) { + return []func(old runtime.Object) (admission.Warnings, error){ + func(old runtime.Object) (admission.Warnings, error) { + return setting.validateResourceReferences() + }, + setting.validateWriteOnceProperties} +} + +// validateResourceReferences validates all resource references +func (setting *DiagnosticSetting) validateResourceReferences() (admission.Warnings, error) { + refs, err := reflecthelpers.FindResourceReferences(&setting.Spec) + if err != nil { + return nil, err + } + return genruntime.ValidateResourceReferences(refs) +} + +// validateWriteOnceProperties validates all WriteOnce properties +func (setting *DiagnosticSetting) validateWriteOnceProperties(old runtime.Object) (admission.Warnings, error) { + oldObj, ok := old.(*DiagnosticSetting) + if !ok { + return nil, nil + } + + return genruntime.ValidateWriteOnceProperties(oldObj, setting) +} + +// AssignProperties_From_DiagnosticSetting populates our DiagnosticSetting from the provided source DiagnosticSetting +func (setting *DiagnosticSetting) AssignProperties_From_DiagnosticSetting(source *storage.DiagnosticSetting) error { + + // ObjectMeta + setting.ObjectMeta = *source.ObjectMeta.DeepCopy() + + // Spec + var spec DiagnosticSetting_Spec + err := spec.AssignProperties_From_DiagnosticSetting_Spec(&source.Spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_DiagnosticSetting_Spec() to populate field Spec") + } + setting.Spec = spec + + // Status + var status DiagnosticSetting_STATUS + err = status.AssignProperties_From_DiagnosticSetting_STATUS(&source.Status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_DiagnosticSetting_STATUS() to populate field Status") + } + setting.Status = status + + // No error + return nil +} + +// AssignProperties_To_DiagnosticSetting populates the provided destination DiagnosticSetting from our DiagnosticSetting +func (setting *DiagnosticSetting) AssignProperties_To_DiagnosticSetting(destination *storage.DiagnosticSetting) error { + + // ObjectMeta + destination.ObjectMeta = *setting.ObjectMeta.DeepCopy() + + // Spec + var spec storage.DiagnosticSetting_Spec + err := setting.Spec.AssignProperties_To_DiagnosticSetting_Spec(&spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_DiagnosticSetting_Spec() to populate field Spec") + } + destination.Spec = spec + + // Status + var status storage.DiagnosticSetting_STATUS + err = setting.Status.AssignProperties_To_DiagnosticSetting_STATUS(&status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_DiagnosticSetting_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 (setting *DiagnosticSetting) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: setting.Spec.OriginalVersion(), + Kind: "DiagnosticSetting", + } +} + +// +kubebuilder:object:root=true +// Generator information: +// - Generated from: /monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/diagnosticsSettings_API.json +// - ARM URI: /{resourceUri}/providers/Microsoft.Insights/diagnosticSettings/{name} +type DiagnosticSettingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []DiagnosticSetting `json:"items"` +} + +// +kubebuilder:validation:Enum={"2021-05-01-preview"} +type APIVersion string + +const APIVersion_Value = APIVersion("2021-05-01-preview") + +type DiagnosticSetting_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"` + + // EventHubAuthorizationRuleReference: The resource Id for the event hub authorization rule. + EventHubAuthorizationRuleReference *genruntime.ResourceReference `armReference:"EventHubAuthorizationRuleId" json:"eventHubAuthorizationRuleReference,omitempty"` + + // EventHubName: The name of the event hub. If none is specified, the default event hub will be selected. + EventHubName *string `json:"eventHubName,omitempty"` + + // LogAnalyticsDestinationType: A string indicating whether the export to Log Analytics should use the default destination + // type, i.e. AzureDiagnostics, or use a destination type constructed as follows: _. Possible values are: Dedicated and null (null is default.) + LogAnalyticsDestinationType *string `json:"logAnalyticsDestinationType,omitempty"` + + // Logs: The list of logs settings. + Logs []LogSettings `json:"logs,omitempty"` + + // MarketplacePartnerReference: The full ARM resource ID of the Marketplace resource to which you would like to send + // Diagnostic Logs. + MarketplacePartnerReference *genruntime.ResourceReference `armReference:"MarketplacePartnerId" json:"marketplacePartnerReference,omitempty"` + + // Metrics: The list of metric settings. + Metrics []MetricSettings `json:"metrics,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. This resource is an + // extension resource, which means that any other Azure resource can be its owner. + Owner *genruntime.ArbitraryOwnerReference `json:"owner,omitempty"` + + // ServiceBusRuleId: The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + ServiceBusRuleId *string `json:"serviceBusRuleId,omitempty"` + + // StorageAccountReference: The resource ID of the storage account to which you would like to send Diagnostic Logs. + StorageAccountReference *genruntime.ResourceReference `armReference:"StorageAccountId" json:"storageAccountReference,omitempty"` + + // WorkspaceReference: The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic + // Logs. Example: + // /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + WorkspaceReference *genruntime.ResourceReference `armReference:"WorkspaceId" json:"workspaceReference,omitempty"` +} + +var _ genruntime.ARMTransformer = &DiagnosticSetting_Spec{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (setting *DiagnosticSetting_Spec) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if setting == nil { + return nil, nil + } + result := &DiagnosticSetting_Spec_ARM{} + + // Set property "Name": + result.Name = resolved.Name + + // Set property "Properties": + if setting.EventHubAuthorizationRuleReference != nil || + setting.EventHubName != nil || + setting.LogAnalyticsDestinationType != nil || + setting.Logs != nil || + setting.MarketplacePartnerReference != nil || + setting.Metrics != nil || + setting.ServiceBusRuleId != nil || + setting.StorageAccountReference != nil || + setting.WorkspaceReference != nil { + result.Properties = &DiagnosticSettings_ARM{} + } + if setting.EventHubAuthorizationRuleReference != nil { + eventHubAuthorizationRuleIdARMID, err := resolved.ResolvedReferences.Lookup(*setting.EventHubAuthorizationRuleReference) + if err != nil { + return nil, err + } + eventHubAuthorizationRuleId := eventHubAuthorizationRuleIdARMID + result.Properties.EventHubAuthorizationRuleId = &eventHubAuthorizationRuleId + } + if setting.EventHubName != nil { + eventHubName := *setting.EventHubName + result.Properties.EventHubName = &eventHubName + } + if setting.LogAnalyticsDestinationType != nil { + logAnalyticsDestinationType := *setting.LogAnalyticsDestinationType + result.Properties.LogAnalyticsDestinationType = &logAnalyticsDestinationType + } + for _, item := range setting.Logs { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Properties.Logs = append(result.Properties.Logs, *item_ARM.(*LogSettings_ARM)) + } + if setting.MarketplacePartnerReference != nil { + marketplacePartnerIdARMID, err := resolved.ResolvedReferences.Lookup(*setting.MarketplacePartnerReference) + if err != nil { + return nil, err + } + marketplacePartnerId := marketplacePartnerIdARMID + result.Properties.MarketplacePartnerId = &marketplacePartnerId + } + for _, item := range setting.Metrics { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Properties.Metrics = append(result.Properties.Metrics, *item_ARM.(*MetricSettings_ARM)) + } + if setting.ServiceBusRuleId != nil { + serviceBusRuleId := *setting.ServiceBusRuleId + result.Properties.ServiceBusRuleId = &serviceBusRuleId + } + if setting.StorageAccountReference != nil { + storageAccountIdARMID, err := resolved.ResolvedReferences.Lookup(*setting.StorageAccountReference) + if err != nil { + return nil, err + } + storageAccountId := storageAccountIdARMID + result.Properties.StorageAccountId = &storageAccountId + } + if setting.WorkspaceReference != nil { + workspaceIdARMID, err := resolved.ResolvedReferences.Lookup(*setting.WorkspaceReference) + if err != nil { + return nil, err + } + workspaceId := workspaceIdARMID + result.Properties.WorkspaceId = &workspaceId + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (setting *DiagnosticSetting_Spec) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &DiagnosticSetting_Spec_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (setting *DiagnosticSetting_Spec) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(DiagnosticSetting_Spec_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected DiagnosticSetting_Spec_ARM, got %T", armInput) + } + + // Set property "AzureName": + setting.SetAzureName(genruntime.ExtractKubernetesResourceNameFromARMName(typedInput.Name)) + + // no assignment for property "EventHubAuthorizationRuleReference" + + // Set property "EventHubName": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.EventHubName != nil { + eventHubName := *typedInput.Properties.EventHubName + setting.EventHubName = &eventHubName + } + } + + // Set property "LogAnalyticsDestinationType": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.LogAnalyticsDestinationType != nil { + logAnalyticsDestinationType := *typedInput.Properties.LogAnalyticsDestinationType + setting.LogAnalyticsDestinationType = &logAnalyticsDestinationType + } + } + + // Set property "Logs": + // copying flattened property: + if typedInput.Properties != nil { + for _, item := range typedInput.Properties.Logs { + var item1 LogSettings + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + setting.Logs = append(setting.Logs, item1) + } + } + + // no assignment for property "MarketplacePartnerReference" + + // Set property "Metrics": + // copying flattened property: + if typedInput.Properties != nil { + for _, item := range typedInput.Properties.Metrics { + var item1 MetricSettings + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + setting.Metrics = append(setting.Metrics, item1) + } + } + + // Set property "Owner": + setting.Owner = &owner + + // Set property "ServiceBusRuleId": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ServiceBusRuleId != nil { + serviceBusRuleId := *typedInput.Properties.ServiceBusRuleId + setting.ServiceBusRuleId = &serviceBusRuleId + } + } + + // no assignment for property "StorageAccountReference" + + // no assignment for property "WorkspaceReference" + + // No error + return nil +} + +var _ genruntime.ConvertibleSpec = &DiagnosticSetting_Spec{} + +// ConvertSpecFrom populates our DiagnosticSetting_Spec from the provided source +func (setting *DiagnosticSetting_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + src, ok := source.(*storage.DiagnosticSetting_Spec) + if ok { + // Populate our instance from source + return setting.AssignProperties_From_DiagnosticSetting_Spec(src) + } + + // Convert to an intermediate form + src = &storage.DiagnosticSetting_Spec{} + err := src.ConvertSpecFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecFrom()") + } + + // Update our instance from src + err = setting.AssignProperties_From_DiagnosticSetting_Spec(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecFrom()") + } + + return nil +} + +// ConvertSpecTo populates the provided destination from our DiagnosticSetting_Spec +func (setting *DiagnosticSetting_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + dst, ok := destination.(*storage.DiagnosticSetting_Spec) + if ok { + // Populate destination from our instance + return setting.AssignProperties_To_DiagnosticSetting_Spec(dst) + } + + // Convert to an intermediate form + dst = &storage.DiagnosticSetting_Spec{} + err := setting.AssignProperties_To_DiagnosticSetting_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_DiagnosticSetting_Spec populates our DiagnosticSetting_Spec from the provided source DiagnosticSetting_Spec +func (setting *DiagnosticSetting_Spec) AssignProperties_From_DiagnosticSetting_Spec(source *storage.DiagnosticSetting_Spec) error { + + // AzureName + setting.AzureName = source.AzureName + + // EventHubAuthorizationRuleReference + if source.EventHubAuthorizationRuleReference != nil { + eventHubAuthorizationRuleReference := source.EventHubAuthorizationRuleReference.Copy() + setting.EventHubAuthorizationRuleReference = &eventHubAuthorizationRuleReference + } else { + setting.EventHubAuthorizationRuleReference = nil + } + + // EventHubName + setting.EventHubName = genruntime.ClonePointerToString(source.EventHubName) + + // LogAnalyticsDestinationType + setting.LogAnalyticsDestinationType = genruntime.ClonePointerToString(source.LogAnalyticsDestinationType) + + // Logs + if source.Logs != nil { + logList := make([]LogSettings, len(source.Logs)) + for logIndex, logItem := range source.Logs { + // Shadow the loop variable to avoid aliasing + logItem := logItem + var log LogSettings + err := log.AssignProperties_From_LogSettings(&logItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_LogSettings() to populate field Logs") + } + logList[logIndex] = log + } + setting.Logs = logList + } else { + setting.Logs = nil + } + + // MarketplacePartnerReference + if source.MarketplacePartnerReference != nil { + marketplacePartnerReference := source.MarketplacePartnerReference.Copy() + setting.MarketplacePartnerReference = &marketplacePartnerReference + } else { + setting.MarketplacePartnerReference = nil + } + + // Metrics + if source.Metrics != nil { + metricList := make([]MetricSettings, len(source.Metrics)) + for metricIndex, metricItem := range source.Metrics { + // Shadow the loop variable to avoid aliasing + metricItem := metricItem + var metric MetricSettings + err := metric.AssignProperties_From_MetricSettings(&metricItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_MetricSettings() to populate field Metrics") + } + metricList[metricIndex] = metric + } + setting.Metrics = metricList + } else { + setting.Metrics = nil + } + + // Owner + if source.Owner != nil { + owner := source.Owner.Copy() + setting.Owner = &owner + } else { + setting.Owner = nil + } + + // ServiceBusRuleId + setting.ServiceBusRuleId = genruntime.ClonePointerToString(source.ServiceBusRuleId) + + // StorageAccountReference + if source.StorageAccountReference != nil { + storageAccountReference := source.StorageAccountReference.Copy() + setting.StorageAccountReference = &storageAccountReference + } else { + setting.StorageAccountReference = nil + } + + // WorkspaceReference + if source.WorkspaceReference != nil { + workspaceReference := source.WorkspaceReference.Copy() + setting.WorkspaceReference = &workspaceReference + } else { + setting.WorkspaceReference = nil + } + + // No error + return nil +} + +// AssignProperties_To_DiagnosticSetting_Spec populates the provided destination DiagnosticSetting_Spec from our DiagnosticSetting_Spec +func (setting *DiagnosticSetting_Spec) AssignProperties_To_DiagnosticSetting_Spec(destination *storage.DiagnosticSetting_Spec) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AzureName + destination.AzureName = setting.AzureName + + // EventHubAuthorizationRuleReference + if setting.EventHubAuthorizationRuleReference != nil { + eventHubAuthorizationRuleReference := setting.EventHubAuthorizationRuleReference.Copy() + destination.EventHubAuthorizationRuleReference = &eventHubAuthorizationRuleReference + } else { + destination.EventHubAuthorizationRuleReference = nil + } + + // EventHubName + destination.EventHubName = genruntime.ClonePointerToString(setting.EventHubName) + + // LogAnalyticsDestinationType + destination.LogAnalyticsDestinationType = genruntime.ClonePointerToString(setting.LogAnalyticsDestinationType) + + // Logs + if setting.Logs != nil { + logList := make([]storage.LogSettings, len(setting.Logs)) + for logIndex, logItem := range setting.Logs { + // Shadow the loop variable to avoid aliasing + logItem := logItem + var log storage.LogSettings + err := logItem.AssignProperties_To_LogSettings(&log) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_LogSettings() to populate field Logs") + } + logList[logIndex] = log + } + destination.Logs = logList + } else { + destination.Logs = nil + } + + // MarketplacePartnerReference + if setting.MarketplacePartnerReference != nil { + marketplacePartnerReference := setting.MarketplacePartnerReference.Copy() + destination.MarketplacePartnerReference = &marketplacePartnerReference + } else { + destination.MarketplacePartnerReference = nil + } + + // Metrics + if setting.Metrics != nil { + metricList := make([]storage.MetricSettings, len(setting.Metrics)) + for metricIndex, metricItem := range setting.Metrics { + // Shadow the loop variable to avoid aliasing + metricItem := metricItem + var metric storage.MetricSettings + err := metricItem.AssignProperties_To_MetricSettings(&metric) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_MetricSettings() to populate field Metrics") + } + metricList[metricIndex] = metric + } + destination.Metrics = metricList + } else { + destination.Metrics = nil + } + + // OriginalVersion + destination.OriginalVersion = setting.OriginalVersion() + + // Owner + if setting.Owner != nil { + owner := setting.Owner.Copy() + destination.Owner = &owner + } else { + destination.Owner = nil + } + + // ServiceBusRuleId + destination.ServiceBusRuleId = genruntime.ClonePointerToString(setting.ServiceBusRuleId) + + // StorageAccountReference + if setting.StorageAccountReference != nil { + storageAccountReference := setting.StorageAccountReference.Copy() + destination.StorageAccountReference = &storageAccountReference + } else { + destination.StorageAccountReference = nil + } + + // WorkspaceReference + if setting.WorkspaceReference != nil { + workspaceReference := setting.WorkspaceReference.Copy() + destination.WorkspaceReference = &workspaceReference + } else { + destination.WorkspaceReference = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_DiagnosticSetting_STATUS populates our DiagnosticSetting_Spec from the provided source DiagnosticSetting_STATUS +func (setting *DiagnosticSetting_Spec) Initialize_From_DiagnosticSetting_STATUS(source *DiagnosticSetting_STATUS) error { + + // EventHubAuthorizationRuleReference + if source.EventHubAuthorizationRuleId != nil { + eventHubAuthorizationRuleReference := genruntime.CreateResourceReferenceFromARMID(*source.EventHubAuthorizationRuleId) + setting.EventHubAuthorizationRuleReference = &eventHubAuthorizationRuleReference + } else { + setting.EventHubAuthorizationRuleReference = nil + } + + // EventHubName + setting.EventHubName = genruntime.ClonePointerToString(source.EventHubName) + + // LogAnalyticsDestinationType + setting.LogAnalyticsDestinationType = genruntime.ClonePointerToString(source.LogAnalyticsDestinationType) + + // Logs + if source.Logs != nil { + logList := make([]LogSettings, len(source.Logs)) + for logIndex, logItem := range source.Logs { + // Shadow the loop variable to avoid aliasing + logItem := logItem + var log LogSettings + err := log.Initialize_From_LogSettings_STATUS(&logItem) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_LogSettings_STATUS() to populate field Logs") + } + logList[logIndex] = log + } + setting.Logs = logList + } else { + setting.Logs = nil + } + + // MarketplacePartnerReference + if source.MarketplacePartnerId != nil { + marketplacePartnerReference := genruntime.CreateResourceReferenceFromARMID(*source.MarketplacePartnerId) + setting.MarketplacePartnerReference = &marketplacePartnerReference + } else { + setting.MarketplacePartnerReference = nil + } + + // Metrics + if source.Metrics != nil { + metricList := make([]MetricSettings, len(source.Metrics)) + for metricIndex, metricItem := range source.Metrics { + // Shadow the loop variable to avoid aliasing + metricItem := metricItem + var metric MetricSettings + err := metric.Initialize_From_MetricSettings_STATUS(&metricItem) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_MetricSettings_STATUS() to populate field Metrics") + } + metricList[metricIndex] = metric + } + setting.Metrics = metricList + } else { + setting.Metrics = nil + } + + // ServiceBusRuleId + setting.ServiceBusRuleId = genruntime.ClonePointerToString(source.ServiceBusRuleId) + + // StorageAccountReference + if source.StorageAccountId != nil { + storageAccountReference := genruntime.CreateResourceReferenceFromARMID(*source.StorageAccountId) + setting.StorageAccountReference = &storageAccountReference + } else { + setting.StorageAccountReference = nil + } + + // WorkspaceReference + if source.WorkspaceId != nil { + workspaceReference := genruntime.CreateResourceReferenceFromARMID(*source.WorkspaceId) + setting.WorkspaceReference = &workspaceReference + } else { + setting.WorkspaceReference = nil + } + + // No error + return nil +} + +// OriginalVersion returns the original API version used to create the resource. +func (setting *DiagnosticSetting_Spec) OriginalVersion() string { + return GroupVersion.Version +} + +// SetAzureName sets the Azure name of the resource +func (setting *DiagnosticSetting_Spec) SetAzureName(azureName string) { setting.AzureName = azureName } + +type DiagnosticSetting_STATUS struct { + // Conditions: The observed state of the resource + Conditions []conditions.Condition `json:"conditions,omitempty"` + + // EventHubAuthorizationRuleId: The resource Id for the event hub authorization rule. + EventHubAuthorizationRuleId *string `json:"eventHubAuthorizationRuleId,omitempty"` + + // EventHubName: The name of the event hub. If none is specified, the default event hub will be selected. + EventHubName *string `json:"eventHubName,omitempty"` + + // Id: Fully qualified resource ID for the resource. Ex - + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + Id *string `json:"id,omitempty"` + + // LogAnalyticsDestinationType: A string indicating whether the export to Log Analytics should use the default destination + // type, i.e. AzureDiagnostics, or use a destination type constructed as follows: _. Possible values are: Dedicated and null (null is default.) + LogAnalyticsDestinationType *string `json:"logAnalyticsDestinationType,omitempty"` + + // Logs: The list of logs settings. + Logs []LogSettings_STATUS `json:"logs,omitempty"` + + // MarketplacePartnerId: The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic + // Logs. + MarketplacePartnerId *string `json:"marketplacePartnerId,omitempty"` + + // Metrics: The list of metric settings. + Metrics []MetricSettings_STATUS `json:"metrics,omitempty"` + + // Name: The name of the resource + Name *string `json:"name,omitempty"` + + // ServiceBusRuleId: The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + ServiceBusRuleId *string `json:"serviceBusRuleId,omitempty"` + + // StorageAccountId: The resource ID of the storage account to which you would like to send Diagnostic Logs. + StorageAccountId *string `json:"storageAccountId,omitempty"` + + // SystemData: The system metadata related to this resource. + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + + // Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + Type *string `json:"type,omitempty"` + + // WorkspaceId: The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. + // Example: + // /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + WorkspaceId *string `json:"workspaceId,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &DiagnosticSetting_STATUS{} + +// ConvertStatusFrom populates our DiagnosticSetting_STATUS from the provided source +func (setting *DiagnosticSetting_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + src, ok := source.(*storage.DiagnosticSetting_STATUS) + if ok { + // Populate our instance from source + return setting.AssignProperties_From_DiagnosticSetting_STATUS(src) + } + + // Convert to an intermediate form + src = &storage.DiagnosticSetting_STATUS{} + err := src.ConvertStatusFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusFrom()") + } + + // Update our instance from src + err = setting.AssignProperties_From_DiagnosticSetting_STATUS(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusFrom()") + } + + return nil +} + +// ConvertStatusTo populates the provided destination from our DiagnosticSetting_STATUS +func (setting *DiagnosticSetting_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + dst, ok := destination.(*storage.DiagnosticSetting_STATUS) + if ok { + // Populate destination from our instance + return setting.AssignProperties_To_DiagnosticSetting_STATUS(dst) + } + + // Convert to an intermediate form + dst = &storage.DiagnosticSetting_STATUS{} + err := setting.AssignProperties_To_DiagnosticSetting_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 = &DiagnosticSetting_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (setting *DiagnosticSetting_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &DiagnosticSetting_STATUS_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (setting *DiagnosticSetting_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(DiagnosticSetting_STATUS_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected DiagnosticSetting_STATUS_ARM, got %T", armInput) + } + + // no assignment for property "Conditions" + + // Set property "EventHubAuthorizationRuleId": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.EventHubAuthorizationRuleId != nil { + eventHubAuthorizationRuleId := *typedInput.Properties.EventHubAuthorizationRuleId + setting.EventHubAuthorizationRuleId = &eventHubAuthorizationRuleId + } + } + + // Set property "EventHubName": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.EventHubName != nil { + eventHubName := *typedInput.Properties.EventHubName + setting.EventHubName = &eventHubName + } + } + + // Set property "Id": + if typedInput.Id != nil { + id := *typedInput.Id + setting.Id = &id + } + + // Set property "LogAnalyticsDestinationType": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.LogAnalyticsDestinationType != nil { + logAnalyticsDestinationType := *typedInput.Properties.LogAnalyticsDestinationType + setting.LogAnalyticsDestinationType = &logAnalyticsDestinationType + } + } + + // Set property "Logs": + // copying flattened property: + if typedInput.Properties != nil { + for _, item := range typedInput.Properties.Logs { + var item1 LogSettings_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + setting.Logs = append(setting.Logs, item1) + } + } + + // Set property "MarketplacePartnerId": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.MarketplacePartnerId != nil { + marketplacePartnerId := *typedInput.Properties.MarketplacePartnerId + setting.MarketplacePartnerId = &marketplacePartnerId + } + } + + // Set property "Metrics": + // copying flattened property: + if typedInput.Properties != nil { + for _, item := range typedInput.Properties.Metrics { + var item1 MetricSettings_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + setting.Metrics = append(setting.Metrics, item1) + } + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + setting.Name = &name + } + + // Set property "ServiceBusRuleId": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ServiceBusRuleId != nil { + serviceBusRuleId := *typedInput.Properties.ServiceBusRuleId + setting.ServiceBusRuleId = &serviceBusRuleId + } + } + + // Set property "StorageAccountId": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.StorageAccountId != nil { + storageAccountId := *typedInput.Properties.StorageAccountId + setting.StorageAccountId = &storageAccountId + } + } + + // Set property "SystemData": + if typedInput.SystemData != nil { + var systemData1 SystemData_STATUS + err := systemData1.PopulateFromARM(owner, *typedInput.SystemData) + if err != nil { + return err + } + systemData := systemData1 + setting.SystemData = &systemData + } + + // Set property "Type": + if typedInput.Type != nil { + typeVar := *typedInput.Type + setting.Type = &typeVar + } + + // Set property "WorkspaceId": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.WorkspaceId != nil { + workspaceId := *typedInput.Properties.WorkspaceId + setting.WorkspaceId = &workspaceId + } + } + + // No error + return nil +} + +// AssignProperties_From_DiagnosticSetting_STATUS populates our DiagnosticSetting_STATUS from the provided source DiagnosticSetting_STATUS +func (setting *DiagnosticSetting_STATUS) AssignProperties_From_DiagnosticSetting_STATUS(source *storage.DiagnosticSetting_STATUS) error { + + // Conditions + setting.Conditions = genruntime.CloneSliceOfCondition(source.Conditions) + + // EventHubAuthorizationRuleId + setting.EventHubAuthorizationRuleId = genruntime.ClonePointerToString(source.EventHubAuthorizationRuleId) + + // EventHubName + setting.EventHubName = genruntime.ClonePointerToString(source.EventHubName) + + // Id + setting.Id = genruntime.ClonePointerToString(source.Id) + + // LogAnalyticsDestinationType + setting.LogAnalyticsDestinationType = genruntime.ClonePointerToString(source.LogAnalyticsDestinationType) + + // Logs + if source.Logs != nil { + logList := make([]LogSettings_STATUS, len(source.Logs)) + for logIndex, logItem := range source.Logs { + // Shadow the loop variable to avoid aliasing + logItem := logItem + var log LogSettings_STATUS + err := log.AssignProperties_From_LogSettings_STATUS(&logItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_LogSettings_STATUS() to populate field Logs") + } + logList[logIndex] = log + } + setting.Logs = logList + } else { + setting.Logs = nil + } + + // MarketplacePartnerId + setting.MarketplacePartnerId = genruntime.ClonePointerToString(source.MarketplacePartnerId) + + // Metrics + if source.Metrics != nil { + metricList := make([]MetricSettings_STATUS, len(source.Metrics)) + for metricIndex, metricItem := range source.Metrics { + // Shadow the loop variable to avoid aliasing + metricItem := metricItem + var metric MetricSettings_STATUS + err := metric.AssignProperties_From_MetricSettings_STATUS(&metricItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_MetricSettings_STATUS() to populate field Metrics") + } + metricList[metricIndex] = metric + } + setting.Metrics = metricList + } else { + setting.Metrics = nil + } + + // Name + setting.Name = genruntime.ClonePointerToString(source.Name) + + // ServiceBusRuleId + setting.ServiceBusRuleId = genruntime.ClonePointerToString(source.ServiceBusRuleId) + + // StorageAccountId + setting.StorageAccountId = genruntime.ClonePointerToString(source.StorageAccountId) + + // SystemData + if source.SystemData != nil { + var systemDatum SystemData_STATUS + err := systemDatum.AssignProperties_From_SystemData_STATUS(source.SystemData) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_SystemData_STATUS() to populate field SystemData") + } + setting.SystemData = &systemDatum + } else { + setting.SystemData = nil + } + + // Type + setting.Type = genruntime.ClonePointerToString(source.Type) + + // WorkspaceId + setting.WorkspaceId = genruntime.ClonePointerToString(source.WorkspaceId) + + // No error + return nil +} + +// AssignProperties_To_DiagnosticSetting_STATUS populates the provided destination DiagnosticSetting_STATUS from our DiagnosticSetting_STATUS +func (setting *DiagnosticSetting_STATUS) AssignProperties_To_DiagnosticSetting_STATUS(destination *storage.DiagnosticSetting_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Conditions + destination.Conditions = genruntime.CloneSliceOfCondition(setting.Conditions) + + // EventHubAuthorizationRuleId + destination.EventHubAuthorizationRuleId = genruntime.ClonePointerToString(setting.EventHubAuthorizationRuleId) + + // EventHubName + destination.EventHubName = genruntime.ClonePointerToString(setting.EventHubName) + + // Id + destination.Id = genruntime.ClonePointerToString(setting.Id) + + // LogAnalyticsDestinationType + destination.LogAnalyticsDestinationType = genruntime.ClonePointerToString(setting.LogAnalyticsDestinationType) + + // Logs + if setting.Logs != nil { + logList := make([]storage.LogSettings_STATUS, len(setting.Logs)) + for logIndex, logItem := range setting.Logs { + // Shadow the loop variable to avoid aliasing + logItem := logItem + var log storage.LogSettings_STATUS + err := logItem.AssignProperties_To_LogSettings_STATUS(&log) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_LogSettings_STATUS() to populate field Logs") + } + logList[logIndex] = log + } + destination.Logs = logList + } else { + destination.Logs = nil + } + + // MarketplacePartnerId + destination.MarketplacePartnerId = genruntime.ClonePointerToString(setting.MarketplacePartnerId) + + // Metrics + if setting.Metrics != nil { + metricList := make([]storage.MetricSettings_STATUS, len(setting.Metrics)) + for metricIndex, metricItem := range setting.Metrics { + // Shadow the loop variable to avoid aliasing + metricItem := metricItem + var metric storage.MetricSettings_STATUS + err := metricItem.AssignProperties_To_MetricSettings_STATUS(&metric) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_MetricSettings_STATUS() to populate field Metrics") + } + metricList[metricIndex] = metric + } + destination.Metrics = metricList + } else { + destination.Metrics = nil + } + + // Name + destination.Name = genruntime.ClonePointerToString(setting.Name) + + // ServiceBusRuleId + destination.ServiceBusRuleId = genruntime.ClonePointerToString(setting.ServiceBusRuleId) + + // StorageAccountId + destination.StorageAccountId = genruntime.ClonePointerToString(setting.StorageAccountId) + + // SystemData + if setting.SystemData != nil { + var systemDatum storage.SystemData_STATUS + err := setting.SystemData.AssignProperties_To_SystemData_STATUS(&systemDatum) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_SystemData_STATUS() to populate field SystemData") + } + destination.SystemData = &systemDatum + } else { + destination.SystemData = nil + } + + // Type + destination.Type = genruntime.ClonePointerToString(setting.Type) + + // WorkspaceId + destination.WorkspaceId = genruntime.ClonePointerToString(setting.WorkspaceId) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log. +type LogSettings struct { + // Category: Name of a Diagnostic Log category for a resource type this setting is applied to. To obtain the list of + // Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + Category *string `json:"category,omitempty"` + + // CategoryGroup: Name of a Diagnostic Log category group for a resource type this setting is applied to. To obtain the + // list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + CategoryGroup *string `json:"categoryGroup,omitempty"` + + // +kubebuilder:validation:Required + // Enabled: a value indicating whether this log is enabled. + Enabled *bool `json:"enabled,omitempty"` + + // RetentionPolicy: the retention policy for this log. + RetentionPolicy *RetentionPolicy `json:"retentionPolicy,omitempty"` +} + +var _ genruntime.ARMTransformer = &LogSettings{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (settings *LogSettings) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if settings == nil { + return nil, nil + } + result := &LogSettings_ARM{} + + // Set property "Category": + if settings.Category != nil { + category := *settings.Category + result.Category = &category + } + + // Set property "CategoryGroup": + if settings.CategoryGroup != nil { + categoryGroup := *settings.CategoryGroup + result.CategoryGroup = &categoryGroup + } + + // Set property "Enabled": + if settings.Enabled != nil { + enabled := *settings.Enabled + result.Enabled = &enabled + } + + // Set property "RetentionPolicy": + if settings.RetentionPolicy != nil { + retentionPolicy_ARM, err := (*settings.RetentionPolicy).ConvertToARM(resolved) + if err != nil { + return nil, err + } + retentionPolicy := *retentionPolicy_ARM.(*RetentionPolicy_ARM) + result.RetentionPolicy = &retentionPolicy + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (settings *LogSettings) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &LogSettings_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (settings *LogSettings) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(LogSettings_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected LogSettings_ARM, got %T", armInput) + } + + // Set property "Category": + if typedInput.Category != nil { + category := *typedInput.Category + settings.Category = &category + } + + // Set property "CategoryGroup": + if typedInput.CategoryGroup != nil { + categoryGroup := *typedInput.CategoryGroup + settings.CategoryGroup = &categoryGroup + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + settings.Enabled = &enabled + } + + // Set property "RetentionPolicy": + if typedInput.RetentionPolicy != nil { + var retentionPolicy1 RetentionPolicy + err := retentionPolicy1.PopulateFromARM(owner, *typedInput.RetentionPolicy) + if err != nil { + return err + } + retentionPolicy := retentionPolicy1 + settings.RetentionPolicy = &retentionPolicy + } + + // No error + return nil +} + +// AssignProperties_From_LogSettings populates our LogSettings from the provided source LogSettings +func (settings *LogSettings) AssignProperties_From_LogSettings(source *storage.LogSettings) error { + + // Category + settings.Category = genruntime.ClonePointerToString(source.Category) + + // CategoryGroup + settings.CategoryGroup = genruntime.ClonePointerToString(source.CategoryGroup) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + settings.Enabled = &enabled + } else { + settings.Enabled = nil + } + + // RetentionPolicy + if source.RetentionPolicy != nil { + var retentionPolicy RetentionPolicy + err := retentionPolicy.AssignProperties_From_RetentionPolicy(source.RetentionPolicy) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_RetentionPolicy() to populate field RetentionPolicy") + } + settings.RetentionPolicy = &retentionPolicy + } else { + settings.RetentionPolicy = nil + } + + // No error + return nil +} + +// AssignProperties_To_LogSettings populates the provided destination LogSettings from our LogSettings +func (settings *LogSettings) AssignProperties_To_LogSettings(destination *storage.LogSettings) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Category + destination.Category = genruntime.ClonePointerToString(settings.Category) + + // CategoryGroup + destination.CategoryGroup = genruntime.ClonePointerToString(settings.CategoryGroup) + + // Enabled + if settings.Enabled != nil { + enabled := *settings.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // RetentionPolicy + if settings.RetentionPolicy != nil { + var retentionPolicy storage.RetentionPolicy + err := settings.RetentionPolicy.AssignProperties_To_RetentionPolicy(&retentionPolicy) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_RetentionPolicy() to populate field RetentionPolicy") + } + destination.RetentionPolicy = &retentionPolicy + } else { + destination.RetentionPolicy = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_LogSettings_STATUS populates our LogSettings from the provided source LogSettings_STATUS +func (settings *LogSettings) Initialize_From_LogSettings_STATUS(source *LogSettings_STATUS) error { + + // Category + settings.Category = genruntime.ClonePointerToString(source.Category) + + // CategoryGroup + settings.CategoryGroup = genruntime.ClonePointerToString(source.CategoryGroup) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + settings.Enabled = &enabled + } else { + settings.Enabled = nil + } + + // RetentionPolicy + if source.RetentionPolicy != nil { + var retentionPolicy RetentionPolicy + err := retentionPolicy.Initialize_From_RetentionPolicy_STATUS(source.RetentionPolicy) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_RetentionPolicy_STATUS() to populate field RetentionPolicy") + } + settings.RetentionPolicy = &retentionPolicy + } else { + settings.RetentionPolicy = nil + } + + // No error + return nil +} + +// Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log. +type LogSettings_STATUS struct { + // Category: Name of a Diagnostic Log category for a resource type this setting is applied to. To obtain the list of + // Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + Category *string `json:"category,omitempty"` + + // CategoryGroup: Name of a Diagnostic Log category group for a resource type this setting is applied to. To obtain the + // list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + CategoryGroup *string `json:"categoryGroup,omitempty"` + + // Enabled: a value indicating whether this log is enabled. + Enabled *bool `json:"enabled,omitempty"` + + // RetentionPolicy: the retention policy for this log. + RetentionPolicy *RetentionPolicy_STATUS `json:"retentionPolicy,omitempty"` +} + +var _ genruntime.FromARMConverter = &LogSettings_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (settings *LogSettings_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &LogSettings_STATUS_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (settings *LogSettings_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(LogSettings_STATUS_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected LogSettings_STATUS_ARM, got %T", armInput) + } + + // Set property "Category": + if typedInput.Category != nil { + category := *typedInput.Category + settings.Category = &category + } + + // Set property "CategoryGroup": + if typedInput.CategoryGroup != nil { + categoryGroup := *typedInput.CategoryGroup + settings.CategoryGroup = &categoryGroup + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + settings.Enabled = &enabled + } + + // Set property "RetentionPolicy": + if typedInput.RetentionPolicy != nil { + var retentionPolicy1 RetentionPolicy_STATUS + err := retentionPolicy1.PopulateFromARM(owner, *typedInput.RetentionPolicy) + if err != nil { + return err + } + retentionPolicy := retentionPolicy1 + settings.RetentionPolicy = &retentionPolicy + } + + // No error + return nil +} + +// AssignProperties_From_LogSettings_STATUS populates our LogSettings_STATUS from the provided source LogSettings_STATUS +func (settings *LogSettings_STATUS) AssignProperties_From_LogSettings_STATUS(source *storage.LogSettings_STATUS) error { + + // Category + settings.Category = genruntime.ClonePointerToString(source.Category) + + // CategoryGroup + settings.CategoryGroup = genruntime.ClonePointerToString(source.CategoryGroup) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + settings.Enabled = &enabled + } else { + settings.Enabled = nil + } + + // RetentionPolicy + if source.RetentionPolicy != nil { + var retentionPolicy RetentionPolicy_STATUS + err := retentionPolicy.AssignProperties_From_RetentionPolicy_STATUS(source.RetentionPolicy) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_RetentionPolicy_STATUS() to populate field RetentionPolicy") + } + settings.RetentionPolicy = &retentionPolicy + } else { + settings.RetentionPolicy = nil + } + + // No error + return nil +} + +// AssignProperties_To_LogSettings_STATUS populates the provided destination LogSettings_STATUS from our LogSettings_STATUS +func (settings *LogSettings_STATUS) AssignProperties_To_LogSettings_STATUS(destination *storage.LogSettings_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Category + destination.Category = genruntime.ClonePointerToString(settings.Category) + + // CategoryGroup + destination.CategoryGroup = genruntime.ClonePointerToString(settings.CategoryGroup) + + // Enabled + if settings.Enabled != nil { + enabled := *settings.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // RetentionPolicy + if settings.RetentionPolicy != nil { + var retentionPolicy storage.RetentionPolicy_STATUS + err := settings.RetentionPolicy.AssignProperties_To_RetentionPolicy_STATUS(&retentionPolicy) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_RetentionPolicy_STATUS() to populate field RetentionPolicy") + } + destination.RetentionPolicy = &retentionPolicy + } else { + destination.RetentionPolicy = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric. +type MetricSettings struct { + // Category: Name of a Diagnostic Metric category for a resource type this setting is applied to. To obtain the list of + // Diagnostic metric categories for a resource, first perform a GET diagnostic settings operation. + Category *string `json:"category,omitempty"` + + // +kubebuilder:validation:Required + // Enabled: a value indicating whether this category is enabled. + Enabled *bool `json:"enabled,omitempty"` + + // RetentionPolicy: the retention policy for this category. + RetentionPolicy *RetentionPolicy `json:"retentionPolicy,omitempty"` + + // TimeGrain: the timegrain of the metric in ISO8601 format. + TimeGrain *string `json:"timeGrain,omitempty"` +} + +var _ genruntime.ARMTransformer = &MetricSettings{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (settings *MetricSettings) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if settings == nil { + return nil, nil + } + result := &MetricSettings_ARM{} + + // Set property "Category": + if settings.Category != nil { + category := *settings.Category + result.Category = &category + } + + // Set property "Enabled": + if settings.Enabled != nil { + enabled := *settings.Enabled + result.Enabled = &enabled + } + + // Set property "RetentionPolicy": + if settings.RetentionPolicy != nil { + retentionPolicy_ARM, err := (*settings.RetentionPolicy).ConvertToARM(resolved) + if err != nil { + return nil, err + } + retentionPolicy := *retentionPolicy_ARM.(*RetentionPolicy_ARM) + result.RetentionPolicy = &retentionPolicy + } + + // Set property "TimeGrain": + if settings.TimeGrain != nil { + timeGrain := *settings.TimeGrain + result.TimeGrain = &timeGrain + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (settings *MetricSettings) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &MetricSettings_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (settings *MetricSettings) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(MetricSettings_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected MetricSettings_ARM, got %T", armInput) + } + + // Set property "Category": + if typedInput.Category != nil { + category := *typedInput.Category + settings.Category = &category + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + settings.Enabled = &enabled + } + + // Set property "RetentionPolicy": + if typedInput.RetentionPolicy != nil { + var retentionPolicy1 RetentionPolicy + err := retentionPolicy1.PopulateFromARM(owner, *typedInput.RetentionPolicy) + if err != nil { + return err + } + retentionPolicy := retentionPolicy1 + settings.RetentionPolicy = &retentionPolicy + } + + // Set property "TimeGrain": + if typedInput.TimeGrain != nil { + timeGrain := *typedInput.TimeGrain + settings.TimeGrain = &timeGrain + } + + // No error + return nil +} + +// AssignProperties_From_MetricSettings populates our MetricSettings from the provided source MetricSettings +func (settings *MetricSettings) AssignProperties_From_MetricSettings(source *storage.MetricSettings) error { + + // Category + settings.Category = genruntime.ClonePointerToString(source.Category) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + settings.Enabled = &enabled + } else { + settings.Enabled = nil + } + + // RetentionPolicy + if source.RetentionPolicy != nil { + var retentionPolicy RetentionPolicy + err := retentionPolicy.AssignProperties_From_RetentionPolicy(source.RetentionPolicy) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_RetentionPolicy() to populate field RetentionPolicy") + } + settings.RetentionPolicy = &retentionPolicy + } else { + settings.RetentionPolicy = nil + } + + // TimeGrain + settings.TimeGrain = genruntime.ClonePointerToString(source.TimeGrain) + + // No error + return nil +} + +// AssignProperties_To_MetricSettings populates the provided destination MetricSettings from our MetricSettings +func (settings *MetricSettings) AssignProperties_To_MetricSettings(destination *storage.MetricSettings) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Category + destination.Category = genruntime.ClonePointerToString(settings.Category) + + // Enabled + if settings.Enabled != nil { + enabled := *settings.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // RetentionPolicy + if settings.RetentionPolicy != nil { + var retentionPolicy storage.RetentionPolicy + err := settings.RetentionPolicy.AssignProperties_To_RetentionPolicy(&retentionPolicy) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_RetentionPolicy() to populate field RetentionPolicy") + } + destination.RetentionPolicy = &retentionPolicy + } else { + destination.RetentionPolicy = nil + } + + // TimeGrain + destination.TimeGrain = genruntime.ClonePointerToString(settings.TimeGrain) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_MetricSettings_STATUS populates our MetricSettings from the provided source MetricSettings_STATUS +func (settings *MetricSettings) Initialize_From_MetricSettings_STATUS(source *MetricSettings_STATUS) error { + + // Category + settings.Category = genruntime.ClonePointerToString(source.Category) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + settings.Enabled = &enabled + } else { + settings.Enabled = nil + } + + // RetentionPolicy + if source.RetentionPolicy != nil { + var retentionPolicy RetentionPolicy + err := retentionPolicy.Initialize_From_RetentionPolicy_STATUS(source.RetentionPolicy) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_RetentionPolicy_STATUS() to populate field RetentionPolicy") + } + settings.RetentionPolicy = &retentionPolicy + } else { + settings.RetentionPolicy = nil + } + + // TimeGrain + settings.TimeGrain = genruntime.ClonePointerToString(source.TimeGrain) + + // No error + return nil +} + +// Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric. +type MetricSettings_STATUS struct { + // Category: Name of a Diagnostic Metric category for a resource type this setting is applied to. To obtain the list of + // Diagnostic metric categories for a resource, first perform a GET diagnostic settings operation. + Category *string `json:"category,omitempty"` + + // Enabled: a value indicating whether this category is enabled. + Enabled *bool `json:"enabled,omitempty"` + + // RetentionPolicy: the retention policy for this category. + RetentionPolicy *RetentionPolicy_STATUS `json:"retentionPolicy,omitempty"` + + // TimeGrain: the timegrain of the metric in ISO8601 format. + TimeGrain *string `json:"timeGrain,omitempty"` +} + +var _ genruntime.FromARMConverter = &MetricSettings_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (settings *MetricSettings_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &MetricSettings_STATUS_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (settings *MetricSettings_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(MetricSettings_STATUS_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected MetricSettings_STATUS_ARM, got %T", armInput) + } + + // Set property "Category": + if typedInput.Category != nil { + category := *typedInput.Category + settings.Category = &category + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + settings.Enabled = &enabled + } + + // Set property "RetentionPolicy": + if typedInput.RetentionPolicy != nil { + var retentionPolicy1 RetentionPolicy_STATUS + err := retentionPolicy1.PopulateFromARM(owner, *typedInput.RetentionPolicy) + if err != nil { + return err + } + retentionPolicy := retentionPolicy1 + settings.RetentionPolicy = &retentionPolicy + } + + // Set property "TimeGrain": + if typedInput.TimeGrain != nil { + timeGrain := *typedInput.TimeGrain + settings.TimeGrain = &timeGrain + } + + // No error + return nil +} + +// AssignProperties_From_MetricSettings_STATUS populates our MetricSettings_STATUS from the provided source MetricSettings_STATUS +func (settings *MetricSettings_STATUS) AssignProperties_From_MetricSettings_STATUS(source *storage.MetricSettings_STATUS) error { + + // Category + settings.Category = genruntime.ClonePointerToString(source.Category) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + settings.Enabled = &enabled + } else { + settings.Enabled = nil + } + + // RetentionPolicy + if source.RetentionPolicy != nil { + var retentionPolicy RetentionPolicy_STATUS + err := retentionPolicy.AssignProperties_From_RetentionPolicy_STATUS(source.RetentionPolicy) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_RetentionPolicy_STATUS() to populate field RetentionPolicy") + } + settings.RetentionPolicy = &retentionPolicy + } else { + settings.RetentionPolicy = nil + } + + // TimeGrain + settings.TimeGrain = genruntime.ClonePointerToString(source.TimeGrain) + + // No error + return nil +} + +// AssignProperties_To_MetricSettings_STATUS populates the provided destination MetricSettings_STATUS from our MetricSettings_STATUS +func (settings *MetricSettings_STATUS) AssignProperties_To_MetricSettings_STATUS(destination *storage.MetricSettings_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Category + destination.Category = genruntime.ClonePointerToString(settings.Category) + + // Enabled + if settings.Enabled != nil { + enabled := *settings.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // RetentionPolicy + if settings.RetentionPolicy != nil { + var retentionPolicy storage.RetentionPolicy_STATUS + err := settings.RetentionPolicy.AssignProperties_To_RetentionPolicy_STATUS(&retentionPolicy) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_RetentionPolicy_STATUS() to populate field RetentionPolicy") + } + destination.RetentionPolicy = &retentionPolicy + } else { + destination.RetentionPolicy = nil + } + + // TimeGrain + destination.TimeGrain = genruntime.ClonePointerToString(settings.TimeGrain) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Metadata pertaining to creation and last modification of the resource. +type SystemData_STATUS struct { + // CreatedAt: The timestamp of resource creation (UTC). + CreatedAt *string `json:"createdAt,omitempty"` + + // CreatedBy: The identity that created the resource. + CreatedBy *string `json:"createdBy,omitempty"` + + // CreatedByType: The type of identity that created the resource. + CreatedByType *SystemData_CreatedByType_STATUS `json:"createdByType,omitempty"` + + // LastModifiedAt: The timestamp of resource last modification (UTC) + LastModifiedAt *string `json:"lastModifiedAt,omitempty"` + + // LastModifiedBy: The identity that last modified the resource. + LastModifiedBy *string `json:"lastModifiedBy,omitempty"` + + // LastModifiedByType: The type of identity that last modified the resource. + LastModifiedByType *SystemData_LastModifiedByType_STATUS `json:"lastModifiedByType,omitempty"` +} + +var _ genruntime.FromARMConverter = &SystemData_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (data *SystemData_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &SystemData_STATUS_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (data *SystemData_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(SystemData_STATUS_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected SystemData_STATUS_ARM, got %T", armInput) + } + + // Set property "CreatedAt": + if typedInput.CreatedAt != nil { + createdAt := *typedInput.CreatedAt + data.CreatedAt = &createdAt + } + + // Set property "CreatedBy": + if typedInput.CreatedBy != nil { + createdBy := *typedInput.CreatedBy + data.CreatedBy = &createdBy + } + + // Set property "CreatedByType": + if typedInput.CreatedByType != nil { + var temp string + temp = string(*typedInput.CreatedByType) + createdByType := SystemData_CreatedByType_STATUS(temp) + data.CreatedByType = &createdByType + } + + // Set property "LastModifiedAt": + if typedInput.LastModifiedAt != nil { + lastModifiedAt := *typedInput.LastModifiedAt + data.LastModifiedAt = &lastModifiedAt + } + + // Set property "LastModifiedBy": + if typedInput.LastModifiedBy != nil { + lastModifiedBy := *typedInput.LastModifiedBy + data.LastModifiedBy = &lastModifiedBy + } + + // Set property "LastModifiedByType": + if typedInput.LastModifiedByType != nil { + var temp string + temp = string(*typedInput.LastModifiedByType) + lastModifiedByType := SystemData_LastModifiedByType_STATUS(temp) + data.LastModifiedByType = &lastModifiedByType + } + + // No error + return nil +} + +// AssignProperties_From_SystemData_STATUS populates our SystemData_STATUS from the provided source SystemData_STATUS +func (data *SystemData_STATUS) AssignProperties_From_SystemData_STATUS(source *storage.SystemData_STATUS) error { + + // CreatedAt + data.CreatedAt = genruntime.ClonePointerToString(source.CreatedAt) + + // CreatedBy + data.CreatedBy = genruntime.ClonePointerToString(source.CreatedBy) + + // CreatedByType + if source.CreatedByType != nil { + createdByType := *source.CreatedByType + createdByTypeTemp := genruntime.ToEnum(createdByType, systemData_CreatedByType_STATUS_Values) + data.CreatedByType = &createdByTypeTemp + } else { + data.CreatedByType = nil + } + + // LastModifiedAt + data.LastModifiedAt = genruntime.ClonePointerToString(source.LastModifiedAt) + + // LastModifiedBy + data.LastModifiedBy = genruntime.ClonePointerToString(source.LastModifiedBy) + + // LastModifiedByType + if source.LastModifiedByType != nil { + lastModifiedByType := *source.LastModifiedByType + lastModifiedByTypeTemp := genruntime.ToEnum(lastModifiedByType, systemData_LastModifiedByType_STATUS_Values) + data.LastModifiedByType = &lastModifiedByTypeTemp + } else { + data.LastModifiedByType = nil + } + + // No error + return nil +} + +// AssignProperties_To_SystemData_STATUS populates the provided destination SystemData_STATUS from our SystemData_STATUS +func (data *SystemData_STATUS) AssignProperties_To_SystemData_STATUS(destination *storage.SystemData_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // CreatedAt + destination.CreatedAt = genruntime.ClonePointerToString(data.CreatedAt) + + // CreatedBy + destination.CreatedBy = genruntime.ClonePointerToString(data.CreatedBy) + + // CreatedByType + if data.CreatedByType != nil { + createdByType := string(*data.CreatedByType) + destination.CreatedByType = &createdByType + } else { + destination.CreatedByType = nil + } + + // LastModifiedAt + destination.LastModifiedAt = genruntime.ClonePointerToString(data.LastModifiedAt) + + // LastModifiedBy + destination.LastModifiedBy = genruntime.ClonePointerToString(data.LastModifiedBy) + + // LastModifiedByType + if data.LastModifiedByType != nil { + lastModifiedByType := string(*data.LastModifiedByType) + destination.LastModifiedByType = &lastModifiedByType + } else { + destination.LastModifiedByType = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Specifies the retention policy for the log. +type RetentionPolicy struct { + // +kubebuilder:validation:Required + // +kubebuilder:validation:Minimum=0 + // Days: the number of days for the retention in days. A value of 0 will retain the events indefinitely. + Days *int `json:"days,omitempty"` + + // +kubebuilder:validation:Required + // Enabled: a value indicating whether the retention policy is enabled. + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.ARMTransformer = &RetentionPolicy{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (policy *RetentionPolicy) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if policy == nil { + return nil, nil + } + result := &RetentionPolicy_ARM{} + + // Set property "Days": + if policy.Days != nil { + days := *policy.Days + result.Days = &days + } + + // Set property "Enabled": + if policy.Enabled != nil { + enabled := *policy.Enabled + result.Enabled = &enabled + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (policy *RetentionPolicy) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &RetentionPolicy_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (policy *RetentionPolicy) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(RetentionPolicy_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected RetentionPolicy_ARM, got %T", armInput) + } + + // Set property "Days": + if typedInput.Days != nil { + days := *typedInput.Days + policy.Days = &days + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + policy.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_RetentionPolicy populates our RetentionPolicy from the provided source RetentionPolicy +func (policy *RetentionPolicy) AssignProperties_From_RetentionPolicy(source *storage.RetentionPolicy) error { + + // Days + if source.Days != nil { + day := *source.Days + policy.Days = &day + } else { + policy.Days = nil + } + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + policy.Enabled = &enabled + } else { + policy.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_RetentionPolicy populates the provided destination RetentionPolicy from our RetentionPolicy +func (policy *RetentionPolicy) AssignProperties_To_RetentionPolicy(destination *storage.RetentionPolicy) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Days + if policy.Days != nil { + day := *policy.Days + destination.Days = &day + } else { + destination.Days = nil + } + + // Enabled + if policy.Enabled != nil { + enabled := *policy.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_RetentionPolicy_STATUS populates our RetentionPolicy from the provided source RetentionPolicy_STATUS +func (policy *RetentionPolicy) Initialize_From_RetentionPolicy_STATUS(source *RetentionPolicy_STATUS) error { + + // Days + if source.Days != nil { + day := *source.Days + policy.Days = &day + } else { + policy.Days = nil + } + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + policy.Enabled = &enabled + } else { + policy.Enabled = nil + } + + // No error + return nil +} + +// Specifies the retention policy for the log. +type RetentionPolicy_STATUS struct { + // Days: the number of days for the retention in days. A value of 0 will retain the events indefinitely. + Days *int `json:"days,omitempty"` + + // Enabled: a value indicating whether the retention policy is enabled. + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.FromARMConverter = &RetentionPolicy_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (policy *RetentionPolicy_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &RetentionPolicy_STATUS_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (policy *RetentionPolicy_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(RetentionPolicy_STATUS_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected RetentionPolicy_STATUS_ARM, got %T", armInput) + } + + // Set property "Days": + if typedInput.Days != nil { + days := *typedInput.Days + policy.Days = &days + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + policy.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_RetentionPolicy_STATUS populates our RetentionPolicy_STATUS from the provided source RetentionPolicy_STATUS +func (policy *RetentionPolicy_STATUS) AssignProperties_From_RetentionPolicy_STATUS(source *storage.RetentionPolicy_STATUS) error { + + // Days + policy.Days = genruntime.ClonePointerToInt(source.Days) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + policy.Enabled = &enabled + } else { + policy.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_RetentionPolicy_STATUS populates the provided destination RetentionPolicy_STATUS from our RetentionPolicy_STATUS +func (policy *RetentionPolicy_STATUS) AssignProperties_To_RetentionPolicy_STATUS(destination *storage.RetentionPolicy_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Days + destination.Days = genruntime.ClonePointerToInt(policy.Days) + + // Enabled + if policy.Enabled != nil { + enabled := *policy.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +type SystemData_CreatedByType_STATUS string + +const ( + SystemData_CreatedByType_STATUS_Application = SystemData_CreatedByType_STATUS("Application") + SystemData_CreatedByType_STATUS_Key = SystemData_CreatedByType_STATUS("Key") + SystemData_CreatedByType_STATUS_ManagedIdentity = SystemData_CreatedByType_STATUS("ManagedIdentity") + SystemData_CreatedByType_STATUS_User = SystemData_CreatedByType_STATUS("User") +) + +// Mapping from string to SystemData_CreatedByType_STATUS +var systemData_CreatedByType_STATUS_Values = map[string]SystemData_CreatedByType_STATUS{ + "application": SystemData_CreatedByType_STATUS_Application, + "key": SystemData_CreatedByType_STATUS_Key, + "managedidentity": SystemData_CreatedByType_STATUS_ManagedIdentity, + "user": SystemData_CreatedByType_STATUS_User, +} + +type SystemData_LastModifiedByType_STATUS string + +const ( + SystemData_LastModifiedByType_STATUS_Application = SystemData_LastModifiedByType_STATUS("Application") + SystemData_LastModifiedByType_STATUS_Key = SystemData_LastModifiedByType_STATUS("Key") + SystemData_LastModifiedByType_STATUS_ManagedIdentity = SystemData_LastModifiedByType_STATUS("ManagedIdentity") + SystemData_LastModifiedByType_STATUS_User = SystemData_LastModifiedByType_STATUS("User") +) + +// Mapping from string to SystemData_LastModifiedByType_STATUS +var systemData_LastModifiedByType_STATUS_Values = map[string]SystemData_LastModifiedByType_STATUS{ + "application": SystemData_LastModifiedByType_STATUS_Application, + "key": SystemData_LastModifiedByType_STATUS_Key, + "managedidentity": SystemData_LastModifiedByType_STATUS_ManagedIdentity, + "user": SystemData_LastModifiedByType_STATUS_User, +} + +func init() { + SchemeBuilder.Register(&DiagnosticSetting{}, &DiagnosticSettingList{}) +} diff --git a/v2/api/insights/v1api20210501preview/diagnostic_setting_types_gen_test.go b/v2/api/insights/v1api20210501preview/diagnostic_setting_types_gen_test.go new file mode 100644 index 00000000000..ec71a5d8868 --- /dev/null +++ b/v2/api/insights/v1api20210501preview/diagnostic_setting_types_gen_test.go @@ -0,0 +1,1209 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20210501preview + +import ( + "encoding/json" + storage "github.com/Azure/azure-service-operator/v2/api/insights/v1api20210501preview/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_DiagnosticSetting_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 DiagnosticSetting to hub returns original", + prop.ForAll(RunResourceConversionTestForDiagnosticSetting, DiagnosticSettingGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunResourceConversionTestForDiagnosticSetting tests if a specific instance of DiagnosticSetting round trips to the hub storage version and back losslessly +func RunResourceConversionTestForDiagnosticSetting(subject DiagnosticSetting) string { + // Copy subject to make sure conversion doesn't modify it + copied := subject.DeepCopy() + + // Convert to our hub version + var hub storage.DiagnosticSetting + err := copied.ConvertTo(&hub) + if err != nil { + return err.Error() + } + + // Convert from our hub version + var actual DiagnosticSetting + 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_DiagnosticSetting_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from DiagnosticSetting to DiagnosticSetting via AssignProperties_To_DiagnosticSetting & AssignProperties_From_DiagnosticSetting returns original", + prop.ForAll(RunPropertyAssignmentTestForDiagnosticSetting, DiagnosticSettingGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForDiagnosticSetting tests if a specific instance of DiagnosticSetting can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForDiagnosticSetting(subject DiagnosticSetting) 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.DiagnosticSetting + err := copied.AssignProperties_To_DiagnosticSetting(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual DiagnosticSetting + err = actual.AssignProperties_From_DiagnosticSetting(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_DiagnosticSetting_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 DiagnosticSetting via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDiagnosticSetting, DiagnosticSettingGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDiagnosticSetting runs a test to see if a specific instance of DiagnosticSetting round trips to JSON and back losslessly +func RunJSONSerializationTestForDiagnosticSetting(subject DiagnosticSetting) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DiagnosticSetting + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DiagnosticSetting instances for property testing - lazily instantiated by DiagnosticSettingGenerator() +var diagnosticSettingGenerator gopter.Gen + +// DiagnosticSettingGenerator returns a generator of DiagnosticSetting instances for property testing. +func DiagnosticSettingGenerator() gopter.Gen { + if diagnosticSettingGenerator != nil { + return diagnosticSettingGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForDiagnosticSetting(generators) + diagnosticSettingGenerator = gen.Struct(reflect.TypeOf(DiagnosticSetting{}), generators) + + return diagnosticSettingGenerator +} + +// AddRelatedPropertyGeneratorsForDiagnosticSetting is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForDiagnosticSetting(gens map[string]gopter.Gen) { + gens["Spec"] = DiagnosticSetting_SpecGenerator() + gens["Status"] = DiagnosticSetting_STATUSGenerator() +} + +func Test_DiagnosticSetting_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from DiagnosticSetting_STATUS to DiagnosticSetting_STATUS via AssignProperties_To_DiagnosticSetting_STATUS & AssignProperties_From_DiagnosticSetting_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForDiagnosticSetting_STATUS, DiagnosticSetting_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForDiagnosticSetting_STATUS tests if a specific instance of DiagnosticSetting_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForDiagnosticSetting_STATUS(subject DiagnosticSetting_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.DiagnosticSetting_STATUS + err := copied.AssignProperties_To_DiagnosticSetting_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual DiagnosticSetting_STATUS + err = actual.AssignProperties_From_DiagnosticSetting_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_DiagnosticSetting_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DiagnosticSetting_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDiagnosticSetting_STATUS, DiagnosticSetting_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDiagnosticSetting_STATUS runs a test to see if a specific instance of DiagnosticSetting_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForDiagnosticSetting_STATUS(subject DiagnosticSetting_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DiagnosticSetting_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DiagnosticSetting_STATUS instances for property testing - lazily instantiated by +// DiagnosticSetting_STATUSGenerator() +var diagnosticSetting_STATUSGenerator gopter.Gen + +// DiagnosticSetting_STATUSGenerator returns a generator of DiagnosticSetting_STATUS instances for property testing. +// We first initialize diagnosticSetting_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func DiagnosticSetting_STATUSGenerator() gopter.Gen { + if diagnosticSetting_STATUSGenerator != nil { + return diagnosticSetting_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDiagnosticSetting_STATUS(generators) + diagnosticSetting_STATUSGenerator = gen.Struct(reflect.TypeOf(DiagnosticSetting_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDiagnosticSetting_STATUS(generators) + AddRelatedPropertyGeneratorsForDiagnosticSetting_STATUS(generators) + diagnosticSetting_STATUSGenerator = gen.Struct(reflect.TypeOf(DiagnosticSetting_STATUS{}), generators) + + return diagnosticSetting_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForDiagnosticSetting_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDiagnosticSetting_STATUS(gens map[string]gopter.Gen) { + gens["EventHubAuthorizationRuleId"] = gen.PtrOf(gen.AlphaString()) + gens["EventHubName"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["LogAnalyticsDestinationType"] = gen.PtrOf(gen.AlphaString()) + gens["MarketplacePartnerId"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["ServiceBusRuleId"] = gen.PtrOf(gen.AlphaString()) + gens["StorageAccountId"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) + gens["WorkspaceId"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForDiagnosticSetting_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForDiagnosticSetting_STATUS(gens map[string]gopter.Gen) { + gens["Logs"] = gen.SliceOf(LogSettings_STATUSGenerator()) + gens["Metrics"] = gen.SliceOf(MetricSettings_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} + +func Test_DiagnosticSetting_Spec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from DiagnosticSetting_Spec to DiagnosticSetting_Spec via AssignProperties_To_DiagnosticSetting_Spec & AssignProperties_From_DiagnosticSetting_Spec returns original", + prop.ForAll(RunPropertyAssignmentTestForDiagnosticSetting_Spec, DiagnosticSetting_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForDiagnosticSetting_Spec tests if a specific instance of DiagnosticSetting_Spec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForDiagnosticSetting_Spec(subject DiagnosticSetting_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.DiagnosticSetting_Spec + err := copied.AssignProperties_To_DiagnosticSetting_Spec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual DiagnosticSetting_Spec + err = actual.AssignProperties_From_DiagnosticSetting_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_DiagnosticSetting_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 DiagnosticSetting_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDiagnosticSetting_Spec, DiagnosticSetting_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDiagnosticSetting_Spec runs a test to see if a specific instance of DiagnosticSetting_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForDiagnosticSetting_Spec(subject DiagnosticSetting_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DiagnosticSetting_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 DiagnosticSetting_Spec instances for property testing - lazily instantiated by +// DiagnosticSetting_SpecGenerator() +var diagnosticSetting_SpecGenerator gopter.Gen + +// DiagnosticSetting_SpecGenerator returns a generator of DiagnosticSetting_Spec instances for property testing. +// We first initialize diagnosticSetting_SpecGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func DiagnosticSetting_SpecGenerator() gopter.Gen { + if diagnosticSetting_SpecGenerator != nil { + return diagnosticSetting_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDiagnosticSetting_Spec(generators) + diagnosticSetting_SpecGenerator = gen.Struct(reflect.TypeOf(DiagnosticSetting_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDiagnosticSetting_Spec(generators) + AddRelatedPropertyGeneratorsForDiagnosticSetting_Spec(generators) + diagnosticSetting_SpecGenerator = gen.Struct(reflect.TypeOf(DiagnosticSetting_Spec{}), generators) + + return diagnosticSetting_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForDiagnosticSetting_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDiagnosticSetting_Spec(gens map[string]gopter.Gen) { + gens["AzureName"] = gen.AlphaString() + gens["EventHubName"] = gen.PtrOf(gen.AlphaString()) + gens["LogAnalyticsDestinationType"] = gen.PtrOf(gen.AlphaString()) + gens["ServiceBusRuleId"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForDiagnosticSetting_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForDiagnosticSetting_Spec(gens map[string]gopter.Gen) { + gens["Logs"] = gen.SliceOf(LogSettingsGenerator()) + gens["Metrics"] = gen.SliceOf(MetricSettingsGenerator()) +} + +func Test_LogSettings_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from LogSettings to LogSettings via AssignProperties_To_LogSettings & AssignProperties_From_LogSettings returns original", + prop.ForAll(RunPropertyAssignmentTestForLogSettings, LogSettingsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForLogSettings tests if a specific instance of LogSettings can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForLogSettings(subject LogSettings) 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.LogSettings + err := copied.AssignProperties_To_LogSettings(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual LogSettings + err = actual.AssignProperties_From_LogSettings(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_LogSettings_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of LogSettings via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLogSettings, LogSettingsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLogSettings runs a test to see if a specific instance of LogSettings round trips to JSON and back losslessly +func RunJSONSerializationTestForLogSettings(subject LogSettings) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual LogSettings + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of LogSettings instances for property testing - lazily instantiated by LogSettingsGenerator() +var logSettingsGenerator gopter.Gen + +// LogSettingsGenerator returns a generator of LogSettings instances for property testing. +// We first initialize logSettingsGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func LogSettingsGenerator() gopter.Gen { + if logSettingsGenerator != nil { + return logSettingsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLogSettings(generators) + logSettingsGenerator = gen.Struct(reflect.TypeOf(LogSettings{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLogSettings(generators) + AddRelatedPropertyGeneratorsForLogSettings(generators) + logSettingsGenerator = gen.Struct(reflect.TypeOf(LogSettings{}), generators) + + return logSettingsGenerator +} + +// AddIndependentPropertyGeneratorsForLogSettings is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLogSettings(gens map[string]gopter.Gen) { + gens["Category"] = gen.PtrOf(gen.AlphaString()) + gens["CategoryGroup"] = gen.PtrOf(gen.AlphaString()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForLogSettings is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForLogSettings(gens map[string]gopter.Gen) { + gens["RetentionPolicy"] = gen.PtrOf(RetentionPolicyGenerator()) +} + +func Test_LogSettings_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from LogSettings_STATUS to LogSettings_STATUS via AssignProperties_To_LogSettings_STATUS & AssignProperties_From_LogSettings_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForLogSettings_STATUS, LogSettings_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForLogSettings_STATUS tests if a specific instance of LogSettings_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForLogSettings_STATUS(subject LogSettings_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.LogSettings_STATUS + err := copied.AssignProperties_To_LogSettings_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual LogSettings_STATUS + err = actual.AssignProperties_From_LogSettings_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_LogSettings_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of LogSettings_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLogSettings_STATUS, LogSettings_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLogSettings_STATUS runs a test to see if a specific instance of LogSettings_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForLogSettings_STATUS(subject LogSettings_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual LogSettings_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of LogSettings_STATUS instances for property testing - lazily instantiated by LogSettings_STATUSGenerator() +var logSettings_STATUSGenerator gopter.Gen + +// LogSettings_STATUSGenerator returns a generator of LogSettings_STATUS instances for property testing. +// We first initialize logSettings_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func LogSettings_STATUSGenerator() gopter.Gen { + if logSettings_STATUSGenerator != nil { + return logSettings_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLogSettings_STATUS(generators) + logSettings_STATUSGenerator = gen.Struct(reflect.TypeOf(LogSettings_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLogSettings_STATUS(generators) + AddRelatedPropertyGeneratorsForLogSettings_STATUS(generators) + logSettings_STATUSGenerator = gen.Struct(reflect.TypeOf(LogSettings_STATUS{}), generators) + + return logSettings_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForLogSettings_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLogSettings_STATUS(gens map[string]gopter.Gen) { + gens["Category"] = gen.PtrOf(gen.AlphaString()) + gens["CategoryGroup"] = gen.PtrOf(gen.AlphaString()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForLogSettings_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForLogSettings_STATUS(gens map[string]gopter.Gen) { + gens["RetentionPolicy"] = gen.PtrOf(RetentionPolicy_STATUSGenerator()) +} + +func Test_MetricSettings_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from MetricSettings to MetricSettings via AssignProperties_To_MetricSettings & AssignProperties_From_MetricSettings returns original", + prop.ForAll(RunPropertyAssignmentTestForMetricSettings, MetricSettingsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForMetricSettings tests if a specific instance of MetricSettings can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForMetricSettings(subject MetricSettings) 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.MetricSettings + err := copied.AssignProperties_To_MetricSettings(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual MetricSettings + err = actual.AssignProperties_From_MetricSettings(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_MetricSettings_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MetricSettings via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMetricSettings, MetricSettingsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMetricSettings runs a test to see if a specific instance of MetricSettings round trips to JSON and back losslessly +func RunJSONSerializationTestForMetricSettings(subject MetricSettings) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MetricSettings + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MetricSettings instances for property testing - lazily instantiated by MetricSettingsGenerator() +var metricSettingsGenerator gopter.Gen + +// MetricSettingsGenerator returns a generator of MetricSettings instances for property testing. +// We first initialize metricSettingsGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func MetricSettingsGenerator() gopter.Gen { + if metricSettingsGenerator != nil { + return metricSettingsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMetricSettings(generators) + metricSettingsGenerator = gen.Struct(reflect.TypeOf(MetricSettings{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMetricSettings(generators) + AddRelatedPropertyGeneratorsForMetricSettings(generators) + metricSettingsGenerator = gen.Struct(reflect.TypeOf(MetricSettings{}), generators) + + return metricSettingsGenerator +} + +// AddIndependentPropertyGeneratorsForMetricSettings is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMetricSettings(gens map[string]gopter.Gen) { + gens["Category"] = gen.PtrOf(gen.AlphaString()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["TimeGrain"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForMetricSettings is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForMetricSettings(gens map[string]gopter.Gen) { + gens["RetentionPolicy"] = gen.PtrOf(RetentionPolicyGenerator()) +} + +func Test_MetricSettings_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from MetricSettings_STATUS to MetricSettings_STATUS via AssignProperties_To_MetricSettings_STATUS & AssignProperties_From_MetricSettings_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForMetricSettings_STATUS, MetricSettings_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForMetricSettings_STATUS tests if a specific instance of MetricSettings_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForMetricSettings_STATUS(subject MetricSettings_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.MetricSettings_STATUS + err := copied.AssignProperties_To_MetricSettings_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual MetricSettings_STATUS + err = actual.AssignProperties_From_MetricSettings_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_MetricSettings_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MetricSettings_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMetricSettings_STATUS, MetricSettings_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMetricSettings_STATUS runs a test to see if a specific instance of MetricSettings_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForMetricSettings_STATUS(subject MetricSettings_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MetricSettings_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MetricSettings_STATUS instances for property testing - lazily instantiated by +// MetricSettings_STATUSGenerator() +var metricSettings_STATUSGenerator gopter.Gen + +// MetricSettings_STATUSGenerator returns a generator of MetricSettings_STATUS instances for property testing. +// We first initialize metricSettings_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func MetricSettings_STATUSGenerator() gopter.Gen { + if metricSettings_STATUSGenerator != nil { + return metricSettings_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMetricSettings_STATUS(generators) + metricSettings_STATUSGenerator = gen.Struct(reflect.TypeOf(MetricSettings_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMetricSettings_STATUS(generators) + AddRelatedPropertyGeneratorsForMetricSettings_STATUS(generators) + metricSettings_STATUSGenerator = gen.Struct(reflect.TypeOf(MetricSettings_STATUS{}), generators) + + return metricSettings_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForMetricSettings_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMetricSettings_STATUS(gens map[string]gopter.Gen) { + gens["Category"] = gen.PtrOf(gen.AlphaString()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["TimeGrain"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForMetricSettings_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForMetricSettings_STATUS(gens map[string]gopter.Gen) { + gens["RetentionPolicy"] = gen.PtrOf(RetentionPolicy_STATUSGenerator()) +} + +func Test_RetentionPolicy_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from RetentionPolicy to RetentionPolicy via AssignProperties_To_RetentionPolicy & AssignProperties_From_RetentionPolicy returns original", + prop.ForAll(RunPropertyAssignmentTestForRetentionPolicy, RetentionPolicyGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForRetentionPolicy tests if a specific instance of RetentionPolicy can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForRetentionPolicy(subject RetentionPolicy) 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.RetentionPolicy + err := copied.AssignProperties_To_RetentionPolicy(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual RetentionPolicy + err = actual.AssignProperties_From_RetentionPolicy(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_RetentionPolicy_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of RetentionPolicy via JSON returns original", + prop.ForAll(RunJSONSerializationTestForRetentionPolicy, RetentionPolicyGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForRetentionPolicy runs a test to see if a specific instance of RetentionPolicy round trips to JSON and back losslessly +func RunJSONSerializationTestForRetentionPolicy(subject RetentionPolicy) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual RetentionPolicy + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of RetentionPolicy instances for property testing - lazily instantiated by RetentionPolicyGenerator() +var retentionPolicyGenerator gopter.Gen + +// RetentionPolicyGenerator returns a generator of RetentionPolicy instances for property testing. +func RetentionPolicyGenerator() gopter.Gen { + if retentionPolicyGenerator != nil { + return retentionPolicyGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForRetentionPolicy(generators) + retentionPolicyGenerator = gen.Struct(reflect.TypeOf(RetentionPolicy{}), generators) + + return retentionPolicyGenerator +} + +// AddIndependentPropertyGeneratorsForRetentionPolicy is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForRetentionPolicy(gens map[string]gopter.Gen) { + gens["Days"] = gen.PtrOf(gen.Int()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_RetentionPolicy_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from RetentionPolicy_STATUS to RetentionPolicy_STATUS via AssignProperties_To_RetentionPolicy_STATUS & AssignProperties_From_RetentionPolicy_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForRetentionPolicy_STATUS, RetentionPolicy_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForRetentionPolicy_STATUS tests if a specific instance of RetentionPolicy_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForRetentionPolicy_STATUS(subject RetentionPolicy_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.RetentionPolicy_STATUS + err := copied.AssignProperties_To_RetentionPolicy_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual RetentionPolicy_STATUS + err = actual.AssignProperties_From_RetentionPolicy_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_RetentionPolicy_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of RetentionPolicy_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForRetentionPolicy_STATUS, RetentionPolicy_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForRetentionPolicy_STATUS runs a test to see if a specific instance of RetentionPolicy_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForRetentionPolicy_STATUS(subject RetentionPolicy_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual RetentionPolicy_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of RetentionPolicy_STATUS instances for property testing - lazily instantiated by +// RetentionPolicy_STATUSGenerator() +var retentionPolicy_STATUSGenerator gopter.Gen + +// RetentionPolicy_STATUSGenerator returns a generator of RetentionPolicy_STATUS instances for property testing. +func RetentionPolicy_STATUSGenerator() gopter.Gen { + if retentionPolicy_STATUSGenerator != nil { + return retentionPolicy_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForRetentionPolicy_STATUS(generators) + retentionPolicy_STATUSGenerator = gen.Struct(reflect.TypeOf(RetentionPolicy_STATUS{}), generators) + + return retentionPolicy_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForRetentionPolicy_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForRetentionPolicy_STATUS(gens map[string]gopter.Gen) { + gens["Days"] = gen.PtrOf(gen.Int()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_SystemData_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from SystemData_STATUS to SystemData_STATUS via AssignProperties_To_SystemData_STATUS & AssignProperties_From_SystemData_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForSystemData_STATUS, SystemData_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForSystemData_STATUS tests if a specific instance of SystemData_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForSystemData_STATUS(subject SystemData_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.SystemData_STATUS + err := copied.AssignProperties_To_SystemData_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual SystemData_STATUS + err = actual.AssignProperties_From_SystemData_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_SystemData_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of SystemData_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSystemData_STATUS, SystemData_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSystemData_STATUS runs a test to see if a specific instance of SystemData_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForSystemData_STATUS(subject SystemData_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual SystemData_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of SystemData_STATUS instances for property testing - lazily instantiated by SystemData_STATUSGenerator() +var systemData_STATUSGenerator gopter.Gen + +// SystemData_STATUSGenerator returns a generator of SystemData_STATUS instances for property testing. +func SystemData_STATUSGenerator() gopter.Gen { + if systemData_STATUSGenerator != nil { + return systemData_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForSystemData_STATUS(generators) + systemData_STATUSGenerator = gen.Struct(reflect.TypeOf(SystemData_STATUS{}), generators) + + return systemData_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForSystemData_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForSystemData_STATUS(gens map[string]gopter.Gen) { + gens["CreatedAt"] = gen.PtrOf(gen.AlphaString()) + gens["CreatedBy"] = gen.PtrOf(gen.AlphaString()) + gens["CreatedByType"] = gen.PtrOf(gen.OneConstOf( + SystemData_CreatedByType_STATUS_Application, + SystemData_CreatedByType_STATUS_Key, + SystemData_CreatedByType_STATUS_ManagedIdentity, + SystemData_CreatedByType_STATUS_User)) + gens["LastModifiedAt"] = gen.PtrOf(gen.AlphaString()) + gens["LastModifiedBy"] = gen.PtrOf(gen.AlphaString()) + gens["LastModifiedByType"] = gen.PtrOf(gen.OneConstOf( + SystemData_LastModifiedByType_STATUS_Application, + SystemData_LastModifiedByType_STATUS_Key, + SystemData_LastModifiedByType_STATUS_ManagedIdentity, + SystemData_LastModifiedByType_STATUS_User)) +} diff --git a/v2/api/insights/v1api20210501preview/doc.go b/v2/api/insights/v1api20210501preview/doc.go new file mode 100644 index 00000000000..e9518289d88 --- /dev/null +++ b/v2/api/insights/v1api20210501preview/doc.go @@ -0,0 +1,10 @@ +/* +Copyright (c) Microsoft Corporation. +Licensed under the MIT license. +*/ + +// Code generated by azure-service-operator-codegen. DO NOT EDIT. + +// Package v1api20210501preview contains API Schema definitions for the insights v1api20210501preview API group +// +groupName=insights.azure.com +package v1api20210501preview diff --git a/v2/api/insights/v1api20210501preview/groupversion_info_gen.go b/v2/api/insights/v1api20210501preview/groupversion_info_gen.go new file mode 100644 index 00000000000..30bd01bcb36 --- /dev/null +++ b/v2/api/insights/v1api20210501preview/groupversion_info_gen.go @@ -0,0 +1,32 @@ +/* +Copyright (c) Microsoft Corporation. +Licensed under the MIT license. +*/ + +// Code generated by azure-service-operator-codegen. DO NOT EDIT. + +// Package v1api20210501preview contains API Schema definitions for the insights v1api20210501preview API group +// +kubebuilder:object:generate=true +// All object properties are optional by default, this will be overridden when needed: +// +kubebuilder:validation:Optional +// +groupName=insights.azure.com +// +versionName=v1api20210501preview +package v1api20210501preview + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +var ( + // GroupVersion is group version used to register these objects + GroupVersion = schema.GroupVersion{Group: "insights.azure.com", Version: "v1api20210501preview"} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme + + localSchemeBuilder = SchemeBuilder.SchemeBuilder +) diff --git a/v2/api/insights/v1api20210501preview/storage/diagnostic_setting_types_gen.go b/v2/api/insights/v1api20210501preview/storage/diagnostic_setting_types_gen.go new file mode 100644 index 00000000000..e76031e7942 --- /dev/null +++ b/v2/api/insights/v1api20210501preview/storage/diagnostic_setting_types_gen.go @@ -0,0 +1,402 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package storage + +import ( + storage "github.com/Azure/azure-service-operator/v2/api/insights/v1api20220615/storage" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "github.com/pkg/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// +kubebuilder:rbac:groups=insights.azure.com,resources=diagnosticsettings,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=insights.azure.com,resources={diagnosticsettings/status,diagnosticsettings/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 v1api20210501preview.DiagnosticSetting +// Generator information: +// - Generated from: /monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/diagnosticsSettings_API.json +// - ARM URI: /{resourceUri}/providers/Microsoft.Insights/diagnosticSettings/{name} +type DiagnosticSetting struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DiagnosticSetting_Spec `json:"spec,omitempty"` + Status DiagnosticSetting_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &DiagnosticSetting{} + +// GetConditions returns the conditions of the resource +func (setting *DiagnosticSetting) GetConditions() conditions.Conditions { + return setting.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (setting *DiagnosticSetting) SetConditions(conditions conditions.Conditions) { + setting.Status.Conditions = conditions +} + +var _ genruntime.KubernetesResource = &DiagnosticSetting{} + +// AzureName returns the Azure name of the resource +func (setting *DiagnosticSetting) AzureName() string { + return setting.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2021-05-01-preview" +func (setting DiagnosticSetting) GetAPIVersion() string { + return "2021-05-01-preview" +} + +// GetResourceScope returns the scope of the resource +func (setting *DiagnosticSetting) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeExtension +} + +// GetSpec returns the specification of this resource +func (setting *DiagnosticSetting) GetSpec() genruntime.ConvertibleSpec { + return &setting.Spec +} + +// GetStatus returns the status of this resource +func (setting *DiagnosticSetting) GetStatus() genruntime.ConvertibleStatus { + return &setting.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (setting *DiagnosticSetting) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.Insights/diagnosticSettings" +func (setting *DiagnosticSetting) GetType() string { + return "Microsoft.Insights/diagnosticSettings" +} + +// NewEmptyStatus returns a new empty (blank) status +func (setting *DiagnosticSetting) NewEmptyStatus() genruntime.ConvertibleStatus { + return &DiagnosticSetting_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (setting *DiagnosticSetting) Owner() *genruntime.ResourceReference { + return setting.Spec.Owner.AsResourceReference() +} + +// SetStatus sets the status of this resource +func (setting *DiagnosticSetting) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*DiagnosticSetting_STATUS); ok { + setting.Status = *st + return nil + } + + // Convert status to required version + var st DiagnosticSetting_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return errors.Wrap(err, "failed to convert status") + } + + setting.Status = st + return nil +} + +// Hub marks that this DiagnosticSetting is the hub type for conversion +func (setting *DiagnosticSetting) Hub() {} + +// OriginalGVK returns a GroupValueKind for the original API version used to create the resource +func (setting *DiagnosticSetting) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: setting.Spec.OriginalVersion, + Kind: "DiagnosticSetting", + } +} + +// +kubebuilder:object:root=true +// Storage version of v1api20210501preview.DiagnosticSetting +// Generator information: +// - Generated from: /monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/diagnosticsSettings_API.json +// - ARM URI: /{resourceUri}/providers/Microsoft.Insights/diagnosticSettings/{name} +type DiagnosticSettingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []DiagnosticSetting `json:"items"` +} + +// Storage version of v1api20210501preview.APIVersion +// +kubebuilder:validation:Enum={"2021-05-01-preview"} +type APIVersion string + +const APIVersion_Value = APIVersion("2021-05-01-preview") + +// Storage version of v1api20210501preview.DiagnosticSetting_Spec +type DiagnosticSetting_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"` + + // EventHubAuthorizationRuleReference: The resource Id for the event hub authorization rule. + EventHubAuthorizationRuleReference *genruntime.ResourceReference `armReference:"EventHubAuthorizationRuleId" json:"eventHubAuthorizationRuleReference,omitempty"` + EventHubName *string `json:"eventHubName,omitempty"` + LogAnalyticsDestinationType *string `json:"logAnalyticsDestinationType,omitempty"` + Logs []LogSettings `json:"logs,omitempty"` + + // MarketplacePartnerReference: The full ARM resource ID of the Marketplace resource to which you would like to send + // Diagnostic Logs. + MarketplacePartnerReference *genruntime.ResourceReference `armReference:"MarketplacePartnerId" json:"marketplacePartnerReference,omitempty"` + Metrics []MetricSettings `json:"metrics,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. This resource is an + // extension resource, which means that any other Azure resource can be its owner. + Owner *genruntime.ArbitraryOwnerReference `json:"owner,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ServiceBusRuleId *string `json:"serviceBusRuleId,omitempty"` + + // StorageAccountReference: The resource ID of the storage account to which you would like to send Diagnostic Logs. + StorageAccountReference *genruntime.ResourceReference `armReference:"StorageAccountId" json:"storageAccountReference,omitempty"` + + // WorkspaceReference: The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic + // Logs. Example: + // /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + WorkspaceReference *genruntime.ResourceReference `armReference:"WorkspaceId" json:"workspaceReference,omitempty"` +} + +var _ genruntime.ConvertibleSpec = &DiagnosticSetting_Spec{} + +// ConvertSpecFrom populates our DiagnosticSetting_Spec from the provided source +func (setting *DiagnosticSetting_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + if source == setting { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return source.ConvertSpecTo(setting) +} + +// ConvertSpecTo populates the provided destination from our DiagnosticSetting_Spec +func (setting *DiagnosticSetting_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + if destination == setting { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return destination.ConvertSpecFrom(setting) +} + +// Storage version of v1api20210501preview.DiagnosticSetting_STATUS +type DiagnosticSetting_STATUS struct { + Conditions []conditions.Condition `json:"conditions,omitempty"` + EventHubAuthorizationRuleId *string `json:"eventHubAuthorizationRuleId,omitempty"` + EventHubName *string `json:"eventHubName,omitempty"` + Id *string `json:"id,omitempty"` + LogAnalyticsDestinationType *string `json:"logAnalyticsDestinationType,omitempty"` + Logs []LogSettings_STATUS `json:"logs,omitempty"` + MarketplacePartnerId *string `json:"marketplacePartnerId,omitempty"` + Metrics []MetricSettings_STATUS `json:"metrics,omitempty"` + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ServiceBusRuleId *string `json:"serviceBusRuleId,omitempty"` + StorageAccountId *string `json:"storageAccountId,omitempty"` + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + Type *string `json:"type,omitempty"` + WorkspaceId *string `json:"workspaceId,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &DiagnosticSetting_STATUS{} + +// ConvertStatusFrom populates our DiagnosticSetting_STATUS from the provided source +func (setting *DiagnosticSetting_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + if source == setting { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return source.ConvertStatusTo(setting) +} + +// ConvertStatusTo populates the provided destination from our DiagnosticSetting_STATUS +func (setting *DiagnosticSetting_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + if destination == setting { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return destination.ConvertStatusFrom(setting) +} + +// Storage version of v1api20210501preview.LogSettings +// Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log. +type LogSettings struct { + Category *string `json:"category,omitempty"` + CategoryGroup *string `json:"categoryGroup,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + RetentionPolicy *RetentionPolicy `json:"retentionPolicy,omitempty"` +} + +// Storage version of v1api20210501preview.LogSettings_STATUS +// Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log. +type LogSettings_STATUS struct { + Category *string `json:"category,omitempty"` + CategoryGroup *string `json:"categoryGroup,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + RetentionPolicy *RetentionPolicy_STATUS `json:"retentionPolicy,omitempty"` +} + +// Storage version of v1api20210501preview.MetricSettings +// Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric. +type MetricSettings struct { + Category *string `json:"category,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + RetentionPolicy *RetentionPolicy `json:"retentionPolicy,omitempty"` + TimeGrain *string `json:"timeGrain,omitempty"` +} + +// Storage version of v1api20210501preview.MetricSettings_STATUS +// Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric. +type MetricSettings_STATUS struct { + Category *string `json:"category,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + RetentionPolicy *RetentionPolicy_STATUS `json:"retentionPolicy,omitempty"` + TimeGrain *string `json:"timeGrain,omitempty"` +} + +// Storage version of v1api20210501preview.SystemData_STATUS +// Metadata pertaining to creation and last modification of the resource. +type SystemData_STATUS struct { + CreatedAt *string `json:"createdAt,omitempty"` + CreatedBy *string `json:"createdBy,omitempty"` + CreatedByType *string `json:"createdByType,omitempty"` + LastModifiedAt *string `json:"lastModifiedAt,omitempty"` + LastModifiedBy *string `json:"lastModifiedBy,omitempty"` + LastModifiedByType *string `json:"lastModifiedByType,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_SystemData_STATUS populates our SystemData_STATUS from the provided source SystemData_STATUS +func (data *SystemData_STATUS) AssignProperties_From_SystemData_STATUS(source *storage.SystemData_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // CreatedAt + data.CreatedAt = genruntime.ClonePointerToString(source.CreatedAt) + + // CreatedBy + data.CreatedBy = genruntime.ClonePointerToString(source.CreatedBy) + + // CreatedByType + data.CreatedByType = genruntime.ClonePointerToString(source.CreatedByType) + + // LastModifiedAt + data.LastModifiedAt = genruntime.ClonePointerToString(source.LastModifiedAt) + + // LastModifiedBy + data.LastModifiedBy = genruntime.ClonePointerToString(source.LastModifiedBy) + + // LastModifiedByType + data.LastModifiedByType = genruntime.ClonePointerToString(source.LastModifiedByType) + + // Update the property bag + if len(propertyBag) > 0 { + data.PropertyBag = propertyBag + } else { + data.PropertyBag = nil + } + + // Invoke the augmentConversionForSystemData_STATUS interface (if implemented) to customize the conversion + var dataAsAny any = data + if augmentedData, ok := dataAsAny.(augmentConversionForSystemData_STATUS); ok { + err := augmentedData.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_SystemData_STATUS populates the provided destination SystemData_STATUS from our SystemData_STATUS +func (data *SystemData_STATUS) AssignProperties_To_SystemData_STATUS(destination *storage.SystemData_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(data.PropertyBag) + + // CreatedAt + destination.CreatedAt = genruntime.ClonePointerToString(data.CreatedAt) + + // CreatedBy + destination.CreatedBy = genruntime.ClonePointerToString(data.CreatedBy) + + // CreatedByType + destination.CreatedByType = genruntime.ClonePointerToString(data.CreatedByType) + + // LastModifiedAt + destination.LastModifiedAt = genruntime.ClonePointerToString(data.LastModifiedAt) + + // LastModifiedBy + destination.LastModifiedBy = genruntime.ClonePointerToString(data.LastModifiedBy) + + // LastModifiedByType + destination.LastModifiedByType = genruntime.ClonePointerToString(data.LastModifiedByType) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForSystemData_STATUS interface (if implemented) to customize the conversion + var dataAsAny any = data + if augmentedData, ok := dataAsAny.(augmentConversionForSystemData_STATUS); ok { + err := augmentedData.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +type augmentConversionForSystemData_STATUS interface { + AssignPropertiesFrom(src *storage.SystemData_STATUS) error + AssignPropertiesTo(dst *storage.SystemData_STATUS) error +} + +// Storage version of v1api20210501preview.RetentionPolicy +// Specifies the retention policy for the log. +type RetentionPolicy struct { + Days *int `json:"days,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20210501preview.RetentionPolicy_STATUS +// Specifies the retention policy for the log. +type RetentionPolicy_STATUS struct { + Days *int `json:"days,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +func init() { + SchemeBuilder.Register(&DiagnosticSetting{}, &DiagnosticSettingList{}) +} diff --git a/v2/api/insights/v1api20210501preview/storage/diagnostic_setting_types_gen_test.go b/v2/api/insights/v1api20210501preview/storage/diagnostic_setting_types_gen_test.go new file mode 100644 index 00000000000..a65d19fdff3 --- /dev/null +++ b/v2/api/insights/v1api20210501preview/storage/diagnostic_setting_types_gen_test.go @@ -0,0 +1,781 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package storage + +import ( + "encoding/json" + storage "github.com/Azure/azure-service-operator/v2/api/insights/v1api20220615/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_DiagnosticSetting_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 DiagnosticSetting via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDiagnosticSetting, DiagnosticSettingGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDiagnosticSetting runs a test to see if a specific instance of DiagnosticSetting round trips to JSON and back losslessly +func RunJSONSerializationTestForDiagnosticSetting(subject DiagnosticSetting) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DiagnosticSetting + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DiagnosticSetting instances for property testing - lazily instantiated by DiagnosticSettingGenerator() +var diagnosticSettingGenerator gopter.Gen + +// DiagnosticSettingGenerator returns a generator of DiagnosticSetting instances for property testing. +func DiagnosticSettingGenerator() gopter.Gen { + if diagnosticSettingGenerator != nil { + return diagnosticSettingGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForDiagnosticSetting(generators) + diagnosticSettingGenerator = gen.Struct(reflect.TypeOf(DiagnosticSetting{}), generators) + + return diagnosticSettingGenerator +} + +// AddRelatedPropertyGeneratorsForDiagnosticSetting is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForDiagnosticSetting(gens map[string]gopter.Gen) { + gens["Spec"] = DiagnosticSetting_SpecGenerator() + gens["Status"] = DiagnosticSetting_STATUSGenerator() +} + +func Test_DiagnosticSetting_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DiagnosticSetting_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDiagnosticSetting_STATUS, DiagnosticSetting_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDiagnosticSetting_STATUS runs a test to see if a specific instance of DiagnosticSetting_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForDiagnosticSetting_STATUS(subject DiagnosticSetting_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DiagnosticSetting_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DiagnosticSetting_STATUS instances for property testing - lazily instantiated by +// DiagnosticSetting_STATUSGenerator() +var diagnosticSetting_STATUSGenerator gopter.Gen + +// DiagnosticSetting_STATUSGenerator returns a generator of DiagnosticSetting_STATUS instances for property testing. +// We first initialize diagnosticSetting_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func DiagnosticSetting_STATUSGenerator() gopter.Gen { + if diagnosticSetting_STATUSGenerator != nil { + return diagnosticSetting_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDiagnosticSetting_STATUS(generators) + diagnosticSetting_STATUSGenerator = gen.Struct(reflect.TypeOf(DiagnosticSetting_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDiagnosticSetting_STATUS(generators) + AddRelatedPropertyGeneratorsForDiagnosticSetting_STATUS(generators) + diagnosticSetting_STATUSGenerator = gen.Struct(reflect.TypeOf(DiagnosticSetting_STATUS{}), generators) + + return diagnosticSetting_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForDiagnosticSetting_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDiagnosticSetting_STATUS(gens map[string]gopter.Gen) { + gens["EventHubAuthorizationRuleId"] = gen.PtrOf(gen.AlphaString()) + gens["EventHubName"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["LogAnalyticsDestinationType"] = gen.PtrOf(gen.AlphaString()) + gens["MarketplacePartnerId"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["ServiceBusRuleId"] = gen.PtrOf(gen.AlphaString()) + gens["StorageAccountId"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) + gens["WorkspaceId"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForDiagnosticSetting_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForDiagnosticSetting_STATUS(gens map[string]gopter.Gen) { + gens["Logs"] = gen.SliceOf(LogSettings_STATUSGenerator()) + gens["Metrics"] = gen.SliceOf(MetricSettings_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} + +func Test_DiagnosticSetting_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 DiagnosticSetting_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDiagnosticSetting_Spec, DiagnosticSetting_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDiagnosticSetting_Spec runs a test to see if a specific instance of DiagnosticSetting_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForDiagnosticSetting_Spec(subject DiagnosticSetting_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DiagnosticSetting_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 DiagnosticSetting_Spec instances for property testing - lazily instantiated by +// DiagnosticSetting_SpecGenerator() +var diagnosticSetting_SpecGenerator gopter.Gen + +// DiagnosticSetting_SpecGenerator returns a generator of DiagnosticSetting_Spec instances for property testing. +// We first initialize diagnosticSetting_SpecGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func DiagnosticSetting_SpecGenerator() gopter.Gen { + if diagnosticSetting_SpecGenerator != nil { + return diagnosticSetting_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDiagnosticSetting_Spec(generators) + diagnosticSetting_SpecGenerator = gen.Struct(reflect.TypeOf(DiagnosticSetting_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDiagnosticSetting_Spec(generators) + AddRelatedPropertyGeneratorsForDiagnosticSetting_Spec(generators) + diagnosticSetting_SpecGenerator = gen.Struct(reflect.TypeOf(DiagnosticSetting_Spec{}), generators) + + return diagnosticSetting_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForDiagnosticSetting_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDiagnosticSetting_Spec(gens map[string]gopter.Gen) { + gens["AzureName"] = gen.AlphaString() + gens["EventHubName"] = gen.PtrOf(gen.AlphaString()) + gens["LogAnalyticsDestinationType"] = gen.PtrOf(gen.AlphaString()) + gens["OriginalVersion"] = gen.AlphaString() + gens["ServiceBusRuleId"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForDiagnosticSetting_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForDiagnosticSetting_Spec(gens map[string]gopter.Gen) { + gens["Logs"] = gen.SliceOf(LogSettingsGenerator()) + gens["Metrics"] = gen.SliceOf(MetricSettingsGenerator()) +} + +func Test_LogSettings_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of LogSettings via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLogSettings, LogSettingsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLogSettings runs a test to see if a specific instance of LogSettings round trips to JSON and back losslessly +func RunJSONSerializationTestForLogSettings(subject LogSettings) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual LogSettings + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of LogSettings instances for property testing - lazily instantiated by LogSettingsGenerator() +var logSettingsGenerator gopter.Gen + +// LogSettingsGenerator returns a generator of LogSettings instances for property testing. +// We first initialize logSettingsGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func LogSettingsGenerator() gopter.Gen { + if logSettingsGenerator != nil { + return logSettingsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLogSettings(generators) + logSettingsGenerator = gen.Struct(reflect.TypeOf(LogSettings{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLogSettings(generators) + AddRelatedPropertyGeneratorsForLogSettings(generators) + logSettingsGenerator = gen.Struct(reflect.TypeOf(LogSettings{}), generators) + + return logSettingsGenerator +} + +// AddIndependentPropertyGeneratorsForLogSettings is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLogSettings(gens map[string]gopter.Gen) { + gens["Category"] = gen.PtrOf(gen.AlphaString()) + gens["CategoryGroup"] = gen.PtrOf(gen.AlphaString()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForLogSettings is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForLogSettings(gens map[string]gopter.Gen) { + gens["RetentionPolicy"] = gen.PtrOf(RetentionPolicyGenerator()) +} + +func Test_LogSettings_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of LogSettings_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLogSettings_STATUS, LogSettings_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLogSettings_STATUS runs a test to see if a specific instance of LogSettings_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForLogSettings_STATUS(subject LogSettings_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual LogSettings_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of LogSettings_STATUS instances for property testing - lazily instantiated by LogSettings_STATUSGenerator() +var logSettings_STATUSGenerator gopter.Gen + +// LogSettings_STATUSGenerator returns a generator of LogSettings_STATUS instances for property testing. +// We first initialize logSettings_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func LogSettings_STATUSGenerator() gopter.Gen { + if logSettings_STATUSGenerator != nil { + return logSettings_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLogSettings_STATUS(generators) + logSettings_STATUSGenerator = gen.Struct(reflect.TypeOf(LogSettings_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLogSettings_STATUS(generators) + AddRelatedPropertyGeneratorsForLogSettings_STATUS(generators) + logSettings_STATUSGenerator = gen.Struct(reflect.TypeOf(LogSettings_STATUS{}), generators) + + return logSettings_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForLogSettings_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLogSettings_STATUS(gens map[string]gopter.Gen) { + gens["Category"] = gen.PtrOf(gen.AlphaString()) + gens["CategoryGroup"] = gen.PtrOf(gen.AlphaString()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForLogSettings_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForLogSettings_STATUS(gens map[string]gopter.Gen) { + gens["RetentionPolicy"] = gen.PtrOf(RetentionPolicy_STATUSGenerator()) +} + +func Test_MetricSettings_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MetricSettings via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMetricSettings, MetricSettingsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMetricSettings runs a test to see if a specific instance of MetricSettings round trips to JSON and back losslessly +func RunJSONSerializationTestForMetricSettings(subject MetricSettings) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MetricSettings + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MetricSettings instances for property testing - lazily instantiated by MetricSettingsGenerator() +var metricSettingsGenerator gopter.Gen + +// MetricSettingsGenerator returns a generator of MetricSettings instances for property testing. +// We first initialize metricSettingsGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func MetricSettingsGenerator() gopter.Gen { + if metricSettingsGenerator != nil { + return metricSettingsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMetricSettings(generators) + metricSettingsGenerator = gen.Struct(reflect.TypeOf(MetricSettings{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMetricSettings(generators) + AddRelatedPropertyGeneratorsForMetricSettings(generators) + metricSettingsGenerator = gen.Struct(reflect.TypeOf(MetricSettings{}), generators) + + return metricSettingsGenerator +} + +// AddIndependentPropertyGeneratorsForMetricSettings is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMetricSettings(gens map[string]gopter.Gen) { + gens["Category"] = gen.PtrOf(gen.AlphaString()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["TimeGrain"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForMetricSettings is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForMetricSettings(gens map[string]gopter.Gen) { + gens["RetentionPolicy"] = gen.PtrOf(RetentionPolicyGenerator()) +} + +func Test_MetricSettings_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MetricSettings_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMetricSettings_STATUS, MetricSettings_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMetricSettings_STATUS runs a test to see if a specific instance of MetricSettings_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForMetricSettings_STATUS(subject MetricSettings_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MetricSettings_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MetricSettings_STATUS instances for property testing - lazily instantiated by +// MetricSettings_STATUSGenerator() +var metricSettings_STATUSGenerator gopter.Gen + +// MetricSettings_STATUSGenerator returns a generator of MetricSettings_STATUS instances for property testing. +// We first initialize metricSettings_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func MetricSettings_STATUSGenerator() gopter.Gen { + if metricSettings_STATUSGenerator != nil { + return metricSettings_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMetricSettings_STATUS(generators) + metricSettings_STATUSGenerator = gen.Struct(reflect.TypeOf(MetricSettings_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMetricSettings_STATUS(generators) + AddRelatedPropertyGeneratorsForMetricSettings_STATUS(generators) + metricSettings_STATUSGenerator = gen.Struct(reflect.TypeOf(MetricSettings_STATUS{}), generators) + + return metricSettings_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForMetricSettings_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMetricSettings_STATUS(gens map[string]gopter.Gen) { + gens["Category"] = gen.PtrOf(gen.AlphaString()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["TimeGrain"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForMetricSettings_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForMetricSettings_STATUS(gens map[string]gopter.Gen) { + gens["RetentionPolicy"] = gen.PtrOf(RetentionPolicy_STATUSGenerator()) +} + +func Test_RetentionPolicy_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of RetentionPolicy via JSON returns original", + prop.ForAll(RunJSONSerializationTestForRetentionPolicy, RetentionPolicyGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForRetentionPolicy runs a test to see if a specific instance of RetentionPolicy round trips to JSON and back losslessly +func RunJSONSerializationTestForRetentionPolicy(subject RetentionPolicy) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual RetentionPolicy + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of RetentionPolicy instances for property testing - lazily instantiated by RetentionPolicyGenerator() +var retentionPolicyGenerator gopter.Gen + +// RetentionPolicyGenerator returns a generator of RetentionPolicy instances for property testing. +func RetentionPolicyGenerator() gopter.Gen { + if retentionPolicyGenerator != nil { + return retentionPolicyGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForRetentionPolicy(generators) + retentionPolicyGenerator = gen.Struct(reflect.TypeOf(RetentionPolicy{}), generators) + + return retentionPolicyGenerator +} + +// AddIndependentPropertyGeneratorsForRetentionPolicy is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForRetentionPolicy(gens map[string]gopter.Gen) { + gens["Days"] = gen.PtrOf(gen.Int()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_RetentionPolicy_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of RetentionPolicy_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForRetentionPolicy_STATUS, RetentionPolicy_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForRetentionPolicy_STATUS runs a test to see if a specific instance of RetentionPolicy_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForRetentionPolicy_STATUS(subject RetentionPolicy_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual RetentionPolicy_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of RetentionPolicy_STATUS instances for property testing - lazily instantiated by +// RetentionPolicy_STATUSGenerator() +var retentionPolicy_STATUSGenerator gopter.Gen + +// RetentionPolicy_STATUSGenerator returns a generator of RetentionPolicy_STATUS instances for property testing. +func RetentionPolicy_STATUSGenerator() gopter.Gen { + if retentionPolicy_STATUSGenerator != nil { + return retentionPolicy_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForRetentionPolicy_STATUS(generators) + retentionPolicy_STATUSGenerator = gen.Struct(reflect.TypeOf(RetentionPolicy_STATUS{}), generators) + + return retentionPolicy_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForRetentionPolicy_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForRetentionPolicy_STATUS(gens map[string]gopter.Gen) { + gens["Days"] = gen.PtrOf(gen.Int()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_SystemData_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from SystemData_STATUS to SystemData_STATUS via AssignProperties_To_SystemData_STATUS & AssignProperties_From_SystemData_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForSystemData_STATUS, SystemData_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForSystemData_STATUS tests if a specific instance of SystemData_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForSystemData_STATUS(subject SystemData_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.SystemData_STATUS + err := copied.AssignProperties_To_SystemData_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual SystemData_STATUS + err = actual.AssignProperties_From_SystemData_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_SystemData_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of SystemData_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSystemData_STATUS, SystemData_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSystemData_STATUS runs a test to see if a specific instance of SystemData_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForSystemData_STATUS(subject SystemData_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual SystemData_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of SystemData_STATUS instances for property testing - lazily instantiated by SystemData_STATUSGenerator() +var systemData_STATUSGenerator gopter.Gen + +// SystemData_STATUSGenerator returns a generator of SystemData_STATUS instances for property testing. +func SystemData_STATUSGenerator() gopter.Gen { + if systemData_STATUSGenerator != nil { + return systemData_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForSystemData_STATUS(generators) + systemData_STATUSGenerator = gen.Struct(reflect.TypeOf(SystemData_STATUS{}), generators) + + return systemData_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForSystemData_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForSystemData_STATUS(gens map[string]gopter.Gen) { + gens["CreatedAt"] = gen.PtrOf(gen.AlphaString()) + gens["CreatedBy"] = gen.PtrOf(gen.AlphaString()) + gens["CreatedByType"] = gen.PtrOf(gen.AlphaString()) + gens["LastModifiedAt"] = gen.PtrOf(gen.AlphaString()) + gens["LastModifiedBy"] = gen.PtrOf(gen.AlphaString()) + gens["LastModifiedByType"] = gen.PtrOf(gen.AlphaString()) +} diff --git a/v2/api/insights/v1api20210501preview/storage/groupversion_info_gen.go b/v2/api/insights/v1api20210501preview/storage/groupversion_info_gen.go new file mode 100644 index 00000000000..83f07446e06 --- /dev/null +++ b/v2/api/insights/v1api20210501preview/storage/groupversion_info_gen.go @@ -0,0 +1,32 @@ +/* +Copyright (c) Microsoft Corporation. +Licensed under the MIT license. +*/ + +// Code generated by azure-service-operator-codegen. DO NOT EDIT. + +// Package storage contains API Schema definitions for the insights storage API group +// +kubebuilder:object:generate=true +// All object properties are optional by default, this will be overridden when needed: +// +kubebuilder:validation:Optional +// +groupName=insights.azure.com +// +versionName=v1api20210501previewstorage +package storage + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +var ( + // GroupVersion is group version used to register these objects + GroupVersion = schema.GroupVersion{Group: "insights.azure.com", Version: "v1api20210501previewstorage"} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme + + localSchemeBuilder = SchemeBuilder.SchemeBuilder +) diff --git a/v2/api/insights/v1api20210501preview/storage/structure.txt b/v2/api/insights/v1api20210501preview/storage/structure.txt new file mode 100644 index 00000000000..0d03137c9b5 --- /dev/null +++ b/v2/api/insights/v1api20210501preview/storage/structure.txt @@ -0,0 +1,76 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +github.com/Azure/azure-service-operator/v2/api/insights/v1api20210501preview/storage +------------------------------------------------------------------------------------ +APIVersion: Enum (1 value) +└── "2021-05-01-preview" +DiagnosticSetting: Resource +├── Spec: Object (13 properties) +│ ├── AzureName: string +│ ├── EventHubAuthorizationRuleReference: *genruntime.ResourceReference +│ ├── EventHubName: *string +│ ├── LogAnalyticsDestinationType: *string +│ ├── Logs: Object (5 properties)[] +│ │ ├── Category: *string +│ │ ├── CategoryGroup: *string +│ │ ├── Enabled: *bool +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── RetentionPolicy: *Object (3 properties) +│ │ ├── Days: *int +│ │ ├── Enabled: *bool +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── MarketplacePartnerReference: *genruntime.ResourceReference +│ ├── Metrics: Object (5 properties)[] +│ │ ├── Category: *string +│ │ ├── Enabled: *bool +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── RetentionPolicy: *Object (3 properties) +│ │ │ ├── Days: *int +│ │ │ ├── Enabled: *bool +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ └── TimeGrain: *string +│ ├── OriginalVersion: string +│ ├── Owner: *genruntime.ArbitraryOwnerReference +│ ├── PropertyBag: genruntime.PropertyBag +│ ├── ServiceBusRuleId: *string +│ ├── StorageAccountReference: *genruntime.ResourceReference +│ └── WorkspaceReference: *genruntime.ResourceReference +└── Status: Object (15 properties) + ├── Conditions: conditions.Condition[] + ├── EventHubAuthorizationRuleId: *string + ├── EventHubName: *string + ├── Id: *string + ├── LogAnalyticsDestinationType: *string + ├── Logs: Object (5 properties)[] + │ ├── Category: *string + │ ├── CategoryGroup: *string + │ ├── Enabled: *bool + │ ├── PropertyBag: genruntime.PropertyBag + │ └── RetentionPolicy: *Object (3 properties) + │ ├── Days: *int + │ ├── Enabled: *bool + │ └── PropertyBag: genruntime.PropertyBag + ├── MarketplacePartnerId: *string + ├── Metrics: Object (5 properties)[] + │ ├── Category: *string + │ ├── Enabled: *bool + │ ├── PropertyBag: genruntime.PropertyBag + │ ├── RetentionPolicy: *Object (3 properties) + │ │ ├── Days: *int + │ │ ├── Enabled: *bool + │ │ └── PropertyBag: genruntime.PropertyBag + │ └── TimeGrain: *string + ├── Name: *string + ├── PropertyBag: genruntime.PropertyBag + ├── ServiceBusRuleId: *string + ├── StorageAccountId: *string + ├── SystemData: *Object (7 properties) + │ ├── CreatedAt: *string + │ ├── CreatedBy: *string + │ ├── CreatedByType: *string + │ ├── LastModifiedAt: *string + │ ├── LastModifiedBy: *string + │ ├── LastModifiedByType: *string + │ └── PropertyBag: genruntime.PropertyBag + ├── Type: *string + └── WorkspaceId: *string +augmentConversionForSystemData_STATUS: Interface diff --git a/v2/api/insights/v1api20210501preview/storage/zz_generated.deepcopy.go b/v2/api/insights/v1api20210501preview/storage/zz_generated.deepcopy.go new file mode 100644 index 00000000000..9a9be4886a3 --- /dev/null +++ b/v2/api/insights/v1api20210501preview/storage/zz_generated.deepcopy.go @@ -0,0 +1,533 @@ +//go:build !ignore_autogenerated + +/* +Copyright (c) Microsoft Corporation. +Licensed under the MIT license. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package storage + +import ( + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiagnosticSetting) DeepCopyInto(out *DiagnosticSetting) { + *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 DiagnosticSetting. +func (in *DiagnosticSetting) DeepCopy() *DiagnosticSetting { + if in == nil { + return nil + } + out := new(DiagnosticSetting) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DiagnosticSetting) 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 *DiagnosticSettingList) DeepCopyInto(out *DiagnosticSettingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DiagnosticSetting, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiagnosticSettingList. +func (in *DiagnosticSettingList) DeepCopy() *DiagnosticSettingList { + if in == nil { + return nil + } + out := new(DiagnosticSettingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DiagnosticSettingList) 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 *DiagnosticSetting_STATUS) DeepCopyInto(out *DiagnosticSetting_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.EventHubAuthorizationRuleId != nil { + in, out := &in.EventHubAuthorizationRuleId, &out.EventHubAuthorizationRuleId + *out = new(string) + **out = **in + } + if in.EventHubName != nil { + in, out := &in.EventHubName, &out.EventHubName + *out = new(string) + **out = **in + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.LogAnalyticsDestinationType != nil { + in, out := &in.LogAnalyticsDestinationType, &out.LogAnalyticsDestinationType + *out = new(string) + **out = **in + } + if in.Logs != nil { + in, out := &in.Logs, &out.Logs + *out = make([]LogSettings_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MarketplacePartnerId != nil { + in, out := &in.MarketplacePartnerId, &out.MarketplacePartnerId + *out = new(string) + **out = **in + } + if in.Metrics != nil { + in, out := &in.Metrics, &out.Metrics + *out = make([]MetricSettings_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + 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.ServiceBusRuleId != nil { + in, out := &in.ServiceBusRuleId, &out.ServiceBusRuleId + *out = new(string) + **out = **in + } + if in.StorageAccountId != nil { + in, out := &in.StorageAccountId, &out.StorageAccountId + *out = new(string) + **out = **in + } + if in.SystemData != nil { + in, out := &in.SystemData, &out.SystemData + *out = new(SystemData_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + if in.WorkspaceId != nil { + in, out := &in.WorkspaceId, &out.WorkspaceId + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiagnosticSetting_STATUS. +func (in *DiagnosticSetting_STATUS) DeepCopy() *DiagnosticSetting_STATUS { + if in == nil { + return nil + } + out := new(DiagnosticSetting_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 *DiagnosticSetting_Spec) DeepCopyInto(out *DiagnosticSetting_Spec) { + *out = *in + if in.EventHubAuthorizationRuleReference != nil { + in, out := &in.EventHubAuthorizationRuleReference, &out.EventHubAuthorizationRuleReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.EventHubName != nil { + in, out := &in.EventHubName, &out.EventHubName + *out = new(string) + **out = **in + } + if in.LogAnalyticsDestinationType != nil { + in, out := &in.LogAnalyticsDestinationType, &out.LogAnalyticsDestinationType + *out = new(string) + **out = **in + } + if in.Logs != nil { + in, out := &in.Logs, &out.Logs + *out = make([]LogSettings, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MarketplacePartnerReference != nil { + in, out := &in.MarketplacePartnerReference, &out.MarketplacePartnerReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.Metrics != nil { + in, out := &in.Metrics, &out.Metrics + *out = make([]MetricSettings, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.ArbitraryOwnerReference) + **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.ServiceBusRuleId != nil { + in, out := &in.ServiceBusRuleId, &out.ServiceBusRuleId + *out = new(string) + **out = **in + } + if in.StorageAccountReference != nil { + in, out := &in.StorageAccountReference, &out.StorageAccountReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.WorkspaceReference != nil { + in, out := &in.WorkspaceReference, &out.WorkspaceReference + *out = new(genruntime.ResourceReference) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiagnosticSetting_Spec. +func (in *DiagnosticSetting_Spec) DeepCopy() *DiagnosticSetting_Spec { + if in == nil { + return nil + } + out := new(DiagnosticSetting_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 *LogSettings) DeepCopyInto(out *LogSettings) { + *out = *in + if in.Category != nil { + in, out := &in.Category, &out.Category + *out = new(string) + **out = **in + } + if in.CategoryGroup != nil { + in, out := &in.CategoryGroup, &out.CategoryGroup + *out = new(string) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.RetentionPolicy != nil { + in, out := &in.RetentionPolicy, &out.RetentionPolicy + *out = new(RetentionPolicy) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogSettings. +func (in *LogSettings) DeepCopy() *LogSettings { + if in == nil { + return nil + } + out := new(LogSettings) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LogSettings_STATUS) DeepCopyInto(out *LogSettings_STATUS) { + *out = *in + if in.Category != nil { + in, out := &in.Category, &out.Category + *out = new(string) + **out = **in + } + if in.CategoryGroup != nil { + in, out := &in.CategoryGroup, &out.CategoryGroup + *out = new(string) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.RetentionPolicy != nil { + in, out := &in.RetentionPolicy, &out.RetentionPolicy + *out = new(RetentionPolicy_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogSettings_STATUS. +func (in *LogSettings_STATUS) DeepCopy() *LogSettings_STATUS { + if in == nil { + return nil + } + out := new(LogSettings_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 *MetricSettings) DeepCopyInto(out *MetricSettings) { + *out = *in + if in.Category != nil { + in, out := &in.Category, &out.Category + *out = new(string) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.RetentionPolicy != nil { + in, out := &in.RetentionPolicy, &out.RetentionPolicy + *out = new(RetentionPolicy) + (*in).DeepCopyInto(*out) + } + if in.TimeGrain != nil { + in, out := &in.TimeGrain, &out.TimeGrain + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricSettings. +func (in *MetricSettings) DeepCopy() *MetricSettings { + if in == nil { + return nil + } + out := new(MetricSettings) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetricSettings_STATUS) DeepCopyInto(out *MetricSettings_STATUS) { + *out = *in + if in.Category != nil { + in, out := &in.Category, &out.Category + *out = new(string) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.RetentionPolicy != nil { + in, out := &in.RetentionPolicy, &out.RetentionPolicy + *out = new(RetentionPolicy_STATUS) + (*in).DeepCopyInto(*out) + } + if in.TimeGrain != nil { + in, out := &in.TimeGrain, &out.TimeGrain + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricSettings_STATUS. +func (in *MetricSettings_STATUS) DeepCopy() *MetricSettings_STATUS { + if in == nil { + return nil + } + out := new(MetricSettings_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 *RetentionPolicy) DeepCopyInto(out *RetentionPolicy) { + *out = *in + if in.Days != nil { + in, out := &in.Days, &out.Days + *out = new(int) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetentionPolicy. +func (in *RetentionPolicy) DeepCopy() *RetentionPolicy { + if in == nil { + return nil + } + out := new(RetentionPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RetentionPolicy_STATUS) DeepCopyInto(out *RetentionPolicy_STATUS) { + *out = *in + if in.Days != nil { + in, out := &in.Days, &out.Days + *out = new(int) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetentionPolicy_STATUS. +func (in *RetentionPolicy_STATUS) DeepCopy() *RetentionPolicy_STATUS { + if in == nil { + return nil + } + out := new(RetentionPolicy_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SystemData_STATUS) DeepCopyInto(out *SystemData_STATUS) { + *out = *in + if in.CreatedAt != nil { + in, out := &in.CreatedAt, &out.CreatedAt + *out = new(string) + **out = **in + } + if in.CreatedBy != nil { + in, out := &in.CreatedBy, &out.CreatedBy + *out = new(string) + **out = **in + } + if in.CreatedByType != nil { + in, out := &in.CreatedByType, &out.CreatedByType + *out = new(string) + **out = **in + } + if in.LastModifiedAt != nil { + in, out := &in.LastModifiedAt, &out.LastModifiedAt + *out = new(string) + **out = **in + } + if in.LastModifiedBy != nil { + in, out := &in.LastModifiedBy, &out.LastModifiedBy + *out = new(string) + **out = **in + } + if in.LastModifiedByType != nil { + in, out := &in.LastModifiedByType, &out.LastModifiedByType + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemData_STATUS. +func (in *SystemData_STATUS) DeepCopy() *SystemData_STATUS { + if in == nil { + return nil + } + out := new(SystemData_STATUS) + in.DeepCopyInto(out) + return out +} diff --git a/v2/api/insights/v1api20210501preview/structure.txt b/v2/api/insights/v1api20210501preview/structure.txt new file mode 100644 index 00000000000..1e8016a4c5f --- /dev/null +++ b/v2/api/insights/v1api20210501preview/structure.txt @@ -0,0 +1,138 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +github.com/Azure/azure-service-operator/v2/api/insights/v1api20210501preview +---------------------------------------------------------------------------- +APIVersion: Enum (1 value) +└── "2021-05-01-preview" +DiagnosticSetting: Resource +├── Spec: Object (11 properties) +│ ├── AzureName: string +│ ├── EventHubAuthorizationRuleReference: *genruntime.ResourceReference +│ ├── EventHubName: *string +│ ├── LogAnalyticsDestinationType: *string +│ ├── Logs: Object (4 properties)[] +│ │ ├── Category: *string +│ │ ├── CategoryGroup: *string +│ │ ├── Enabled: *bool +│ │ └── RetentionPolicy: *Object (2 properties) +│ │ ├── Days: Validated<*int> (1 rule) +│ │ │ └── Rule 0: Minimum: 0 +│ │ └── Enabled: *bool +│ ├── MarketplacePartnerReference: *genruntime.ResourceReference +│ ├── Metrics: Object (4 properties)[] +│ │ ├── Category: *string +│ │ ├── Enabled: *bool +│ │ ├── RetentionPolicy: *Object (2 properties) +│ │ │ ├── Days: Validated<*int> (1 rule) +│ │ │ │ └── Rule 0: Minimum: 0 +│ │ │ └── Enabled: *bool +│ │ └── TimeGrain: *string +│ ├── Owner: *genruntime.ArbitraryOwnerReference +│ ├── ServiceBusRuleId: *string +│ ├── StorageAccountReference: *genruntime.ResourceReference +│ └── WorkspaceReference: *genruntime.ResourceReference +└── Status: Object (14 properties) + ├── Conditions: conditions.Condition[] + ├── EventHubAuthorizationRuleId: *string + ├── EventHubName: *string + ├── Id: *string + ├── LogAnalyticsDestinationType: *string + ├── Logs: Object (4 properties)[] + │ ├── Category: *string + │ ├── CategoryGroup: *string + │ ├── Enabled: *bool + │ └── RetentionPolicy: *Object (2 properties) + │ ├── Days: *int + │ └── Enabled: *bool + ├── MarketplacePartnerId: *string + ├── Metrics: Object (4 properties)[] + │ ├── Category: *string + │ ├── Enabled: *bool + │ ├── RetentionPolicy: *Object (2 properties) + │ │ ├── Days: *int + │ │ └── Enabled: *bool + │ └── TimeGrain: *string + ├── Name: *string + ├── ServiceBusRuleId: *string + ├── StorageAccountId: *string + ├── SystemData: *Object (6 properties) + │ ├── CreatedAt: *string + │ ├── CreatedBy: *string + │ ├── CreatedByType: *Enum (4 values) + │ │ ├── "Application" + │ │ ├── "Key" + │ │ ├── "ManagedIdentity" + │ │ └── "User" + │ ├── LastModifiedAt: *string + │ ├── LastModifiedBy: *string + │ └── LastModifiedByType: *Enum (4 values) + │ ├── "Application" + │ ├── "Key" + │ ├── "ManagedIdentity" + │ └── "User" + ├── Type: *string + └── WorkspaceId: *string +DiagnosticSetting_STATUS_ARM: Object (5 properties) +├── Id: *string +├── Name: *string +├── Properties: *Object (9 properties) +│ ├── EventHubAuthorizationRuleId: *string +│ ├── EventHubName: *string +│ ├── LogAnalyticsDestinationType: *string +│ ├── Logs: Object (4 properties)[] +│ │ ├── Category: *string +│ │ ├── CategoryGroup: *string +│ │ ├── Enabled: *bool +│ │ └── RetentionPolicy: *Object (2 properties) +│ │ ├── Days: *int +│ │ └── Enabled: *bool +│ ├── MarketplacePartnerId: *string +│ ├── Metrics: Object (4 properties)[] +│ │ ├── Category: *string +│ │ ├── Enabled: *bool +│ │ ├── RetentionPolicy: *Object (2 properties) +│ │ │ ├── Days: *int +│ │ │ └── Enabled: *bool +│ │ └── TimeGrain: *string +│ ├── ServiceBusRuleId: *string +│ ├── StorageAccountId: *string +│ └── WorkspaceId: *string +├── SystemData: *Object (6 properties) +│ ├── CreatedAt: *string +│ ├── CreatedBy: *string +│ ├── CreatedByType: *Enum (4 values) +│ │ ├── "Application" +│ │ ├── "Key" +│ │ ├── "ManagedIdentity" +│ │ └── "User" +│ ├── LastModifiedAt: *string +│ ├── LastModifiedBy: *string +│ └── LastModifiedByType: *Enum (4 values) +│ ├── "Application" +│ ├── "Key" +│ ├── "ManagedIdentity" +│ └── "User" +└── Type: *string +DiagnosticSetting_Spec_ARM: Object (2 properties) +├── Name: string +└── Properties: *Object (9 properties) + ├── EventHubAuthorizationRuleId: *string + ├── EventHubName: *string + ├── LogAnalyticsDestinationType: *string + ├── Logs: Object (4 properties)[] + │ ├── Category: *string + │ ├── CategoryGroup: *string + │ ├── Enabled: *bool + │ └── RetentionPolicy: *Object (2 properties) + │ ├── Days: *int + │ └── Enabled: *bool + ├── MarketplacePartnerId: *string + ├── Metrics: Object (4 properties)[] + │ ├── Category: *string + │ ├── Enabled: *bool + │ ├── RetentionPolicy: *Object (2 properties) + │ │ ├── Days: *int + │ │ └── Enabled: *bool + │ └── TimeGrain: *string + ├── ServiceBusRuleId: *string + ├── StorageAccountId: *string + └── WorkspaceId: *string diff --git a/v2/api/insights/v1api20210501preview/zz_generated.deepcopy.go b/v2/api/insights/v1api20210501preview/zz_generated.deepcopy.go new file mode 100644 index 00000000000..117ac7ae8d3 --- /dev/null +++ b/v2/api/insights/v1api20210501preview/zz_generated.deepcopy.go @@ -0,0 +1,893 @@ +//go:build !ignore_autogenerated + +/* +Copyright (c) Microsoft Corporation. +Licensed under the MIT license. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1api20210501preview + +import ( + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiagnosticSetting) DeepCopyInto(out *DiagnosticSetting) { + *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 DiagnosticSetting. +func (in *DiagnosticSetting) DeepCopy() *DiagnosticSetting { + if in == nil { + return nil + } + out := new(DiagnosticSetting) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DiagnosticSetting) 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 *DiagnosticSettingList) DeepCopyInto(out *DiagnosticSettingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DiagnosticSetting, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiagnosticSettingList. +func (in *DiagnosticSettingList) DeepCopy() *DiagnosticSettingList { + if in == nil { + return nil + } + out := new(DiagnosticSettingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DiagnosticSettingList) 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 *DiagnosticSetting_STATUS) DeepCopyInto(out *DiagnosticSetting_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.EventHubAuthorizationRuleId != nil { + in, out := &in.EventHubAuthorizationRuleId, &out.EventHubAuthorizationRuleId + *out = new(string) + **out = **in + } + if in.EventHubName != nil { + in, out := &in.EventHubName, &out.EventHubName + *out = new(string) + **out = **in + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.LogAnalyticsDestinationType != nil { + in, out := &in.LogAnalyticsDestinationType, &out.LogAnalyticsDestinationType + *out = new(string) + **out = **in + } + if in.Logs != nil { + in, out := &in.Logs, &out.Logs + *out = make([]LogSettings_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MarketplacePartnerId != nil { + in, out := &in.MarketplacePartnerId, &out.MarketplacePartnerId + *out = new(string) + **out = **in + } + if in.Metrics != nil { + in, out := &in.Metrics, &out.Metrics + *out = make([]MetricSettings_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.ServiceBusRuleId != nil { + in, out := &in.ServiceBusRuleId, &out.ServiceBusRuleId + *out = new(string) + **out = **in + } + if in.StorageAccountId != nil { + in, out := &in.StorageAccountId, &out.StorageAccountId + *out = new(string) + **out = **in + } + if in.SystemData != nil { + in, out := &in.SystemData, &out.SystemData + *out = new(SystemData_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + if in.WorkspaceId != nil { + in, out := &in.WorkspaceId, &out.WorkspaceId + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiagnosticSetting_STATUS. +func (in *DiagnosticSetting_STATUS) DeepCopy() *DiagnosticSetting_STATUS { + if in == nil { + return nil + } + out := new(DiagnosticSetting_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 *DiagnosticSetting_STATUS_ARM) DeepCopyInto(out *DiagnosticSetting_STATUS_ARM) { + *out = *in + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = new(DiagnosticSettings_STATUS_ARM) + (*in).DeepCopyInto(*out) + } + if in.SystemData != nil { + in, out := &in.SystemData, &out.SystemData + *out = new(SystemData_STATUS_ARM) + (*in).DeepCopyInto(*out) + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiagnosticSetting_STATUS_ARM. +func (in *DiagnosticSetting_STATUS_ARM) DeepCopy() *DiagnosticSetting_STATUS_ARM { + if in == nil { + return nil + } + out := new(DiagnosticSetting_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 *DiagnosticSetting_Spec) DeepCopyInto(out *DiagnosticSetting_Spec) { + *out = *in + if in.EventHubAuthorizationRuleReference != nil { + in, out := &in.EventHubAuthorizationRuleReference, &out.EventHubAuthorizationRuleReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.EventHubName != nil { + in, out := &in.EventHubName, &out.EventHubName + *out = new(string) + **out = **in + } + if in.LogAnalyticsDestinationType != nil { + in, out := &in.LogAnalyticsDestinationType, &out.LogAnalyticsDestinationType + *out = new(string) + **out = **in + } + if in.Logs != nil { + in, out := &in.Logs, &out.Logs + *out = make([]LogSettings, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MarketplacePartnerReference != nil { + in, out := &in.MarketplacePartnerReference, &out.MarketplacePartnerReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.Metrics != nil { + in, out := &in.Metrics, &out.Metrics + *out = make([]MetricSettings, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.ArbitraryOwnerReference) + **out = **in + } + if in.ServiceBusRuleId != nil { + in, out := &in.ServiceBusRuleId, &out.ServiceBusRuleId + *out = new(string) + **out = **in + } + if in.StorageAccountReference != nil { + in, out := &in.StorageAccountReference, &out.StorageAccountReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.WorkspaceReference != nil { + in, out := &in.WorkspaceReference, &out.WorkspaceReference + *out = new(genruntime.ResourceReference) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiagnosticSetting_Spec. +func (in *DiagnosticSetting_Spec) DeepCopy() *DiagnosticSetting_Spec { + if in == nil { + return nil + } + out := new(DiagnosticSetting_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 *DiagnosticSetting_Spec_ARM) DeepCopyInto(out *DiagnosticSetting_Spec_ARM) { + *out = *in + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = new(DiagnosticSettings_ARM) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiagnosticSetting_Spec_ARM. +func (in *DiagnosticSetting_Spec_ARM) DeepCopy() *DiagnosticSetting_Spec_ARM { + if in == nil { + return nil + } + out := new(DiagnosticSetting_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 *DiagnosticSettings_ARM) DeepCopyInto(out *DiagnosticSettings_ARM) { + *out = *in + if in.EventHubAuthorizationRuleId != nil { + in, out := &in.EventHubAuthorizationRuleId, &out.EventHubAuthorizationRuleId + *out = new(string) + **out = **in + } + if in.EventHubName != nil { + in, out := &in.EventHubName, &out.EventHubName + *out = new(string) + **out = **in + } + if in.LogAnalyticsDestinationType != nil { + in, out := &in.LogAnalyticsDestinationType, &out.LogAnalyticsDestinationType + *out = new(string) + **out = **in + } + if in.Logs != nil { + in, out := &in.Logs, &out.Logs + *out = make([]LogSettings_ARM, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MarketplacePartnerId != nil { + in, out := &in.MarketplacePartnerId, &out.MarketplacePartnerId + *out = new(string) + **out = **in + } + if in.Metrics != nil { + in, out := &in.Metrics, &out.Metrics + *out = make([]MetricSettings_ARM, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ServiceBusRuleId != nil { + in, out := &in.ServiceBusRuleId, &out.ServiceBusRuleId + *out = new(string) + **out = **in + } + if in.StorageAccountId != nil { + in, out := &in.StorageAccountId, &out.StorageAccountId + *out = new(string) + **out = **in + } + if in.WorkspaceId != nil { + in, out := &in.WorkspaceId, &out.WorkspaceId + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiagnosticSettings_ARM. +func (in *DiagnosticSettings_ARM) DeepCopy() *DiagnosticSettings_ARM { + if in == nil { + return nil + } + out := new(DiagnosticSettings_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 *DiagnosticSettings_STATUS_ARM) DeepCopyInto(out *DiagnosticSettings_STATUS_ARM) { + *out = *in + if in.EventHubAuthorizationRuleId != nil { + in, out := &in.EventHubAuthorizationRuleId, &out.EventHubAuthorizationRuleId + *out = new(string) + **out = **in + } + if in.EventHubName != nil { + in, out := &in.EventHubName, &out.EventHubName + *out = new(string) + **out = **in + } + if in.LogAnalyticsDestinationType != nil { + in, out := &in.LogAnalyticsDestinationType, &out.LogAnalyticsDestinationType + *out = new(string) + **out = **in + } + if in.Logs != nil { + in, out := &in.Logs, &out.Logs + *out = make([]LogSettings_STATUS_ARM, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MarketplacePartnerId != nil { + in, out := &in.MarketplacePartnerId, &out.MarketplacePartnerId + *out = new(string) + **out = **in + } + if in.Metrics != nil { + in, out := &in.Metrics, &out.Metrics + *out = make([]MetricSettings_STATUS_ARM, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ServiceBusRuleId != nil { + in, out := &in.ServiceBusRuleId, &out.ServiceBusRuleId + *out = new(string) + **out = **in + } + if in.StorageAccountId != nil { + in, out := &in.StorageAccountId, &out.StorageAccountId + *out = new(string) + **out = **in + } + if in.WorkspaceId != nil { + in, out := &in.WorkspaceId, &out.WorkspaceId + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiagnosticSettings_STATUS_ARM. +func (in *DiagnosticSettings_STATUS_ARM) DeepCopy() *DiagnosticSettings_STATUS_ARM { + if in == nil { + return nil + } + out := new(DiagnosticSettings_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 *LogSettings) DeepCopyInto(out *LogSettings) { + *out = *in + if in.Category != nil { + in, out := &in.Category, &out.Category + *out = new(string) + **out = **in + } + if in.CategoryGroup != nil { + in, out := &in.CategoryGroup, &out.CategoryGroup + *out = new(string) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.RetentionPolicy != nil { + in, out := &in.RetentionPolicy, &out.RetentionPolicy + *out = new(RetentionPolicy) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogSettings. +func (in *LogSettings) DeepCopy() *LogSettings { + if in == nil { + return nil + } + out := new(LogSettings) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LogSettings_ARM) DeepCopyInto(out *LogSettings_ARM) { + *out = *in + if in.Category != nil { + in, out := &in.Category, &out.Category + *out = new(string) + **out = **in + } + if in.CategoryGroup != nil { + in, out := &in.CategoryGroup, &out.CategoryGroup + *out = new(string) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.RetentionPolicy != nil { + in, out := &in.RetentionPolicy, &out.RetentionPolicy + *out = new(RetentionPolicy_ARM) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogSettings_ARM. +func (in *LogSettings_ARM) DeepCopy() *LogSettings_ARM { + if in == nil { + return nil + } + out := new(LogSettings_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 *LogSettings_STATUS) DeepCopyInto(out *LogSettings_STATUS) { + *out = *in + if in.Category != nil { + in, out := &in.Category, &out.Category + *out = new(string) + **out = **in + } + if in.CategoryGroup != nil { + in, out := &in.CategoryGroup, &out.CategoryGroup + *out = new(string) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.RetentionPolicy != nil { + in, out := &in.RetentionPolicy, &out.RetentionPolicy + *out = new(RetentionPolicy_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogSettings_STATUS. +func (in *LogSettings_STATUS) DeepCopy() *LogSettings_STATUS { + if in == nil { + return nil + } + out := new(LogSettings_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 *LogSettings_STATUS_ARM) DeepCopyInto(out *LogSettings_STATUS_ARM) { + *out = *in + if in.Category != nil { + in, out := &in.Category, &out.Category + *out = new(string) + **out = **in + } + if in.CategoryGroup != nil { + in, out := &in.CategoryGroup, &out.CategoryGroup + *out = new(string) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.RetentionPolicy != nil { + in, out := &in.RetentionPolicy, &out.RetentionPolicy + *out = new(RetentionPolicy_STATUS_ARM) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogSettings_STATUS_ARM. +func (in *LogSettings_STATUS_ARM) DeepCopy() *LogSettings_STATUS_ARM { + if in == nil { + return nil + } + out := new(LogSettings_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 *MetricSettings) DeepCopyInto(out *MetricSettings) { + *out = *in + if in.Category != nil { + in, out := &in.Category, &out.Category + *out = new(string) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.RetentionPolicy != nil { + in, out := &in.RetentionPolicy, &out.RetentionPolicy + *out = new(RetentionPolicy) + (*in).DeepCopyInto(*out) + } + if in.TimeGrain != nil { + in, out := &in.TimeGrain, &out.TimeGrain + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricSettings. +func (in *MetricSettings) DeepCopy() *MetricSettings { + if in == nil { + return nil + } + out := new(MetricSettings) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetricSettings_ARM) DeepCopyInto(out *MetricSettings_ARM) { + *out = *in + if in.Category != nil { + in, out := &in.Category, &out.Category + *out = new(string) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.RetentionPolicy != nil { + in, out := &in.RetentionPolicy, &out.RetentionPolicy + *out = new(RetentionPolicy_ARM) + (*in).DeepCopyInto(*out) + } + if in.TimeGrain != nil { + in, out := &in.TimeGrain, &out.TimeGrain + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricSettings_ARM. +func (in *MetricSettings_ARM) DeepCopy() *MetricSettings_ARM { + if in == nil { + return nil + } + out := new(MetricSettings_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 *MetricSettings_STATUS) DeepCopyInto(out *MetricSettings_STATUS) { + *out = *in + if in.Category != nil { + in, out := &in.Category, &out.Category + *out = new(string) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.RetentionPolicy != nil { + in, out := &in.RetentionPolicy, &out.RetentionPolicy + *out = new(RetentionPolicy_STATUS) + (*in).DeepCopyInto(*out) + } + if in.TimeGrain != nil { + in, out := &in.TimeGrain, &out.TimeGrain + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricSettings_STATUS. +func (in *MetricSettings_STATUS) DeepCopy() *MetricSettings_STATUS { + if in == nil { + return nil + } + out := new(MetricSettings_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 *MetricSettings_STATUS_ARM) DeepCopyInto(out *MetricSettings_STATUS_ARM) { + *out = *in + if in.Category != nil { + in, out := &in.Category, &out.Category + *out = new(string) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.RetentionPolicy != nil { + in, out := &in.RetentionPolicy, &out.RetentionPolicy + *out = new(RetentionPolicy_STATUS_ARM) + (*in).DeepCopyInto(*out) + } + if in.TimeGrain != nil { + in, out := &in.TimeGrain, &out.TimeGrain + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricSettings_STATUS_ARM. +func (in *MetricSettings_STATUS_ARM) DeepCopy() *MetricSettings_STATUS_ARM { + if in == nil { + return nil + } + out := new(MetricSettings_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 *RetentionPolicy) DeepCopyInto(out *RetentionPolicy) { + *out = *in + if in.Days != nil { + in, out := &in.Days, &out.Days + *out = new(int) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetentionPolicy. +func (in *RetentionPolicy) DeepCopy() *RetentionPolicy { + if in == nil { + return nil + } + out := new(RetentionPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RetentionPolicy_ARM) DeepCopyInto(out *RetentionPolicy_ARM) { + *out = *in + if in.Days != nil { + in, out := &in.Days, &out.Days + *out = new(int) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetentionPolicy_ARM. +func (in *RetentionPolicy_ARM) DeepCopy() *RetentionPolicy_ARM { + if in == nil { + return nil + } + out := new(RetentionPolicy_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 *RetentionPolicy_STATUS) DeepCopyInto(out *RetentionPolicy_STATUS) { + *out = *in + if in.Days != nil { + in, out := &in.Days, &out.Days + *out = new(int) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetentionPolicy_STATUS. +func (in *RetentionPolicy_STATUS) DeepCopy() *RetentionPolicy_STATUS { + if in == nil { + return nil + } + out := new(RetentionPolicy_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 *RetentionPolicy_STATUS_ARM) DeepCopyInto(out *RetentionPolicy_STATUS_ARM) { + *out = *in + if in.Days != nil { + in, out := &in.Days, &out.Days + *out = new(int) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetentionPolicy_STATUS_ARM. +func (in *RetentionPolicy_STATUS_ARM) DeepCopy() *RetentionPolicy_STATUS_ARM { + if in == nil { + return nil + } + out := new(RetentionPolicy_STATUS_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SystemData_STATUS) DeepCopyInto(out *SystemData_STATUS) { + *out = *in + if in.CreatedAt != nil { + in, out := &in.CreatedAt, &out.CreatedAt + *out = new(string) + **out = **in + } + if in.CreatedBy != nil { + in, out := &in.CreatedBy, &out.CreatedBy + *out = new(string) + **out = **in + } + if in.CreatedByType != nil { + in, out := &in.CreatedByType, &out.CreatedByType + *out = new(SystemData_CreatedByType_STATUS) + **out = **in + } + if in.LastModifiedAt != nil { + in, out := &in.LastModifiedAt, &out.LastModifiedAt + *out = new(string) + **out = **in + } + if in.LastModifiedBy != nil { + in, out := &in.LastModifiedBy, &out.LastModifiedBy + *out = new(string) + **out = **in + } + if in.LastModifiedByType != nil { + in, out := &in.LastModifiedByType, &out.LastModifiedByType + *out = new(SystemData_LastModifiedByType_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemData_STATUS. +func (in *SystemData_STATUS) DeepCopy() *SystemData_STATUS { + if in == nil { + return nil + } + out := new(SystemData_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SystemData_STATUS_ARM) DeepCopyInto(out *SystemData_STATUS_ARM) { + *out = *in + if in.CreatedAt != nil { + in, out := &in.CreatedAt, &out.CreatedAt + *out = new(string) + **out = **in + } + if in.CreatedBy != nil { + in, out := &in.CreatedBy, &out.CreatedBy + *out = new(string) + **out = **in + } + if in.CreatedByType != nil { + in, out := &in.CreatedByType, &out.CreatedByType + *out = new(SystemData_CreatedByType_STATUS_ARM) + **out = **in + } + if in.LastModifiedAt != nil { + in, out := &in.LastModifiedAt, &out.LastModifiedAt + *out = new(string) + **out = **in + } + if in.LastModifiedBy != nil { + in, out := &in.LastModifiedBy, &out.LastModifiedBy + *out = new(string) + **out = **in + } + if in.LastModifiedByType != nil { + in, out := &in.LastModifiedByType, &out.LastModifiedByType + *out = new(SystemData_LastModifiedByType_STATUS_ARM) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemData_STATUS_ARM. +func (in *SystemData_STATUS_ARM) DeepCopy() *SystemData_STATUS_ARM { + if in == nil { + return nil + } + out := new(SystemData_STATUS_ARM) + in.DeepCopyInto(out) + return out +} diff --git a/v2/api/insights/versions_matrix.md b/v2/api/insights/versions_matrix.md index 909bd1eb3ae..98021820033 100644 --- a/v2/api/insights/versions_matrix.md +++ b/v2/api/insights/versions_matrix.md @@ -1,188 +1,199 @@ -| Type Definitions in package "insights" | v1api20180301 | v1api20180501preview | v1api20200202 | v1api20220615 | v1api20221001 | v1api20230101 | -|--------------------------------------------------------------------|---------------|----------------------|---------------|---------------|---------------|---------------| -| APIVersion | v1api20180301 | v1api20180501preview | v1api20200202 | v1api20220615 | v1api20221001 | v1api20230101 | -| ActionGroup | | | | | | v1api20230101 | -| ActionGroupResource_STATUS | | | | | | v1api20230101 | -| ActionGroupSpec | | | | | | v1api20230101 | -| ActionGroup_STATUS | | | | | | v1api20230101 | -| ActionGroup_Spec | | | | | | v1api20230101 | -| Actions | | | | v1api20220615 | | | -| Actions_STATUS | | | | v1api20220615 | | | -| ApplicationInsightsComponentProperties | | | v1api20200202 | | | | -| ApplicationInsightsComponentProperties_Application_Type | | | v1api20200202 | | | | -| ApplicationInsightsComponentProperties_Application_Type_STATUS | | | v1api20200202 | | | | -| ApplicationInsightsComponentProperties_Flow_Type | | | v1api20200202 | | | | -| ApplicationInsightsComponentProperties_Flow_Type_STATUS | | | v1api20200202 | | | | -| ApplicationInsightsComponentProperties_IngestionMode | | | v1api20200202 | | | | -| ApplicationInsightsComponentProperties_IngestionMode_STATUS | | | v1api20200202 | | | | -| ApplicationInsightsComponentProperties_Request_Source | | | v1api20200202 | | | | -| ApplicationInsightsComponentProperties_Request_Source_STATUS | | | v1api20200202 | | | | -| ApplicationInsightsComponentProperties_STATUS | | | v1api20200202 | | | | -| ArmRoleReceiver | | | | | | v1api20230101 | -| ArmRoleReceiver_STATUS | | | | | | v1api20230101 | -| AutomationRunbookReceiver | | | | | | v1api20230101 | -| AutomationRunbookReceiver_STATUS | | | | | | v1api20230101 | -| AutoscaleNotification | | | | | v1api20221001 | | -| AutoscaleNotification_Operation | | | | | v1api20221001 | | -| AutoscaleNotification_Operation_STATUS | | | | | v1api20221001 | | -| AutoscaleNotification_STATUS | | | | | v1api20221001 | | -| AutoscaleProfile | | | | | v1api20221001 | | -| AutoscaleProfile_STATUS | | | | | v1api20221001 | | -| AutoscaleSetting | | | | | v1api20221001 | | -| AutoscaleSettingProperties | | | | | v1api20221001 | | -| AutoscaleSetting_STATUS | | | | | v1api20221001 | | -| AutoscaleSetting_Spec | | | | | v1api20221001 | | -| Autoscalesetting_STATUS | | | | | v1api20221001 | | -| AzureAppPushReceiver | | | | | | v1api20230101 | -| AzureAppPushReceiver_STATUS | | | | | | v1api20230101 | -| AzureFunctionReceiver | | | | | | v1api20230101 | -| AzureFunctionReceiver_STATUS | | | | | | v1api20230101 | -| Component | | | v1api20200202 | | | | -| Component_STATUS | | | v1api20200202 | | | | -| Component_Spec | | | v1api20200202 | | | | -| Condition | | | | v1api20220615 | | | -| Condition_FailingPeriods | | | | v1api20220615 | | | -| Condition_FailingPeriods_STATUS | | | | v1api20220615 | | | -| Condition_Operator | | | | v1api20220615 | | | -| Condition_Operator_STATUS | | | | v1api20220615 | | | -| Condition_STATUS | | | | v1api20220615 | | | -| Condition_TimeAggregation | | | | v1api20220615 | | | -| Condition_TimeAggregation_STATUS | | | | v1api20220615 | | | -| Dimension | | | | v1api20220615 | | | -| Dimension_Operator | | | | v1api20220615 | | | -| Dimension_Operator_STATUS | | | | v1api20220615 | | | -| Dimension_STATUS | | | | v1api20220615 | | | -| DynamicMetricCriteria | v1api20180301 | | | | | | -| DynamicMetricCriteria_AlertSensitivity | v1api20180301 | | | | | | -| DynamicMetricCriteria_AlertSensitivity_STATUS | v1api20180301 | | | | | | -| DynamicMetricCriteria_CriterionType | v1api20180301 | | | | | | -| DynamicMetricCriteria_CriterionType_STATUS | v1api20180301 | | | | | | -| DynamicMetricCriteria_Operator | v1api20180301 | | | | | | -| DynamicMetricCriteria_Operator_STATUS | v1api20180301 | | | | | | -| DynamicMetricCriteria_STATUS | v1api20180301 | | | | | | -| DynamicMetricCriteria_TimeAggregation | v1api20180301 | | | | | | -| DynamicMetricCriteria_TimeAggregation_STATUS | v1api20180301 | | | | | | -| DynamicThresholdFailingPeriods | v1api20180301 | | | | | | -| DynamicThresholdFailingPeriods_STATUS | v1api20180301 | | | | | | -| EmailNotification | | | | | v1api20221001 | | -| EmailNotification_STATUS | | | | | v1api20221001 | | -| EmailReceiver | | | | | | v1api20230101 | -| EmailReceiver_STATUS | | | | | | v1api20230101 | -| EventHubReceiver | | | | | | v1api20230101 | -| EventHubReceiver_STATUS | | | | | | v1api20230101 | -| HeaderField | | v1api20180501preview | | v1api20220615 | | | -| HeaderField_STATUS | | v1api20180501preview | | v1api20220615 | | | -| ItsmReceiver | | | | | | v1api20230101 | -| ItsmReceiver_STATUS | | | | | | v1api20230101 | -| LogicAppReceiver | | | | | | v1api20230101 | -| LogicAppReceiver_STATUS | | | | | | v1api20230101 | -| MetricAlert | v1api20180301 | | | | | | -| MetricAlertAction | v1api20180301 | | | | | | -| MetricAlertAction_STATUS | v1api20180301 | | | | | | -| MetricAlertCriteria | v1api20180301 | | | | | | -| MetricAlertCriteria_STATUS | v1api20180301 | | | | | | -| MetricAlertMultipleResourceMultipleMetricCriteria | v1api20180301 | | | | | | -| MetricAlertMultipleResourceMultipleMetricCriteria_OdataType | v1api20180301 | | | | | | -| MetricAlertMultipleResourceMultipleMetricCriteria_OdataType_STATUS | v1api20180301 | | | | | | -| MetricAlertMultipleResourceMultipleMetricCriteria_STATUS | v1api20180301 | | | | | | -| MetricAlertProperties | v1api20180301 | | | | | | -| MetricAlertProperties_STATUS | v1api20180301 | | | | | | -| MetricAlertSingleResourceMultipleMetricCriteria | v1api20180301 | | | | | | -| MetricAlertSingleResourceMultipleMetricCriteria_OdataType | v1api20180301 | | | | | | -| MetricAlertSingleResourceMultipleMetricCriteria_OdataType_STATUS | v1api20180301 | | | | | | -| MetricAlertSingleResourceMultipleMetricCriteria_STATUS | v1api20180301 | | | | | | -| MetricAlert_STATUS | v1api20180301 | | | | | | -| MetricAlert_Spec | v1api20180301 | | | | | | -| MetricCriteria | v1api20180301 | | | | | | -| MetricCriteria_CriterionType | v1api20180301 | | | | | | -| MetricCriteria_CriterionType_STATUS | v1api20180301 | | | | | | -| MetricCriteria_Operator | v1api20180301 | | | | | | -| MetricCriteria_Operator_STATUS | v1api20180301 | | | | | | -| MetricCriteria_STATUS | v1api20180301 | | | | | | -| MetricCriteria_TimeAggregation | v1api20180301 | | | | | | -| MetricCriteria_TimeAggregation_STATUS | v1api20180301 | | | | | | -| MetricDimension | v1api20180301 | | | | | | -| MetricDimension_STATUS | v1api20180301 | | | | | | -| MetricTrigger | | | | | v1api20221001 | | -| MetricTrigger_Operator | | | | | v1api20221001 | | -| MetricTrigger_Operator_STATUS | | | | | v1api20221001 | | -| MetricTrigger_STATUS | | | | | v1api20221001 | | -| MetricTrigger_Statistic | | | | | v1api20221001 | | -| MetricTrigger_Statistic_STATUS | | | | | v1api20221001 | | -| MetricTrigger_TimeAggregation | | | | | v1api20221001 | | -| MetricTrigger_TimeAggregation_STATUS | | | | | v1api20221001 | | -| MultiMetricCriteria | v1api20180301 | | | | | | -| MultiMetricCriteria_STATUS | v1api20180301 | | | | | | -| PredictiveAutoscalePolicy | | | | | v1api20221001 | | -| PredictiveAutoscalePolicy_STATUS | | | | | v1api20221001 | | -| PredictiveAutoscalePolicy_ScaleMode | | | | | v1api20221001 | | -| PredictiveAutoscalePolicy_ScaleMode_STATUS | | | | | v1api20221001 | | -| PrivateLinkScopedResource_STATUS | | | v1api20200202 | | | | -| PublicNetworkAccessType | | | v1api20200202 | | | | -| PublicNetworkAccessType_STATUS | | | v1api20200202 | | | | -| ReceiverStatus_STATUS | | | | | | v1api20230101 | -| Recurrence | | | | | v1api20221001 | | -| Recurrence_Frequency | | | | | v1api20221001 | | -| Recurrence_Frequency_STATUS | | | | | v1api20221001 | | -| Recurrence_STATUS | | | | | v1api20221001 | | -| RecurrentSchedule | | | | | v1api20221001 | | -| RecurrentSchedule_STATUS | | | | | v1api20221001 | | -| ScaleAction | | | | | v1api20221001 | | -| ScaleAction_Direction | | | | | v1api20221001 | | -| ScaleAction_Direction_STATUS | | | | | v1api20221001 | | -| ScaleAction_STATUS | | | | | v1api20221001 | | -| ScaleAction_Type | | | | | v1api20221001 | | -| ScaleAction_Type_STATUS | | | | | v1api20221001 | | -| ScaleCapacity | | | | | v1api20221001 | | -| ScaleCapacity_STATUS | | | | | v1api20221001 | | -| ScaleRule | | | | | v1api20221001 | | -| ScaleRuleMetricDimension | | | | | v1api20221001 | | -| ScaleRuleMetricDimension_Operator | | | | | v1api20221001 | | -| ScaleRuleMetricDimension_Operator_STATUS | | | | | v1api20221001 | | -| ScaleRuleMetricDimension_STATUS | | | | | v1api20221001 | | -| ScaleRule_STATUS | | | | | v1api20221001 | | -| ScheduledQueryRule | | | | v1api20220615 | | | -| ScheduledQueryRuleCriteria | | | | v1api20220615 | | | -| ScheduledQueryRuleCriteria_STATUS | | | | v1api20220615 | | | -| ScheduledQueryRuleProperties | | | | v1api20220615 | | | -| ScheduledQueryRuleProperties_STATUS | | | | v1api20220615 | | | -| ScheduledQueryRuleProperties_Severity | | | | v1api20220615 | | | -| ScheduledQueryRuleProperties_Severity_STATUS | | | | v1api20220615 | | | -| ScheduledQueryRule_Kind_STATUS | | | | v1api20220615 | | | -| ScheduledQueryRule_Kind_Spec | | | | v1api20220615 | | | -| ScheduledQueryRule_STATUS | | | | v1api20220615 | | | -| ScheduledQueryRule_Spec | | | | v1api20220615 | | | -| SmsReceiver | | | | | | v1api20230101 | -| SmsReceiver_STATUS | | | | | | v1api20230101 | -| SystemData_CreatedByType_STATUS | | | | v1api20220615 | v1api20221001 | | -| SystemData_LastModifiedByType_STATUS | | | | v1api20220615 | v1api20221001 | | -| SystemData_STATUS | | | | v1api20220615 | v1api20221001 | | -| TimeWindow | | | | | v1api20221001 | | -| TimeWindow_STATUS | | | | | v1api20221001 | | -| VoiceReceiver | | | | | | v1api20230101 | -| VoiceReceiver_STATUS | | | | | | v1api20230101 | -| WebTestGeolocation | | v1api20180501preview | | v1api20220615 | | | -| WebTestGeolocation_STATUS | | v1api20180501preview | | v1api20220615 | | | -| WebTestProperties | | v1api20180501preview | | v1api20220615 | | | -| WebTestProperties_Configuration | | v1api20180501preview | | v1api20220615 | | | -| WebTestProperties_Configuration_STATUS | | v1api20180501preview | | v1api20220615 | | | -| WebTestProperties_Kind | | v1api20180501preview | | v1api20220615 | | | -| WebTestProperties_Kind_STATUS | | v1api20180501preview | | v1api20220615 | | | -| WebTestProperties_Request | | v1api20180501preview | | v1api20220615 | | | -| WebTestProperties_Request_STATUS | | v1api20180501preview | | v1api20220615 | | | -| WebTestProperties_STATUS | | v1api20180501preview | | v1api20220615 | | | -| WebTestProperties_ValidationRules | | v1api20180501preview | | v1api20220615 | | | -| WebTestProperties_ValidationRules_ContentValidation | | v1api20180501preview | | v1api20220615 | | | -| WebTestProperties_ValidationRules_ContentValidation_STATUS | | v1api20180501preview | | v1api20220615 | | | -| WebTestProperties_ValidationRules_STATUS | | v1api20180501preview | | v1api20220615 | | | -| WebhookNotification | | | | | v1api20221001 | | -| WebhookNotification_STATUS | | | | | v1api20221001 | | -| WebhookReceiver | | | | | | v1api20230101 | -| WebhookReceiver_STATUS | | | | | | v1api20230101 | -| Webtest | | v1api20180501preview | | v1api20220615 | | | -| WebtestLocationAvailabilityCriteria | v1api20180301 | | | | | | -| WebtestLocationAvailabilityCriteria_OdataType | v1api20180301 | | | | | | -| WebtestLocationAvailabilityCriteria_OdataType_STATUS | v1api20180301 | | | | | | -| WebtestLocationAvailabilityCriteria_STATUS | v1api20180301 | | | | | | -| Webtest_STATUS | | v1api20180501preview | | v1api20220615 | | | -| Webtest_Spec | | v1api20180501preview | | v1api20220615 | | | +| Type Definitions in package "insights" | v1api20180301 | v1api20180501preview | v1api20200202 | v1api20210501preview | v1api20220615 | v1api20221001 | v1api20230101 | +|--------------------------------------------------------------------|---------------|----------------------|---------------|----------------------|---------------|---------------|---------------| +| APIVersion | v1api20180301 | v1api20180501preview | v1api20200202 | v1api20210501preview | v1api20220615 | v1api20221001 | v1api20230101 | +| ActionGroup | | | | | | | v1api20230101 | +| ActionGroupResource_STATUS | | | | | | | v1api20230101 | +| ActionGroupSpec | | | | | | | v1api20230101 | +| ActionGroup_STATUS | | | | | | | v1api20230101 | +| ActionGroup_Spec | | | | | | | v1api20230101 | +| Actions | | | | | v1api20220615 | | | +| Actions_STATUS | | | | | v1api20220615 | | | +| ApplicationInsightsComponentProperties | | | v1api20200202 | | | | | +| ApplicationInsightsComponentProperties_Application_Type | | | v1api20200202 | | | | | +| ApplicationInsightsComponentProperties_Application_Type_STATUS | | | v1api20200202 | | | | | +| ApplicationInsightsComponentProperties_Flow_Type | | | v1api20200202 | | | | | +| ApplicationInsightsComponentProperties_Flow_Type_STATUS | | | v1api20200202 | | | | | +| ApplicationInsightsComponentProperties_IngestionMode | | | v1api20200202 | | | | | +| ApplicationInsightsComponentProperties_IngestionMode_STATUS | | | v1api20200202 | | | | | +| ApplicationInsightsComponentProperties_Request_Source | | | v1api20200202 | | | | | +| ApplicationInsightsComponentProperties_Request_Source_STATUS | | | v1api20200202 | | | | | +| ApplicationInsightsComponentProperties_STATUS | | | v1api20200202 | | | | | +| ArmRoleReceiver | | | | | | | v1api20230101 | +| ArmRoleReceiver_STATUS | | | | | | | v1api20230101 | +| AutomationRunbookReceiver | | | | | | | v1api20230101 | +| AutomationRunbookReceiver_STATUS | | | | | | | v1api20230101 | +| AutoscaleNotification | | | | | | v1api20221001 | | +| AutoscaleNotification_Operation | | | | | | v1api20221001 | | +| AutoscaleNotification_Operation_STATUS | | | | | | v1api20221001 | | +| AutoscaleNotification_STATUS | | | | | | v1api20221001 | | +| AutoscaleProfile | | | | | | v1api20221001 | | +| AutoscaleProfile_STATUS | | | | | | v1api20221001 | | +| AutoscaleSetting | | | | | | v1api20221001 | | +| AutoscaleSettingProperties | | | | | | v1api20221001 | | +| AutoscaleSetting_STATUS | | | | | | v1api20221001 | | +| AutoscaleSetting_Spec | | | | | | v1api20221001 | | +| Autoscalesetting_STATUS | | | | | | v1api20221001 | | +| AzureAppPushReceiver | | | | | | | v1api20230101 | +| AzureAppPushReceiver_STATUS | | | | | | | v1api20230101 | +| AzureFunctionReceiver | | | | | | | v1api20230101 | +| AzureFunctionReceiver_STATUS | | | | | | | v1api20230101 | +| Component | | | v1api20200202 | | | | | +| Component_STATUS | | | v1api20200202 | | | | | +| Component_Spec | | | v1api20200202 | | | | | +| Condition | | | | | v1api20220615 | | | +| Condition_FailingPeriods | | | | | v1api20220615 | | | +| Condition_FailingPeriods_STATUS | | | | | v1api20220615 | | | +| Condition_Operator | | | | | v1api20220615 | | | +| Condition_Operator_STATUS | | | | | v1api20220615 | | | +| Condition_STATUS | | | | | v1api20220615 | | | +| Condition_TimeAggregation | | | | | v1api20220615 | | | +| Condition_TimeAggregation_STATUS | | | | | v1api20220615 | | | +| DiagnosticSetting | | | | v1api20210501preview | | | | +| DiagnosticSetting_STATUS | | | | v1api20210501preview | | | | +| DiagnosticSetting_Spec | | | | v1api20210501preview | | | | +| DiagnosticSettings | | | | v1api20210501preview | | | | +| DiagnosticSettings_STATUS | | | | v1api20210501preview | | | | +| Dimension | | | | | v1api20220615 | | | +| Dimension_Operator | | | | | v1api20220615 | | | +| Dimension_Operator_STATUS | | | | | v1api20220615 | | | +| Dimension_STATUS | | | | | v1api20220615 | | | +| DynamicMetricCriteria | v1api20180301 | | | | | | | +| DynamicMetricCriteria_AlertSensitivity | v1api20180301 | | | | | | | +| DynamicMetricCriteria_AlertSensitivity_STATUS | v1api20180301 | | | | | | | +| DynamicMetricCriteria_CriterionType | v1api20180301 | | | | | | | +| DynamicMetricCriteria_CriterionType_STATUS | v1api20180301 | | | | | | | +| DynamicMetricCriteria_Operator | v1api20180301 | | | | | | | +| DynamicMetricCriteria_Operator_STATUS | v1api20180301 | | | | | | | +| DynamicMetricCriteria_STATUS | v1api20180301 | | | | | | | +| DynamicMetricCriteria_TimeAggregation | v1api20180301 | | | | | | | +| DynamicMetricCriteria_TimeAggregation_STATUS | v1api20180301 | | | | | | | +| DynamicThresholdFailingPeriods | v1api20180301 | | | | | | | +| DynamicThresholdFailingPeriods_STATUS | v1api20180301 | | | | | | | +| EmailNotification | | | | | | v1api20221001 | | +| EmailNotification_STATUS | | | | | | v1api20221001 | | +| EmailReceiver | | | | | | | v1api20230101 | +| EmailReceiver_STATUS | | | | | | | v1api20230101 | +| EventHubReceiver | | | | | | | v1api20230101 | +| EventHubReceiver_STATUS | | | | | | | v1api20230101 | +| HeaderField | | v1api20180501preview | | | v1api20220615 | | | +| HeaderField_STATUS | | v1api20180501preview | | | v1api20220615 | | | +| ItsmReceiver | | | | | | | v1api20230101 | +| ItsmReceiver_STATUS | | | | | | | v1api20230101 | +| LogSettings | | | | v1api20210501preview | | | | +| LogSettings_STATUS | | | | v1api20210501preview | | | | +| LogicAppReceiver | | | | | | | v1api20230101 | +| LogicAppReceiver_STATUS | | | | | | | v1api20230101 | +| MetricAlert | v1api20180301 | | | | | | | +| MetricAlertAction | v1api20180301 | | | | | | | +| MetricAlertAction_STATUS | v1api20180301 | | | | | | | +| MetricAlertCriteria | v1api20180301 | | | | | | | +| MetricAlertCriteria_STATUS | v1api20180301 | | | | | | | +| MetricAlertMultipleResourceMultipleMetricCriteria | v1api20180301 | | | | | | | +| MetricAlertMultipleResourceMultipleMetricCriteria_OdataType | v1api20180301 | | | | | | | +| MetricAlertMultipleResourceMultipleMetricCriteria_OdataType_STATUS | v1api20180301 | | | | | | | +| MetricAlertMultipleResourceMultipleMetricCriteria_STATUS | v1api20180301 | | | | | | | +| MetricAlertProperties | v1api20180301 | | | | | | | +| MetricAlertProperties_STATUS | v1api20180301 | | | | | | | +| MetricAlertSingleResourceMultipleMetricCriteria | v1api20180301 | | | | | | | +| MetricAlertSingleResourceMultipleMetricCriteria_OdataType | v1api20180301 | | | | | | | +| MetricAlertSingleResourceMultipleMetricCriteria_OdataType_STATUS | v1api20180301 | | | | | | | +| MetricAlertSingleResourceMultipleMetricCriteria_STATUS | v1api20180301 | | | | | | | +| MetricAlert_STATUS | v1api20180301 | | | | | | | +| MetricAlert_Spec | v1api20180301 | | | | | | | +| MetricCriteria | v1api20180301 | | | | | | | +| MetricCriteria_CriterionType | v1api20180301 | | | | | | | +| MetricCriteria_CriterionType_STATUS | v1api20180301 | | | | | | | +| MetricCriteria_Operator | v1api20180301 | | | | | | | +| MetricCriteria_Operator_STATUS | v1api20180301 | | | | | | | +| MetricCriteria_STATUS | v1api20180301 | | | | | | | +| MetricCriteria_TimeAggregation | v1api20180301 | | | | | | | +| MetricCriteria_TimeAggregation_STATUS | v1api20180301 | | | | | | | +| MetricDimension | v1api20180301 | | | | | | | +| MetricDimension_STATUS | v1api20180301 | | | | | | | +| MetricSettings | | | | v1api20210501preview | | | | +| MetricSettings_STATUS | | | | v1api20210501preview | | | | +| MetricTrigger | | | | | | v1api20221001 | | +| MetricTrigger_Operator | | | | | | v1api20221001 | | +| MetricTrigger_Operator_STATUS | | | | | | v1api20221001 | | +| MetricTrigger_STATUS | | | | | | v1api20221001 | | +| MetricTrigger_Statistic | | | | | | v1api20221001 | | +| MetricTrigger_Statistic_STATUS | | | | | | v1api20221001 | | +| MetricTrigger_TimeAggregation | | | | | | v1api20221001 | | +| MetricTrigger_TimeAggregation_STATUS | | | | | | v1api20221001 | | +| MultiMetricCriteria | v1api20180301 | | | | | | | +| MultiMetricCriteria_STATUS | v1api20180301 | | | | | | | +| PredictiveAutoscalePolicy | | | | | | v1api20221001 | | +| PredictiveAutoscalePolicy_STATUS | | | | | | v1api20221001 | | +| PredictiveAutoscalePolicy_ScaleMode | | | | | | v1api20221001 | | +| PredictiveAutoscalePolicy_ScaleMode_STATUS | | | | | | v1api20221001 | | +| PrivateLinkScopedResource_STATUS | | | v1api20200202 | | | | | +| PublicNetworkAccessType | | | v1api20200202 | | | | | +| PublicNetworkAccessType_STATUS | | | v1api20200202 | | | | | +| ReceiverStatus_STATUS | | | | | | | v1api20230101 | +| Recurrence | | | | | | v1api20221001 | | +| Recurrence_Frequency | | | | | | v1api20221001 | | +| Recurrence_Frequency_STATUS | | | | | | v1api20221001 | | +| Recurrence_STATUS | | | | | | v1api20221001 | | +| RecurrentSchedule | | | | | | v1api20221001 | | +| RecurrentSchedule_STATUS | | | | | | v1api20221001 | | +| RetentionPolicy | | | | v1api20210501preview | | | | +| RetentionPolicy_STATUS | | | | v1api20210501preview | | | | +| ScaleAction | | | | | | v1api20221001 | | +| ScaleAction_Direction | | | | | | v1api20221001 | | +| ScaleAction_Direction_STATUS | | | | | | v1api20221001 | | +| ScaleAction_STATUS | | | | | | v1api20221001 | | +| ScaleAction_Type | | | | | | v1api20221001 | | +| ScaleAction_Type_STATUS | | | | | | v1api20221001 | | +| ScaleCapacity | | | | | | v1api20221001 | | +| ScaleCapacity_STATUS | | | | | | v1api20221001 | | +| ScaleRule | | | | | | v1api20221001 | | +| ScaleRuleMetricDimension | | | | | | v1api20221001 | | +| ScaleRuleMetricDimension_Operator | | | | | | v1api20221001 | | +| ScaleRuleMetricDimension_Operator_STATUS | | | | | | v1api20221001 | | +| ScaleRuleMetricDimension_STATUS | | | | | | v1api20221001 | | +| ScaleRule_STATUS | | | | | | v1api20221001 | | +| ScheduledQueryRule | | | | | v1api20220615 | | | +| ScheduledQueryRuleCriteria | | | | | v1api20220615 | | | +| ScheduledQueryRuleCriteria_STATUS | | | | | v1api20220615 | | | +| ScheduledQueryRuleProperties | | | | | v1api20220615 | | | +| ScheduledQueryRuleProperties_STATUS | | | | | v1api20220615 | | | +| ScheduledQueryRuleProperties_Severity | | | | | v1api20220615 | | | +| ScheduledQueryRuleProperties_Severity_STATUS | | | | | v1api20220615 | | | +| ScheduledQueryRule_Kind_STATUS | | | | | v1api20220615 | | | +| ScheduledQueryRule_Kind_Spec | | | | | v1api20220615 | | | +| ScheduledQueryRule_STATUS | | | | | v1api20220615 | | | +| ScheduledQueryRule_Spec | | | | | v1api20220615 | | | +| SmsReceiver | | | | | | | v1api20230101 | +| SmsReceiver_STATUS | | | | | | | v1api20230101 | +| SystemData_CreatedByType_STATUS | | | | v1api20210501preview | v1api20220615 | v1api20221001 | | +| SystemData_LastModifiedByType_STATUS | | | | v1api20210501preview | v1api20220615 | v1api20221001 | | +| SystemData_STATUS | | | | v1api20210501preview | v1api20220615 | v1api20221001 | | +| TimeWindow | | | | | | v1api20221001 | | +| TimeWindow_STATUS | | | | | | v1api20221001 | | +| VoiceReceiver | | | | | | | v1api20230101 | +| VoiceReceiver_STATUS | | | | | | | v1api20230101 | +| WebTestGeolocation | | v1api20180501preview | | | v1api20220615 | | | +| WebTestGeolocation_STATUS | | v1api20180501preview | | | v1api20220615 | | | +| WebTestProperties | | v1api20180501preview | | | v1api20220615 | | | +| WebTestProperties_Configuration | | v1api20180501preview | | | v1api20220615 | | | +| WebTestProperties_Configuration_STATUS | | v1api20180501preview | | | v1api20220615 | | | +| WebTestProperties_Kind | | v1api20180501preview | | | v1api20220615 | | | +| WebTestProperties_Kind_STATUS | | v1api20180501preview | | | v1api20220615 | | | +| WebTestProperties_Request | | v1api20180501preview | | | v1api20220615 | | | +| WebTestProperties_Request_STATUS | | v1api20180501preview | | | v1api20220615 | | | +| WebTestProperties_STATUS | | v1api20180501preview | | | v1api20220615 | | | +| WebTestProperties_ValidationRules | | v1api20180501preview | | | v1api20220615 | | | +| WebTestProperties_ValidationRules_ContentValidation | | v1api20180501preview | | | v1api20220615 | | | +| WebTestProperties_ValidationRules_ContentValidation_STATUS | | v1api20180501preview | | | v1api20220615 | | | +| WebTestProperties_ValidationRules_STATUS | | v1api20180501preview | | | v1api20220615 | | | +| WebhookNotification | | | | | | v1api20221001 | | +| WebhookNotification_STATUS | | | | | | v1api20221001 | | +| WebhookReceiver | | | | | | | v1api20230101 | +| WebhookReceiver_STATUS | | | | | | | v1api20230101 | +| Webtest | | v1api20180501preview | | | v1api20220615 | | | +| WebtestLocationAvailabilityCriteria | v1api20180301 | | | | | | | +| WebtestLocationAvailabilityCriteria_OdataType | v1api20180301 | | | | | | | +| WebtestLocationAvailabilityCriteria_OdataType_STATUS | v1api20180301 | | | | | | | +| WebtestLocationAvailabilityCriteria_STATUS | v1api20180301 | | | | | | | +| Webtest_STATUS | | v1api20180501preview | | | v1api20220615 | | | +| Webtest_Spec | | v1api20180501preview | | | v1api20220615 | | | diff --git a/v2/azure-arm.yaml b/v2/azure-arm.yaml index f0c43b8707c..baa1c6ee7cf 100644 --- a/v2/azure-arm.yaml +++ b/v2/azure-arm.yaml @@ -86,6 +86,11 @@ typeFilters: version: v*20230501preview because: This version of APIM is created in a matter of minutes + - action: include + group: insights + version: v*20210501preview + because: We're using DiagnosticSetting from this. + - action: include group: common because: we need these for common resource properties @@ -2431,6 +2436,19 @@ objectModelConfiguration: WebTestGeolocation: Id: $armReference: false + 2021-05-01-preview: + DiagnosticSetting: + $export: true + $supportedFrom: v2.11.0 + DiagnosticSettings: + MarketplacePartnerId: + $armReference: true + WorkspaceId: + $armReference: true + EventHubAuthorizationRuleId: + $armReference: true + StorageAccountId: + $armReference: true keyvault: 2021-04-01-preview: diff --git a/v2/internal/controllers/controller_resources_gen.go b/v2/internal/controllers/controller_resources_gen.go index 078a64d083e..431d763d39d 100644 --- a/v2/internal/controllers/controller_resources_gen.go +++ b/v2/internal/controllers/controller_resources_gen.go @@ -119,6 +119,8 @@ import ( insights_v20180501ps "github.com/Azure/azure-service-operator/v2/api/insights/v1api20180501preview/storage" insights_v20200202 "github.com/Azure/azure-service-operator/v2/api/insights/v1api20200202" insights_v20200202s "github.com/Azure/azure-service-operator/v2/api/insights/v1api20200202/storage" + insights_v20210501p "github.com/Azure/azure-service-operator/v2/api/insights/v1api20210501preview" + insights_v20210501ps "github.com/Azure/azure-service-operator/v2/api/insights/v1api20210501preview/storage" insights_v20220615 "github.com/Azure/azure-service-operator/v2/api/insights/v1api20220615" insights_v20220615s "github.com/Azure/azure-service-operator/v2/api/insights/v1api20220615/storage" insights_v20221001 "github.com/Azure/azure-service-operator/v2/api/insights/v1api20221001" @@ -724,6 +726,7 @@ func getKnownStorageTypes() []*registration.StorageType { result = append(result, ®istration.StorageType{Obj: new(eventhub_v20211101s.NamespacesEventhubsConsumerGroup)}) result = append(result, ®istration.StorageType{Obj: new(insights_v20180301s.MetricAlert)}) result = append(result, ®istration.StorageType{Obj: new(insights_v20200202s.Component)}) + result = append(result, ®istration.StorageType{Obj: new(insights_v20210501ps.DiagnosticSetting)}) result = append(result, ®istration.StorageType{Obj: new(insights_v20220615s.ScheduledQueryRule)}) result = append(result, ®istration.StorageType{Obj: new(insights_v20220615s.Webtest)}) result = append(result, ®istration.StorageType{Obj: new(insights_v20221001s.AutoscaleSetting)}) @@ -1855,6 +1858,8 @@ func getKnownTypes() []client.Object { result = append(result, new(insights_v20180501ps.Webtest)) result = append(result, new(insights_v20200202.Component)) result = append(result, new(insights_v20200202s.Component)) + result = append(result, new(insights_v20210501p.DiagnosticSetting)) + result = append(result, new(insights_v20210501ps.DiagnosticSetting)) result = append( result, new(insights_v20220615.ScheduledQueryRule), @@ -2330,6 +2335,8 @@ func createScheme() *runtime.Scheme { _ = insights_v20180501ps.AddToScheme(scheme) _ = insights_v20200202.AddToScheme(scheme) _ = insights_v20200202s.AddToScheme(scheme) + _ = insights_v20210501p.AddToScheme(scheme) + _ = insights_v20210501ps.AddToScheme(scheme) _ = insights_v20220615.AddToScheme(scheme) _ = insights_v20220615s.AddToScheme(scheme) _ = insights_v20221001.AddToScheme(scheme) @@ -2501,6 +2508,7 @@ func getResourceExtensions() []genruntime.ResourceExtension { result = append(result, &insights_customizations.ActionGroupExtension{}) result = append(result, &insights_customizations.AutoscaleSettingExtension{}) result = append(result, &insights_customizations.ComponentExtension{}) + result = append(result, &insights_customizations.DiagnosticSettingExtension{}) result = append(result, &insights_customizations.MetricAlertExtension{}) result = append(result, &insights_customizations.ScheduledQueryRuleExtension{}) result = append(result, &insights_customizations.WebtestExtension{}) diff --git a/v2/internal/controllers/insights_diagnosticsetting_crud_v20210501preview_test.go b/v2/internal/controllers/insights_diagnosticsetting_crud_v20210501preview_test.go new file mode 100644 index 00000000000..6253130ab56 --- /dev/null +++ b/v2/internal/controllers/insights_diagnosticsetting_crud_v20210501preview_test.go @@ -0,0 +1,89 @@ +/* +Copyright (c) Microsoft Corporation. +Licensed under the MIT license. +*/ + +package controllers_test + +import ( + "testing" + + . "github.com/onsi/gomega" + + insights "github.com/Azure/azure-service-operator/v2/api/insights/v1api20210501preview" + network "github.com/Azure/azure-service-operator/v2/api/network/v1api20201101" + storage "github.com/Azure/azure-service-operator/v2/api/storage/v1api20210401" + "github.com/Azure/azure-service-operator/v2/internal/testcommon" + "github.com/Azure/azure-service-operator/v2/internal/util/to" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" +) + +func Test_Insights_DiagnosticSetting_CRUD(t *testing.T) { + t.Parallel() + + tc := globalTestContext.ForTest(t) + + rg := tc.CreateTestResourceGroupAndWait() + + vnet := &network.VirtualNetwork{ + ObjectMeta: tc.MakeObjectMeta("vn"), + Spec: network.VirtualNetwork_Spec{ + Owner: testcommon.AsOwner(rg), + Location: tc.AzureRegion, + AddressSpace: &network.AddressSpace{ + AddressPrefixes: []string{"10.0.0.0/16"}, + }, + }, + } + + vnet_name := vnet.ObjectMeta.Name + + accessTier := storage.StorageAccountPropertiesCreateParameters_AccessTier_Hot + kind := storage.StorageAccount_Kind_Spec_StorageV2 + sku := storage.SkuName_Standard_LRS + acct := &storage.StorageAccount{ + ObjectMeta: tc.MakeObjectMetaWithName(tc.NoSpaceNamer.GenerateName("stor")), + Spec: storage.StorageAccount_Spec{ + Location: tc.AzureRegion, + AllowBlobPublicAccess: to.Ptr(false), + Owner: testcommon.AsOwner(rg), + Kind: &kind, + Sku: &storage.Sku{ + Name: &sku, + }, + // TODO: They mark this property as optional but actually it is required + AccessTier: &accessTier, + }, + } + + vnet_diagnosticSettings := &insights.DiagnosticSetting{ + ObjectMeta: tc.MakeObjectMeta("diagnosticsetting"), + Spec: insights.DiagnosticSetting_Spec{ + Owner: &genruntime.ArbitraryOwnerReference{ + Name: vnet_name, + Group: "network.azure.com", + Kind: "VirtualNetwork", + }, + Logs: []insights.LogSettings{ + { + CategoryGroup: to.Ptr("allLogs"), + Enabled: to.Ptr(true), + }, + }, + StorageAccountReference: tc.MakeReferenceFromResource(acct), + }, + } + + tc.CreateResourcesAndWait(vnet, acct, vnet_diagnosticSettings) + + tc.Expect(vnet_diagnosticSettings.Status.Id).ToNot(BeNil()) + armId := *vnet_diagnosticSettings.Status.Id + + tc.DeleteResourceAndWait(vnet_diagnosticSettings) + + // Ensure delete + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(insights.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_Insights_DiagnosticSetting_CRUD.yaml b/v2/internal/controllers/recordings/Test_Insights_DiagnosticSetting_CRUD.yaml new file mode 100644 index 00000000000..42da2d5b9ce --- /dev/null +++ b/v2/internal/controllers/recordings/Test_Insights_DiagnosticSetting_CRUD.yaml @@ -0,0 +1,1350 @@ +--- +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-wfxoql","tags":{"CreatedAt":"2001-02-03T04:05:06Z"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "93" + Content-Type: + - application/json + Test-Request-Hash: + - c893eff302184b904fcece28e5d0c3c1dd8b142301d07cccdf23974085c3bdad + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-wfxoql?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-wfxoql","name":"asotest-rg-wfxoql","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: 9C8050E5EC374340B99BD2CF236AD1BA Ref B: MAA201060513029 Ref C: 2024-10-23T09:42:39Z' + status: 201 Created + code: 201 + duration: 4.147212127s + - 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-wfxoql?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-wfxoql","name":"asotest-rg-wfxoql","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: E1B06809EBD34C04A58FB123597ABC4A Ref B: MAA201060513029 Ref C: 2024-10-23T09:42:47Z' + status: 200 OK + code: 200 + duration: 299.451417ms + - id: 2 + request: + proto: HTTP/1.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-wfxoql/providers/Microsoft.Network/virtualNetworks/asotest-vn-ldemal?api-version=2020-11-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 240 + uncompressed: false + body: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.Network/virtualNetworks/asotest-vn-ldemal'' under resource group ''asotest-rg-wfxoql'' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "240" + 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: 36647C68650A4F7DBC039B4B395C9F25 Ref B: MAA201060513029 Ref C: 2024-10-23T09:42:52Z' + status: 404 Not Found + code: 404 + duration: 321.804625ms + - id: 3 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 115 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"asotest-vn-ldemal","properties":{"addressSpace":{"addressPrefixes":["10.0.0.0/16"]}}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "115" + Content-Type: + - application/json + Test-Request-Hash: + - bdb6408c3763295a3279b30274507678761f47ff7c11c88b6aa7f90f9a2f325b + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-wfxoql/providers/Microsoft.Network/virtualNetworks/asotest-vn-ldemal?api-version=2020-11-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 519 + uncompressed: false + body: '{"name":"asotest-vn-ldemal","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-wfxoql/providers/Microsoft.Network/virtualNetworks/asotest-vn-ldemal","etag":"W/\"128d389e-52b5-422e-86d2-50142a78d3c3\"","type":"Microsoft.Network/virtualNetworks","location":"westus2","properties":{"provisioningState":"Updating","resourceGuid":"9ad83eef-385e-4687-a605-e9b6d0078dc0","addressSpace":{"addressPrefixes":["10.0.0.0/16"]},"subnets":[],"virtualNetworkPeerings":[],"enableDdosProtection":false}}' + headers: + Azure-Asyncnotification: + - Enabled + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/d72472f7-5b48-49a1-8793-610d8d89b361?api-version=2020-11-01&t=638652733766283667&c=MIIHhzCCBm-gAwIBAgITHgVsohlR2527oAb3YwAABWyiGTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTIyMTIzNzU1WhcNMjUwMzIxMTIzNzU1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMhrLEJmsmtpzYzyjkwosX72drFxelF_0kAmuW7jzqQUwb3Vbkmt3AMdawBA7iPG-j-_iaEVRdn5iaEuJE6hSge15_CbeDkRt-qHgospNLcjh6GjynbLyFCQH_IkKY4Mc0yIlKxilQSCf2V6ah2w7S1CyC5zwZroBYavu5w0ZL02jRKMTNVzB03DnGhQGJ7gJbtKJ9AbjVcFwFTpT0Z0Yo-sLpwoVvADWng0JznFSekROEXCF_U3gHMssCctipkbrivaRFNKL3OjHjvuPxD8gsBo2BR_swq3Eyj-68_1B2-zYVD0d811pP8URR-43YYAMXO2Us1Uw6dn-b351XnW8JECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTLk-Eh1Xfk5Jotz1gl5hr4G-tKhTAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAG22HO9nSE7AYf9OZGmPXw_SpE0CIxcQiahWc3LG3zRYLxmiKsYYlN9_r_6fPeEmIs7P7xm7g_xAAHLymI5BQDzGsW5GzAzYVOwolJBj3EcX1bxxIqeEgLvHNmYOr4D5MZFv14TGMHziu0TzPAbbVe9-DmMbrqs1mszrnuUiHTsmKE2oNmv4gjZMYSJAdsUzkjxQEa8t1t7FUEvbDkWkYSdqK0-OoTDVLsRVwRNk9XJ04coDgWql1-iv6bYNXyhC0L_-bdTOs_Gnzu-tFEA2we7Zkew_fhDuJwGTDnhaqvhush0SPJuFmoYBvmEzEJsc_Bjay2DrOHiLTopNoBJVrt8&s=CBBlhpOatnF_vqJedDnSnYYi6nJUue76NLYcOuLo4EB4K-6UVrt9JT_o6UWQ23JeHbOTySaeWqnj9JvOIPM0qJZCJH8VyvFtEB51ni36vWf3cQOYOXeJjG6nFokZpkwuL0-q2iOWQWP3xbOfGHV5SoIEZfrtXo6cY2V5-9U-wrHmTqkKxGBMaFhz0RvtTFDXKAG5iA0Q0otm2hFpf68W5YETVBuWbnOM_xE5QwRyzx5BJlwg3RixGTq0Sll8VoveYkIH-vGCqgyUqqSf-Rn9SEUr7AH_jSmsnKYwKw5umzEN9kjjYlB4Y2plk-NJoRr0rchE-I4h9B3mqsncQFiY_w&h=62g2ACG70mF4g8l21865V6nhyNZbwKQCmyPU8Ns6ksY + Cache-Control: + - no-cache + Content-Length: + - "519" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "3" + 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: 7878B50350D9417799D43548FC196629 Ref B: MAA201060513029 Ref C: 2024-10-23T09:42:53Z' + status: 201 Created + code: 201 + duration: 3.174425751s + - id: 4 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 174 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"kind":"StorageV2","location":"westus2","name":"asoteststorbdrjgj","properties":{"accessTier":"Hot","allowBlobPublicAccess":false},"sku":{"name":"Standard_LRS"},"tags":null}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "174" + Content-Type: + - application/json + Test-Request-Hash: + - 55121046148974620a31574f905dc7b7057cde9d7e4ee235221cc08c79460f41 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-wfxoql/providers/Microsoft.Storage/storageAccounts/asoteststorbdrjgj?api-version=2021-04-01 + method: PUT + 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" + Content-Type: + - text/plain; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus2/asyncoperations/20a1151a-6a10-40e9-bf47-8b6eb368a0e6?monitor=true&api-version=2021-04-01&t=638652733785545896&c=MIIHhzCCBm-gAwIBAgITHgVsohlR2527oAb3YwAABWyiGTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTIyMTIzNzU1WhcNMjUwMzIxMTIzNzU1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMhrLEJmsmtpzYzyjkwosX72drFxelF_0kAmuW7jzqQUwb3Vbkmt3AMdawBA7iPG-j-_iaEVRdn5iaEuJE6hSge15_CbeDkRt-qHgospNLcjh6GjynbLyFCQH_IkKY4Mc0yIlKxilQSCf2V6ah2w7S1CyC5zwZroBYavu5w0ZL02jRKMTNVzB03DnGhQGJ7gJbtKJ9AbjVcFwFTpT0Z0Yo-sLpwoVvADWng0JznFSekROEXCF_U3gHMssCctipkbrivaRFNKL3OjHjvuPxD8gsBo2BR_swq3Eyj-68_1B2-zYVD0d811pP8URR-43YYAMXO2Us1Uw6dn-b351XnW8JECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTLk-Eh1Xfk5Jotz1gl5hr4G-tKhTAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAG22HO9nSE7AYf9OZGmPXw_SpE0CIxcQiahWc3LG3zRYLxmiKsYYlN9_r_6fPeEmIs7P7xm7g_xAAHLymI5BQDzGsW5GzAzYVOwolJBj3EcX1bxxIqeEgLvHNmYOr4D5MZFv14TGMHziu0TzPAbbVe9-DmMbrqs1mszrnuUiHTsmKE2oNmv4gjZMYSJAdsUzkjxQEa8t1t7FUEvbDkWkYSdqK0-OoTDVLsRVwRNk9XJ04coDgWql1-iv6bYNXyhC0L_-bdTOs_Gnzu-tFEA2we7Zkew_fhDuJwGTDnhaqvhush0SPJuFmoYBvmEzEJsc_Bjay2DrOHiLTopNoBJVrt8&s=YDdIxd3la1k3nQwNBVOmr_IymCsJaELGi5AlJUI8foM8RK7jRRpCa4Zq1Hr0im0ym-1YqZv5X8fRd-TbAil502_klkJ9VGB1bVKz2VfltooosObuEuH48yEM8u2bCj5c3VlLYBOY2mACIuSETJ0Ca-yxTjNK8ojYUp0EKvq80iiVpdzGnEZBD9wj0srF0Hb-o9L6PmPfnr8POcGRUFZYwrzG4JIkmYbYlB6PvaZ4SF5Y4v0Qt1AR0xiaSSq0ng7UDv0KMIn4uIH03In87KdyfV4B6q6uuL9AH0T1XjBGHhAr9ql-dVOLKAbBS8sbb3kh3OH-a3qQzmL0rRY-FxcDEA&h=44dtE6f_GfFo9fXXw8_JMeBkYC03CxAD4D2qoqeXkbc + Pragma: + - no-cache + Retry-After: + - "17" + 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: 877C0748ABFE470287379A57F7658FE0 Ref B: MAA201060513029 Ref C: 2024-10-23T09:42:52Z' + status: 202 Accepted + code: 202 + duration: 5.717026211s + - id: 5 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/d72472f7-5b48-49a1-8793-610d8d89b361?api-version=2020-11-01&t=638652733766283667&c=MIIHhzCCBm-gAwIBAgITHgVsohlR2527oAb3YwAABWyiGTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTIyMTIzNzU1WhcNMjUwMzIxMTIzNzU1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMhrLEJmsmtpzYzyjkwosX72drFxelF_0kAmuW7jzqQUwb3Vbkmt3AMdawBA7iPG-j-_iaEVRdn5iaEuJE6hSge15_CbeDkRt-qHgospNLcjh6GjynbLyFCQH_IkKY4Mc0yIlKxilQSCf2V6ah2w7S1CyC5zwZroBYavu5w0ZL02jRKMTNVzB03DnGhQGJ7gJbtKJ9AbjVcFwFTpT0Z0Yo-sLpwoVvADWng0JznFSekROEXCF_U3gHMssCctipkbrivaRFNKL3OjHjvuPxD8gsBo2BR_swq3Eyj-68_1B2-zYVD0d811pP8URR-43YYAMXO2Us1Uw6dn-b351XnW8JECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTLk-Eh1Xfk5Jotz1gl5hr4G-tKhTAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAG22HO9nSE7AYf9OZGmPXw_SpE0CIxcQiahWc3LG3zRYLxmiKsYYlN9_r_6fPeEmIs7P7xm7g_xAAHLymI5BQDzGsW5GzAzYVOwolJBj3EcX1bxxIqeEgLvHNmYOr4D5MZFv14TGMHziu0TzPAbbVe9-DmMbrqs1mszrnuUiHTsmKE2oNmv4gjZMYSJAdsUzkjxQEa8t1t7FUEvbDkWkYSdqK0-OoTDVLsRVwRNk9XJ04coDgWql1-iv6bYNXyhC0L_-bdTOs_Gnzu-tFEA2we7Zkew_fhDuJwGTDnhaqvhush0SPJuFmoYBvmEzEJsc_Bjay2DrOHiLTopNoBJVrt8&s=CBBlhpOatnF_vqJedDnSnYYi6nJUue76NLYcOuLo4EB4K-6UVrt9JT_o6UWQ23JeHbOTySaeWqnj9JvOIPM0qJZCJH8VyvFtEB51ni36vWf3cQOYOXeJjG6nFokZpkwuL0-q2iOWQWP3xbOfGHV5SoIEZfrtXo6cY2V5-9U-wrHmTqkKxGBMaFhz0RvtTFDXKAG5iA0Q0otm2hFpf68W5YETVBuWbnOM_xE5QwRyzx5BJlwg3RixGTq0Sll8VoveYkIH-vGCqgyUqqSf-Rn9SEUr7AH_jSmsnKYwKw5umzEN9kjjYlB4Y2plk-NJoRr0rchE-I4h9B3mqsncQFiY_w&h=62g2ACG70mF4g8l21865V6nhyNZbwKQCmyPU8Ns6ksY + 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: 6F7B3E4BF6EE44159BE98706ECE96F29 Ref B: MAA201060513029 Ref C: 2024-10-23T09:43:01Z' + status: 200 OK + code: 200 + duration: 368.572334ms + - id: 6 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-wfxoql/providers/Microsoft.Network/virtualNetworks/asotest-vn-ldemal?api-version=2020-11-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 520 + uncompressed: false + body: '{"name":"asotest-vn-ldemal","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-wfxoql/providers/Microsoft.Network/virtualNetworks/asotest-vn-ldemal","etag":"W/\"4fc4c741-166a-4a00-8682-01acd9a24fec\"","type":"Microsoft.Network/virtualNetworks","location":"westus2","properties":{"provisioningState":"Succeeded","resourceGuid":"9ad83eef-385e-4687-a605-e9b6d0078dc0","addressSpace":{"addressPrefixes":["10.0.0.0/16"]},"subnets":[],"virtualNetworkPeerings":[],"enableDdosProtection":false}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "520" + Content-Type: + - application/json; charset=utf-8 + Etag: + - W/"4fc4c741-166a-4a00-8682-01acd9a24fec" + 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: B197E2C01793481F8F83F2EB2BF617F6 Ref B: MAA201060513029 Ref C: 2024-10-23T09:43:02Z' + status: 200 OK + code: 200 + duration: 653.549292ms + - 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-wfxoql/providers/Microsoft.Network/virtualNetworks/asotest-vn-ldemal?api-version=2020-11-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 520 + uncompressed: false + body: '{"name":"asotest-vn-ldemal","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-wfxoql/providers/Microsoft.Network/virtualNetworks/asotest-vn-ldemal","etag":"W/\"4fc4c741-166a-4a00-8682-01acd9a24fec\"","type":"Microsoft.Network/virtualNetworks","location":"westus2","properties":{"provisioningState":"Succeeded","resourceGuid":"9ad83eef-385e-4687-a605-e9b6d0078dc0","addressSpace":{"addressPrefixes":["10.0.0.0/16"]},"subnets":[],"virtualNetworkPeerings":[],"enableDdosProtection":false}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "520" + Content-Type: + - application/json; charset=utf-8 + Etag: + - W/"4fc4c741-166a-4a00-8682-01acd9a24fec" + 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: CEC285D5BB0F47D0A94F2B6D943678FF Ref B: MAA201060513029 Ref C: 2024-10-23T09:43:04Z' + status: 200 OK + code: 200 + duration: 526.365209ms + - id: 8 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus2/asyncoperations/20a1151a-6a10-40e9-bf47-8b6eb368a0e6?monitor=true&api-version=2021-04-01&t=638652733785545896&c=MIIHhzCCBm-gAwIBAgITHgVsohlR2527oAb3YwAABWyiGTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTIyMTIzNzU1WhcNMjUwMzIxMTIzNzU1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMhrLEJmsmtpzYzyjkwosX72drFxelF_0kAmuW7jzqQUwb3Vbkmt3AMdawBA7iPG-j-_iaEVRdn5iaEuJE6hSge15_CbeDkRt-qHgospNLcjh6GjynbLyFCQH_IkKY4Mc0yIlKxilQSCf2V6ah2w7S1CyC5zwZroBYavu5w0ZL02jRKMTNVzB03DnGhQGJ7gJbtKJ9AbjVcFwFTpT0Z0Yo-sLpwoVvADWng0JznFSekROEXCF_U3gHMssCctipkbrivaRFNKL3OjHjvuPxD8gsBo2BR_swq3Eyj-68_1B2-zYVD0d811pP8URR-43YYAMXO2Us1Uw6dn-b351XnW8JECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTLk-Eh1Xfk5Jotz1gl5hr4G-tKhTAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAG22HO9nSE7AYf9OZGmPXw_SpE0CIxcQiahWc3LG3zRYLxmiKsYYlN9_r_6fPeEmIs7P7xm7g_xAAHLymI5BQDzGsW5GzAzYVOwolJBj3EcX1bxxIqeEgLvHNmYOr4D5MZFv14TGMHziu0TzPAbbVe9-DmMbrqs1mszrnuUiHTsmKE2oNmv4gjZMYSJAdsUzkjxQEa8t1t7FUEvbDkWkYSdqK0-OoTDVLsRVwRNk9XJ04coDgWql1-iv6bYNXyhC0L_-bdTOs_Gnzu-tFEA2we7Zkew_fhDuJwGTDnhaqvhush0SPJuFmoYBvmEzEJsc_Bjay2DrOHiLTopNoBJVrt8&s=YDdIxd3la1k3nQwNBVOmr_IymCsJaELGi5AlJUI8foM8RK7jRRpCa4Zq1Hr0im0ym-1YqZv5X8fRd-TbAil502_klkJ9VGB1bVKz2VfltooosObuEuH48yEM8u2bCj5c3VlLYBOY2mACIuSETJ0Ca-yxTjNK8ojYUp0EKvq80iiVpdzGnEZBD9wj0srF0Hb-o9L6PmPfnr8POcGRUFZYwrzG4JIkmYbYlB6PvaZ4SF5Y4v0Qt1AR0xiaSSq0ng7UDv0KMIn4uIH03In87KdyfV4B6q6uuL9AH0T1XjBGHhAr9ql-dVOLKAbBS8sbb3kh3OH-a3qQzmL0rRY-FxcDEA&h=44dtE6f_GfFo9fXXw8_JMeBkYC03CxAD4D2qoqeXkbc + 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" + Content-Type: + - text/plain; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus2/asyncoperations/20a1151a-6a10-40e9-bf47-8b6eb368a0e6?monitor=true&api-version=2021-04-01&t=638652733866752651&c=MIIHhzCCBm-gAwIBAgITHgVsohlR2527oAb3YwAABWyiGTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTIyMTIzNzU1WhcNMjUwMzIxMTIzNzU1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMhrLEJmsmtpzYzyjkwosX72drFxelF_0kAmuW7jzqQUwb3Vbkmt3AMdawBA7iPG-j-_iaEVRdn5iaEuJE6hSge15_CbeDkRt-qHgospNLcjh6GjynbLyFCQH_IkKY4Mc0yIlKxilQSCf2V6ah2w7S1CyC5zwZroBYavu5w0ZL02jRKMTNVzB03DnGhQGJ7gJbtKJ9AbjVcFwFTpT0Z0Yo-sLpwoVvADWng0JznFSekROEXCF_U3gHMssCctipkbrivaRFNKL3OjHjvuPxD8gsBo2BR_swq3Eyj-68_1B2-zYVD0d811pP8URR-43YYAMXO2Us1Uw6dn-b351XnW8JECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTLk-Eh1Xfk5Jotz1gl5hr4G-tKhTAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAG22HO9nSE7AYf9OZGmPXw_SpE0CIxcQiahWc3LG3zRYLxmiKsYYlN9_r_6fPeEmIs7P7xm7g_xAAHLymI5BQDzGsW5GzAzYVOwolJBj3EcX1bxxIqeEgLvHNmYOr4D5MZFv14TGMHziu0TzPAbbVe9-DmMbrqs1mszrnuUiHTsmKE2oNmv4gjZMYSJAdsUzkjxQEa8t1t7FUEvbDkWkYSdqK0-OoTDVLsRVwRNk9XJ04coDgWql1-iv6bYNXyhC0L_-bdTOs_Gnzu-tFEA2we7Zkew_fhDuJwGTDnhaqvhush0SPJuFmoYBvmEzEJsc_Bjay2DrOHiLTopNoBJVrt8&s=xt2IleoP8_fXy86VsjXmZxXujQsFeAHcnhNXAHLmEJXUrf2gGaNUuwyqX_6cggj0rPMa3l_k-OphbogRHPm7nooW0QbInnmFizdd-R5dXOAp5-qAF9PbtKw6lBQzmLC0a2bPbBgwWfsJb7NRnbfWagVi05b8OAL6PDa_i9TTpoxfXpNhWgobm_XlsOyJTVZe4-LnRBDwqJk67v_4pOMCXlQtIF6wm0qnjlahoUrKcfsce4NV74c5KHteiCTg5IWfjDGNdJ8sAl8aAUgAu1UkTzHIdL7VomJXwzEpfzaqzCAgSMJy86UAo_L-hA6TTzacAJbxqFDkQysKUTpnfEUQlw&h=miWe7OogcgIL5XEGdlIgEuvrOBcsKE-OZWy3wtwK4bY + Pragma: + - no-cache + Retry-After: + - "17" + 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: 09011C9131034FD28CFD18972A8A041C Ref B: MAA201060513029 Ref C: 2024-10-23T09:43:06Z' + status: 202 Accepted + code: 202 + duration: 313.965875ms + - id: 9 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 278 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"name":"asotest-diagnosticsetting-fyawge","properties":{"logs":[{"categoryGroup":"allLogs","enabled":true}],"storageAccountId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-wfxoql/providers/Microsoft.Storage/storageAccounts/asoteststorbdrjgj"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "278" + Content-Type: + - application/json + Test-Request-Hash: + - 359707c9dca7969376b93b6f8659ad882c1d75e0c1cb1f8e8445055855396dfd + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-wfxoql/providers/Microsoft.Network/virtualNetworks/asotest-vn-ldemal/providers/Microsoft.Insights/diagnosticSettings/asotest-diagnosticsetting-fyawge?api-version=2021-05-01-preview + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 823 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-wfxoql/providers/microsoft.network/virtualnetworks/asotest-vn-ldemal/providers/microsoft.insights/diagnosticSettings/asotest-diagnosticsetting-fyawge","type":"Microsoft.Insights/diagnosticSettings","name":"asotest-diagnosticsetting-fyawge","location":null,"kind":null,"tags":null,"properties":{"storageAccountId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-wfxoql/providers/Microsoft.Storage/storageAccounts/asoteststorbdrjgj","serviceBusRuleId":null,"workspaceId":null,"eventHubAuthorizationRuleId":null,"eventHubName":null,"metrics":[],"logs":[{"category":null,"categoryGroup":"allLogs","enabled":true,"retentionPolicy":{"enabled":false,"days":0}}],"logAnalyticsDestinationType":null},"identity":null}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "823" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Resource-Requests: + - "149" + X-Msedge-Ref: + - 'Ref A: AD087377F65943E58ACBA0D5FE652398 Ref B: MAA201060513029 Ref C: 2024-10-23T09:43:08Z' + status: 200 OK + code: 200 + duration: 2.685565959s + - 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: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-wfxoql/providers/Microsoft.Network/virtualNetworks/asotest-vn-ldemal/providers/Microsoft.Insights/diagnosticSettings/asotest-diagnosticsetting-fyawge?api-version=2021-05-01-preview + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 914 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-wfxoql/providers/microsoft.network/virtualnetworks/asotest-vn-ldemal/providers/microsoft.insights/diagnosticSettings/asotest-diagnosticsetting-fyawge","type":"Microsoft.Insights/diagnosticSettings","name":"asotest-diagnosticsetting-fyawge","location":"westus2","kind":null,"tags":null,"properties":{"storageAccountId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-wfxoql/providers/Microsoft.Storage/storageAccounts/asoteststorbdrjgj","serviceBusRuleId":null,"workspaceId":null,"eventHubAuthorizationRuleId":null,"eventHubName":null,"metrics":[{"category":"AllMetrics","enabled":false,"retentionPolicy":{"enabled":false,"days":0}}],"logs":[{"category":null,"categoryGroup":"allLogs","enabled":true,"retentionPolicy":{"enabled":false,"days":0}}],"logAnalyticsDestinationType":null},"identity":null}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "914" + 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: 0C2F2455FB41469BA1B9CE93A6796A4B Ref B: MAA201060513029 Ref C: 2024-10-23T09:43:13Z' + status: 200 OK + code: 200 + duration: 572.420001ms + - id: 11 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus2/asyncoperations/20a1151a-6a10-40e9-bf47-8b6eb368a0e6?monitor=true&api-version=2021-04-01&t=638652733785545896&c=MIIHhzCCBm-gAwIBAgITHgVsohlR2527oAb3YwAABWyiGTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTIyMTIzNzU1WhcNMjUwMzIxMTIzNzU1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMhrLEJmsmtpzYzyjkwosX72drFxelF_0kAmuW7jzqQUwb3Vbkmt3AMdawBA7iPG-j-_iaEVRdn5iaEuJE6hSge15_CbeDkRt-qHgospNLcjh6GjynbLyFCQH_IkKY4Mc0yIlKxilQSCf2V6ah2w7S1CyC5zwZroBYavu5w0ZL02jRKMTNVzB03DnGhQGJ7gJbtKJ9AbjVcFwFTpT0Z0Yo-sLpwoVvADWng0JznFSekROEXCF_U3gHMssCctipkbrivaRFNKL3OjHjvuPxD8gsBo2BR_swq3Eyj-68_1B2-zYVD0d811pP8URR-43YYAMXO2Us1Uw6dn-b351XnW8JECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTLk-Eh1Xfk5Jotz1gl5hr4G-tKhTAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAG22HO9nSE7AYf9OZGmPXw_SpE0CIxcQiahWc3LG3zRYLxmiKsYYlN9_r_6fPeEmIs7P7xm7g_xAAHLymI5BQDzGsW5GzAzYVOwolJBj3EcX1bxxIqeEgLvHNmYOr4D5MZFv14TGMHziu0TzPAbbVe9-DmMbrqs1mszrnuUiHTsmKE2oNmv4gjZMYSJAdsUzkjxQEa8t1t7FUEvbDkWkYSdqK0-OoTDVLsRVwRNk9XJ04coDgWql1-iv6bYNXyhC0L_-bdTOs_Gnzu-tFEA2we7Zkew_fhDuJwGTDnhaqvhush0SPJuFmoYBvmEzEJsc_Bjay2DrOHiLTopNoBJVrt8&s=YDdIxd3la1k3nQwNBVOmr_IymCsJaELGi5AlJUI8foM8RK7jRRpCa4Zq1Hr0im0ym-1YqZv5X8fRd-TbAil502_klkJ9VGB1bVKz2VfltooosObuEuH48yEM8u2bCj5c3VlLYBOY2mACIuSETJ0Ca-yxTjNK8ojYUp0EKvq80iiVpdzGnEZBD9wj0srF0Hb-o9L6PmPfnr8POcGRUFZYwrzG4JIkmYbYlB6PvaZ4SF5Y4v0Qt1AR0xiaSSq0ng7UDv0KMIn4uIH03In87KdyfV4B6q6uuL9AH0T1XjBGHhAr9ql-dVOLKAbBS8sbb3kh3OH-a3qQzmL0rRY-FxcDEA&h=44dtE6f_GfFo9fXXw8_JMeBkYC03CxAD4D2qoqeXkbc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1469 + uncompressed: false + body: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-wfxoql/providers/Microsoft.Storage/storageAccounts/asoteststorbdrjgj","name":"asoteststorbdrjgj","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"keyCreationTime":{"key1":"2001-02-03T04:05:06Z","key2":"2001-02-03T04:05:06Z"},"allowCrossTenantReplication":false,"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2001-02-03T04:05:06Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2001-02-03T04:05:06Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2001-02-03T04:05:06Z","primaryEndpoints":{"dfs":"https://asoteststorbdrjgj.dfs.core.windows.net/","web":"https://asoteststorbdrjgj.z5.web.core.windows.net/","blob":"https://asoteststorbdrjgj.blob.core.windows.net/","queue":"https://asoteststorbdrjgj.queue.core.windows.net/","table":"https://asoteststorbdrjgj.table.core.windows.net/","file":"https://asoteststorbdrjgj.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "1469" + Content-Type: + - application/json + 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: 16BBE47CF3F04521A2EB0CFE6B9DDEE6 Ref B: MAA201060513029 Ref C: 2024-10-23T09:43:24Z' + status: 200 OK + code: 200 + duration: 970.764625ms + - id: 12 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-wfxoql/providers/Microsoft.Storage/storageAccounts/asoteststorbdrjgj?api-version=2021-04-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1469 + uncompressed: false + body: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-wfxoql/providers/Microsoft.Storage/storageAccounts/asoteststorbdrjgj","name":"asoteststorbdrjgj","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"keyCreationTime":{"key1":"2001-02-03T04:05:06Z","key2":"2001-02-03T04:05:06Z"},"allowCrossTenantReplication":false,"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2001-02-03T04:05:06Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2001-02-03T04:05:06Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2001-02-03T04:05:06Z","primaryEndpoints":{"dfs":"https://asoteststorbdrjgj.dfs.core.windows.net/","web":"https://asoteststorbdrjgj.z5.web.core.windows.net/","blob":"https://asoteststorbdrjgj.blob.core.windows.net/","queue":"https://asoteststorbdrjgj.queue.core.windows.net/","table":"https://asoteststorbdrjgj.table.core.windows.net/","file":"https://asoteststorbdrjgj.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "1469" + Content-Type: + - application/json + 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: B7A181AF974F458099B8FC2F8B236B2E Ref B: MAA201060513029 Ref C: 2024-10-23T09:43:26Z' + status: 200 OK + code: 200 + duration: 592.701625ms + - id: 13 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-wfxoql/providers/Microsoft.Network/virtualNetworks/asotest-vn-ldemal/providers/Microsoft.Insights/diagnosticSettings/asotest-diagnosticsetting-fyawge?api-version=2021-05-01-preview + 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" + 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-Deletes: + - "2999" + X-Msedge-Ref: + - 'Ref A: D3DC01CE1AD545158E1E27E6BB4DF1F1 Ref B: MAA201060513029 Ref C: 2024-10-23T09:43:32Z' + status: 200 OK + code: 200 + duration: 2.846588543s + - id: 14 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-wfxoql/providers/microsoft.network/virtualnetworks/asotest-vn-ldemal/providers/microsoft.insights/diagnosticSettings/asotest-diagnosticsetting-fyawge?api-version=2021-05-01-preview + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 112 + uncompressed: false + body: '{"code":"ResourceNotFound","message":"The diagnostic setting ''asotest-diagnosticsetting-fyawge'' doesn''t exist."}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "112" + 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: 2EA2840F58714E97ACE1E980984B2C92 Ref B: MAA201060513029 Ref C: 2024-10-23T09:43:42Z' + status: 404 Not Found + code: 404 + duration: 623.907334ms + - 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-wfxoql?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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRXRlhPUUwtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638652734291791563&c=MIIHhzCCBm-gAwIBAgITHgVsohlR2527oAb3YwAABWyiGTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTIyMTIzNzU1WhcNMjUwMzIxMTIzNzU1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMhrLEJmsmtpzYzyjkwosX72drFxelF_0kAmuW7jzqQUwb3Vbkmt3AMdawBA7iPG-j-_iaEVRdn5iaEuJE6hSge15_CbeDkRt-qHgospNLcjh6GjynbLyFCQH_IkKY4Mc0yIlKxilQSCf2V6ah2w7S1CyC5zwZroBYavu5w0ZL02jRKMTNVzB03DnGhQGJ7gJbtKJ9AbjVcFwFTpT0Z0Yo-sLpwoVvADWng0JznFSekROEXCF_U3gHMssCctipkbrivaRFNKL3OjHjvuPxD8gsBo2BR_swq3Eyj-68_1B2-zYVD0d811pP8URR-43YYAMXO2Us1Uw6dn-b351XnW8JECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTLk-Eh1Xfk5Jotz1gl5hr4G-tKhTAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAG22HO9nSE7AYf9OZGmPXw_SpE0CIxcQiahWc3LG3zRYLxmiKsYYlN9_r_6fPeEmIs7P7xm7g_xAAHLymI5BQDzGsW5GzAzYVOwolJBj3EcX1bxxIqeEgLvHNmYOr4D5MZFv14TGMHziu0TzPAbbVe9-DmMbrqs1mszrnuUiHTsmKE2oNmv4gjZMYSJAdsUzkjxQEa8t1t7FUEvbDkWkYSdqK0-OoTDVLsRVwRNk9XJ04coDgWql1-iv6bYNXyhC0L_-bdTOs_Gnzu-tFEA2we7Zkew_fhDuJwGTDnhaqvhush0SPJuFmoYBvmEzEJsc_Bjay2DrOHiLTopNoBJVrt8&s=WS5OAtbrxZAB1a-B4ax2f4N9nKHkUFzHjQKg8X-VZfbHtDA946D2RsmM5f4NKVt7yK4IhLqlJWCRtjkGfYhMqemaorGCs155vnuoQCxgISoCVPQbzy_VgAllinAMoLqExHTs7A9aWQ7iuG-2956_MSdpYgw2bOi-2nRtHmCUOxORpZgIDTumEb9KP7-R6Qpa79rB3RKyYnEQE8rGHpcefJUewchofUqAHH42tGK9J4M0hONNoCTU0tQjLfnUEZVBPaWg6hRN-dBoziTbvbLoyzRVAGRApxhRiCrh_y5vpiNarw6woTPztSassC6ci1uYPDtIlsziFpWeONfueBt1Lg&h=14IMqhjR3_pYf63HQL5T5yrbYI_PrWUIX_5VxeZWhEA + Pragma: + - no-cache + Retry-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: 9B876DFF634D4FEC82DB18D4B8AD9759 Ref B: MAA201060513029 Ref C: 2024-10-23T09:43:43Z' + status: 202 Accepted + code: 202 + duration: 5.488750086s + - id: 16 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRXRlhPUUwtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638652734291791563&c=MIIHhzCCBm-gAwIBAgITHgVsohlR2527oAb3YwAABWyiGTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTIyMTIzNzU1WhcNMjUwMzIxMTIzNzU1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMhrLEJmsmtpzYzyjkwosX72drFxelF_0kAmuW7jzqQUwb3Vbkmt3AMdawBA7iPG-j-_iaEVRdn5iaEuJE6hSge15_CbeDkRt-qHgospNLcjh6GjynbLyFCQH_IkKY4Mc0yIlKxilQSCf2V6ah2w7S1CyC5zwZroBYavu5w0ZL02jRKMTNVzB03DnGhQGJ7gJbtKJ9AbjVcFwFTpT0Z0Yo-sLpwoVvADWng0JznFSekROEXCF_U3gHMssCctipkbrivaRFNKL3OjHjvuPxD8gsBo2BR_swq3Eyj-68_1B2-zYVD0d811pP8URR-43YYAMXO2Us1Uw6dn-b351XnW8JECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTLk-Eh1Xfk5Jotz1gl5hr4G-tKhTAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAG22HO9nSE7AYf9OZGmPXw_SpE0CIxcQiahWc3LG3zRYLxmiKsYYlN9_r_6fPeEmIs7P7xm7g_xAAHLymI5BQDzGsW5GzAzYVOwolJBj3EcX1bxxIqeEgLvHNmYOr4D5MZFv14TGMHziu0TzPAbbVe9-DmMbrqs1mszrnuUiHTsmKE2oNmv4gjZMYSJAdsUzkjxQEa8t1t7FUEvbDkWkYSdqK0-OoTDVLsRVwRNk9XJ04coDgWql1-iv6bYNXyhC0L_-bdTOs_Gnzu-tFEA2we7Zkew_fhDuJwGTDnhaqvhush0SPJuFmoYBvmEzEJsc_Bjay2DrOHiLTopNoBJVrt8&s=WS5OAtbrxZAB1a-B4ax2f4N9nKHkUFzHjQKg8X-VZfbHtDA946D2RsmM5f4NKVt7yK4IhLqlJWCRtjkGfYhMqemaorGCs155vnuoQCxgISoCVPQbzy_VgAllinAMoLqExHTs7A9aWQ7iuG-2956_MSdpYgw2bOi-2nRtHmCUOxORpZgIDTumEb9KP7-R6Qpa79rB3RKyYnEQE8rGHpcefJUewchofUqAHH42tGK9J4M0hONNoCTU0tQjLfnUEZVBPaWg6hRN-dBoziTbvbLoyzRVAGRApxhRiCrh_y5vpiNarw6woTPztSassC6ci1uYPDtIlsziFpWeONfueBt1Lg&h=14IMqhjR3_pYf63HQL5T5yrbYI_PrWUIX_5VxeZWhEA + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRXRlhPUUwtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638652734508202803&c=MIIHhzCCBm-gAwIBAgITfAWKSDa5exA4mgXQ1AAABYpINjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE1ODQ4WhcNMjUwMzIzMDE1ODQ4WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ4JVoRAfL0BbRxuhbOLqpKBb-91ikhj5uXwN0YFSGOv3Jm6P9C6Nj3qwvAjAZRCvEuD0PJeSbjHWw_LsN2uaXvVUwsZIl3Ji5dmBWvgG7sfDQyhzv8D1JJmJNeeAKRceKVx2_8sFLC0AS0G1rr1ceCV_0ZrZPLTqjfEGuA--EEmKOs70KQ47Kb9FC4W_Vg8f638H6v60zb5leDeQMjLZboLvkluERujKMWJSmTZizMWKD4CCJRF_rE1wjDqoGqpOza-3FZlTeVOpTEzHKRQ3OGdCVJVviigk-s9FQbRjeVnV8QVZkHGCtWAp4WMR8GP55vhHHVDEpin3mMw7p-cSMUCAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBRvOtcAMcPH33Bgz2VmyYdogz4j2DAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBABmO88-7XRCIXOiojIRFVE6cNJ-T71-dYJW-Ued6MhWFUF1zSFvymU_uRv1_bEg_TyrZ750tgpd1H9PhKFlhiHwwz-j83cJmyKo0hYqzk6i5Zx_p5TXpgHTb7OpBsJ7P48Y4Ppsvzxd3QVtUd9ilvCEV-XQJ7fhkKZ13600A6um1pMWXYAAUwkzdm3un8uHXua6Nq-l2vM3z1ZTyjAgj7nvYa7o5ZNs_OcOy2wJMMdqFC889ZaT5MnwhxvMuCwk4oC2qeCYPhlozGGTQ2A2_2d9abDdl6nUk7gqcnJBKzXGM2vpZdzRFR2oN6Kpu1p_5pUtwpvTrpTef5ByUqFnYAY8&s=f52p_g0HAaNdo10p5sIKvzWWmr59XCutPwU_PTHUeJ1aPdIMZ_YX_a6gDBcwBiVlJpHdc_c34TmGhUDpdcW79I1-D5GpzPN2vF6u02wnGyVnhRL9zI2XdMMX_JIsmVV9VEyl723E-dDhP7Ku3kXd-ELgz9x7ctYxf2oGIdHlQkHqsX95PgLDxRWSKRYnjmoA37dXQVhbzcuh6IEEtfNDsfdipYuaCx2V6sL4Um__-CNHfMZPAuFRvtuzmzrlbdv5_XTzrZ23q3mQGV4BeU1-PR03PzQ6HfTKL829ZQEraW-pcApHhZgxtQ_4b3drDe-GTFY6owMkWYKJrM0I5ouCWg&h=FvINWLhjqGvcmXBFV00THYGxi7p4N9jSkuHEmm_DSqU + Pragma: + - no-cache + Retry-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: 78102CF56B7C487196360552B4B83C33 Ref B: MAA201060513029 Ref C: 2024-10-23T09:44:09Z' + status: 202 Accepted + code: 202 + duration: 1.162035959s + - id: 17 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRXRlhPUUwtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638652734291791563&c=MIIHhzCCBm-gAwIBAgITHgVsohlR2527oAb3YwAABWyiGTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTIyMTIzNzU1WhcNMjUwMzIxMTIzNzU1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMhrLEJmsmtpzYzyjkwosX72drFxelF_0kAmuW7jzqQUwb3Vbkmt3AMdawBA7iPG-j-_iaEVRdn5iaEuJE6hSge15_CbeDkRt-qHgospNLcjh6GjynbLyFCQH_IkKY4Mc0yIlKxilQSCf2V6ah2w7S1CyC5zwZroBYavu5w0ZL02jRKMTNVzB03DnGhQGJ7gJbtKJ9AbjVcFwFTpT0Z0Yo-sLpwoVvADWng0JznFSekROEXCF_U3gHMssCctipkbrivaRFNKL3OjHjvuPxD8gsBo2BR_swq3Eyj-68_1B2-zYVD0d811pP8URR-43YYAMXO2Us1Uw6dn-b351XnW8JECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTLk-Eh1Xfk5Jotz1gl5hr4G-tKhTAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAG22HO9nSE7AYf9OZGmPXw_SpE0CIxcQiahWc3LG3zRYLxmiKsYYlN9_r_6fPeEmIs7P7xm7g_xAAHLymI5BQDzGsW5GzAzYVOwolJBj3EcX1bxxIqeEgLvHNmYOr4D5MZFv14TGMHziu0TzPAbbVe9-DmMbrqs1mszrnuUiHTsmKE2oNmv4gjZMYSJAdsUzkjxQEa8t1t7FUEvbDkWkYSdqK0-OoTDVLsRVwRNk9XJ04coDgWql1-iv6bYNXyhC0L_-bdTOs_Gnzu-tFEA2we7Zkew_fhDuJwGTDnhaqvhush0SPJuFmoYBvmEzEJsc_Bjay2DrOHiLTopNoBJVrt8&s=WS5OAtbrxZAB1a-B4ax2f4N9nKHkUFzHjQKg8X-VZfbHtDA946D2RsmM5f4NKVt7yK4IhLqlJWCRtjkGfYhMqemaorGCs155vnuoQCxgISoCVPQbzy_VgAllinAMoLqExHTs7A9aWQ7iuG-2956_MSdpYgw2bOi-2nRtHmCUOxORpZgIDTumEb9KP7-R6Qpa79rB3RKyYnEQE8rGHpcefJUewchofUqAHH42tGK9J4M0hONNoCTU0tQjLfnUEZVBPaWg6hRN-dBoziTbvbLoyzRVAGRApxhRiCrh_y5vpiNarw6woTPztSassC6ci1uYPDtIlsziFpWeONfueBt1Lg&h=14IMqhjR3_pYf63HQL5T5yrbYI_PrWUIX_5VxeZWhEA + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRXRlhPUUwtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638652734680550472&c=MIIHhzCCBm-gAwIBAgITHgVsohlR2527oAb3YwAABWyiGTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTIyMTIzNzU1WhcNMjUwMzIxMTIzNzU1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMhrLEJmsmtpzYzyjkwosX72drFxelF_0kAmuW7jzqQUwb3Vbkmt3AMdawBA7iPG-j-_iaEVRdn5iaEuJE6hSge15_CbeDkRt-qHgospNLcjh6GjynbLyFCQH_IkKY4Mc0yIlKxilQSCf2V6ah2w7S1CyC5zwZroBYavu5w0ZL02jRKMTNVzB03DnGhQGJ7gJbtKJ9AbjVcFwFTpT0Z0Yo-sLpwoVvADWng0JznFSekROEXCF_U3gHMssCctipkbrivaRFNKL3OjHjvuPxD8gsBo2BR_swq3Eyj-68_1B2-zYVD0d811pP8URR-43YYAMXO2Us1Uw6dn-b351XnW8JECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTLk-Eh1Xfk5Jotz1gl5hr4G-tKhTAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAG22HO9nSE7AYf9OZGmPXw_SpE0CIxcQiahWc3LG3zRYLxmiKsYYlN9_r_6fPeEmIs7P7xm7g_xAAHLymI5BQDzGsW5GzAzYVOwolJBj3EcX1bxxIqeEgLvHNmYOr4D5MZFv14TGMHziu0TzPAbbVe9-DmMbrqs1mszrnuUiHTsmKE2oNmv4gjZMYSJAdsUzkjxQEa8t1t7FUEvbDkWkYSdqK0-OoTDVLsRVwRNk9XJ04coDgWql1-iv6bYNXyhC0L_-bdTOs_Gnzu-tFEA2we7Zkew_fhDuJwGTDnhaqvhush0SPJuFmoYBvmEzEJsc_Bjay2DrOHiLTopNoBJVrt8&s=G4dEC4jmnAHyj9qcs7GvTp9y2aXfDK3YCi_DRSB_-KScP92zfM1u8oT92kgDeM-DAMM_oEJQSgzvM6c91AWejgZ4qLYkDAPtI6bYOYYhr2La1OyBqdm1cs-qfhpIP4cT2au9JnXsjrC8f_rZSmG2aMWM6yjSJWrMESFCvBAtOCpI7eZ3FZO0uUSCPcHx79JOKAmS9-MBysUiavfqW5M23hUhGeJdJTjmJC8aUvlNZFh1MCXkURheCl1Vl_fZvsHpNNpKCAfrJn5jRLJRFN8MkhXgxQJs6YeL5GYARSh9CdskV-DmjQCd1l6LhKNZLg3DLWs5CLtwCPu0cPlZkrd1vg&h=kraQrJ0P3eaHXjHomZF0tNPf1CKizQUpvGBfty05S5A + Pragma: + - no-cache + Retry-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: DDF8B5486B5E4712B5E297993D3381DB Ref B: MAA201060513029 Ref C: 2024-10-23T09:44:27Z' + status: 202 Accepted + code: 202 + duration: 976.718125ms + - id: 18 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRXRlhPUUwtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638652734291791563&c=MIIHhzCCBm-gAwIBAgITHgVsohlR2527oAb3YwAABWyiGTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTIyMTIzNzU1WhcNMjUwMzIxMTIzNzU1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMhrLEJmsmtpzYzyjkwosX72drFxelF_0kAmuW7jzqQUwb3Vbkmt3AMdawBA7iPG-j-_iaEVRdn5iaEuJE6hSge15_CbeDkRt-qHgospNLcjh6GjynbLyFCQH_IkKY4Mc0yIlKxilQSCf2V6ah2w7S1CyC5zwZroBYavu5w0ZL02jRKMTNVzB03DnGhQGJ7gJbtKJ9AbjVcFwFTpT0Z0Yo-sLpwoVvADWng0JznFSekROEXCF_U3gHMssCctipkbrivaRFNKL3OjHjvuPxD8gsBo2BR_swq3Eyj-68_1B2-zYVD0d811pP8URR-43YYAMXO2Us1Uw6dn-b351XnW8JECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTLk-Eh1Xfk5Jotz1gl5hr4G-tKhTAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAG22HO9nSE7AYf9OZGmPXw_SpE0CIxcQiahWc3LG3zRYLxmiKsYYlN9_r_6fPeEmIs7P7xm7g_xAAHLymI5BQDzGsW5GzAzYVOwolJBj3EcX1bxxIqeEgLvHNmYOr4D5MZFv14TGMHziu0TzPAbbVe9-DmMbrqs1mszrnuUiHTsmKE2oNmv4gjZMYSJAdsUzkjxQEa8t1t7FUEvbDkWkYSdqK0-OoTDVLsRVwRNk9XJ04coDgWql1-iv6bYNXyhC0L_-bdTOs_Gnzu-tFEA2we7Zkew_fhDuJwGTDnhaqvhush0SPJuFmoYBvmEzEJsc_Bjay2DrOHiLTopNoBJVrt8&s=WS5OAtbrxZAB1a-B4ax2f4N9nKHkUFzHjQKg8X-VZfbHtDA946D2RsmM5f4NKVt7yK4IhLqlJWCRtjkGfYhMqemaorGCs155vnuoQCxgISoCVPQbzy_VgAllinAMoLqExHTs7A9aWQ7iuG-2956_MSdpYgw2bOi-2nRtHmCUOxORpZgIDTumEb9KP7-R6Qpa79rB3RKyYnEQE8rGHpcefJUewchofUqAHH42tGK9J4M0hONNoCTU0tQjLfnUEZVBPaWg6hRN-dBoziTbvbLoyzRVAGRApxhRiCrh_y5vpiNarw6woTPztSassC6ci1uYPDtIlsziFpWeONfueBt1Lg&h=14IMqhjR3_pYf63HQL5T5yrbYI_PrWUIX_5VxeZWhEA + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRXRlhPUUwtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638652734850792358&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=ltE5q6KW_F_SmesxwoCKSGygV2g2vXBcU5pUeV3C5Yc0KsroB-zGvzD0bThhVCWpatAqprGULXcSKwkczdYf5Hf3q3hkVxK5v5T5qQD951lM5HoASu21UR4k47bAlHUg8eFxxbDTBUUN_zh1TMZGk9q0HY1Fy6gIGud1ZTXqwA4COVEOqAOoVti8P98_uUJUO8N9sFNQN0FCmAzjgeeRgl6O7hYBv7AVNo91uL0YadmDINfzI07YL9oP2XQ5Cw3yfY1RQV7W7OrgThEzveJW20P8a79GJ_C9GfoW6ocH5dS6N2wtWEa7hAJyycD0s1vf7wMmk35zysiEqD34RyyP6g&h=4vxyQLmhDMvxwyoXiHklrbf7qY7K2TSyHwjsQjeQB8g + Pragma: + - no-cache + Retry-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: 3A554B4359BC4BF8B7DC7103382F1B3C Ref B: MAA201060513029 Ref C: 2024-10-23T09:44:44Z' + status: 202 Accepted + code: 202 + duration: 1.037940251s + - id: 19 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRXRlhPUUwtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638652734291791563&c=MIIHhzCCBm-gAwIBAgITHgVsohlR2527oAb3YwAABWyiGTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTIyMTIzNzU1WhcNMjUwMzIxMTIzNzU1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMhrLEJmsmtpzYzyjkwosX72drFxelF_0kAmuW7jzqQUwb3Vbkmt3AMdawBA7iPG-j-_iaEVRdn5iaEuJE6hSge15_CbeDkRt-qHgospNLcjh6GjynbLyFCQH_IkKY4Mc0yIlKxilQSCf2V6ah2w7S1CyC5zwZroBYavu5w0ZL02jRKMTNVzB03DnGhQGJ7gJbtKJ9AbjVcFwFTpT0Z0Yo-sLpwoVvADWng0JznFSekROEXCF_U3gHMssCctipkbrivaRFNKL3OjHjvuPxD8gsBo2BR_swq3Eyj-68_1B2-zYVD0d811pP8URR-43YYAMXO2Us1Uw6dn-b351XnW8JECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTLk-Eh1Xfk5Jotz1gl5hr4G-tKhTAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAG22HO9nSE7AYf9OZGmPXw_SpE0CIxcQiahWc3LG3zRYLxmiKsYYlN9_r_6fPeEmIs7P7xm7g_xAAHLymI5BQDzGsW5GzAzYVOwolJBj3EcX1bxxIqeEgLvHNmYOr4D5MZFv14TGMHziu0TzPAbbVe9-DmMbrqs1mszrnuUiHTsmKE2oNmv4gjZMYSJAdsUzkjxQEa8t1t7FUEvbDkWkYSdqK0-OoTDVLsRVwRNk9XJ04coDgWql1-iv6bYNXyhC0L_-bdTOs_Gnzu-tFEA2we7Zkew_fhDuJwGTDnhaqvhush0SPJuFmoYBvmEzEJsc_Bjay2DrOHiLTopNoBJVrt8&s=WS5OAtbrxZAB1a-B4ax2f4N9nKHkUFzHjQKg8X-VZfbHtDA946D2RsmM5f4NKVt7yK4IhLqlJWCRtjkGfYhMqemaorGCs155vnuoQCxgISoCVPQbzy_VgAllinAMoLqExHTs7A9aWQ7iuG-2956_MSdpYgw2bOi-2nRtHmCUOxORpZgIDTumEb9KP7-R6Qpa79rB3RKyYnEQE8rGHpcefJUewchofUqAHH42tGK9J4M0hONNoCTU0tQjLfnUEZVBPaWg6hRN-dBoziTbvbLoyzRVAGRApxhRiCrh_y5vpiNarw6woTPztSassC6ci1uYPDtIlsziFpWeONfueBt1Lg&h=14IMqhjR3_pYf63HQL5T5yrbYI_PrWUIX_5VxeZWhEA + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRXRlhPUUwtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638652735021932033&c=MIIHhzCCBm-gAwIBAgITHgVsohlR2527oAb3YwAABWyiGTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTIyMTIzNzU1WhcNMjUwMzIxMTIzNzU1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMhrLEJmsmtpzYzyjkwosX72drFxelF_0kAmuW7jzqQUwb3Vbkmt3AMdawBA7iPG-j-_iaEVRdn5iaEuJE6hSge15_CbeDkRt-qHgospNLcjh6GjynbLyFCQH_IkKY4Mc0yIlKxilQSCf2V6ah2w7S1CyC5zwZroBYavu5w0ZL02jRKMTNVzB03DnGhQGJ7gJbtKJ9AbjVcFwFTpT0Z0Yo-sLpwoVvADWng0JznFSekROEXCF_U3gHMssCctipkbrivaRFNKL3OjHjvuPxD8gsBo2BR_swq3Eyj-68_1B2-zYVD0d811pP8URR-43YYAMXO2Us1Uw6dn-b351XnW8JECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTLk-Eh1Xfk5Jotz1gl5hr4G-tKhTAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAG22HO9nSE7AYf9OZGmPXw_SpE0CIxcQiahWc3LG3zRYLxmiKsYYlN9_r_6fPeEmIs7P7xm7g_xAAHLymI5BQDzGsW5GzAzYVOwolJBj3EcX1bxxIqeEgLvHNmYOr4D5MZFv14TGMHziu0TzPAbbVe9-DmMbrqs1mszrnuUiHTsmKE2oNmv4gjZMYSJAdsUzkjxQEa8t1t7FUEvbDkWkYSdqK0-OoTDVLsRVwRNk9XJ04coDgWql1-iv6bYNXyhC0L_-bdTOs_Gnzu-tFEA2we7Zkew_fhDuJwGTDnhaqvhush0SPJuFmoYBvmEzEJsc_Bjay2DrOHiLTopNoBJVrt8&s=KpYMnpMihFLCXEfAPtQR_z1MaAQJHPT7ln4of4jqvrlUJ9rywPZ9ohxlTCU5Njy1UucPz5C8Mi3dLVagL_KHHveqvcHXufoW67hm5bjkXmsB-77RN7TJ2f89hDfrUTuk50V_ZUrLIPQyZvs8IdvTWW09-9f7CTH82wg51mJCFfan7DVNHjXrR6l4U2ZQMn-EdpQLFxTIIphcVIhm5CzTFBPEzW22i7bbQrOF3B_EG7IGX82BzKU4lqiMYY4hYz29cFULqydwSO-qvZPSGxWm-p-Yk1y3i1F_v_oDST1ixBImX0iTOVfXN7GJzqsclIUxXo3ZVyh5uSNAIRs0ECD3sA&h=gzFRjQq8KwxP9Hw_Cm3XfXu7kocAmwB7x2v6gUKlUh8 + Pragma: + - no-cache + Retry-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: 46DD346FB8C54601BA1468BEF31363F4 Ref B: MAA201060513029 Ref C: 2024-10-23T09:45:01Z' + status: 202 Accepted + code: 202 + duration: 1.025169167s + - id: 20 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRXRlhPUUwtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638652734291791563&c=MIIHhzCCBm-gAwIBAgITHgVsohlR2527oAb3YwAABWyiGTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTIyMTIzNzU1WhcNMjUwMzIxMTIzNzU1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMhrLEJmsmtpzYzyjkwosX72drFxelF_0kAmuW7jzqQUwb3Vbkmt3AMdawBA7iPG-j-_iaEVRdn5iaEuJE6hSge15_CbeDkRt-qHgospNLcjh6GjynbLyFCQH_IkKY4Mc0yIlKxilQSCf2V6ah2w7S1CyC5zwZroBYavu5w0ZL02jRKMTNVzB03DnGhQGJ7gJbtKJ9AbjVcFwFTpT0Z0Yo-sLpwoVvADWng0JznFSekROEXCF_U3gHMssCctipkbrivaRFNKL3OjHjvuPxD8gsBo2BR_swq3Eyj-68_1B2-zYVD0d811pP8URR-43YYAMXO2Us1Uw6dn-b351XnW8JECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTLk-Eh1Xfk5Jotz1gl5hr4G-tKhTAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAG22HO9nSE7AYf9OZGmPXw_SpE0CIxcQiahWc3LG3zRYLxmiKsYYlN9_r_6fPeEmIs7P7xm7g_xAAHLymI5BQDzGsW5GzAzYVOwolJBj3EcX1bxxIqeEgLvHNmYOr4D5MZFv14TGMHziu0TzPAbbVe9-DmMbrqs1mszrnuUiHTsmKE2oNmv4gjZMYSJAdsUzkjxQEa8t1t7FUEvbDkWkYSdqK0-OoTDVLsRVwRNk9XJ04coDgWql1-iv6bYNXyhC0L_-bdTOs_Gnzu-tFEA2we7Zkew_fhDuJwGTDnhaqvhush0SPJuFmoYBvmEzEJsc_Bjay2DrOHiLTopNoBJVrt8&s=WS5OAtbrxZAB1a-B4ax2f4N9nKHkUFzHjQKg8X-VZfbHtDA946D2RsmM5f4NKVt7yK4IhLqlJWCRtjkGfYhMqemaorGCs155vnuoQCxgISoCVPQbzy_VgAllinAMoLqExHTs7A9aWQ7iuG-2956_MSdpYgw2bOi-2nRtHmCUOxORpZgIDTumEb9KP7-R6Qpa79rB3RKyYnEQE8rGHpcefJUewchofUqAHH42tGK9J4M0hONNoCTU0tQjLfnUEZVBPaWg6hRN-dBoziTbvbLoyzRVAGRApxhRiCrh_y5vpiNarw6woTPztSassC6ci1uYPDtIlsziFpWeONfueBt1Lg&h=14IMqhjR3_pYf63HQL5T5yrbYI_PrWUIX_5VxeZWhEA + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRXRlhPUUwtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638652735193192898&c=MIIHhzCCBm-gAwIBAgITHgVsohlR2527oAb3YwAABWyiGTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTIyMTIzNzU1WhcNMjUwMzIxMTIzNzU1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMhrLEJmsmtpzYzyjkwosX72drFxelF_0kAmuW7jzqQUwb3Vbkmt3AMdawBA7iPG-j-_iaEVRdn5iaEuJE6hSge15_CbeDkRt-qHgospNLcjh6GjynbLyFCQH_IkKY4Mc0yIlKxilQSCf2V6ah2w7S1CyC5zwZroBYavu5w0ZL02jRKMTNVzB03DnGhQGJ7gJbtKJ9AbjVcFwFTpT0Z0Yo-sLpwoVvADWng0JznFSekROEXCF_U3gHMssCctipkbrivaRFNKL3OjHjvuPxD8gsBo2BR_swq3Eyj-68_1B2-zYVD0d811pP8URR-43YYAMXO2Us1Uw6dn-b351XnW8JECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTLk-Eh1Xfk5Jotz1gl5hr4G-tKhTAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAG22HO9nSE7AYf9OZGmPXw_SpE0CIxcQiahWc3LG3zRYLxmiKsYYlN9_r_6fPeEmIs7P7xm7g_xAAHLymI5BQDzGsW5GzAzYVOwolJBj3EcX1bxxIqeEgLvHNmYOr4D5MZFv14TGMHziu0TzPAbbVe9-DmMbrqs1mszrnuUiHTsmKE2oNmv4gjZMYSJAdsUzkjxQEa8t1t7FUEvbDkWkYSdqK0-OoTDVLsRVwRNk9XJ04coDgWql1-iv6bYNXyhC0L_-bdTOs_Gnzu-tFEA2we7Zkew_fhDuJwGTDnhaqvhush0SPJuFmoYBvmEzEJsc_Bjay2DrOHiLTopNoBJVrt8&s=YDvtohTKINMwl3OajOgJWXeOXWAuc2qq-ck3Mf0J9AmUkIrNVjXUTHF8E5QCj3ZoDNbp0TG52YNof-3m7-EIpz6Pcug_TAq1IWLkJ5w1yuiE6-epnWW2Mq9IzywY7gKkvW2HXbGetf4NilBOR_f3wGAQeHK7zngSz_Q1Pil0pTWOTPwVPFjJpBa7jAHMiFfkBP0ti8ow11J5mpTQzjqV5TR1busE_Pz0f8dlqyU7Aa9FWq1atnxaTxd089cphPNqOZha8I_CUyhJMoT6o6J09_JTwCW0UncaVazlutvedwRwRxTpjQvH87Pm2fug6FsHpG3gY7J45D12uOMEoJlWVg&h=6tn6zmL5rDFv1pJWdUbOthsJjIsyq1icbn8-wmThpKQ + Pragma: + - no-cache + Retry-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: 3DE6BA686DE742848CF5BEB0626F0B76 Ref B: MAA201060513029 Ref C: 2024-10-23T09:45:18Z' + status: 202 Accepted + code: 202 + duration: 1.081527376s + - id: 21 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRXRlhPUUwtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638652734291791563&c=MIIHhzCCBm-gAwIBAgITHgVsohlR2527oAb3YwAABWyiGTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTIyMTIzNzU1WhcNMjUwMzIxMTIzNzU1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMhrLEJmsmtpzYzyjkwosX72drFxelF_0kAmuW7jzqQUwb3Vbkmt3AMdawBA7iPG-j-_iaEVRdn5iaEuJE6hSge15_CbeDkRt-qHgospNLcjh6GjynbLyFCQH_IkKY4Mc0yIlKxilQSCf2V6ah2w7S1CyC5zwZroBYavu5w0ZL02jRKMTNVzB03DnGhQGJ7gJbtKJ9AbjVcFwFTpT0Z0Yo-sLpwoVvADWng0JznFSekROEXCF_U3gHMssCctipkbrivaRFNKL3OjHjvuPxD8gsBo2BR_swq3Eyj-68_1B2-zYVD0d811pP8URR-43YYAMXO2Us1Uw6dn-b351XnW8JECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTLk-Eh1Xfk5Jotz1gl5hr4G-tKhTAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAG22HO9nSE7AYf9OZGmPXw_SpE0CIxcQiahWc3LG3zRYLxmiKsYYlN9_r_6fPeEmIs7P7xm7g_xAAHLymI5BQDzGsW5GzAzYVOwolJBj3EcX1bxxIqeEgLvHNmYOr4D5MZFv14TGMHziu0TzPAbbVe9-DmMbrqs1mszrnuUiHTsmKE2oNmv4gjZMYSJAdsUzkjxQEa8t1t7FUEvbDkWkYSdqK0-OoTDVLsRVwRNk9XJ04coDgWql1-iv6bYNXyhC0L_-bdTOs_Gnzu-tFEA2we7Zkew_fhDuJwGTDnhaqvhush0SPJuFmoYBvmEzEJsc_Bjay2DrOHiLTopNoBJVrt8&s=WS5OAtbrxZAB1a-B4ax2f4N9nKHkUFzHjQKg8X-VZfbHtDA946D2RsmM5f4NKVt7yK4IhLqlJWCRtjkGfYhMqemaorGCs155vnuoQCxgISoCVPQbzy_VgAllinAMoLqExHTs7A9aWQ7iuG-2956_MSdpYgw2bOi-2nRtHmCUOxORpZgIDTumEb9KP7-R6Qpa79rB3RKyYnEQE8rGHpcefJUewchofUqAHH42tGK9J4M0hONNoCTU0tQjLfnUEZVBPaWg6hRN-dBoziTbvbLoyzRVAGRApxhRiCrh_y5vpiNarw6woTPztSassC6ci1uYPDtIlsziFpWeONfueBt1Lg&h=14IMqhjR3_pYf63HQL5T5yrbYI_PrWUIX_5VxeZWhEA + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRXRlhPUUwtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638652735364130912&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=Mxyf9wMuCog68NqLwI5N7fcLPJrZcZPVOkMITVi75vkVHWasNIKxs_JQhNt7pEfGOUyA8wVxYiP1qhkAzPXdSU08zXW1k_aAg28V-1T21gfsSjaCBP062Or-TyYFgCDZKjsqhexhnUHgs00qj0lE95yMWySMt705NIrF-f8RJUytO7rkopU_Yxq_v9LoQSQTHDOYno06mqE-NelnF_PoF0WUYG-lTYxzZ1i6B3MHlJliU2IJXfgkgxEmsjnP03V8apWxhl4VnGGCor8BuSdndCLm5i0borE9UJhSnbNzqMmDWIwmAF1mXUGPTz-vqnzdgQ4cvPKMtPvXT7rrOjPomQ&h=tiaJCZHuvzn2g0s5VAmYt6CvztIs0XAJpvw-9WYOE84 + Pragma: + - no-cache + Retry-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: BF04BD820C51482FA0174F553D8B3A90 Ref B: MAA201060513029 Ref C: 2024-10-23T09:45:35Z' + status: 202 Accepted + code: 202 + duration: 1.003572875s + - id: 22 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "6" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRXRlhPUUwtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638652734291791563&c=MIIHhzCCBm-gAwIBAgITHgVsohlR2527oAb3YwAABWyiGTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTIyMTIzNzU1WhcNMjUwMzIxMTIzNzU1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMhrLEJmsmtpzYzyjkwosX72drFxelF_0kAmuW7jzqQUwb3Vbkmt3AMdawBA7iPG-j-_iaEVRdn5iaEuJE6hSge15_CbeDkRt-qHgospNLcjh6GjynbLyFCQH_IkKY4Mc0yIlKxilQSCf2V6ah2w7S1CyC5zwZroBYavu5w0ZL02jRKMTNVzB03DnGhQGJ7gJbtKJ9AbjVcFwFTpT0Z0Yo-sLpwoVvADWng0JznFSekROEXCF_U3gHMssCctipkbrivaRFNKL3OjHjvuPxD8gsBo2BR_swq3Eyj-68_1B2-zYVD0d811pP8URR-43YYAMXO2Us1Uw6dn-b351XnW8JECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTLk-Eh1Xfk5Jotz1gl5hr4G-tKhTAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAG22HO9nSE7AYf9OZGmPXw_SpE0CIxcQiahWc3LG3zRYLxmiKsYYlN9_r_6fPeEmIs7P7xm7g_xAAHLymI5BQDzGsW5GzAzYVOwolJBj3EcX1bxxIqeEgLvHNmYOr4D5MZFv14TGMHziu0TzPAbbVe9-DmMbrqs1mszrnuUiHTsmKE2oNmv4gjZMYSJAdsUzkjxQEa8t1t7FUEvbDkWkYSdqK0-OoTDVLsRVwRNk9XJ04coDgWql1-iv6bYNXyhC0L_-bdTOs_Gnzu-tFEA2we7Zkew_fhDuJwGTDnhaqvhush0SPJuFmoYBvmEzEJsc_Bjay2DrOHiLTopNoBJVrt8&s=WS5OAtbrxZAB1a-B4ax2f4N9nKHkUFzHjQKg8X-VZfbHtDA946D2RsmM5f4NKVt7yK4IhLqlJWCRtjkGfYhMqemaorGCs155vnuoQCxgISoCVPQbzy_VgAllinAMoLqExHTs7A9aWQ7iuG-2956_MSdpYgw2bOi-2nRtHmCUOxORpZgIDTumEb9KP7-R6Qpa79rB3RKyYnEQE8rGHpcefJUewchofUqAHH42tGK9J4M0hONNoCTU0tQjLfnUEZVBPaWg6hRN-dBoziTbvbLoyzRVAGRApxhRiCrh_y5vpiNarw6woTPztSassC6ci1uYPDtIlsziFpWeONfueBt1Lg&h=14IMqhjR3_pYf63HQL5T5yrbYI_PrWUIX_5VxeZWhEA + 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: 2626C4547753455EA221A23D6AEC627B Ref B: MAA201060513029 Ref C: 2024-10-23T09:45:52Z' + status: 200 OK + code: 200 + duration: 990.824292ms + - id: 23 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-wfxoql/providers/Microsoft.Network/virtualNetworks/asotest-vn-ldemal?api-version=2020-11-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-wfxoql'' 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: C278E07427B746BC9D097260524DEAC2 Ref B: MAA201060513029 Ref C: 2024-10-23T09:45:59Z' + status: 404 Not Found + code: 404 + duration: 397.915251ms + - id: 24 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-wfxoql/providers/Microsoft.Storage/storageAccounts/asoteststorbdrjgj?api-version=2021-04-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-wfxoql'' 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: EF9179E556474B59A8E93C12B13A131A Ref B: MAA201060513029 Ref C: 2024-10-23T09:45:59Z' + status: 404 Not Found + code: 404 + duration: 389.575376ms diff --git a/v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_Insights_v1api20210501preview_CreationAndDeletion.yaml b/v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_Insights_v1api20210501preview_CreationAndDeletion.yaml new file mode 100644 index 00000000000..e1b487e2a97 --- /dev/null +++ b/v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_Insights_v1api20210501preview_CreationAndDeletion.yaml @@ -0,0 +1,1299 @@ +--- +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-tnkzyi","tags":{"CreatedAt":"2001-02-03T04:05:06Z"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "93" + Content-Type: + - application/json + Test-Request-Hash: + - a610f3830bd2332dfbcca1b68e6453aec19210899e242eedbc0565887c2a0586 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-tnkzyi?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-tnkzyi","name":"asotest-rg-tnkzyi","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: 64E84506B5734EC9B49A65F8D2F091BF Ref B: MAA201060515027 Ref C: 2024-10-24T08:09:23Z' + status: 201 Created + code: 201 + duration: 5.753711002s + - 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-tnkzyi?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-tnkzyi","name":"asotest-rg-tnkzyi","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: 5BA20F5852DB4E92A51A02E497609F15 Ref B: MAA201060515027 Ref C: 2024-10-24T08:09:34Z' + status: 200 OK + code: 200 + duration: 301.0595ms + - id: 2 + request: + proto: HTTP/1.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-tnkzyi/providers/Microsoft.Network/virtualNetworks/samplevnetvmss1?api-version=2020-11-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 238 + uncompressed: false + body: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.Network/virtualNetworks/samplevnetvmss1'' under resource group ''asotest-rg-tnkzyi'' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "238" + 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: F80E45BCB98C4AE1B230C7AF46284EB0 Ref B: MAA201060515027 Ref C: 2024-10-24T08:09:37Z' + status: 404 Not Found + code: 404 + duration: 350.408667ms + - id: 3 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 113 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"eastus2","name":"samplevnetvmss1","properties":{"addressSpace":{"addressPrefixes":["10.0.0.0/16"]}}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "113" + Content-Type: + - application/json + Test-Request-Hash: + - e158361d27eed2e57daebd285785b21684f519f54f8626b3a86f4544c60c6078 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-tnkzyi/providers/Microsoft.Network/virtualNetworks/samplevnetvmss1?api-version=2020-11-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 515 + uncompressed: false + body: '{"name":"samplevnetvmss1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-tnkzyi/providers/Microsoft.Network/virtualNetworks/samplevnetvmss1","etag":"W/\"e018d56d-4fe2-4c9f-ad43-8a9d5be407c5\"","type":"Microsoft.Network/virtualNetworks","location":"eastus2","properties":{"provisioningState":"Updating","resourceGuid":"d980fbf0-ab32-4a2b-a3de-e1d14d033f3b","addressSpace":{"addressPrefixes":["10.0.0.0/16"]},"subnets":[],"virtualNetworkPeerings":[],"enableDdosProtection":false}}' + headers: + Azure-Asyncnotification: + - Enabled + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2/operations/1c41e0c1-5457-4e35-88ed-5545c6fd0c98?api-version=2020-11-01&t=638653541813346455&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=AG4LWk985eC9ahsGDBagLwuZ6OJs0jLtIRM3j6XGkZs7s6jBVlIIFAP2_e4XvT2PQ3RvIjNegGisR9QcRlmwxQ3nEBmpY7Xg9WHeRp3gGKa_s46og2tD8GGRWupDH41kmJpTcp7NfmLhdCwdSwLB49tUupsPeXxDctUF_dsYMwHz1tTGmVclXYso1hLWG6wuwVzK6HOQcz9C4GXyOOHCvSsrWn-MkVSTNTP6_Gw9elx3qfJgMlEaaotz4Rkeu59wR8trhx1mc_zj2v-fJOwKHT7idmkMY0ohnk2Sgdpg1bX-MxqYAb2zv-dex7jWa8pXsAuUKfXvaGoJdFjwmiGzSw&h=EbQYZGw3CJlMn9T-R60dgBC2WjLwWFkzKJe1fjFl1NU + Cache-Control: + - no-cache + Content-Length: + - "515" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "3" + 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: D2803BB172CB4266AE4F36320DD4ED99 Ref B: MAA201060515027 Ref C: 2024-10-24T08:09:38Z' + status: 201 Created + code: 201 + duration: 3.188557418s + - id: 4 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 205 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"kind":"StorageV2","location":"eastus2","name":"samplestoragedia","properties":{"accessTier":"Hot","allowBlobPublicAccess":false,"supportsHttpsTrafficOnly":true},"sku":{"name":"Standard_LRS"},"tags":null}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "205" + Content-Type: + - application/json + Test-Request-Hash: + - 038669f6024ebc8e5a02c2f219df77afb820b017526478c972063ee779a87fee + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-tnkzyi/providers/Microsoft.Storage/storageAccounts/samplestoragedia?api-version=2021-04-01 + method: PUT + 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" + Content-Type: + - text/plain; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus2/asyncoperations/399ff08e-6463-4b30-a3db-c793b206a19c?monitor=true&api-version=2021-04-01&t=638653541819920654&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=rybTfgxkpw33P4MIAUFWpFUDiN28T0tJI2RQ0qbZB8i4-C6Sm20v5yyalqE_9hnszYXc5yJviQuu1KAjl-SDlVs-yfPD5uINjhle0KKjv9CnvwYmN6hwkdVgd8wmioXCdKAeefT0G68ck91EYps4oiL_U8oJcCe1JO6PQ-wsgxjeRtn_zBiVqHFfhv9PWNIi--QOmalzFAYfTF5gWqDueXpjAmPUEpAJa_Ha6PFZM2s914_2HINUS4oFl-q_gZIQFEnzZLn7gTna4stvVCEHiTeQi0UGpjYwsPM8b8iBqJlBmnZoTVDhsrhouYrTQJNvT_4DbdqE530GNA-lD6jqSQ&h=bmBtxvQqHGps6CmIsRO3tF-wskTPfy5ASlBh_h1UT8k + Pragma: + - no-cache + Retry-After: + - "17" + 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: D53479D92F42475791B751D735D48AD8 Ref B: MAA201060515027 Ref C: 2024-10-24T08:09:37Z' + status: 202 Accepted + code: 202 + duration: 4.527984836s + - id: 5 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2/operations/1c41e0c1-5457-4e35-88ed-5545c6fd0c98?api-version=2020-11-01&t=638653541813346455&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=AG4LWk985eC9ahsGDBagLwuZ6OJs0jLtIRM3j6XGkZs7s6jBVlIIFAP2_e4XvT2PQ3RvIjNegGisR9QcRlmwxQ3nEBmpY7Xg9WHeRp3gGKa_s46og2tD8GGRWupDH41kmJpTcp7NfmLhdCwdSwLB49tUupsPeXxDctUF_dsYMwHz1tTGmVclXYso1hLWG6wuwVzK6HOQcz9C4GXyOOHCvSsrWn-MkVSTNTP6_Gw9elx3qfJgMlEaaotz4Rkeu59wR8trhx1mc_zj2v-fJOwKHT7idmkMY0ohnk2Sgdpg1bX-MxqYAb2zv-dex7jWa8pXsAuUKfXvaGoJdFjwmiGzSw&h=EbQYZGw3CJlMn9T-R60dgBC2WjLwWFkzKJe1fjFl1NU + 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: EA53A0E45BC244F6A613A72EACC205AD Ref B: MAA201060515027 Ref C: 2024-10-24T08:09:46Z' + status: 200 OK + code: 200 + duration: 316.192958ms + - id: 6 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-tnkzyi/providers/Microsoft.Network/virtualNetworks/samplevnetvmss1?api-version=2020-11-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 516 + uncompressed: false + body: '{"name":"samplevnetvmss1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-tnkzyi/providers/Microsoft.Network/virtualNetworks/samplevnetvmss1","etag":"W/\"75998fc6-2f6a-4ff0-b5a8-aefdabe58644\"","type":"Microsoft.Network/virtualNetworks","location":"eastus2","properties":{"provisioningState":"Succeeded","resourceGuid":"d980fbf0-ab32-4a2b-a3de-e1d14d033f3b","addressSpace":{"addressPrefixes":["10.0.0.0/16"]},"subnets":[],"virtualNetworkPeerings":[],"enableDdosProtection":false}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "516" + Content-Type: + - application/json; charset=utf-8 + Etag: + - W/"75998fc6-2f6a-4ff0-b5a8-aefdabe58644" + 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: C37243B3F56441AE99319771928475FE Ref B: MAA201060515027 Ref C: 2024-10-24T08:09:47Z' + status: 200 OK + code: 200 + duration: 579.167958ms + - id: 7 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus2/asyncoperations/399ff08e-6463-4b30-a3db-c793b206a19c?monitor=true&api-version=2021-04-01&t=638653541819920654&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=rybTfgxkpw33P4MIAUFWpFUDiN28T0tJI2RQ0qbZB8i4-C6Sm20v5yyalqE_9hnszYXc5yJviQuu1KAjl-SDlVs-yfPD5uINjhle0KKjv9CnvwYmN6hwkdVgd8wmioXCdKAeefT0G68ck91EYps4oiL_U8oJcCe1JO6PQ-wsgxjeRtn_zBiVqHFfhv9PWNIi--QOmalzFAYfTF5gWqDueXpjAmPUEpAJa_Ha6PFZM2s914_2HINUS4oFl-q_gZIQFEnzZLn7gTna4stvVCEHiTeQi0UGpjYwsPM8b8iBqJlBmnZoTVDhsrhouYrTQJNvT_4DbdqE530GNA-lD6jqSQ&h=bmBtxvQqHGps6CmIsRO3tF-wskTPfy5ASlBh_h1UT8k + 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" + Content-Type: + - text/plain; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus2/asyncoperations/399ff08e-6463-4b30-a3db-c793b206a19c?monitor=true&api-version=2021-04-01&t=638653541888978804&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=kV9SDQ9v8OdDKTf4xnMPRc2xMV19XT_Z8oHD06n2jGBfzBQKtiJQQCkbbQnYZKA2RyuKITfnKJDlFj1HbpeJfIhvglgT7D1KBvquUOOu_qj06TTO2r1MEj6ANDK0YCUzBk55KN4vW3lHM7s3M-Ik0L0Vxwb8_6TCiFybD0TYOHb9jYGhiD78c-zpmGR4Y6-izAPOOwiVeK0YGuzCU-qx9w19Ek4g1lwMhiOz47o8EKi4KgtWc-I32-wqh9J_K4SDJAcyRw4gI66JwSmrqVpxeQYqr-k1e-WaLVwTq9Vs-UAgYwuM3E04ie2fRI8bndwmXgtF2XXXhU4GKPHUGL9hrQ&h=YPmS590mv57WcMdFb3CYt4ioaJQ_zHyfWFbXZ0zjdV0 + Pragma: + - no-cache + Retry-After: + - "17" + 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: FE88E7159F41483D9CC99A00F79143C6 Ref B: MAA201060515027 Ref C: 2024-10-24T08:09:48Z' + status: 202 Accepted + code: 202 + duration: 360.540333ms + - 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: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-tnkzyi/providers/Microsoft.Network/virtualNetworks/samplevnetvmss1?api-version=2020-11-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 516 + uncompressed: false + body: '{"name":"samplevnetvmss1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-tnkzyi/providers/Microsoft.Network/virtualNetworks/samplevnetvmss1","etag":"W/\"75998fc6-2f6a-4ff0-b5a8-aefdabe58644\"","type":"Microsoft.Network/virtualNetworks","location":"eastus2","properties":{"provisioningState":"Succeeded","resourceGuid":"d980fbf0-ab32-4a2b-a3de-e1d14d033f3b","addressSpace":{"addressPrefixes":["10.0.0.0/16"]},"subnets":[],"virtualNetworkPeerings":[],"enableDdosProtection":false}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "516" + Content-Type: + - application/json; charset=utf-8 + Etag: + - W/"75998fc6-2f6a-4ff0-b5a8-aefdabe58644" + 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: F165CE5B91944ADBAF0AB181DEFC647E Ref B: MAA201060515027 Ref C: 2024-10-24T08:09:48Z' + status: 200 OK + code: 200 + duration: 538.203583ms + - id: 9 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 261 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"name":"aso-sample-group","properties":{"logs":[{"categoryGroup":"allLogs","enabled":true}],"storageAccountId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-tnkzyi/providers/Microsoft.Storage/storageAccounts/samplestoragedia"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "261" + Content-Type: + - application/json + Test-Request-Hash: + - 0fd9087c1afd7bc78bc49cbc350a8cd01f9400d166bdcdda541401c7174d5628 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-tnkzyi/providers/Microsoft.Network/virtualNetworks/samplevnetvmss1/providers/Microsoft.Insights/diagnosticSettings/aso-sample-group?api-version=2021-05-01-preview + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 788 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-tnkzyi/providers/microsoft.network/virtualnetworks/samplevnetvmss1/providers/microsoft.insights/diagnosticSettings/aso-sample-group","type":"Microsoft.Insights/diagnosticSettings","name":"aso-sample-group","location":null,"kind":null,"tags":null,"properties":{"storageAccountId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-tnkzyi/providers/Microsoft.Storage/storageAccounts/samplestoragedia","serviceBusRuleId":null,"workspaceId":null,"eventHubAuthorizationRuleId":null,"eventHubName":null,"metrics":[],"logs":[{"category":null,"categoryGroup":"allLogs","enabled":true,"retentionPolicy":{"enabled":false,"days":0}}],"logAnalyticsDestinationType":null},"identity":null}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "788" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Resource-Requests: + - "149" + X-Msedge-Ref: + - 'Ref A: B024442FF6484BFAA6A1E698665EB2A8 Ref B: MAA201060515027 Ref C: 2024-10-24T08:09:52Z' + status: 200 OK + code: 200 + duration: 4.432283668s + - 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: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-tnkzyi/providers/Microsoft.Network/virtualNetworks/samplevnetvmss1/providers/Microsoft.Insights/diagnosticSettings/aso-sample-group?api-version=2021-05-01-preview + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 879 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-tnkzyi/providers/microsoft.network/virtualnetworks/samplevnetvmss1/providers/microsoft.insights/diagnosticSettings/aso-sample-group","type":"Microsoft.Insights/diagnosticSettings","name":"aso-sample-group","location":"eastus2","kind":null,"tags":null,"properties":{"storageAccountId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-tnkzyi/providers/Microsoft.Storage/storageAccounts/samplestoragedia","serviceBusRuleId":null,"workspaceId":null,"eventHubAuthorizationRuleId":null,"eventHubName":null,"metrics":[{"category":"AllMetrics","enabled":false,"retentionPolicy":{"enabled":false,"days":0}}],"logs":[{"category":null,"categoryGroup":"allLogs","enabled":true,"retentionPolicy":{"enabled":false,"days":0}}],"logAnalyticsDestinationType":null},"identity":null}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "879" + 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: C8D0C61111C6490CBCD1400CC96EAC9A Ref B: MAA201060515027 Ref C: 2024-10-24T08:10:01Z' + status: 200 OK + code: 200 + duration: 1.621532084s + - id: 11 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus2/asyncoperations/399ff08e-6463-4b30-a3db-c793b206a19c?monitor=true&api-version=2021-04-01&t=638653541819920654&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=rybTfgxkpw33P4MIAUFWpFUDiN28T0tJI2RQ0qbZB8i4-C6Sm20v5yyalqE_9hnszYXc5yJviQuu1KAjl-SDlVs-yfPD5uINjhle0KKjv9CnvwYmN6hwkdVgd8wmioXCdKAeefT0G68ck91EYps4oiL_U8oJcCe1JO6PQ-wsgxjeRtn_zBiVqHFfhv9PWNIi--QOmalzFAYfTF5gWqDueXpjAmPUEpAJa_Ha6PFZM2s914_2HINUS4oFl-q_gZIQFEnzZLn7gTna4stvVCEHiTeQi0UGpjYwsPM8b8iBqJlBmnZoTVDhsrhouYrTQJNvT_4DbdqE530GNA-lD6jqSQ&h=bmBtxvQqHGps6CmIsRO3tF-wskTPfy5ASlBh_h1UT8k + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1462 + uncompressed: false + body: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-tnkzyi/providers/Microsoft.Storage/storageAccounts/samplestoragedia","name":"samplestoragedia","type":"Microsoft.Storage/storageAccounts","location":"eastus2","tags":{},"properties":{"keyCreationTime":{"key1":"2001-02-03T04:05:06Z","key2":"2001-02-03T04:05:06Z"},"allowCrossTenantReplication":false,"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2001-02-03T04:05:06Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2001-02-03T04:05:06Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2001-02-03T04:05:06Z","primaryEndpoints":{"dfs":"https://samplestoragedia.dfs.core.windows.net/","web":"https://samplestoragedia.z20.web.core.windows.net/","blob":"https://samplestoragedia.blob.core.windows.net/","queue":"https://samplestoragedia.queue.core.windows.net/","table":"https://samplestoragedia.table.core.windows.net/","file":"https://samplestoragedia.file.core.windows.net/"},"primaryLocation":"eastus2","statusOfPrimary":"available"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "1462" + Content-Type: + - application/json + 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: 4B19D39F830640F1945D59753FED2A12 Ref B: MAA201060515027 Ref C: 2024-10-24T08:10:06Z' + status: 200 OK + code: 200 + duration: 433.539792ms + - id: 12 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-tnkzyi/providers/Microsoft.Storage/storageAccounts/samplestoragedia?api-version=2021-04-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1462 + uncompressed: false + body: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-tnkzyi/providers/Microsoft.Storage/storageAccounts/samplestoragedia","name":"samplestoragedia","type":"Microsoft.Storage/storageAccounts","location":"eastus2","tags":{},"properties":{"keyCreationTime":{"key1":"2001-02-03T04:05:06Z","key2":"2001-02-03T04:05:06Z"},"allowCrossTenantReplication":false,"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2001-02-03T04:05:06Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2001-02-03T04:05:06Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2001-02-03T04:05:06Z","primaryEndpoints":{"dfs":"https://samplestoragedia.dfs.core.windows.net/","web":"https://samplestoragedia.z20.web.core.windows.net/","blob":"https://samplestoragedia.blob.core.windows.net/","queue":"https://samplestoragedia.queue.core.windows.net/","table":"https://samplestoragedia.table.core.windows.net/","file":"https://samplestoragedia.file.core.windows.net/"},"primaryLocation":"eastus2","statusOfPrimary":"available"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "1462" + Content-Type: + - application/json + 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: 550888F62AE945D19679D516CE88E1EA Ref B: MAA201060515027 Ref C: 2024-10-24T08:10:07Z' + status: 200 OK + code: 200 + duration: 1.160991917s + - id: 13 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-tnkzyi?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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRUTktaWUktV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638653542185115229&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=kLOO_QR6hTNK3XAmky-gWqesdhWmjBkSXkf_p7nYJMS-vtlIyGciATB2DG1qD_TjuswLr4E8mON769Dnv3eMLkiWNZ_LtCZ8ugAkQz4lDsm4xDC55nlkMjgRHX2Wcxmp5AxRKCyUu3o0ufY-SnpWJUujUYGmBUbHgPwn-W3nvBLLk4J3c6dreUHlaN0bk2GKXYOk-yoCLIMlG1j_c8NJkaiXM0mIhPymJthbBcvSF3DFRZ1jHwAlJedt61bC1tMtjFCaTUcQW0Z9bDvX1Q4H9HxQn2zuyyAwRxcz8c4edYFNHrxhd6EVOAw_UqF9HAylFu1sMCBAJ1WYzA19DT6U4A&h=-l0Q3M7i2y9wX1nJPqiFQWRha7aym6wkob9GJagxltM + Pragma: + - no-cache + Retry-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: 07067413A5094059AB3F51DA63BE1B8B Ref B: MAA201060515027 Ref C: 2024-10-24T08:10:11Z' + status: 202 Accepted + code: 202 + duration: 6.997072545s + - id: 14 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRUTktaWUktV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638653542185115229&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=kLOO_QR6hTNK3XAmky-gWqesdhWmjBkSXkf_p7nYJMS-vtlIyGciATB2DG1qD_TjuswLr4E8mON769Dnv3eMLkiWNZ_LtCZ8ugAkQz4lDsm4xDC55nlkMjgRHX2Wcxmp5AxRKCyUu3o0ufY-SnpWJUujUYGmBUbHgPwn-W3nvBLLk4J3c6dreUHlaN0bk2GKXYOk-yoCLIMlG1j_c8NJkaiXM0mIhPymJthbBcvSF3DFRZ1jHwAlJedt61bC1tMtjFCaTUcQW0Z9bDvX1Q4H9HxQn2zuyyAwRxcz8c4edYFNHrxhd6EVOAw_UqF9HAylFu1sMCBAJ1WYzA19DT6U4A&h=-l0Q3M7i2y9wX1nJPqiFQWRha7aym6wkob9GJagxltM + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRUTktaWUktV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638653542415220713&c=MIIHhzCCBm-gAwIBAgITfAWKQyvXag-zjrQDfwAABYpDKzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwOTI0MDE0MzE0WhcNMjUwMzIzMDE0MzE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANDwk3_kcyceqIl7dgtMLkPtJd0Dkb9mue4uwDFpqUeJaLV0ILbYclblqNCzMKtUostgBu5GVS8MBzN_L23IehFdX5s2G8MFBRyoCv31VkR6xTNcprlL3ApSlAkYLNKWQvNzETl23UISuvkG7qeDh6Bx2DFiOd37MurICLjYCCvXbYPN5hdGA_IniW-OEEwq2bSF3s80KjkyMJcA0SyUADASZFM9vhy05mEs6DRa8avMylzn8ybLp7xnm21jaUxNBKPMilAwIeUIvOpmwW_VU86n3T5Yj-2dJ2D2naHhWtci5pE7z8BGdasl5V1hoQdHsniY-G90XE0Qm6AYpDp7IU0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBTnD50c9EnBJkrJcBrQ8YxbiYx5ADAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAUCr0q5wDvmcQmw5la8KMFO7bmmYkEp0jdFoaVgTEKWWk_VmL05UBKDAZNZ1Tect9BahkSSPDLo4PiHocbvdJN0bZ91V_GN9LHUKdy8-oXa6ai_B8HLcUhvpHXnmW8opONEs6mzT0wc1DFAglsuujyzZSFqif-9ARhhAlepT0oH4PAr96rZ0fPR6vkMTKAmprNFJQZbSgiz44FcxGBEctsuaEUxAp_AwQYTICmJQAQPbuoB3tZdUFJXogQBY47e7ZeTDWJ5GiWHKp2xbyASebOD4XFr6SpdmHmwddtWFB3zlcnLZnA32HeK6NpHRe6nMRkzBs1vxE6CdzR8HAcLEOE&s=vhe5dPsZWBeMkAVPrQ11nIT7W06JrTpLvcKzYouZQVEYdeHowM1WUOe4didlxdWBqusPiNqbV8XOUSgEmjQX8tBePimRwX80N9kDmK0g5aeOEYeYEVTvgkrqnhvi8wugbihcEGPF4_ITuI7HUrvW0ScK6Q3_7_0QBhC86sriJVuFoVcYa5u2LBCFqsfXAyXP__nGV5VlZ9s-DGvjIus6jSJsuZ4a4LzbKCREfXksOw_3dSUwJU3G557LZpjzVr9L7xW49832hCGP2vribQRfcOIBHwZ6FcQ2CQmS7shH8TIqZ-sddAWQN5PKkiUh7fAPX-fZE-MKfkcq2Dq41F5-hA&h=W7D_p_nO3fKUSI_X7TBxZgkJLXMQ1iJefEQASbXiqoA + Pragma: + - no-cache + Retry-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: 87DFD58071584182BC90EE9C2FCD7664 Ref B: MAA201060515027 Ref C: 2024-10-24T08:10:40Z' + status: 202 Accepted + code: 202 + duration: 946.591792ms + - id: 15 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRUTktaWUktV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638653542185115229&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=kLOO_QR6hTNK3XAmky-gWqesdhWmjBkSXkf_p7nYJMS-vtlIyGciATB2DG1qD_TjuswLr4E8mON769Dnv3eMLkiWNZ_LtCZ8ugAkQz4lDsm4xDC55nlkMjgRHX2Wcxmp5AxRKCyUu3o0ufY-SnpWJUujUYGmBUbHgPwn-W3nvBLLk4J3c6dreUHlaN0bk2GKXYOk-yoCLIMlG1j_c8NJkaiXM0mIhPymJthbBcvSF3DFRZ1jHwAlJedt61bC1tMtjFCaTUcQW0Z9bDvX1Q4H9HxQn2zuyyAwRxcz8c4edYFNHrxhd6EVOAw_UqF9HAylFu1sMCBAJ1WYzA19DT6U4A&h=-l0Q3M7i2y9wX1nJPqiFQWRha7aym6wkob9GJagxltM + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRUTktaWUktV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638653542585170611&c=MIIHhzCCBm-gAwIBAgITHgVsohlR2527oAb3YwAABWyiGTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTIyMTIzNzU1WhcNMjUwMzIxMTIzNzU1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMhrLEJmsmtpzYzyjkwosX72drFxelF_0kAmuW7jzqQUwb3Vbkmt3AMdawBA7iPG-j-_iaEVRdn5iaEuJE6hSge15_CbeDkRt-qHgospNLcjh6GjynbLyFCQH_IkKY4Mc0yIlKxilQSCf2V6ah2w7S1CyC5zwZroBYavu5w0ZL02jRKMTNVzB03DnGhQGJ7gJbtKJ9AbjVcFwFTpT0Z0Yo-sLpwoVvADWng0JznFSekROEXCF_U3gHMssCctipkbrivaRFNKL3OjHjvuPxD8gsBo2BR_swq3Eyj-68_1B2-zYVD0d811pP8URR-43YYAMXO2Us1Uw6dn-b351XnW8JECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTLk-Eh1Xfk5Jotz1gl5hr4G-tKhTAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAG22HO9nSE7AYf9OZGmPXw_SpE0CIxcQiahWc3LG3zRYLxmiKsYYlN9_r_6fPeEmIs7P7xm7g_xAAHLymI5BQDzGsW5GzAzYVOwolJBj3EcX1bxxIqeEgLvHNmYOr4D5MZFv14TGMHziu0TzPAbbVe9-DmMbrqs1mszrnuUiHTsmKE2oNmv4gjZMYSJAdsUzkjxQEa8t1t7FUEvbDkWkYSdqK0-OoTDVLsRVwRNk9XJ04coDgWql1-iv6bYNXyhC0L_-bdTOs_Gnzu-tFEA2we7Zkew_fhDuJwGTDnhaqvhush0SPJuFmoYBvmEzEJsc_Bjay2DrOHiLTopNoBJVrt8&s=J-O5-Hl80GsVcXyQvQhSsnDDXq22yCsQRiXGdq9LW6HRef7nMNadRd4iV-CjrQ7UyQJhq3e23wA5f0J9NH_HqB_pQ9oLI1x0hSzXBMRSOKfWX0Px0CMD30i_yCuvWJaYRVpV0YpkUl_jTNSkwJlE13oD05ItImmGXDirvIp2crbuOXLdyT3Lg2AIo2nZ7I4RUeMCIdZzynrlrC2TL_jC2PXDtEC9byDdaEktpgnskgbgo-FOwG25gl7mSVJfqw5rSbaotzqLck3Jl6bUz56zsNsGJC7JEITXlZdIFAMgPIZs9jAZVjBQTPyn6EFN5KaME51aVT7hLRrRcvYlWLNZMQ&h=nd6sgbWZJhO_6QiW9sgg_Z7_lkJfI0ALQvJ6SxVGHp8 + Pragma: + - no-cache + Retry-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: B3CD9A2BE2C541419AFA6E91E5A6285B Ref B: MAA201060515027 Ref C: 2024-10-24T08:10:57Z' + status: 202 Accepted + code: 202 + duration: 1.045435084s + - id: 16 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRUTktaWUktV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638653542185115229&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=kLOO_QR6hTNK3XAmky-gWqesdhWmjBkSXkf_p7nYJMS-vtlIyGciATB2DG1qD_TjuswLr4E8mON769Dnv3eMLkiWNZ_LtCZ8ugAkQz4lDsm4xDC55nlkMjgRHX2Wcxmp5AxRKCyUu3o0ufY-SnpWJUujUYGmBUbHgPwn-W3nvBLLk4J3c6dreUHlaN0bk2GKXYOk-yoCLIMlG1j_c8NJkaiXM0mIhPymJthbBcvSF3DFRZ1jHwAlJedt61bC1tMtjFCaTUcQW0Z9bDvX1Q4H9HxQn2zuyyAwRxcz8c4edYFNHrxhd6EVOAw_UqF9HAylFu1sMCBAJ1WYzA19DT6U4A&h=-l0Q3M7i2y9wX1nJPqiFQWRha7aym6wkob9GJagxltM + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRUTktaWUktV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638653542756566346&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=kylpsWaafYnPC4VNg9Oo9SLXsfNo79Z2eFnGPdxcQkTuxVBZixkS-qOdMQwsTAgOvUyAxDRNwN0dr3a0OAWGA2XwVri31ViH42t2zskM6xIR9jsZE0KSFJzcfMbnigb9PtQDDrcecK4iq7WXuShOpPuiVDT0pf7ef3pnAoGFv5oLwYlxssV_ngvAg1LQ6Tj9dKskGBj0_30UUswsUOHP4itGCaCyG8evzu40jRtk85ecGeJfvLIZMQqwwwqmsqU6FBx862FdfNEjIV_UkAsXDA64AojUJjmw1OazjzQAboOnLNyhUJLEtm6Bfq-K9jORnj7YykeFSMMESd-QcxaG1w&h=rFOmDzEKo8Ya_mnB5S1slakSdX_LWcGqg7t8xBiwuSE + Pragma: + - no-cache + Retry-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: 6A2392CEDBB846ED9AC47EE8DA56DA52 Ref B: MAA201060515027 Ref C: 2024-10-24T08:11:14Z' + status: 202 Accepted + code: 202 + duration: 1.060201126s + - id: 17 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRUTktaWUktV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638653542185115229&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=kLOO_QR6hTNK3XAmky-gWqesdhWmjBkSXkf_p7nYJMS-vtlIyGciATB2DG1qD_TjuswLr4E8mON769Dnv3eMLkiWNZ_LtCZ8ugAkQz4lDsm4xDC55nlkMjgRHX2Wcxmp5AxRKCyUu3o0ufY-SnpWJUujUYGmBUbHgPwn-W3nvBLLk4J3c6dreUHlaN0bk2GKXYOk-yoCLIMlG1j_c8NJkaiXM0mIhPymJthbBcvSF3DFRZ1jHwAlJedt61bC1tMtjFCaTUcQW0Z9bDvX1Q4H9HxQn2zuyyAwRxcz8c4edYFNHrxhd6EVOAw_UqF9HAylFu1sMCBAJ1WYzA19DT6U4A&h=-l0Q3M7i2y9wX1nJPqiFQWRha7aym6wkob9GJagxltM + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRUTktaWUktV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638653542927891191&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=cvmxKvh2ZaL1PY2usX46egJZe9t_MNyzR2tcb9Dk0U_AvJ4BNfaJL_jbOc4RrOuhSoXLefEBqRpric6LTOqQPiv6wjTOi7nOfwZ5nSdLiBWD_xXSYxzJ6Eg4FpO1Ajx_T1hNtq78sqqjutdAIrR33LavO8wJ0MuIU2XEcyFTsuGSEZZiVE-9Obbu0tArdh6j3B3fKeG8d5TXKD9g7_yZ_B0OKFkoyzyMn9Ko4C9WAwXseBxVjy429aNxlwYWMVUMafsDwtUe0Z3fSuL6td-c4NiipRNJFl4fCeDTDCobTM2HIbx48QBoKe_qOipnCZ4YAGediqTTtGC7lUHZS_dGNA&h=8_EqABB5ip2XmTAyfGI1VDjyUQskF7mue53ytlfOqHc + Pragma: + - no-cache + Retry-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: 2E031EE9356B48F2B6FF724C12E9FDD3 Ref B: MAA201060515027 Ref C: 2024-10-24T08:11:31Z' + status: 202 Accepted + code: 202 + duration: 1.060854542s + - id: 18 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRUTktaWUktV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638653542185115229&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=kLOO_QR6hTNK3XAmky-gWqesdhWmjBkSXkf_p7nYJMS-vtlIyGciATB2DG1qD_TjuswLr4E8mON769Dnv3eMLkiWNZ_LtCZ8ugAkQz4lDsm4xDC55nlkMjgRHX2Wcxmp5AxRKCyUu3o0ufY-SnpWJUujUYGmBUbHgPwn-W3nvBLLk4J3c6dreUHlaN0bk2GKXYOk-yoCLIMlG1j_c8NJkaiXM0mIhPymJthbBcvSF3DFRZ1jHwAlJedt61bC1tMtjFCaTUcQW0Z9bDvX1Q4H9HxQn2zuyyAwRxcz8c4edYFNHrxhd6EVOAw_UqF9HAylFu1sMCBAJ1WYzA19DT6U4A&h=-l0Q3M7i2y9wX1nJPqiFQWRha7aym6wkob9GJagxltM + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRUTktaWUktV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638653543098710990&c=MIIHhzCCBm-gAwIBAgITHgVsohlR2527oAb3YwAABWyiGTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTIyMTIzNzU1WhcNMjUwMzIxMTIzNzU1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMhrLEJmsmtpzYzyjkwosX72drFxelF_0kAmuW7jzqQUwb3Vbkmt3AMdawBA7iPG-j-_iaEVRdn5iaEuJE6hSge15_CbeDkRt-qHgospNLcjh6GjynbLyFCQH_IkKY4Mc0yIlKxilQSCf2V6ah2w7S1CyC5zwZroBYavu5w0ZL02jRKMTNVzB03DnGhQGJ7gJbtKJ9AbjVcFwFTpT0Z0Yo-sLpwoVvADWng0JznFSekROEXCF_U3gHMssCctipkbrivaRFNKL3OjHjvuPxD8gsBo2BR_swq3Eyj-68_1B2-zYVD0d811pP8URR-43YYAMXO2Us1Uw6dn-b351XnW8JECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTLk-Eh1Xfk5Jotz1gl5hr4G-tKhTAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAG22HO9nSE7AYf9OZGmPXw_SpE0CIxcQiahWc3LG3zRYLxmiKsYYlN9_r_6fPeEmIs7P7xm7g_xAAHLymI5BQDzGsW5GzAzYVOwolJBj3EcX1bxxIqeEgLvHNmYOr4D5MZFv14TGMHziu0TzPAbbVe9-DmMbrqs1mszrnuUiHTsmKE2oNmv4gjZMYSJAdsUzkjxQEa8t1t7FUEvbDkWkYSdqK0-OoTDVLsRVwRNk9XJ04coDgWql1-iv6bYNXyhC0L_-bdTOs_Gnzu-tFEA2we7Zkew_fhDuJwGTDnhaqvhush0SPJuFmoYBvmEzEJsc_Bjay2DrOHiLTopNoBJVrt8&s=kBiII-cUAUghcpGa2_6U3kGxEmCGon2mcTdfWM0N6Hzh1nFjl4IXBh1RRXAEeWwAQtLfRepLi9Fv9D8iLi-7XKLwL11w7zRcEbh7sgZTAYHfAF4M7fwHNo_Azc1m5mzfINwXbe_q9dDrcrLAID5Ta5CJLvXXkshlGGAbt001hpNAQgsYX8rObt05ANZmDAb-R3i_fbaGP9Y1ELhBbsW8VDgDuJSWFgIOT7PLCmfA7gs1mylYFS5htatq-bL_MndRBLeyit3wi5ZfdmDvbf5faJf_18ll3vLMNpBrl9Ht9FXLxHhLU3sM_k6xb-ugaDPEgMx0UQ1Lrpv_GkqzjEmOkA&h=Un9i2cMbXt3LCE3iFvyin4viYu9AUevnJyFok569ga0 + Pragma: + - no-cache + Retry-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: 8F9F3A025BCB4EC3BAEB6F93C92D687E Ref B: MAA201060515027 Ref C: 2024-10-24T08:11:48Z' + status: 202 Accepted + code: 202 + duration: 996.753792ms + - id: 19 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRUTktaWUktV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638653542185115229&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=kLOO_QR6hTNK3XAmky-gWqesdhWmjBkSXkf_p7nYJMS-vtlIyGciATB2DG1qD_TjuswLr4E8mON769Dnv3eMLkiWNZ_LtCZ8ugAkQz4lDsm4xDC55nlkMjgRHX2Wcxmp5AxRKCyUu3o0ufY-SnpWJUujUYGmBUbHgPwn-W3nvBLLk4J3c6dreUHlaN0bk2GKXYOk-yoCLIMlG1j_c8NJkaiXM0mIhPymJthbBcvSF3DFRZ1jHwAlJedt61bC1tMtjFCaTUcQW0Z9bDvX1Q4H9HxQn2zuyyAwRxcz8c4edYFNHrxhd6EVOAw_UqF9HAylFu1sMCBAJ1WYzA19DT6U4A&h=-l0Q3M7i2y9wX1nJPqiFQWRha7aym6wkob9GJagxltM + 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/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRUTktaWUktV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638653543268666226&c=MIIHhzCCBm-gAwIBAgITHgVsohlR2527oAb3YwAABWyiGTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTIyMTIzNzU1WhcNMjUwMzIxMTIzNzU1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMhrLEJmsmtpzYzyjkwosX72drFxelF_0kAmuW7jzqQUwb3Vbkmt3AMdawBA7iPG-j-_iaEVRdn5iaEuJE6hSge15_CbeDkRt-qHgospNLcjh6GjynbLyFCQH_IkKY4Mc0yIlKxilQSCf2V6ah2w7S1CyC5zwZroBYavu5w0ZL02jRKMTNVzB03DnGhQGJ7gJbtKJ9AbjVcFwFTpT0Z0Yo-sLpwoVvADWng0JznFSekROEXCF_U3gHMssCctipkbrivaRFNKL3OjHjvuPxD8gsBo2BR_swq3Eyj-68_1B2-zYVD0d811pP8URR-43YYAMXO2Us1Uw6dn-b351XnW8JECAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTLk-Eh1Xfk5Jotz1gl5hr4G-tKhTAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAG22HO9nSE7AYf9OZGmPXw_SpE0CIxcQiahWc3LG3zRYLxmiKsYYlN9_r_6fPeEmIs7P7xm7g_xAAHLymI5BQDzGsW5GzAzYVOwolJBj3EcX1bxxIqeEgLvHNmYOr4D5MZFv14TGMHziu0TzPAbbVe9-DmMbrqs1mszrnuUiHTsmKE2oNmv4gjZMYSJAdsUzkjxQEa8t1t7FUEvbDkWkYSdqK0-OoTDVLsRVwRNk9XJ04coDgWql1-iv6bYNXyhC0L_-bdTOs_Gnzu-tFEA2we7Zkew_fhDuJwGTDnhaqvhush0SPJuFmoYBvmEzEJsc_Bjay2DrOHiLTopNoBJVrt8&s=Qk64rVkLy_fam3Aa14glHFv0FEk9FYnldW7RQUHYCAAYX42Euts5-N7o5diYK0RzlXr9NJ7cSJge3nLgUOS85W_jGiyZfB0HRLWA5Gdv6Pm8tO9JYBD9Fbw-1h8NkH_O0PhjRyhdNz44QiLz5Bb3MrDQEIqlUS2IcCG3xZHVLMm6iOIeWKQaodOQNO9gHmbzT1s6UnYq-8dCC7ZIosrbBx4FSJmAEFReXHP0y7Qmnd7f6_cmdZno6P6nLTQoBZwDRRrT3vNeIr6zgKLg3Zlv6ZbFfn3KNc_OJ6bJjA2d_0_MY561D9lUzyXHrh6pbozaKUXHrfriOF1ep7qK5ij1RQ&h=CKA609dryQVe3OI--8-VutpBVW83FS5Ipcn_YprLGZk + Pragma: + - no-cache + Retry-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: E44465A5A6FA4F33BCA6861E90D7BC33 Ref B: MAA201060515027 Ref C: 2024-10-24T08:12:05Z' + status: 202 Accepted + code: 202 + duration: 1.094229584s + - id: 20 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "6" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRUTktaWUktV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638653542185115229&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=kLOO_QR6hTNK3XAmky-gWqesdhWmjBkSXkf_p7nYJMS-vtlIyGciATB2DG1qD_TjuswLr4E8mON769Dnv3eMLkiWNZ_LtCZ8ugAkQz4lDsm4xDC55nlkMjgRHX2Wcxmp5AxRKCyUu3o0ufY-SnpWJUujUYGmBUbHgPwn-W3nvBLLk4J3c6dreUHlaN0bk2GKXYOk-yoCLIMlG1j_c8NJkaiXM0mIhPymJthbBcvSF3DFRZ1jHwAlJedt61bC1tMtjFCaTUcQW0Z9bDvX1Q4H9HxQn2zuyyAwRxcz8c4edYFNHrxhd6EVOAw_UqF9HAylFu1sMCBAJ1WYzA19DT6U4A&h=-l0Q3M7i2y9wX1nJPqiFQWRha7aym6wkob9GJagxltM + 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: 1DB97768EB0C4076BF0C668B75471540 Ref B: MAA201060515027 Ref C: 2024-10-24T08:12:23Z' + status: 200 OK + code: 200 + duration: 1.124896584s + - id: 21 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-tnkzyi/providers/Microsoft.Storage/storageAccounts/samplestoragedia?api-version=2021-04-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-tnkzyi'' 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: 5452C478A10C41388DB1B6AC8A191A82 Ref B: MAA201060515027 Ref C: 2024-10-24T08:12:27Z' + status: 404 Not Found + code: 404 + duration: 474.939626ms + - id: 22 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-tnkzyi/providers/Microsoft.Network/virtualNetworks/samplevnetvmss1?api-version=2020-11-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-tnkzyi'' 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: 4AE11D9423E8417C9B48F9D324FD6028 Ref B: MAA201060515027 Ref C: 2024-10-24T08:12:27Z' + status: 404 Not Found + code: 404 + duration: 499.757001ms + - id: 23 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-tnkzyi/providers/Microsoft.Network/virtualNetworks/samplevnetvmss1/providers/Microsoft.Insights/diagnosticSettings/aso-sample-group?api-version=2021-05-01-preview + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 238 + uncompressed: false + body: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.Network/virtualNetworks/samplevnetvmss1'' under resource group ''asotest-rg-tnkzyi'' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "238" + 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: F57270FF91C8438AA145A3EFF7994D69 Ref B: MAA201060515027 Ref C: 2024-10-24T08:12:32Z' + status: 404 Not Found + code: 404 + duration: 458.885417ms diff --git a/v2/samples/insights/v1api20210501preview/refs/v1api20201101_virtualnetwork_vmss_20220301.yaml b/v2/samples/insights/v1api20210501preview/refs/v1api20201101_virtualnetwork_vmss_20220301.yaml new file mode 100644 index 00000000000..6e94151da89 --- /dev/null +++ b/v2/samples/insights/v1api20210501preview/refs/v1api20201101_virtualnetwork_vmss_20220301.yaml @@ -0,0 +1,12 @@ +apiVersion: network.azure.com/v1api20201101 +kind: VirtualNetwork +metadata: + name: samplevnetvmss1 + namespace: default +spec: + location: eastus2 + owner: + name: aso-sample-rg + addressSpace: + addressPrefixes: + - 10.0.0.0/16 diff --git a/v2/samples/insights/v1api20210501preview/refs/v1api20210401_storageaccount.yaml b/v2/samples/insights/v1api20210501preview/refs/v1api20210401_storageaccount.yaml new file mode 100644 index 00000000000..3efac048710 --- /dev/null +++ b/v2/samples/insights/v1api20210501preview/refs/v1api20210401_storageaccount.yaml @@ -0,0 +1,15 @@ +apiVersion: storage.azure.com/v1api20210401 +kind: StorageAccount +metadata: + name: samplestoragedia + namespace: default +spec: + location: eastus2 + allowBlobPublicAccess: false + kind: StorageV2 + sku: + name: Standard_LRS + owner: + name: aso-sample-rg + accessTier: Hot + supportsHttpsTrafficOnly: true diff --git a/v2/samples/insights/v1api20210501preview/v1api20210501preview_diagnosticsetting.yaml b/v2/samples/insights/v1api20210501preview/v1api20210501preview_diagnosticsetting.yaml new file mode 100644 index 00000000000..137365983ba --- /dev/null +++ b/v2/samples/insights/v1api20210501preview/v1api20210501preview_diagnosticsetting.yaml @@ -0,0 +1,17 @@ +apiVersion: insights.azure.com/v1api20210501preview +kind: DiagnosticSetting +metadata: + name: aso-sample-group + namespace: default +spec: + logs: + - categoryGroup: "allLogs" + enabled: true + storageAccountReference: + group: storage.azure.com + kind: StorageAccount + name: samplestoragedia + owner: + group: network.azure.com + kind: VirtualNetwork + name: samplevnetvmss1