azure-rest-api-specs icon indicating copy to clipboard operation
azure-rest-api-specs copied to clipboard

Review request for Microsoft.HardwareSecurityModules to add version 2024-06-30 (Includes Azure Backup)

Open emmeliaAra opened this issue 1 year ago • 28 comments

ARM (Control Plane) API Specification Update Pull Request

[!TIP] Overwhelmed by all this guidance? See the Getting help section at the bottom of this PR description.

[!NOTE] As of January 2024 there is no PR assignee. This is expected. See https://aka.ms/azsdk/pr-arm-review.

PR review workflow diagram

Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

diagram

Click here to see the details of Step 1, Breaking Changes review

If you are in purview of Step 1 of the diagram, follow the Breaking Changes review process.
IMPORTANT! This applies even if you believe your PR was mislabeled, for any reason, including tool failure.

Click here to see the details of Step 2, ARM review

See https://aka.ms/azsdk/pr-arm-review.

Click here to see the diagram footnotes

Diagram footnotes

[1] See ARM review queue (for PR merge queues, see [2]).
[2] public repo merge queue, private repo merge queue (for ARM review queue, [1])
The ARM reviewer on-call engineer visits the merge queue twice a day, so the approximate ETA for merges is 12 - 24 hours.

Purpose of this PR

What's the purpose of this PR? Check the specific option that applies. This is mandatory!

  • [ ] New resource provider.
  • [X] New API version for an existing resource provider. (If API spec is not defined in TypeSpec, the PR should have been generated using OpenAPI Hub).
  • [ ] Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
  • [ ] Update existing version to fix OpenAPI spec quality issues in S360.
  • [ ] Other, please clarify:
    • edit this with your clarification

Due diligence checklist

To merge this PR, you must go through the following checklist and confirm you understood and followed the instructions by checking all the boxes:

  • [x] I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
  • [x] I have reviewed following Resource Provider guidelines, including ARM resource provider contract and REST guidelines (estimated time: 4 hours).
    I understand this is required before I can proceed to the diagram Step 2, "ARM API changes review", for this PR.

Additional information

Viewing API changes

For convenient view of the API changes made by this PR, refer to the URLs provided in the table in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.

Suppressing failures

If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the suppressions guide to get approval.

Getting help

  • First, please carefully read through this PR description, from top to bottom. Please fill out the Purpose of this PR and Due diligence checklist.
  • To understand what you must do next to merge this PR, see the Next Steps to Merge comment. It will appear within few minutes of submitting this PR and will continue to be up-to-date with current PR state.
  • For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure and https://aka.ms/ci-fix.
  • For help with PR workflow diagram Step 2 (ARM review), see https://aka.ms/azsdk/pr-arm-review.
  • If the PR CI checks appear to be stuck in queued state, please add a comment with contents /azp run. This should result in a new comment denoting a PR validation pipeline has started and the checks should be updated after few minutes.
  • If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.

emmeliaAra avatar Apr 09 '24 16:04 emmeliaAra

Next Steps to Merge

Next steps that must be taken to merge this PR:
  • ❌ This PR is in purview of the ARM review (label: ARMReview). This PR must get ARMSignedOff label from an ARM reviewer.
    This PR has ARMChangesRequested label. Please address or respond to feedback from the ARM API reviewer.
    When you are ready to continue the ARM API review, please remove the ARMChangesRequested label.
    Automation should then add WaitForARMFeedback label.
    ❗If you don't have permissions to remove the label, request write access per aka.ms/azsdk/access#request-access-to-rest-api-or-sdk-repositories.
    For details of the ARM review, see aka.ms/azsdk/pr-arm-review
  • ❌ The required check named Swagger LintDiff has failed. Refer to the check in the PR's 'Checks' tab for details on how to fix it and consult the aka.ms/ci-fix guide

Swagger Validation Report

️️✔️BreakingChange succeeded [Detail] [Expand]
There are no breaking changes.
️❌Breaking Change(Cross-Version): 26 Errors, 133 Warnings failed [Detail]
Compared specs (v0.10.12) new version base version
cloudhsm.json 2024-06-30(8f823a5) 2023-12-10-preview(main)
dedicatedhsm.json 2024-06-30(8f823a5) 2021-11-30(main)
dedicatedhsm.json 2024-06-30(8f823a5) 2018-10-31-preview(main)

The following breaking changes are detected by comparison with the latest stable version:

Only 29 items are listed, please refer to log for more details.

Rule Message
1005 - RemovedPath The new version is missing a path that was found in the old version. Was path '/providers/Microsoft.HardwareSecurityModules/operations' removed or restructured?
Old: Microsoft.HardwareSecurityModules/stable/2021-11-30/dedicatedhsm.json#L37:5
1006 - RemovedDefinition The new version is missing a definition that was found in the old version. Was 'SystemData' removed or renamed?
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L405:3
Old: Microsoft.HardwareSecurityModules/stable/2021-11-30/dedicatedhsm.json#L478:3
1009 - RemovedRequiredParameter The required parameter 'name' was removed in the new version.
Old: Microsoft.HardwareSecurityModules/stable/2021-11-30/dedicatedhsm.json#L92:11
1009 - RemovedRequiredParameter The required parameter 'name' was removed in the new version.
Old: Microsoft.HardwareSecurityModules/stable/2021-11-30/dedicatedhsm.json#L163:11
1009 - RemovedRequiredParameter The required parameter 'name' was removed in the new version.
Old: Microsoft.HardwareSecurityModules/stable/2021-11-30/dedicatedhsm.json#L226:11
1009 - RemovedRequiredParameter The required parameter 'name' was removed in the new version.
Old: Microsoft.HardwareSecurityModules/stable/2021-11-30/dedicatedhsm.json#L277:11
1009 - RemovedRequiredParameter The required parameter 'name' was removed in the new version.
Old: Microsoft.HardwareSecurityModules/stable/2021-11-30/dedicatedhsm.json#L439:11
1010 - AddingRequiredParameter The required parameter 'dedicatedHsmName' was added in the new version.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L45:9
1010 - AddingRequiredParameter The required parameter 'dedicatedHsmName' was added in the new version.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L107:9
1010 - AddingRequiredParameter The required parameter 'dedicatedHsmName' was added in the new version.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L170:9
1010 - AddingRequiredParameter The required parameter 'dedicatedHsmName' was added in the new version.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L216:9
1010 - AddingRequiredParameter The required parameter 'dedicatedHsmName' was added in the new version.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L366:9
1011 - AddingResponseCode The new version adds a response code '202'.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L138:11
1023 - TypeFormatChanged The new version has a different format 'arm-id' than the previous one ''.
New: common-types/resource-management/v5/types.json#L14:9
Old: Microsoft.HardwareSecurityModules/stable/2021-11-30/dedicatedhsm.json#L810:9
1023 - TypeFormatChanged The new version has a different format 'uuid' than the previous one ''.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L45:9
Old: Microsoft.HardwareSecurityModules/stable/2021-11-30/dedicatedhsm.json#L84:9
1023 - TypeFormatChanged The new version has a different format 'uuid' than the previous one ''.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L107:9
Old: Microsoft.HardwareSecurityModules/stable/2021-11-30/dedicatedhsm.json#L155:9
1023 - TypeFormatChanged The new version has a different format 'uuid' than the previous one ''.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L170:9
Old: Microsoft.HardwareSecurityModules/stable/2021-11-30/dedicatedhsm.json#L218:9
1023 - TypeFormatChanged The new version has a different format 'uuid' than the previous one ''.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L216:9
Old: Microsoft.HardwareSecurityModules/stable/2021-11-30/dedicatedhsm.json#L269:9
1023 - TypeFormatChanged The new version has a different format 'uuid' than the previous one ''.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L264:9
Old: Microsoft.HardwareSecurityModules/stable/2021-11-30/dedicatedhsm.json#L325:9
1023 - TypeFormatChanged The new version has a different format 'uuid' than the previous one ''.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L316:9
Old: Microsoft.HardwareSecurityModules/stable/2021-11-30/dedicatedhsm.json#L381:9
1023 - TypeFormatChanged The new version has a different format 'uuid' than the previous one ''.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L366:9
Old: Microsoft.HardwareSecurityModules/stable/2021-11-30/dedicatedhsm.json#L431:9
1023 - TypeFormatChanged The new version has a different format 'uuid' than the previous one ''.
New: common-types/resource-management/v5/types.json#L632:5
Old: common-types/resource-management/v3/types.json#L622:5
1033 - RemovedProperty The new version is missing a property found in the old version. Was 'id' renamed or removed?
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L407:7
Old: Microsoft.HardwareSecurityModules/stable/2021-11-30/dedicatedhsm.json#L537:7
1033 - RemovedProperty The new version is missing a property found in the old version. Was 'id' renamed or removed?
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L418:7
Old: Microsoft.HardwareSecurityModules/stable/2021-11-30/dedicatedhsm.json#L547:7
1047 - XmsEnumChanged The new version has a different x-ms-enum 'name' than the previous one.
New: common-types/resource-management/v5/types.json#L511:9
Old: Microsoft.HardwareSecurityModules/stable/2021-11-30/dedicatedhsm.json#L867:9
1047 - XmsEnumChanged The new version has a different x-ms-enum 'name' than the previous one.
New: common-types/resource-management/v5/types.json#L534:9
Old: Microsoft.HardwareSecurityModules/stable/2021-11-30/dedicatedhsm.json#L880:9
:warning: 1017 - ReferenceRedirection The '$ref' property points to different models in the old and new versions.
New: common-types/resource-management/v5/types.json#L30:9
Old: Microsoft.HardwareSecurityModules/stable/2021-11-30/dedicatedhsm.json#L704:9
:warning: 1017 - ReferenceRedirection The '$ref' property points to different models in the old and new versions.
New: common-types/resource-management/v5/types.json#L511:9
Old: Microsoft.HardwareSecurityModules/stable/2021-11-30/dedicatedhsm.json#L867:9
:warning: 1017 - ReferenceRedirection The '$ref' property points to different models in the old and new versions.
New: common-types/resource-management/v5/types.json#L534:9
Old: Microsoft.HardwareSecurityModules/stable/2021-11-30/dedicatedhsm.json#L880:9


The following breaking changes are detected by comparison with the latest preview version:

Only 29 items are listed, please refer to log for more details.

Rule Message
:warning: 1005 - RemovedPath The new version is missing a path that was found in the old version. Was path '/providers/Microsoft.HardwareSecurityModules/operations' removed or restructured?
Old: Microsoft.HardwareSecurityModules/preview/2018-10-31-preview/dedicatedhsm.json#L37:5
:warning: 1006 - RemovedDefinition The new version is missing a definition that was found in the old version. Was 'CloudHsmClusterSecurityDomainProperties' removed or renamed?
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L1042:3
Old: Microsoft.HardwareSecurityModules/preview/2023-12-10-preview/cloudhsm.json#L591:3
:warning: 1006 - RemovedDefinition The new version is missing a definition that was found in the old version. Was 'BackupProperties' removed or renamed?
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L1042:3
Old: Microsoft.HardwareSecurityModules/preview/2023-12-10-preview/cloudhsm.json#L591:3
:warning: 1006 - RemovedDefinition The new version is missing a definition that was found in the old version. Was 'RestoreProperties' removed or renamed?
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L1042:3
Old: Microsoft.HardwareSecurityModules/preview/2023-12-10-preview/cloudhsm.json#L591:3
:warning: 1009 - RemovedRequiredParameter The required parameter 'name' was removed in the new version.
Old: Microsoft.HardwareSecurityModules/preview/2018-10-31-preview/dedicatedhsm.json#L89:11
:warning: 1009 - RemovedRequiredParameter The required parameter 'name' was removed in the new version.
Old: Microsoft.HardwareSecurityModules/preview/2018-10-31-preview/dedicatedhsm.json#L157:11
:warning: 1009 - RemovedRequiredParameter The required parameter 'name' was removed in the new version.
Old: Microsoft.HardwareSecurityModules/preview/2018-10-31-preview/dedicatedhsm.json#L220:11
:warning: 1009 - RemovedRequiredParameter The required parameter 'name' was removed in the new version.
Old: Microsoft.HardwareSecurityModules/preview/2018-10-31-preview/dedicatedhsm.json#L271:11
:warning: 1010 - AddingRequiredParameter The required parameter 'dedicatedHsmName' was added in the new version.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L45:9
:warning: 1010 - AddingRequiredParameter The required parameter 'dedicatedHsmName' was added in the new version.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L107:9
:warning: 1010 - AddingRequiredParameter The required parameter 'dedicatedHsmName' was added in the new version.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L170:9
:warning: 1010 - AddingRequiredParameter The required parameter 'dedicatedHsmName' was added in the new version.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L216:9
:warning: 1011 - AddingResponseCode The new version adds a response code '202'.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L138:11
:warning: 1017 - ReferenceRedirection The '$ref' property points to different models in the old and new versions.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L87:13
Old: Microsoft.HardwareSecurityModules/preview/2023-12-10-preview/cloudhsm.json#L87:13
:warning: 1017 - ReferenceRedirection The '$ref' property points to different models in the old and new versions.
New: common-types/resource-management/v6/types.json#L266:9
Old: Microsoft.HardwareSecurityModules/preview/2023-12-10-preview/cloudhsm.json#L830:9
:warning: 1017 - ReferenceRedirection The '$ref' property points to different models in the old and new versions.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L151:13
Old: Microsoft.HardwareSecurityModules/preview/2023-12-10-preview/cloudhsm.json#L150:13
:warning: 1017 - ReferenceRedirection The '$ref' property points to different models in the old and new versions.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L191:13
Old: Microsoft.HardwareSecurityModules/preview/2023-12-10-preview/cloudhsm.json#L190:13
:warning: 1017 - ReferenceRedirection The '$ref' property points to different models in the old and new versions.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L242:13
Old: Microsoft.HardwareSecurityModules/preview/2023-12-10-preview/cloudhsm.json#L243:13
:warning: 1017 - ReferenceRedirection The '$ref' property points to different models in the old and new versions.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L288:13
Old: Microsoft.HardwareSecurityModules/preview/2023-12-10-preview/cloudhsm.json#L289:13
:warning: 1017 - ReferenceRedirection The '$ref' property points to different models in the old and new versions.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L334:13
Old: Microsoft.HardwareSecurityModules/preview/2023-12-10-preview/cloudhsm.json#L335:13
:warning: 1017 - ReferenceRedirection The '$ref' property points to different models in the old and new versions.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L379:13
Old: Microsoft.HardwareSecurityModules/preview/2023-12-10-preview/cloudhsm.json#L380:13
:warning: 1017 - ReferenceRedirection The '$ref' property points to different models in the old and new versions.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L436:13
Old: Microsoft.HardwareSecurityModules/preview/2023-12-10-preview/cloudhsm.json#L434:13
:warning: 1017 - ReferenceRedirection The '$ref' property points to different models in the old and new versions.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L490:13
Old: Microsoft.HardwareSecurityModules/preview/2023-12-10-preview/cloudhsm.json#L490:13
:warning: 1017 - ReferenceRedirection The '$ref' property points to different models in the old and new versions.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L533:13
Old: Microsoft.HardwareSecurityModules/preview/2023-12-10-preview/cloudhsm.json#L533:13
:warning: 1017 - ReferenceRedirection The '$ref' property points to different models in the old and new versions.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L575:13
Old: Microsoft.HardwareSecurityModules/preview/2023-12-10-preview/cloudhsm.json#L575:13
:warning: 1023 - TypeFormatChanged The new version has a different format 'uri' than the previous one ''.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L142:15
Old: Microsoft.HardwareSecurityModules/preview/2023-12-10-preview/cloudhsm.json#L142:15
:warning: 1023 - TypeFormatChanged The new version has a different format 'uri' than the previous one ''.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L230:15
Old: Microsoft.HardwareSecurityModules/preview/2023-12-10-preview/cloudhsm.json#L232:15
:warning: 1023 - TypeFormatChanged The new version has a different format 'uri' than the previous one ''.
New: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L478:15
Old: Microsoft.HardwareSecurityModules/preview/2023-12-10-preview/cloudhsm.json#L479:15
:warning: 1023 - TypeFormatChanged The new version has a different format 'arm-id' than the previous one ''.
New: common-types/resource-management/v5/types.json#L14:9
Old: Microsoft.HardwareSecurityModules/preview/2018-10-31-preview/dedicatedhsm.json#L708:9
️️✔️CredScan succeeded [Detail] [Expand]
There is no credential detected.
️❌LintDiff: 3 Errors, 32 Warnings failed [Detail]
Compared specs (v2.2.2) new version base version
package-2024-06 package-2024-06(8f823a5) default(main)

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

Only 29 items are listed, please refer to log for more details.

Rule Message Related RPC [For API reviewers]
LroErrorContent Error response content of long running operations must follow the error schema provided in the common types v2 and above.
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L84
LroErrorContent Error response content of long running operations must follow the error schema provided in the common types v2 and above.
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L150
LroErrorContent Error response content of long running operations must follow the error schema provided in the common types v2 and above.
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L200
:warning: LatestVersionOfCommonTypesMustBeUsed Use the latest version v5 of types.json.
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L88
:warning: PatchSkuProperty The patch operation body parameter schema should contain property 'sku'.
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L121
RPC-Patch-V1-09
:warning: LatestVersionOfCommonTypesMustBeUsed Use the latest version v5 of types.json.
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L152
:warning: LatestVersionOfCommonTypesMustBeUsed Use the latest version v5 of types.json.
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L192
:warning: LatestVersionOfCommonTypesMustBeUsed Use the latest version v5 of types.json.
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L243
:warning: LatestVersionOfCommonTypesMustBeUsed Use the latest version v5 of types.json.
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L289
:warning: LatestVersionOfCommonTypesMustBeUsed Use the latest version v5 of types.json.
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L335
:warning: LatestVersionOfCommonTypesMustBeUsed Use the latest version v5 of privatelinks.json.
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L374
:warning: LatestVersionOfCommonTypesMustBeUsed Use the latest version v5 of types.json.
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L380
:warning: LatestVersionOfCommonTypesMustBeUsed Use the latest version v5 of types.json.
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L437
:warning: LatestVersionOfCommonTypesMustBeUsed Use the latest version v5 of types.json.
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L491
:warning: LatestVersionOfCommonTypesMustBeUsed Use the latest version v5 of types.json.
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L534
:warning: LatestVersionOfCommonTypesMustBeUsed Use the latest version v5 of types.json.
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L576
:warning: PostOperationIdContainsUrlVerb OperationId should contain the verb: 'validatebackupproperties' in:'CloudHsmClusters_ValidateBackup'. Consider updating the operationId
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L595
:warning: LatestVersionOfCommonTypesMustBeUsed Use the latest version v5 of types.json.
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L663
:warning: LatestVersionOfCommonTypesMustBeUsed Use the latest version v5 of types.json.
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L747
:warning: LatestVersionOfCommonTypesMustBeUsed Use the latest version v5 of types.json.
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L798
:warning: PostOperationIdContainsUrlVerb OperationId should contain the verb: 'validaterestoreproperties' in:'CloudHsmClusters_ValidateRestore'. Consider updating the operationId
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L820
:warning: LatestVersionOfCommonTypesMustBeUsed Use the latest version v5 of types.json.
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L888
:warning: LatestVersionOfCommonTypesMustBeUsed Use the latest version v5 of types.json.
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L973
:warning: LatestVersionOfCommonTypesMustBeUsed Use the latest version v5 of types.json.
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L1024
:warning: 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.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L1118
:warning: LatestVersionOfCommonTypesMustBeUsed Use the latest version v5 of types.json.
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L1426
:warning: OperationIdNounConflictingModelNames OperationId has a noun that conflicts with one of the model names in definitions section. The model name will be disambiguated to 'DedicatedHsmModel'. Consider using the plural form of 'DedicatedHsm' to avoid this. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L42
:warning: OperationIdNounConflictingModelNames OperationId has a noun that conflicts with one of the model names in definitions section. The model name will be disambiguated to 'DedicatedHsmModel'. Consider using the plural form of 'DedicatedHsm' to avoid this. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L104
:warning: PatchSkuProperty The patch operation body parameter schema should contain property 'sku'.
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L114
RPC-Patch-V1-09


The following errors/warnings exist before current PR submission:

Rule Message
PatchBodyParametersSchema Properties of a PATCH request body must not be required, property:type.
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L126
PutResponseCodes Synchronous and long-running PUT operations must have responses with 200, 201 and default return codes. They also must not have other response codes.
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L395
ProvisioningStateValidation ProvisioningState must have terminal states: Succeeded, Failed and Canceled.
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L521
:warning: OperationIdNounConflictingModelNames OperationId has a noun that conflicts with one of the model names in definitions section. The model name will be disambiguated to 'DedicatedHsmModel'. Consider using the plural form of 'DedicatedHsm' to avoid this. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L262
:warning: OperationIdNounConflictingModelNames OperationId has a noun that conflicts with one of the model names in definitions section. The model name will be disambiguated to 'DedicatedHsmModel'. Consider using the plural form of 'DedicatedHsm' to avoid this. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.
Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L314
️️✔️Avocado succeeded [Detail] [Expand]
Validation passes for Avocado.
️️✔️SwaggerAPIView succeeded [Detail] [Expand]
️️✔️TypeSpecAPIView 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.
️️✔️SpellCheck succeeded [Detail] [Expand]
Validation passes for SpellCheck.
️️✔️Lint(RPaaS) succeeded [Detail] [Expand]
Validation passes for Lint(RPaaS).
️️✔️PR Summary succeeded [Detail] [Expand]
Validation passes for Summary.
️️✔️Automated merging requirements met succeeded [Detail] [Expand]
Posted by Swagger Pipeline | How to fix these errors?

Swagger Generation Artifacts

️️✔️ApiDocPreview succeeded [Detail] [Expand]
 Please click here to preview with your @microsoft account. 
️⚠️ azure-sdk-for-python warning [Detail]
    For more instructions, please refer to the FAQ .
  • ⚠️Warning in generating from f10b52645d21f0cbe068599582b24daaa251da5a. 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] W: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list.d/azure-cli.list:1 and /etc/apt/sources.list.d/azure-cli.sources:1
    cmderr	[automation_init.sh] W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/azure-cli.list:1 and /etc/apt/sources.list.d/azure-cli.sources:1
    cmderr	[automation_init.sh] W: Target Translations (main/i18n/Translation-en) is configured multiple times in /etc/apt/sources.list.d/azure-cli.list:1 and /etc/apt/sources.list.d/azure-cli.sources:1
    cmderr	[automation_init.sh] W: Target CNF (main/cnf/Commands-amd64) is configured multiple times in /etc/apt/sources.list.d/azure-cli.list:1 and /etc/apt/sources.list.d/azure-cli.sources:1
    cmderr	[automation_init.sh] W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/azure-cli.list:1 and /etc/apt/sources.list.d/azure-cli.sources:1
    cmderr	[automation_init.sh] W: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list.d/azure-cli.list:1 and /etc/apt/sources.list.d/azure-cli.sources:1
    cmderr	[automation_init.sh] W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/azure-cli.list:1 and /etc/apt/sources.list.d/azure-cli.sources:1
    cmderr	[automation_init.sh] W: Target Translations (main/i18n/Translation-en) is configured multiple times in /etc/apt/sources.list.d/azure-cli.list:1 and /etc/apt/sources.list.d/azure-cli.sources:1
    cmderr	[automation_init.sh] W: Target CNF (main/cnf/Commands-amd64) is configured multiple times in /etc/apt/sources.list.d/azure-cli.list:1 and /etc/apt/sources.list.d/azure-cli.sources:1
    cmderr	[automation_init.sh] W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/azure-cli.list:1 and /etc/apt/sources.list.d/azure-cli.sources:1
    cmderr	[automation_init.sh] WARNING: Skipping azure-nspkg as it is not installed.
    cmderr	[automation_init.sh] npm notice
    cmderr	[automation_init.sh] npm notice New minor version of npm available! 10.7.0 -> 10.8.1
    cmderr	[automation_init.sh] npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.8.1
    cmderr	[automation_init.sh] npm notice To update run: npm install -g [email protected]
    cmderr	[automation_init.sh] npm notice
    command	sh scripts/automation_generate.sh ../azure-sdk-for-python_tmp/generateInput.json ../azure-sdk-for-python_tmp/generateOutput.json
  • ️✔️azure-mgmt-hardwaresecuritymodules [Preview SDK Changes]
️❌ azure-resource-manager-schemas failed [Detail]
    For more instructions, please refer to the FAQ .
  • Code Generator Failed in generating from f10b52645d21f0cbe068599582b24daaa251da5a. 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] Submodule 'bicep-types-az' (https://github.com/Azure/bicep-types-az) registered for path 'bicep-types-az'
    cmderr	[initScript.sh] Cloning into '/mnt/vss/_work/1/s/azure-resource-manager-schemas/bicep-types-az'...
    cmderr	[initScript.sh] Submodule 'bicep-types' (https://github.com/Azure/bicep-types) registered for path 'bicep-types-az/bicep-types'
    cmderr	[initScript.sh] Cloning into '/mnt/vss/_work/1/s/azure-resource-manager-schemas/bicep-types-az/bicep-types'...
    cmderr	[initScript.sh] npm notice
    cmderr	[initScript.sh] npm notice New minor version of npm available! 10.7.0 -> 10.8.1
    cmderr	[initScript.sh] npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.8.1
    cmderr	[initScript.sh] npm notice To update run: npm install -g [email protected]
    cmderr	[initScript.sh] npm notice
    error	Script return with result [failed] code [1] signal [null] cwd [azure-resource-manager-schemas]: .sdkauto/initScript.sh
    warn	Warning: File azure-resource-manager-schemas_tmp/initOutput.json not found to read. Please re-run the pipeline if the error is transitient error or report this issue through https://aka.ms/azsdk/support/specreview-channel.
    command	.sdkauto/generateScript.sh ../azure-resource-manager-schemas_tmp/generateInput.json ../azure-resource-manager-schemas_tmp/generateOutput.json
    cmderr	[generateScript.sh] /mnt/vss/_work/1/a/unified-pipeline-runtime/common/temp/node_modules/.pnpm/[email protected][email protected]/node_modules/ts-node/src/index.ts:500
    cmderr	[generateScript.sh]     return new TSError(diagnosticText, diagnosticCodes)
    cmderr	[generateScript.sh]            ^
    cmderr	[generateScript.sh] TSError: ⨯ Unable to compile TypeScript:
    cmderr	[generateScript.sh] cmd/generateall.ts(6,20): error TS2307: Cannot find module 'colors' or its corresponding type declarations.
    cmderr	[generateScript.sh] cmd/generateall.ts(10,19): error TS2307: Cannot find module 'yargs' or its corresponding type declarations.
    cmderr	[generateScript.sh] cmd/generateall.ts(11,18): error TS2307: Cannot find module 'path' or its corresponding type declarations.
    cmderr	[generateScript.sh] cmd/generateall.ts(13,35): error TS2307: Cannot find module 'fs' or its corresponding type declarations.
    cmderr	[generateScript.sh] cmd/generateall.ts(14,23): error TS2307: Cannot find module 'strip-ansi' or its corresponding type declarations.
    cmderr	[generateScript.sh] cmd/generateall.ts(42,9): error TS2584: Cannot find name 'console'. Do you need to change your target library? Try changing the 'lib' compiler option to include 'dom'.
    cmderr	[generateScript.sh] cmd/generateall.ts(53,9): error TS2584: Cannot find name 'console'. Do you need to change your target library? Try changing the 'lib' compiler option to include 'dom'.
    cmderr	[generateScript.sh] cmd/generateall.ts(69,67): error TS7006: Parameter 'x' implicitly has an 'any' type.
    cmderr	[generateScript.sh] cmd/generateall.ts(70,49): error TS7006: Parameter 'f' implicitly has an 'any' type.
    cmderr	[generateScript.sh] cmd/generateall.ts(94,21): error TS2584: Cannot find name 'console'. Do you need to change your target library? Try changing the 'lib' compiler option to include 'dom'.
    cmderr	[generateScript.sh] cmd/generateall.ts(105,21): error TS2584: Cannot find name 'console'. Do you need to change your target library? Try changing the 'lib' compiler option to include 'dom'.
    cmderr	[generateScript.sh] cmd/generateall.ts(106,21): error TS2584: Cannot find name 'console'. Do you need to change your target library? Try changing the 'lib' compiler option to include 'dom'.
    cmderr	[generateScript.sh] cmd/generateall.ts(157,13): error TS2591: Cannot find name 'process'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig.
    cmderr	[generateScript.sh]     at createTSError (/mnt/vss/_work/1/a/unified-pipeline-runtime/common/temp/node_modules/.pnpm/[email protected][email protected]/node_modules/ts-node/src/index.ts:500:12)
    cmderr	[generateScript.sh]     at reportTSError (/mnt/vss/_work/1/a/unified-pipeline-runtime/common/temp/node_modules/.pnpm/[email protected][email protected]/node_modules/ts-node/src/index.ts:504:19)
    cmderr	[generateScript.sh]     at getOutput (/mnt/vss/_work/1/a/unified-pipeline-runtime/common/temp/node_modules/.pnpm/[email protected][email protected]/node_modules/ts-node/src/index.ts:739:36)
    cmderr	[generateScript.sh]     at Object.compile (/mnt/vss/_work/1/a/unified-pipeline-runtime/common/temp/node_modules/.pnpm/[email protected][email protected]/node_modules/ts-node/src/index.ts:955:32)
    cmderr	[generateScript.sh]     at Module.m._compile (/mnt/vss/_work/1/a/unified-pipeline-runtime/common/temp/node_modules/.pnpm/[email protected][email protected]/node_modules/ts-node/src/index.ts:1043:43)
    cmderr	[generateScript.sh]     at Module._extensions..js (node:internal/modules/cjs/loader:1422:10)
    cmderr	[generateScript.sh]     at Object.require.extensions.<computed> [as .ts] (/mnt/vss/_work/1/a/unified-pipeline-runtime/common/temp/node_modules/.pnpm/[email protected][email protected]/node_modules/ts-node/src/index.ts:1046:12)
    cmderr	[generateScript.sh]     at Module.load (node:internal/modules/cjs/loader:1203:32)
    cmderr	[generateScript.sh]     at Function.Module._load (node:internal/modules/cjs/loader:1019:12)
    cmderr	[generateScript.sh]     at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:128:12)
    error	Script return with result [failed] code [1] signal [null] cwd [azure-resource-manager-schemas]: .sdkauto/generateScript.sh
    warn	Warning: Package processing is skipped as the SDK generation fails. Please look into the above generation errors or report this issue through https://aka.ms/azsdk/support/specreview-channel.
️️✔️ azure-sdk-for-go succeeded [Detail] [Expand]
    For more instructions, please refer to the FAQ .
  • ️✔️Succeeded in generating from f10b52645d21f0cbe068599582b24daaa251da5a. 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/hardwaresecuritymodules/armhardwaresecuritymodules [Preview SDK Changes] Breaking Change Detected
    info	[Changelog] ### Breaking Changes
    info	[Changelog]
    info	[Changelog] - Type of `SystemData.CreatedByType` has been changed from `*IdentityType` to `*CreatedByType`
    info	[Changelog] - Type of `SystemData.LastModifiedByType` has been changed from `*IdentityType` to `*CreatedByType`
    info	[Changelog] - Struct `DedicatedHsmOperation` has been removed
    info	[Changelog] - Struct `DedicatedHsmOperationDisplay` has been removed
    info	[Changelog] - Struct `DedicatedHsmOperationListResult` has been removed
    info	[Changelog] - Struct `ResourceListResult` has been removed
    info	[Changelog] - Field `ID` of struct `APIEntityReference` has been removed
    info	[Changelog] - Field `ID` of struct `NetworkInterface` has been removed
    info	[Changelog] - Field `DedicatedHsmOperationListResult` of struct `OperationsClientListResponse` has been removed
    info	[Changelog] - Field `Location`, `SKU`, `Tags`, `Zones` of struct `Resource` has been removed
    info	[Changelog]
    info	[Changelog] ### Features Added
    info	[Changelog]
    info	[Changelog] - New enum type `ActionType` with values `ActionTypeInternal`
    info	[Changelog] - New enum type `ActivationState` with values `ActivationStateActive`, `ActivationStateFailed`, `ActivationStateNotActivated`, `ActivationStateNotDefined`, `ActivationStateUnknown`
    info	[Changelog] - New enum type `BackupRestoreOperationStatus` with values `BackupRestoreOperationStatusCancelled`, `BackupRestoreOperationStatusFailed`, `BackupRestoreOperationStatusInProgress`, `BackupRestoreOperationStatusSucceeded`
    info	[Changelog] - New enum type `CloudHsmClusterSKUFamily` with values `CloudHsmClusterSKUFamilyB`
    info	[Changelog] - New enum type `CloudHsmClusterSKUName` with values `CloudHsmClusterSKUNameStandardB1`, `CloudHsmClusterSKUNameStandardB10`
    info	[Changelog] - New enum type `CreatedByType` with values `CreatedByTypeApplication`, `CreatedByTypeKey`, `CreatedByTypeManagedIdentity`, `CreatedByTypeUser`
    info	[Changelog] - New enum type `ManagedServiceIdentityType` with values `ManagedServiceIdentityTypeNone`, `ManagedServiceIdentityTypeSystemAssigned`, `ManagedServiceIdentityTypeSystemAssignedUserAssigned`, `ManagedServiceIdentityTypeUserAssigned`
    info	[Changelog] - New enum type `Origin` with values `OriginSystem`, `OriginUser`, `OriginUserSystem`
    info	[Changelog] - New enum type `PrivateEndpointConnectionProvisioningState` with values `PrivateEndpointConnectionProvisioningStateCanceled`, `PrivateEndpointConnectionProvisioningStateCreating`, `PrivateEndpointConnectionProvisioningStateDeleting`, `PrivateEndpointConnectionProvisioningStateFailed`, `PrivateEndpointConnectionProvisioningStateInternalError`, `PrivateEndpointConnectionProvisioningStateSucceeded`, `PrivateEndpointConnectionProvisioningStateUpdating`
    info	[Changelog] - New enum type `PrivateEndpointServiceConnectionStatus` with values `PrivateEndpointServiceConnectionStatusApproved`, `PrivateEndpointServiceConnectionStatusPending`, `PrivateEndpointServiceConnectionStatusRejected`
    info	[Changelog] - New enum type `ProvisioningState` with values `ProvisioningStateCanceled`, `ProvisioningStateDeleting`, `ProvisioningStateFailed`, `ProvisioningStateProvisioning`, `ProvisioningStateSucceeded`
    info	[Changelog] - New function `*ClientFactory.NewCloudHsmClusterBackupStatusClient() *CloudHsmClusterBackupStatusClient`
    info	[Changelog] - New function `*ClientFactory.NewCloudHsmClusterPrivateEndpointConnectionsClient() *CloudHsmClusterPrivateEndpointConnectionsClient`
    info	[Changelog] - New function `*ClientFactory.NewCloudHsmClusterPrivateLinkResourcesClient() *CloudHsmClusterPrivateLinkResourcesClient`
    info	[Changelog] - New function `*ClientFactory.NewCloudHsmClusterRestoreStatusClient() *CloudHsmClusterRestoreStatusClient`
    info	[Changelog] - New function `*ClientFactory.NewCloudHsmClustersClient() *CloudHsmClustersClient`
    info	[Changelog] - New function `*ClientFactory.NewPrivateEndpointConnectionsClient() *PrivateEndpointConnectionsClient`
    info	[Changelog] - New function `NewCloudHsmClusterBackupStatusClient(string, azcore.TokenCredential, *arm.ClientOptions) (*CloudHsmClusterBackupStatusClient, error)`
    info	[Changelog] - New function `*CloudHsmClusterBackupStatusClient.Get(context.Context, string, string, string, *CloudHsmClusterBackupStatusClientGetOptions) (CloudHsmClusterBackupStatusClientGetResponse, error)`
    info	[Changelog] - New function `NewCloudHsmClusterPrivateEndpointConnectionsClient(string, azcore.TokenCredential, *arm.ClientOptions) (*CloudHsmClusterPrivateEndpointConnectionsClient, error)`
    info	[Changelog] - New function `*CloudHsmClusterPrivateEndpointConnectionsClient.Create(context.Context, string, string, string, PrivateEndpointConnection, *CloudHsmClusterPrivateEndpointConnectionsClientCreateOptions) (CloudHsmClusterPrivateEndpointConnectionsClientCreateResponse, error)`
    info	[Changelog] - New function `*CloudHsmClusterPrivateEndpointConnectionsClient.BeginDelete(context.Context, string, string, string, *CloudHsmClusterPrivateEndpointConnectionsClientBeginDeleteOptions) (*runtime.Poller[CloudHsmClusterPrivateEndpointConnectionsClientDeleteResponse], error)`
    info	[Changelog] - New function `*CloudHsmClusterPrivateEndpointConnectionsClient.Get(context.Context, string, string, string, *CloudHsmClusterPrivateEndpointConnectionsClientGetOptions) (CloudHsmClusterPrivateEndpointConnectionsClientGetResponse, error)`
    info	[Changelog] - New function `NewCloudHsmClusterPrivateLinkResourcesClient(string, azcore.TokenCredential, *arm.ClientOptions) (*CloudHsmClusterPrivateLinkResourcesClient, error)`
    info	[Changelog] - New function `*CloudHsmClusterPrivateLinkResourcesClient.NewListByCloudHsmClusterPager(string, string, *CloudHsmClusterPrivateLinkResourcesClientListByCloudHsmClusterOptions) *runtime.Pager[CloudHsmClusterPrivateLinkResourcesClientListByCloudHsmClusterResponse]`
    info	[Changelog] - New function `NewCloudHsmClusterRestoreStatusClient(string, azcore.TokenCredential, *arm.ClientOptions) (*CloudHsmClusterRestoreStatusClient, error)`
    info	[Changelog] - New function `*CloudHsmClusterRestoreStatusClient.Get(context.Context, string, string, string, *CloudHsmClusterRestoreStatusClientGetOptions) (CloudHsmClusterRestoreStatusClientGetResponse, error)`
    info	[Changelog] - New function `NewCloudHsmClustersClient(string, azcore.TokenCredential, *arm.ClientOptions) (*CloudHsmClustersClient, error)`
    info	[Changelog] - New function `*CloudHsmClustersClient.BeginCreateOrUpdate(context.Context, string, string, CloudHsmCluster, *CloudHsmClustersClientBeginCreateOrUpdateOptions) (*runtime.Poller[CloudHsmClustersClientCreateOrUpdateResponse], error)`
    info	[Changelog] - New function `*CloudHsmClustersClient.BeginDelete(context.Context, string, string, *CloudHsmClustersClientBeginDeleteOptions) (*runtime.Poller[CloudHsmClustersClientDeleteResponse], error)`
    info	[Changelog] - New function `*CloudHsmClustersClient.Get(context.Context, string, string, *CloudHsmClustersClientGetOptions) (CloudHsmClustersClientGetResponse, error)`
    info	[Changelog] - New function `*CloudHsmClustersClient.NewListByResourceGroupPager(string, *CloudHsmClustersClientListByResourceGroupOptions) *runtime.Pager[CloudHsmClustersClientListByResourceGroupResponse]`
    info	[Changelog] - New function `*CloudHsmClustersClient.NewListBySubscriptionPager(*CloudHsmClustersClientListBySubscriptionOptions) *runtime.Pager[CloudHsmClustersClientListBySubscriptionResponse]`
    info	[Changelog] - New function `*CloudHsmClustersClient.BeginRestore(context.Context, string, string, RestoreRequestProperties, *CloudHsmClustersClientBeginRestoreOptions) (*runtime.Poller[CloudHsmClustersClientRestoreResponse], error)`
    info	[Changelog] - New function `*CloudHsmClustersClient.BeginUpdate(context.Context, string, string, CloudHsmClusterPatchParameters, *CloudHsmClustersClientBeginUpdateOptions) (*runtime.Poller[CloudHsmClustersClientUpdateResponse], error)`
    info	[Changelog] - New function `*CloudHsmClustersClient.BeginValidateBackup(context.Context, string, string, *CloudHsmClustersClientBeginValidateBackupOptions) (*runtime.Poller[CloudHsmClustersClientValidateBackupResponse], error)`
    info	[Changelog] - New function `*CloudHsmClustersClient.BeginValidateRestore(context.Context, string, string, *CloudHsmClustersClientBeginValidateRestoreOptions) (*runtime.Poller[CloudHsmClustersClientValidateRestoreResponse], error)`
    info	[Changelog] - New function `*CloudHsmClustersClient.BeginBackup(context.Context, string, string, *CloudHsmClustersClientBeginBackupOptions) (*runtime.Poller[CloudHsmClustersClientBackupResponse], error)`
    info	[Changelog] - New function `NewPrivateEndpointConnectionsClient(string, azcore.TokenCredential, *arm.ClientOptions) (*PrivateEndpointConnectionsClient, error)`
    info	[Changelog] - New function `*PrivateEndpointConnectionsClient.NewListByCloudHsmClusterPager(string, string, *PrivateEndpointConnectionsClientListByCloudHsmClusterOptions) *runtime.Pager[PrivateEndpointConnectionsClientListByCloudHsmClusterResponse]`
    info	[Changelog] - New struct `BackupRequestProperties`
    info	[Changelog] - New struct `BackupRestoreBaseResult`
    info	[Changelog] - New struct `BackupRestoreRequestBaseProperties`
    info	[Changelog] - New struct `BackupResult`
    info	[Changelog] - New struct `CloudHsmCluster`
    info	[Changelog] - New struct `CloudHsmClusterListResult`
    info	[Changelog] - New struct `CloudHsmClusterPatchParameters`
    info	[Changelog] - New struct `CloudHsmClusterProperties`
    info	[Changelog] - New struct `CloudHsmClusterResource`
    info	[Changelog] - New struct `CloudHsmClusterSKU`
    info	[Changelog] - New struct `CloudHsmProperties`
    info	[Changelog] - New struct `ErrorAdditionalInfo`
    info	[Changelog] - New struct `ErrorDetail`
    info	[Changelog] - New struct `ErrorResponse`
    info	[Changelog] - New struct `ManagedServiceIdentity`
    info	[Changelog] - New struct `Operation`
    info	[Changelog] - New struct `OperationDisplay`
    info	[Changelog] - New struct `OperationListResult`
    info	[Changelog] - New struct `PrivateEndpoint`
    info	[Changelog] - New struct `PrivateEndpointConnection`
    info	[Changelog] - New struct `PrivateEndpointConnectionListResult`
    info	[Changelog] - New struct `PrivateEndpointConnectionProperties`
    info	[Changelog] - New struct `PrivateLinkResource`
    info	[Changelog] - New struct `PrivateLinkResourceListResult`
    info	[Changelog] - New struct `PrivateLinkResourceProperties`
    info	[Changelog] - New struct `PrivateLinkServiceConnectionState`
    info	[Changelog] - New struct `ProxyResource`
    info	[Changelog] - New struct `RestoreRequestProperties`
    info	[Changelog] - New struct `RestoreResult`
    info	[Changelog] - New struct `TrackedResource`
    info	[Changelog] - New struct `UserAssignedIdentity`
    info	[Changelog] - New field `ResourceID` in struct `APIEntityReference`
    info	[Changelog] - New field `ResourceID` in struct `NetworkInterface`
    info	[Changelog] - New anonymous field `OperationListResult` in struct `OperationsClientListResponse`
    info	[Changelog] - New field `SystemData` in struct `Resource`
    info	[Changelog]
    info	[Changelog] Total 13 breaking change(s), 145 additive change(s).
    Present SDK breaking changes suppressions
    No suppression file added.
    Absent SDK breaking changes suppressions
    - Field `DedicatedHsmOperationListResult` of struct `OperationsClientListResponse` has been removed
    - Field `ID` of struct `APIEntityReference` has been removed
    - Field `ID` of struct `NetworkInterface` has been removed
    - Field `Location`, `SKU`, `Tags`, `Zones` of struct `Resource` has been removed
    - Struct `DedicatedHsmOperationDisplay` has been removed
    - Struct `DedicatedHsmOperationListResult` has been removed
    - Struct `DedicatedHsmOperation` has been removed
    - Struct `ResourceListResult` has been removed
    - Type of `SystemData.CreatedByType` has been changed from `*IdentityType` to `*CreatedByType`
    - Type of `SystemData.LastModifiedByType` has been changed from `*IdentityType` to `*CreatedByType`
    Parse Suppression File Errors
    No suppression file added.
    Please refer to the guidance for suppressing SDK breaking changes.
️⚠️ azure-powershell warning [Detail]
    For more instructions, please refer to the FAQ .
  • ⚠️Warning in generating from f10b52645d21f0cbe068599582b24daaa251da5a. 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.hardwaresecuritymodules.DefaultTag [Preview SDK Changes]
️️✔️ azure-sdk-for-java succeeded [Detail] [Expand]
    For more instructions, please refer to the FAQ .
  • ️✔️Succeeded in generating from f10b52645d21f0cbe068599582b24daaa251da5a. SDK Automation 14.0.0
    command	./eng/mgmt/automation/init.sh ../azure-sdk-for-java_tmp/initInput.json ../azure-sdk-for-java_tmp/initOutput.json
    command	./eng/mgmt/automation/generate.py ../azure-sdk-for-java_tmp/generateInput.json ../azure-sdk-for-java_tmp/generateOutput.json
  • ️✔️azure-resourcemanager-hardwaresecuritymodules [Preview SDK Changes]
    info	[Changelog]
Posted by Swagger Pipeline | How to fix these errors?

PR validation pipeline can not start as the pull request is not merged or mergeable - most likely it has merge conflicts.

PR validation pipeline can not start as the pull request is not merged or mergeable - most likely it has merge conflicts.

/azp run TypeSpec Requirement

emmeliaAra avatar May 07 '24 16:05 emmeliaAra

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar May 07 '24 16:05 azure-pipelines[bot]

PR validation pipeline can not start as the pull request is not merged or mergeable - most likely it has merge conflicts.

PR validation pipeline can not start as the pull request is not merged or mergeable - most likely it has merge conflicts.

Hi @emmeliaAra, please fix SDK azure-sdk-for-go CI fail: Duplicate Schema named 'ErrorResponse'.

duplicate(v5, v6):

  • https://github.com/Azure/azure-rest-api-specs/blob/c95baaa242fb580c65eba71e3693ab0b487ff74b/specification/hardwaresecuritymodules/resource-manager/Microsoft.HardwareSecurityModules/stable/2024-06-30/operations.json#L59
  • https://github.com/Azure/azure-rest-api-specs/blob/c95baaa242fb580c65eba71e3693ab0b487ff74b/specification/hardwaresecuritymodules/resource-manager/Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L88

Alancere avatar Jun 11 '24 02:06 Alancere

PR validation pipeline can not start as the pull request is not merged or mergeable - most likely it has merge conflicts.

Hi @emmeliaAra, please fix SDK azure-sdk-for-go CI fail: Duplicate Schema named 'ErrorResponse'.

duplicate(v5, v6):

  • https://github.com/Azure/azure-rest-api-specs/blob/c95baaa242fb580c65eba71e3693ab0b487ff74b/specification/hardwaresecuritymodules/resource-manager/Microsoft.HardwareSecurityModules/stable/2024-06-30/operations.json#L59
  • https://github.com/Azure/azure-rest-api-specs/blob/c95baaa242fb580c65eba71e3693ab0b487ff74b/specification/hardwaresecuritymodules/resource-manager/Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L88

Hi @Alancere, Thanks! this resolved the duplicate schema issue. Can you review Breaking change for SDK please?

emmeliaAra avatar Jun 11 '24 08:06 emmeliaAra

Hi @emmeliaAra, please fix SDK azure-sdk-for-go CI fail: Duplicate Schema named 'ErrorResponse'. duplicate(v5, v6):

  • https://github.com/Azure/azure-rest-api-specs/blob/c95baaa242fb580c65eba71e3693ab0b487ff74b/specification/hardwaresecuritymodules/resource-manager/Microsoft.HardwareSecurityModules/stable/2024-06-30/operations.json#L59
  • https://github.com/Azure/azure-rest-api-specs/blob/c95baaa242fb580c65eba71e3693ab0b487ff74b/specification/hardwaresecuritymodules/resource-manager/Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L88

Hi @Alancere, Thanks! this resolved the duplicate schema issue. Can you review Breaking change for SDK please?

When the PR is Ready for review and after ARM reviewed, I will review GO Breaking Change.

Alancere avatar Jun 12 '24 02:06 Alancere

/azp run

emmeliaAra avatar Jun 18 '24 08:06 emmeliaAra

Azure Pipelines successfully started running 4 pipeline(s).

azure-pipelines[bot] avatar Jun 18 '24 08:06 azure-pipelines[bot]

Hi @mentat9, this PR is created to release a new version for CloudHsm service (cloudhsm.json). There are not changes to DedicatedHsm Service (dedicatedHsm.json), we are just updating the spec to include the latest API version.

All the LintDiff validations related to DHSM existed before the current PR submission and I believe they resurfaced because of changing the DedicatedHsmName.name from "name" to "dedicatedHsmName" parameter. I made some updates based on your feedback but I cannot make any changes to the APIs (result codes) since we are not actually making any changes to the service. Can these LindDiff Validation be approved ?

Validations before making the change has all LindDiff errors listed in The following errors/warnings exist before current PR submission section. https://github.com/Azure/azure-rest-api-specs/pull/28651/checks?check_run_id=26590485355

emmeliaAra avatar Jun 24 '24 10:06 emmeliaAra

@emmeliaAra please finish due diligence section

TimLovellSmith avatar Jul 02 '24 12:07 TimLovellSmith

All the LintDiff validations related to DHSM existed before the current PR submission and I believe they resurfaced because of changing the DedicatedHsmName.name from "name" to "dedicatedHsmName" parameter

This is possible. Given that its a new api-version, I'm of the opinion that you should really fix some of them anyway! I'll highlight which ones.

'>❌ XmsPageableForListCalls x-ms-pageable extension must be specified for LIST APIs. Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L752

You should ideally be fixing this, declaring nextLink its an ARM requirement for 'list resources' apis, and IMO actually a bugfix, but see below for more about this API...

❌ GetCollectionOnlyHasValueAndNextLink Get endpoints for collections of resources must only have the value and nextLink properties in their model. Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L778

You should really fix this, but maybe not in the way you are thinking - the problem the Linter rule sees here is that the URI needs to work like a LIST operation (list 'pendings' resource type), not a GET operation:

/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters/{cloudHsmClusterName}/backup/{jobId}/pending

Same API. This would be a breaking change, but since it's violating ARM requirements, it seems to me personally, like something you should be working to fix somehow. Maybe there's an alternate approach that will allow fixing this that doesn't run afoul of breaking change guidelines, like deprecating this API, and introducing a new one. Or are you already doing that?

❌ LroPatch202 The async patch operation should return 202. Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L131 RPC-Patch-V1-06, RPC-Async-V1-08

    "operationId": "DedicatedHsm_Update",
    "x-ms-long-running-operation": true,

[ARMBlockingComment] You marked Update with x-ms-long-running-operation as `true, this is why the linter thinks it needs to return 202. It looks like you really do return 200 with provisioningStatus which is traditionally acceptable. But, I think you'd probably also want these sprinklings, for the sake of SDK codegen:

      "x-ms-long-running-operation-options" : {
          "final-state-via" : "original-uri",
          "final-state-schema": "#/definitions/DedicatedHsm"
      },

But this might look like an SDK breaking change, I'm not really sure what the diff will be, maybe its better to pretend you're NOT a long running operation, if today your SDK is forcing customers to check provisioningState manually.

❌ LroLocationHeader A 202 response should include an Location response header. Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/dedicatedhsm.json#L179 RPC-Async-V1-07

This is failing because its a new linter rule, with more strict requirement to document Location headers, which your api should already be returning, if it returns 202 Accepted. Please check the behavior of your old API, and then document that behavior, and it should be effectively nonbreaking, since its just better doc / a doc bugfix, and not going to impact SDK codegen.

TimLovellSmith avatar Jul 02 '24 12:07 TimLovellSmith

What is it exactly, that you're maintaining API compatibility with, for the error response format, when you add NEW apis? Is this just about having one error response type across cloudHSM and dedicatedHSM?

It just seems like you're not really doing that if you have two different error types for it, right? DedicatedHsmError and CloudHsmError.

(Would this be enough impetus to switch to using commontypes error definition? Or would that not be benign enough? Is it better to just use CloudHsmError in both places, or use DedicatedHsmError one place, CommonTypes the other?? @mikekistler)

TimLovellSmith avatar Jul 02 '24 12:07 TimLovellSmith

Hi @TimLovellSmith, Thanks for the feedback.

  1. '>❌ XmsPageableForListCalls x-ms-pageable extension must be specified for LIST APIs. Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L752

--- This is a GET API but does not return a list of objects (array) as the return type. Do we still need the next link ? Based on the Rule documentation here the value type must be 'array' for the x-ms-pageable to be required. Same applies for this validation: Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L974

  1. ❌ GetCollectionOnlyHasValueAndNextLink Get endpoints for collections of resources must only have the value and nextLink properties in their model. Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L778

You should really fix this, but maybe not in the way you are thinking - the problem the Linter rule sees here is that the URI needs to work like a LIST operation (list 'pendings' resource type), not a GET operation:

--- Do you mean we should make this API return a list and not a GET ? This API will return the status of the specified job Id. This is a requirement from Azure Backup internal team to allow integration with the service.

/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters/{cloudHsmClusterName}/backup/{jobId}/pending

Same API. This would be a breaking change, but since it's violating ARM requirements, it seems to me personally, like something you should be working to fix somehow. Maybe there's an alternate approach that will allow fixing this that doesn't run afoul of breaking change guidelines, like deprecating this API, and introducing a new one. Or are you already doing that?

--- Are you referring to the /{jobId}/pending API ? If yes, this is a new API that we are introducing in this new API Version. Could you explain what is the breaking change here ?

emmeliaAra avatar Jul 02 '24 14:07 emmeliaAra

What is it exactly, that you're maintaining API compatibility with, for the error response format, when you add NEW apis? Is this just about having one error response type across cloudHSM and dedicatedHSM?

It just seems like you're not really doing that if you have two different error types for it, right? DedicatedHsmError and CloudHsmError.

(Would this be enough impetus to switch to using commontypes error definition? Or would that not be benign enough? Is it better to just use CloudHsmError in both places, or use DedicatedHsmError one place, CommonTypes the other?? @mikekistler)

We are using the CommonTypes ErrorResponse for Cloudhsm.json and DedicatedHsmError for Dedicated HSM. Cloud HSM is a nre service and we updated the ErrorCode to reflect the ARM recommendation. We cannot modify Dedicated HSM Service as we are not making any changes to the service in this new version.

emmeliaAra avatar Jul 02 '24 14:07 emmeliaAra

❌ GetCollectionOnlyHasValueAndNextLink Get endpoints for collections of resources must only have the value and nextLink properties in their model. Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L778 You should really fix this, but maybe not in the way you are thinking - the problem the Linter rule sees here is that the URI needs to work like a LIST operation (list 'pendings' resource type), not a GET operation:

--- Do you mean we should make this API return a list and not a GET ? This API will return the status of the specified job Id. This is a requirement from Azure Backup internal team to allow integration with the service.

What I mean is that the API and its URI pattern don't match. ARM path segments have to follow the patterns:

/collection/item/collection/item/collection [for GET only, returns a list] /collection/item/collection/item/collection/item /collection/item/collection/item/collection/item/action [for POST only]

etc.

and your API mixes these up. This is a problem when ARM assumes it can parse collection GET responses as lists.

TimLovellSmith avatar Jul 03 '24 06:07 TimLovellSmith

❌ GetCollectionOnlyHasValueAndNextLink Get endpoints for collections of resources must only have the value and nextLink properties in their model. Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L778 You should really fix this, but maybe not in the way you are thinking - the problem the Linter rule sees here is that the URI needs to work like a LIST operation (list 'pendings' resource type), not a GET operation:

--- Do you mean we should make this API return a list and not a GET ? This API will return the status of the specified job Id. This is a requirement from Azure Backup internal team to allow integration with the service.

What I mean is that the API and its URI pattern don't match. ARM path segments have to follow the patterns:

/collection/item/collection/item/collection [for GET only, returns a list] /collection/item/collection/item/collection/item /collection/item/collection/item/collection/item/action [for POST only]

etc.

and your API mixes these up. This is a problem when ARM assumes it can parse collection GET responses as lists.

Will this work for the GET APIs ? "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters/{cloudHsmClusterName}/backupOperationStatus/{jobId}"

"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters/{cloudHsmClusterName}/restoreOperationStatus/{jobId}"

emmeliaAra avatar Jul 03 '24 11:07 emmeliaAra

❌ GetCollectionOnlyHasValueAndNextLink Get endpoints for collections of resources must only have the value and nextLink properties in their model. Location: Microsoft.HardwareSecurityModules/stable/2024-06-30/cloudhsm.json#L778 You should really fix this, but maybe not in the way you are thinking - the problem the Linter rule sees here is that the URI needs to work like a LIST operation (list 'pendings' resource type), not a GET operation:

--- Do you mean we should make this API return a list and not a GET ? This API will return the status of the specified job Id. This is a requirement from Azure Backup internal team to allow integration with the service. What I mean is that the API and its URI pattern don't match. ARM path segments have to follow the patterns: /collection/item/collection/item/collection [for GET only, returns a list] /collection/item/collection/item/collection/item /collection/item/collection/item/collection/item/action [for POST only] etc. and your API mixes these up. This is a problem when ARM assumes it can parse collection GET responses as lists.

Will this work for the GET APIs ? "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters/{cloudHsmClusterName}/backupOperationStatus/{jobId}"

"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters/{cloudHsmClusterName}/restoreOperationStatus/{jobId}"

I think so! When I see it that way, I do find myself wondering whether they needed to be separate paths, or if they could have just been one general purpose operationResults path, but you may well have some good reasons....

TimLovellSmith avatar Jul 04 '24 05:07 TimLovellSmith

What is it exactly, that you're maintaining API compatibility with, for the error response format, when you add NEW apis? Is this just about having one error response type across cloudHSM and dedicatedHSM? It just seems like you're not really doing that if you have two different error types for it, right? DedicatedHsmError and CloudHsmError. (Would this be enough impetus to switch to using commontypes error definition? Or would that not be benign enough? Is it better to just use CloudHsmError in both places, or use DedicatedHsmError one place, CommonTypes the other?? @mikekistler)

We are using the CommonTypes ErrorResponse for Cloudhsm.json and DedicatedHsmError for Dedicated HSM. Cloud HSM is a nre service and we updated the ErrorCode to reflect the ARM recommendation. We cannot modify Dedicated HSM Service as we are not making any changes to the service in this new version.

Maybe I just forgot, but I don't think I understand what you mean by 'nre service'.

I don't understand the claim that you're not making any changes to Dedicated HRM service in this new version. You're adding support for Dedicated HRM service in this new version right, isn't that already a really big change?

TimLovellSmith avatar Jul 04 '24 05:07 TimLovellSmith

What is it exactly, that you're maintaining API compatibility with, for the error response format, when you add NEW apis? Is this just about having one error response type across cloudHSM and dedicatedHSM? It just seems like you're not really doing that if you have two different error types for it, right? DedicatedHsmError and CloudHsmError. (Would this be enough impetus to switch to using commontypes error definition? Or would that not be benign enough? Is it better to just use CloudHsmError in both places, or use DedicatedHsmError one place, CommonTypes the other?? @mikekistler)

We are using the CommonTypes ErrorResponse for Cloudhsm.json and DedicatedHsmError for Dedicated HSM. Cloud HSM is a nre service and we updated the ErrorCode to reflect the ARM recommendation. We cannot modify Dedicated HSM Service as we are not making any changes to the service in this new version.

Maybe I just forgot, but I don't think I understand what you mean by 'nre service'.

I don't understand the claim that you're not making any changes to Dedicated HRM service in this new version. You're adding support for Dedicated HRM service in this new version right, isn't that already a really big change?

Typo sorry, It is a 'new service'.

We are releasing a new version for Cloud HSM service and based on ARM guidelines we need to update the version for all RPs under the namespace so I created version 2024-06-30 for Dedicated HSM service as well, but we are not making any API model changes or service changes to to Dedicated HSM service. Hope this makes sense.

emmeliaAra avatar Jul 04 '24 07:07 emmeliaAra

What is it exactly, that you're maintaining API compatibility with, for the error response format, when you add NEW apis? Is this just about having one error response type across cloudHSM and dedicatedHSM? It just seems like you're not really doing that if you have two different error types for it, right? DedicatedHsmError and CloudHsmError. (Would this be enough impetus to switch to using commontypes error definition? Or would that not be benign enough? Is it better to just use CloudHsmError in both places, or use DedicatedHsmError one place, CommonTypes the other?? @mikekistler)

We are using the CommonTypes ErrorResponse for Cloudhsm.json and DedicatedHsmError for Dedicated HSM. Cloud HSM is a nre service and we updated the ErrorCode to reflect the ARM recommendation. We cannot modify Dedicated HSM Service as we are not making any changes to the service in this new version.

Maybe I just forgot, but I don't think I understand what you mean by 'nre service'. I don't understand the claim that you're not making any changes to Dedicated HRM service in this new version. You're adding support for Dedicated HRM service in this new version right, isn't that already a really big change?

Typo sorry, It is a 'new service'.

We are releasing a new version for Cloud HSM service and based on ARM guidelines we need to update the version for all RPs under the namespace so I created version 2024-06-30 for Dedicated HSM service as well, but we are not making any API model changes or service changes to to Dedicated HSM service. Hope this makes sense.

What you're saying makes sense in terms of how you want to organize the work, but it doesn't fit well with our process -- if it looks like you're creating a new api version of both services, so that's what we review and then ship.

In this case maybe that's actually a good thing, even for customers, since it will help keep the APIs more consistent, making it easy for them if they need to switch between HSM types

TimLovellSmith avatar Jul 05 '24 21:07 TimLovellSmith

closing this PR because we need to submit Preview PR fist https://github.com/Azure/azure-rest-api-specs/pull/29712

emmeliaAra avatar Jul 08 '24 17:07 emmeliaAra