Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Hub Generated] Review request for Microsoft.AlertsManagement to add version preview/2023-04-01-preview #22849

Conversation

meydand
Copy link
Contributor

@meydand meydand commented Mar 1, 2023

This is a PR generated at OpenAPI Hub. You can view your work branch via this link.

ARM API Information (Control Plane)

Azure 1st Party Service can try out the Shift Left experience to initiate API design review from ADO code repo. If you are interested, may request engineering support by filling in with the form https://aka.ms/ShiftLeftSupportForm.

Changelog

Add a changelog entry for this PR by answering the following questions:

  1. What's the purpose of the update?
    • new service onboarding
    • new API version
    • update existing version for new feature
    • update existing version to fix swagger quality issue in s360
    • Other, please clarify
  2. When are you targeting to deploy the new service/feature to public regions? Please provide the date or, if the date is not yet available, the month.
  3. When do you expect to publish the swagger? Please provide date or, the the date is not yet available, the month.
  4. By default, Azure SDKs of all languages (.NET/Python/Java/JavaScript for both management-plane SDK and data-plane SDK, Go for management-plane SDK only ) MUST be refreshed with/after swagger of new version is published. If you prefer NOT to refresh any specific SDK language upon swagger updates in the current PR, please leave details with justification here.

Contribution checklist (MS Employees Only):

If any further question about AME onboarding or validation tools, please view the FAQ.

ARM API Review Checklist

Applicability: ⚠️

If your changes encompass only the following scenarios, you should SKIP this section, as these scenarios do not require ARM review.

  • Change to data plane APIs
  • Adding new properties
  • All removals

Otherwise your PR may be subject to ARM review requirements. Complete the following:

  • Check this box if any of the following apply to the PR so that the label "ARMReview" and "WaitForARMFeedback" will be added by bot to kick off ARM API Review. Missing to check this box in the following scenario may result in delays to the ARM manifest review and deployment.

    • Adding a new service
    • Adding new API(s)
    • Adding a new API version
      -[ ] To review changes efficiently, ensure you copy the existing version into the new directory structure for first commit and then push new changes, including version updates, in separate commits. You can use OpenAPIHub to initialize the PR for adding a new version. For more details refer to the wiki.
  • Ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

  • If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist

If you have any breaking changes as defined in the Breaking Change Policy, request approval from the Breaking Change Review Board.

Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Additional details on the process and office hours are on the Breaking Change Wiki.

NOTE: To update API(s) in public preview for over 1 year (refer to Retirement of Previews)

Please follow the link to find more details on PR review process.

@openapi-workflow-bot
Copy link

Hi, @meydand Thanks for your PR. I am workflow bot for review process. Here are some small tips.

  • Please ensure to do self-check against checklists in first PR comment.
  • PR assignee is the person auto-assigned and responsible for your current PR reviewing and merging.
  • For specs comparison cross API versions, Use API Specs Comparison Report Generator
  • If there is CI failure(s), to fix CI error(s) is mandatory for PR merging; or you need to provide justification in PR comment for explanation. How to fix?

  • Any feedback about review process or workflow bot, pls contact swagger and tools team. vscswagger@microsoft.com

    @openapi-pipeline-app
    Copy link

    openapi-pipeline-app bot commented Mar 1, 2023

    Swagger Validation Report

    ️️✔️BreakingChange succeeded [Detail] [Expand]
    There are no breaking changes.
    ️️✔️Breaking Change(Cross-Version) succeeded [Detail] [Expand]
    There are no breaking changes.
    ️️✔️CredScan succeeded [Detail] [Expand]
    There is no credential detected.
    ️❌LintDiff: 4 Errors, 5 Warnings failed [Detail]
    compared tags (via openapi-validator v2.0.0) new version base version
    package-2021-08 package-2021-08(15a0fef) package-2021-08(main)

    [must fix]The following errors/warnings are introduced by current PR:

    Rule Message Related RPC [For API reviewers]
    PathForPutOperation The path for 'put' operation must be under a subscription and resource group.
    Location: Microsoft.AlertsManagement/preview/2023-04-01-preview/TenantActivityLogAlerts.json#L37
    RPC-Put-V1-01
    ResourceNameRestriction The resource name parameter 'managementGroupName' should be defined with a 'pattern' restriction.
    Location: Microsoft.AlertsManagement/preview/2023-04-01-preview/TenantActivityLogAlerts.json#L37
    RPC-Uri-V1-05
    ResourceNameRestriction The resource name parameter 'managementGroupName' should be defined with a 'pattern' restriction.
    Location: Microsoft.AlertsManagement/preview/2023-04-01-preview/TenantActivityLogAlerts.json#L232
    RPC-Uri-V1-05
    TopLevelResourcesListBySubscription The top-level resource 'TenantActivityLogAlertResource' does not have list by subscription operation, please add it.
    Location: Microsoft.AlertsManagement/preview/2023-04-01-preview/TenantActivityLogAlerts.json#L308
    RPC-Get-V1-05
    ⚠️ RequiredReadOnlySystemData The response of operation:'TenantActivityLogAlerts_CreateOrUpdate' is defined without 'systemData'. Consider adding the systemData to the response.
    Location: Microsoft.AlertsManagement/preview/2023-04-01-preview/TenantActivityLogAlerts.json#L38
    ⚠️ RequiredReadOnlySystemData The response of operation:'TenantActivityLogAlerts_Get' is defined without 'systemData'. Consider adding the systemData to the response.
    Location: Microsoft.AlertsManagement/preview/2023-04-01-preview/TenantActivityLogAlerts.json#L87
    ⚠️ RequiredReadOnlySystemData The response of operation:'TenantActivityLogAlerts_Update' is defined without 'systemData'. Consider adding the systemData to the response.
    Location: Microsoft.AlertsManagement/preview/2023-04-01-preview/TenantActivityLogAlerts.json#L155
    ⚠️ EnumInsteadOfBoolean Booleans properties are not descriptive in all cases and can make them to use, evaluate whether is makes sense to keep the property as boolean or turn it into an enum.
    Location: Microsoft.AlertsManagement/preview/2023-04-01-preview/TenantActivityLogAlerts.json#L370
    ⚠️ EnumInsteadOfBoolean Booleans properties are not descriptive in all cases and can make them to use, evaluate whether is makes sense to keep the property as boolean or turn it into an enum.
    Location: Microsoft.AlertsManagement/preview/2023-04-01-preview/TenantActivityLogAlerts.json#L508
    ️❌Avocado: 3 Errors, 1 Warnings failed [Detail]
    Rule Message
    MISSING_APIS_IN_DEFAULT_TAG The default tag should contain all APIs. The API path /providers/Microsoft.Management/managementGroups/{}/providers/Microsoft.AlertsManagement/tenantActivityLogAlerts/{} is not in the default tag. Please make sure the missing API swaggers are in the default tag.
    readme: specification/alertsmanagement/resource-manager/readme.md
    json: Microsoft.AlertsManagement/preview/2023-04-01-preview/TenantActivityLogAlerts.json
    MISSING_APIS_IN_DEFAULT_TAG The default tag should contain all APIs. The API path /providers/Microsoft.AlertsManagement/tenantActivityLogAlerts is not in the default tag. Please make sure the missing API swaggers are in the default tag.
    readme: specification/alertsmanagement/resource-manager/readme.md
    json: Microsoft.AlertsManagement/preview/2023-04-01-preview/TenantActivityLogAlerts.json
    MISSING_APIS_IN_DEFAULT_TAG The default tag should contain all APIs. The API path /providers/Microsoft.Management/managementGroups/{}/providers/Microsoft.AlertsManagement/tenantActivityLogAlerts is not in the default tag. Please make sure the missing API swaggers are in the default tag.
    readme: specification/alertsmanagement/resource-manager/readme.md
    json: Microsoft.AlertsManagement/preview/2023-04-01-preview/TenantActivityLogAlerts.json
    ⚠️ MULTIPLE_API_VERSION The default tag contains multiple API versions swaggers.
    readme: specification/alertsmanagement/resource-manager/readme.md
    tag: specification/alertsmanagement/resource-manager/readme.md#tag-package-2023-03
    ️️✔️ApiReadinessCheck succeeded [Detail] [Expand]
    ️⚠️~[Staging] ServiceAPIReadinessTest: 0 Warnings warning [Detail]

    API Test is not triggered due to precheck failure. Check pipeline log for details.

    ️️✔️SwaggerAPIView succeeded [Detail] [Expand]
    ️️✔️CadlAPIView succeeded [Detail] [Expand]
    ️️✔️ModelValidation succeeded [Detail] [Expand]
    Validation passes for ModelValidation.
    ️️✔️SemanticValidation succeeded [Detail] [Expand]
    Validation passes for SemanticValidation.
    ️️✔️PoliCheck succeeded [Detail] [Expand]
    Validation passed for PoliCheck.
    ️️✔️PrettierCheck succeeded [Detail] [Expand]
    Validation passes for PrettierCheck.
    ️️✔️SpellCheck succeeded [Detail] [Expand]
    Validation passes for SpellCheck.
    ️️✔️Lint(RPaaS) succeeded [Detail] [Expand]
    Validation passes for Lint(RPaaS).
    ️️✔️CadlValidation succeeded [Detail] [Expand]
    Validation passes for CadlValidation.
    ️️✔️PR Summary succeeded [Detail] [Expand]
    Validation passes for Summary.
    Posted by Swagger Pipeline | How to fix these errors?

    @ghost ghost added the Alerts Management label Mar 1, 2023
    @openapi-pipeline-app
    Copy link

    openapi-pipeline-app bot commented Mar 1, 2023

    Swagger Generation Artifacts

    ️🔄ApiDocPreview inProgress [Detail]
    ️️✔️SDK Breaking Change Tracking succeeded [Detail] [Expand]

    Breaking Changes Tracking

    ️❌ azure-sdk-for-net-track2 failed [Detail]
    • Failed [Logs]Release - Generate from c23c230. SDK Automation 14.0.0
      command	pwsh ./eng/scripts/Automation-Sdk-Init.ps1 ../azure-sdk-for-net_tmp/initInput.json ../azure-sdk-for-net_tmp/initOutput.json
      command	pwsh ./eng/scripts/Invoke-GenerateAndBuildV2.ps1 ../azure-sdk-for-net_tmp/generateInput.json ../azure-sdk-for-net_tmp/generateOutput.json
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[31;1mGeneratePackage: �[0m/mnt/vss/_work/1/s/azure-sdk-for-net/eng/scripts/automation/GenerateAndBuildLib.ps1:671
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[36;1mLine |
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[36;1m 671 | �[0m         �[36;1mGeneratePackage -projectFolder $projectFolder -sdkRootPath $s�[0m …
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[36;1m     | �[31;1m         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[31;1m�[36;1m     | �[31;1mFailed to generate sdk. exit code: False
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[0m
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[31;1mGet-ChildItem: �[0m/mnt/vss/_work/1/s/azure-sdk-for-net/eng/scripts/automation/GenerateAndBuildLib.ps1:759
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[36;1mLine |
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[36;1m 759 | �[0m … rtifacts += �[36;1mGet-ChildItem $artifactsPath -Filter *.nupkg -exclude *.s�[0m …
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[36;1m     | �[31;1m               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[31;1m�[36;1m     | �[31;1mCannot find path
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[36;1m     | �[31;1m'/mnt/vss/_work/1/s/azure-sdk-for-net/artifacts/packages/Debug/' because
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[36;1m     | �[31;1mit does not exist.
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[0m
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[31;1mGeneratePackage: �[0m/mnt/vss/_work/1/s/azure-sdk-for-net/eng/scripts/automation/GenerateAndBuildLib.ps1:671
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[36;1mLine |
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[36;1m 671 | �[0m         �[36;1mGeneratePackage -projectFolder $projectFolder -sdkRootPath $s�[0m …
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[36;1m     | �[31;1m         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[31;1m�[36;1m     | �[31;1mFailed to generate sdk artifact
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[0m
    • Azure.ResourceManager.AlertsManagement [View full logs]  [Release SDK Changes]
      info	[Changelog]
    ️⚠️ azure-sdk-for-python-track2 warning [Detail]
    • ⚠️Warning [Logs]Release - Generate from c23c230. SDK Automation 14.0.0
      command	sh scripts/automation_init.sh ../azure-sdk-for-python_tmp/initInput.json ../azure-sdk-for-python_tmp/initOutput.json
      cmderr	[automation_init.sh] WARNING: Skipping azure-nspkg as it is not installed.
      command	sh scripts/automation_generate.sh ../azure-sdk-for-python_tmp/generateInput.json ../azure-sdk-for-python_tmp/generateOutput.json
      cmderr	[automation_generate.sh] npm notice
      cmderr	[automation_generate.sh] npm notice New minor version of npm available! 9.5.0 -> 9.6.2
      cmderr	[automation_generate.sh] npm notice Changelog: <https://github.com/npm/cli/releases/tag/v9.6.2>
      cmderr	[automation_generate.sh] npm notice Run `npm install -g npm@9.6.2` to update!
      cmderr	[automation_generate.sh] npm notice
    • ️✔️track2_azure-mgmt-alertsmanagement [View full logs]  [Release SDK Changes] Breaking Change Detected
      info	[Changelog] ### Features Added
      info	[Changelog]
      info	[Changelog]   - Added operation group AlertRuleRecommendationsOperations
      info	[Changelog]   - Model Resource has a new parameter system_data
      info	[Changelog]
      info	[Changelog] ### Breaking Changes
      info	[Changelog]
      info	[Changelog]   - Model ResourceAutoGenerated no longer has parameter system_data
    ️️✔️ azure-sdk-for-go succeeded [Detail] [Expand]
    • ️✔️Succeeded [Logs]Release - Generate from c23c230. SDK Automation 14.0.0
      command	sh ./eng/scripts/automation_init.sh ../../../../../azure-sdk-for-go_tmp/initInput.json ../../../../../azure-sdk-for-go_tmp/initOutput.json
      command	generator automation-v2 ../../../../../azure-sdk-for-go_tmp/generateInput.json ../../../../../azure-sdk-for-go_tmp/generateOutput.json
    • ️✔️sdk/resourcemanager/alertsmanagement/armalertsmanagement [View full logs]  [Release SDK Changes] Breaking Change Detected
      info	[Changelog] ### Breaking Changes
      info	[Changelog]
      info	[Changelog] - Type of `AlertsClientChangeStateOptions.Comment` has been changed from `*string` to `*Comments`
      info	[Changelog] - Type of `ErrorResponse.Error` has been changed from `*ErrorResponseBody` to `*ErrorDetail`
      info	[Changelog] - Type of `ErrorResponseAutoGenerated.Error` has been changed from `*ErrorResponseBodyAutoGenerated` to `*ErrorResponseBody`
      info	[Changelog] - Type of `ErrorResponseAutoGenerated2.Error` has been changed from `*ErrorResponseBodyAutoGenerated2` to `*ErrorResponseBodyAutoGenerated`
      info	[Changelog]
      info	[Changelog] ### Features Added
      info	[Changelog]
      info	[Changelog] - New enum type `MetricAlertsDisplayUnit` with values `MetricAlertsDisplayUnitBillion`, `MetricAlertsDisplayUnitBillionPerSecond`, `MetricAlertsDisplayUnitBytes`, `MetricAlertsDisplayUnitBytesPerDay`, `MetricAlertsDisplayUnitBytesPerHour`, `MetricAlertsDisplayUnitBytesPerMinute`, `MetricAlertsDisplayUnitBytesPerSecond`, `MetricAlertsDisplayUnitCount`, `MetricAlertsDisplayUnitCountPerDay`, `MetricAlertsDisplayUnitCountPerHour`, `MetricAlertsDisplayUnitCountPerMinute`, `MetricAlertsDisplayUnitCountPerSecond`, `MetricAlertsDisplayUnitDays`, `MetricAlertsDisplayUnitGigabytes`, `MetricAlertsDisplayUnitGigabytesPerSecond`, `MetricAlertsDisplayUnitHours`, `MetricAlertsDisplayUnitKilobytes`, `MetricAlertsDisplayUnitKilobytesPerSecond`, `MetricAlertsDisplayUnitMegabytes`, `MetricAlertsDisplayUnitMegabytesPerSecond`, `MetricAlertsDisplayUnitMicroSeconds`, `MetricAlertsDisplayUnitMilliSeconds`, `MetricAlertsDisplayUnitMillion`, `MetricAlertsDisplayUnitMillionPerSecond`, `MetricAlertsDisplayUnitMinutes`, `MetricAlertsDisplayUnitNone`, `MetricAlertsDisplayUnitPercentage`, `MetricAlertsDisplayUnitPetabytes`, `MetricAlertsDisplayUnitPetabytesPerSecond`, `MetricAlertsDisplayUnitSeconds`, `MetricAlertsDisplayUnitTerabytes`, `MetricAlertsDisplayUnitTerabytesPerSecond`, `MetricAlertsDisplayUnitThousand`, `MetricAlertsDisplayUnitThousandPerSecond`, `MetricAlertsDisplayUnitTrillion`, `MetricAlertsDisplayUnitTrillionPerSecond`
      info	[Changelog] - New function `NewAlertRuleRecommendationsClient(string, string, azcore.TokenCredential, *arm.ClientOptions) (*AlertRuleRecommendationsClient, error)`
      info	[Changelog] - New function `*AlertRuleRecommendationsClient.NewListByResourcePager(string, *AlertRuleRecommendationsClientListByResourceOptions) *runtime.Pager[AlertRuleRecommendationsClientListByResourceResponse]`
      info	[Changelog] - New function `*AlertRuleRecommendationsClient.NewListByTargetTypePager(*AlertRuleRecommendationsClientListByTargetTypeOptions) *runtime.Pager[AlertRuleRecommendationsClientListByTargetTypeResponse]`
      info	[Changelog] - New function `NewClientFactory(string, string, azcore.TokenCredential, *arm.ClientOptions) (*ClientFactory, error)`
      info	[Changelog] - New function `*ClientFactory.NewAlertProcessingRulesClient() *AlertProcessingRulesClient`
      info	[Changelog] - New function `*ClientFactory.NewAlertRuleRecommendationsClient() *AlertRuleRecommendationsClient`
      info	[Changelog] - New function `*ClientFactory.NewAlertsClient() *AlertsClient`
      info	[Changelog] - New function `*ClientFactory.NewOperationsClient() *OperationsClient`
      info	[Changelog] - New function `*ClientFactory.NewPrometheusRuleGroupsClient() *PrometheusRuleGroupsClient`
      info	[Changelog] - New function `*ClientFactory.NewSmartGroupsClient() *SmartGroupsClient`
      info	[Changelog] - New function `NewPrometheusRuleGroupsClient(string, azcore.TokenCredential, *arm.ClientOptions) (*PrometheusRuleGroupsClient, error)`
      info	[Changelog] - New function `*PrometheusRuleGroupsClient.CreateOrUpdate(context.Context, string, string, PrometheusRuleGroupResource, *PrometheusRuleGroupsClientCreateOrUpdateOptions) (PrometheusRuleGroupsClientCreateOrUpdateResponse, error)`
      info	[Changelog] - New function `*PrometheusRuleGroupsClient.Delete(context.Context, string, string, *PrometheusRuleGroupsClientDeleteOptions) (PrometheusRuleGroupsClientDeleteResponse, error)`
      info	[Changelog] - New function `*PrometheusRuleGroupsClient.Get(context.Context, string, string, *PrometheusRuleGroupsClientGetOptions) (PrometheusRuleGroupsClientGetResponse, error)`
      info	[Changelog] - New function `*PrometheusRuleGroupsClient.NewListByResourceGroupPager(string, *PrometheusRuleGroupsClientListByResourceGroupOptions) *runtime.Pager[PrometheusRuleGroupsClientListByResourceGroupResponse]`
      info	[Changelog] - New function `*PrometheusRuleGroupsClient.NewListBySubscriptionPager(*PrometheusRuleGroupsClientListBySubscriptionOptions) *runtime.Pager[PrometheusRuleGroupsClientListBySubscriptionResponse]`
      info	[Changelog] - New function `*PrometheusRuleGroupsClient.Update(context.Context, string, string, PrometheusRuleGroupResourcePatchParameters, *PrometheusRuleGroupsClientUpdateOptions) (PrometheusRuleGroupsClientUpdateResponse, error)`
      info	[Changelog] - New struct `AlertRuleRecommendationProperties`
      info	[Changelog] - New struct `AlertRuleRecommendationResource`
      info	[Changelog] - New struct `AlertRuleRecommendationsListResponse`
      info	[Changelog] - New struct `ClientFactory`
      info	[Changelog] - New struct `Comments`
      info	[Changelog] - New struct `ErrorAdditionalInfo`
      info	[Changelog] - New struct `ErrorDetail`
      info	[Changelog] - New struct `ErrorResponseAutoGenerated3`
      info	[Changelog] - New struct `PrometheusRule`
      info	[Changelog] - New struct `PrometheusRuleGroupAction`
      info	[Changelog] - New struct `PrometheusRuleGroupProperties`
      info	[Changelog] - New struct `PrometheusRuleGroupResource`
      info	[Changelog] - New struct `PrometheusRuleGroupResourceCollection`
      info	[Changelog] - New struct `PrometheusRuleGroupResourcePatchParameters`
      info	[Changelog] - New struct `PrometheusRuleGroupResourcePatchParametersProperties`
      info	[Changelog] - New struct `PrometheusRuleResolveConfiguration`
      info	[Changelog] - New struct `ProxyResource`
      info	[Changelog] - New struct `ResourceAutoGenerated`
      info	[Changelog] - New struct `RuleArmTemplate`
      info	[Changelog] - New struct `TrackedResource`
      info	[Changelog] - New field `SystemData` in struct `Resource`
      info	[Changelog]
      info	[Changelog] Total 4 breaking change(s), 95 additive change(s).
    ️⚠️ azure-resource-manager-schemas warning [Detail]
    • ⚠️Warning [Logs]Release - Generate from c23c230. Schema Automation 14.0.0
      command	.sdkauto/initScript.sh ../azure-resource-manager-schemas_tmp/initInput.json ../azure-resource-manager-schemas_tmp/initOutput.json
      cmderr	[initScript.sh]  WARN old lockfile
      cmderr	[initScript.sh] npm WARN old lockfile The package-lock.json file was created with an old version of npm,
      cmderr	[initScript.sh] npm WARN old lockfile so supplemental metadata must be fetched from the registry.
      cmderr	[initScript.sh] npm WARN old lockfile
      cmderr	[initScript.sh] npm WARN old lockfile This is a one-time fix-up, please be patient...
      cmderr	[initScript.sh] npm WARN old lockfile
      warn	File azure-resource-manager-schemas_tmp/initOutput.json not found to read
      command	.sdkauto/generateScript.sh ../azure-resource-manager-schemas_tmp/generateInput.json ../azure-resource-manager-schemas_tmp/generateOutput.json
    • ️✔️alertsmanagement [View full logs]  [Release Schema Changes]
    ️❌ azure-powershell failed [Detail]
    • Failed [Logs]Release - Generate from c23c230. SDK Automation 14.0.0
      command	sh ./tools/SwaggerCI/init.sh ../azure-powershell_tmp/initInput.json ../azure-powershell_tmp/initOutput.json
      command	pwsh ./tools/SwaggerCI/psci.ps1 ../azure-powershell_tmp/generateInput.json ../azure-powershell_tmp/generateOutput.json
    • Az.alertsmanagement.DefaultTag [View full logs]  [Release SDK Changes]
    Posted by Swagger Pipeline | How to fix these errors?

    @openapi-pipeline-app
    Copy link

    openapi-pipeline-app bot commented Mar 1, 2023

    Generated ApiView

    Language Package Name ApiView Link
    Go sdk/resourcemanager/alertsmanagement/armalertsmanagement https://apiview.dev/Assemblies/Review/8c9114eedcf6417e9dd17f6bf4a54ee4

    @openapi-workflow-bot
    Copy link

    Hi @meydand, Your PR has some issues. Please fix the CI sequentially by following the order of Avocado, semantic validation, model validation, breaking change, lintDiff. If you have any questions, please post your questions in this channel https://aka.ms/swaggersupport.

    TaskHow to fixPriority
    AvocadoFix-AvocadoHigh
    Semantic validationFix-SemanticValidation-ErrorHigh
    Model validationFix-ModelValidation-ErrorHigh
    LintDiffFix-LintDiffhigh
    If you need further help, please feedback via swagger feedback.

    @openapi-workflow-bot
    Copy link

    Hi, @meydand your PR are labelled with WaitForARMFeedback. A notification email will be sent out shortly afterwards to notify ARM review board(armapireview@microsoft.com).

    @meydand
    Copy link
    Contributor Author

    meydand commented Mar 1, 2023

    This PR introduces a new Resource Type - ‘Microsoft.AlertsManagement/TenantActivityLogAlerts’.
    This resource type is expected to be deployed and exposed during March 2023.
    It’s planned to be deployed public as well as sovereign clouds.

    ‘Microsoft.Insights/ActivityLogAlerts’ are alerts that monitors the customers’ activity logs.
    TenantActivityLogAlerts are equivalent to ActivityLogAlerts resources but can be created without owning an Azure Subscription.
    Therefore, TenantActivityLogAlerts are configured as an extension resources type, and will be able to be created as an extension of a management group only.

    "webhookProperties": {
    "type": "object",
    "description": "the dictionary of custom properties to include with the post operation. These data are appended to the webhook payload.",
    "additionalProperties": {
    Copy link
    Member

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    additionalProperties

    ARM recommends against the use of the additionalProperties/empty/unschematized object pattern. ARM favors stronger typing wherever possible because it allows all consumers of your API to reason about it. This has benefits for everyone that interacts with your API including basic infrastructure, other Azure features, SDK owners, and customers. Unschematized objects are essentially API contracts that bypass Azure versioning infrastructure.

    For example, customers will not be able to manage these objects using Azure Policy, or query them using ARG, both of which are standard Azure features. Customers expect to be able to use all common Azure features against all of their resources.

    Generally, this pattern should only be used when needed and the object properties are dynamic, unknown, or user defined. Ref: https://armwiki.azurewebsites.net/api_contracts/guidelines/openapi.html#oapi032-only-use-additionalproperties-when-the-object-properties-are-dynamic-unknown-or-user-defined.

    Copy link
    Contributor Author

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    This resource type is an extension resource flavor of microsoft.insights/activityLogAlerts - to make customers use alerts without owning a subscription.
    Therefore, we would like the payload to be similar to it.
    More specifically, identical to this API version https://github.com/Azure/azure-rest-api-specs/pull/22575/files

    Copy link
    Member

    @TimLovellSmith TimLovellSmith Mar 15, 2023

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    I'm still not sure I understand what you want here. Do you mean that you want this property bag to be the same as activityLogAlerts' one, which already does webhookProeprties and actionProperties this way, as 'additionalProperties'?

    },
    "actionProperties": {
    "type": "object",
    "additionalProperties": {
    Copy link
    Member

    @mentat9 mentat9 Mar 7, 2023

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    additionalProperties

    Please schematize this if possible.

    Copy link
    Contributor Author

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Again - aligning with ActivityLogAlerts

    Copy link
    Member

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Is this an existing public REST API you're referring to? Link? @meydand

    Copy link
    Member

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    I see, referenced above.

    },
    "enabled": {
    "description": "Indicates whether this Activity Log Alert rule is enabled. If an Activity Log Alert rule is not enabled, then none of its actions will be activated.",
    "type": "boolean",
    Copy link
    Member

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    boolean

    ARM recommends string enums over boolean. Generally enums make better properties than booleans. They are more descriptive and flexible while being easier for customers to discover, understand and use. Ref: https://armwiki.azurewebsites.net/rp_onboarding/process/api_review_best_practices.html?q=boolean#common-issues-found-in-review. They allow values other than just true/false and support description strings. Even if you only ever want two values, you can have a string enum with True/False (or Enabled/Disabled, etc.).

    Copy link
    Contributor Author

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    This resource type is an extension resource flavor of microsoft.insights/activityLogAlerts - to make customers use alerts without owning a subscription.
    Therefore, we would like the payload to be similar to it.
    More specifically, identical to this API version https://github.com/Azure/azure-rest-api-specs/pull/22575/files

    "read",
    "create"
    ]
    },
    Copy link
    Member

    @TimLovellSmith TimLovellSmith Mar 15, 2023

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Interesting. Does it need the global location because its a tracked resource?

    "AzureResource": {
    "description": "An Azure resource object.",
    "x-ms-azure-resource": true,
    "type": "object",
    Copy link
    Member

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Instead of defining your own AzureResource its usually recommended to inherit ProxyResource or TrackedResource from common-types.

    Copy link
    Contributor Author

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    I tried using 'Tracked Resource' at first but I got multiple validation errors for not offering a 'list' operation in the resource group etc. Will you be able to approve despite these errors or should I use anything else? My resource is configured as an extension - and will be allowed to be used as an extension of a management group only - therefore can be listed on a management group only

    Copy link
    Member

    @TimLovellSmith TimLovellSmith Mar 17, 2023

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Probably ProxyResource would be the better fit then?
    EIther way, if you still have errors about list by resoruce group, I think we could suppress them.

    @ArcturusZhang ArcturusZhang added the WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required label Mar 17, 2023
    @openapi-workflow-bot openapi-workflow-bot bot removed the ARMChangesRequested <valid label in PR review process>add this label when require changes after ARM review label Mar 17, 2023
    "read",
    "create"
    ]
    },
    Copy link
    Member

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    (I'm actually a little confused about the value of a 'location' property in this case. Isn't 'global' not significantly different from having no location? Is it being used for routing somehow?)

    Copy link
    Contributor Author

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Activity Log Alerts Resource provider is a global service - therefore the expected location will always 'global' - and it will always be routed to the same traffic manager

    @raosuhas raosuhas added the ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review label Mar 23, 2023
    @openapi-workflow-bot openapi-workflow-bot bot removed the WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required label Mar 23, 2023
    @ArcturusZhang
    Copy link
    Member

    this PR does not change the default tag, therefore ignoring the avocado failure

    @ArcturusZhang
    Copy link
    Member

    the linter issues are false alarms because the added resource is under mgmt group instead of subscription or resource group

    @ArcturusZhang
    Copy link
    Member

    Since this PR does not change the default tag, SDK breaking changes should exist before this PR

    @ArcturusZhang ArcturusZhang merged commit c23c230 into main Mar 23, 2023
    @ArcturusZhang ArcturusZhang deleted the meydand-alertsmanagement-Microsoft.AlertsManagement-2023-04-01-preview2 branch March 23, 2023 10:46
    JoshLove-msft pushed a commit to JoshLove-msft/azure-rest-api-specs that referenced this pull request Apr 25, 2023
    …version preview/2023-04-01-preview (Azure#22849)
    
    * Adds base for updating Microsoft.AlertsManagement from version preview/2023-01-01-preview to version 2023-04-01-preview
    
    * Updates readme
    
    * Updates API version in new specs and examples
    
    * Add TenantActivityLogAlerts Resource type
    
    * Prettier
    
    * Align with ALA
    
    * Fix issues
    
    * Prettier
    
    * Fix param
    
    * fix PR comments
    
    ---------
    
    Co-authored-by: meydand <t-meday@microsoft.com>
    Co-authored-by: Meydan Dayan <meday@microsoft.com>
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Projects
    None yet
    Development

    Successfully merging this pull request may close these issues.

    7 participants