Skip to content

Conversation

@koderjoker
Copy link
Member

@koderjoker koderjoker commented Aug 8, 2023

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

ARM (Control Plane) API Specification Update Pull Request

PR review workflow diagram

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

diagram

[1] public repo review queue, private repo review queue
The PRs are processed by time opened, ascending. Your PR may show up on 2nd or later page.
If you addressed Step 1 from the diagram and your PR is not showing up in the queue, ensure the label ARMChangesRequested
is removed from your PR. This should cause the label WaitForARMFeedback to be added.
[2] https://aka.ms/azsdk/support/specreview-channel
[3] List of SDK breaking changes approvers in pinned Teams announcement
[4] public repo merge queue, private repo merge queue

If you need further help with anything, see Getting help section below.

Purpose of this PR

What's the purpose of this PR? Check all that apply. This is mandatory!

  • New API version. (Such PR should have been generated with OpenAPI Hub, per this wiki doc.)
  • 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 swagger 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:

Breaking changes review (Step 1)

  • If the automation determines you have breaking changes, i.e. Step 1 from the diagram applies to you,
    you must follow the breaking changes process.
    IMPORTANT This applies even if:
    • The tool fails while it shouldn't, e.g. due to runtime exception, or incorrect detection of breaking changes.
    • You believe there is no need for you to request breaking change approval, for any reason.
      Such claims must be reviewed, and the process is the same.

ARM API changes review (Step 2)

  • If this PR is in purview of ARM review then automation will add the ARMReview label.
  • If you want to force ARM review, add the label yourself.
  • Proceed according to the diagram at the top of this comment.

Getting help

@openapi-workflow-bot
Copy link

Hi, @koderjoker! Thank you for your pull request. To help get your PR merged:

  • Ensure you reviewed the checklists in the PR description.
  • Know that PR assignee is the person auto-assigned and responsible for your current PR review and approval.
  • 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.
  • @openapi-pipeline-app
    Copy link

    openapi-pipeline-app bot commented Aug 8, 2023

    Swagger Validation Report

    ️️✔️BreakingChange succeeded [Detail] [Expand]
    There are no breaking changes.
    ️❌Breaking Change(Cross-Version): 10 Errors, 0 Warnings failed [Detail]
    compared swaggers (via Oad v0.10.4)] new version base version
    redis.json 2023-08-01(9f2ed77) 2023-04-01(main)
    redis.json 2023-08-01(9f2ed77) 2023-05-01-preview(main)

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

    Rule Message
    1036 - ConstraintChanged The new version has a different 'pattern' value than the previous one.
    New: Microsoft.Cache/stable/2023-08-01/redis.json#L830:9
    Old: Microsoft.Cache/stable/2023-04-01/redis.json#L818:11
    1036 - ConstraintChanged The new version has a different 'pattern' value than the previous one.
    New: Microsoft.Cache/stable/2023-08-01/redis.json#L876:9
    Old: Microsoft.Cache/stable/2023-04-01/redis.json#L866:11
    1036 - ConstraintChanged The new version has a different 'pattern' value than the previous one.
    New: Microsoft.Cache/stable/2023-08-01/redis.json#L939:9
    Old: Microsoft.Cache/stable/2023-04-01/redis.json#L937:11
    1036 - ConstraintChanged The new version has a different 'pattern' value than the previous one.
    New: Microsoft.Cache/stable/2023-08-01/redis.json#L987:9
    Old: Microsoft.Cache/stable/2023-04-01/redis.json#L993:11
    1036 - ConstraintChanged The new version has a different 'pattern' value than the previous one.
    New: Microsoft.Cache/stable/2023-08-01/redis.json#L1037:9
    Old: Microsoft.Cache/stable/2023-04-01/redis.json#L1057:11
    1036 - ConstraintChanged The new version has a different 'pattern' value than the previous one.
    New: Microsoft.Cache/stable/2023-08-01/redis.json#L1502:9
    Old: Microsoft.Cache/stable/2023-04-01/redis.json#L1547:11
    1036 - ConstraintChanged The new version has a different 'pattern' value than the previous one.
    New: Microsoft.Cache/stable/2023-08-01/redis.json#L1547:9
    Old: Microsoft.Cache/stable/2023-04-01/redis.json#L1600:11
    1036 - ConstraintChanged The new version has a different 'pattern' value than the previous one.
    New: Microsoft.Cache/stable/2023-08-01/redis.json#L1591:9
    Old: Microsoft.Cache/stable/2023-04-01/redis.json#L1652:11
    1036 - ConstraintChanged The new version has a different 'pattern' value than the previous one.
    New: Microsoft.Cache/stable/2023-08-01/redis.json#L1649:9
    Old: Microsoft.Cache/stable/2023-04-01/redis.json#L1718:11
    1036 - ConstraintChanged The new version has a different 'pattern' value than the previous one.
    New: Microsoft.Cache/stable/2023-08-01/redis.json#L1694:9
    Old: Microsoft.Cache/stable/2023-04-01/redis.json#L1771:11
    ️️✔️CredScan succeeded [Detail] [Expand]
    There is no credential detected.
    ️⚠️LintDiff: 4 Warnings warning [Detail]
    compared tags (via openapi-validator v2.1.4) new version base version
    package-2023-08 package-2023-08(9f2ed77) default(main)

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

    Rule Message Related RPC [For API reviewers]
    ⚠️ RequiredReadOnlySystemData The response of operation:'AccessPolicy_CreateUpdate' is defined without 'systemData'. Consider adding the systemData to the response.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L1778
    ⚠️ RequiredReadOnlySystemData The response of operation:'AccessPolicy_Get' is defined without 'systemData'. Consider adding the systemData to the response.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L1894
    ⚠️ RequiredReadOnlySystemData The response of operation:'AccessPolicyAssignment_CreateUpdate' is defined without 'systemData'. Consider adding the systemData to the response.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L1986
    ⚠️ RequiredReadOnlySystemData The response of operation:'AccessPolicyAssignment_Get' is defined without 'systemData'. Consider adding the systemData to the response.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L2102


    The following errors/warnings exist before current PR submission:

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

    Rule Message
    PathResourceTypeNameCamelCase Resource type naming must follow camel case. Path: '/subscriptions/{subscriptionId}/providers/Microsoft.Cache/CheckNameAvailability'
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L73
    MissingTypeObject The schema 'Sku' is considered an object but without a 'type:object', please add the missing 'type:object'.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L2195
    MissingTypeObject The schema 'RedisCommonProperties' is considered an object but without a 'type:object', please add the missing 'type:object'.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L2235
    MissingTypeObject The schema 'RedisCreateProperties' is considered an object but without a 'type:object', please add the missing 'type:object'.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L2392
    MissingTypeObject The schema 'RedisUpdateProperties' is considered an object but without a 'type:object', please add the missing 'type:object'.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L2424
    MissingTypeObject The schema 'RedisProperties' is considered an object but without a 'type:object', please add the missing 'type:object'.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L2439
    MissingTypeObject The schema 'RedisCreateParameters' is considered an object but without a 'type:object', please add the missing 'type:object'.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L2523
    MissingTypeObject The schema 'RedisUpdateParameters' is considered an object but without a 'type:object', please add the missing 'type:object'.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L2563
    MissingTypeObject The schema 'RedisAccessKeys' is considered an object but without a 'type:object', please add the missing 'type:object'.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L2584
    MissingTypeObject The schema 'RedisFirewallRule' is considered an object but without a 'type:object', please add the missing 'type:object'.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L2599
    MissingTypeObject The schema 'RedisFirewallRuleProperties' is considered an object but without a 'type:object', please add the missing 'type:object'.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L2625
    MissingTypeObject The schema 'RedisFirewallRuleListResult' is considered an object but without a 'type:object', please add the missing 'type:object'.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L2642
    MissingTypeObject The schema 'RedisResource' is considered an object but without a 'type:object', please add the missing 'type:object'.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L2659
    MissingTypeObject The schema 'RedisInstanceDetails' is considered an object but without a 'type:object', please add the missing 'type:object'.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L2688
    MissingTypeObject The schema 'RedisListResult' is considered an object but without a 'type:object', please add the missing 'type:object'.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L2726
    MissingTypeObject The schema 'RedisRegenerateKeyParameters' is considered an object but without a 'type:object', please add the missing 'type:object'.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L2743
    MissingTypeObject The schema 'RedisRebootParameters' is considered an object but without a 'type:object', please add the missing 'type:object'.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L2763
    IntegerTypeMustHaveFormat The integer type does not have a format, please add it.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L2785
    MissingTypeObject The schema 'ExportRDBParameters' is considered an object but without a 'type:object', please add the missing 'type:object'.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L2793
    MissingTypeObject The schema 'ImportRDBParameters' is considered an object but without a 'type:object', please add the missing 'type:object'.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L2822
    MissingTypeObject The schema 'ScheduleEntry' is considered an object but without a 'type:object', please add the missing 'type:object'.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L2849
    MissingTypeObject The schema 'ScheduleEntries' is considered an object but without a 'type:object', please add the missing 'type:object'.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L2887
    MissingTypeObject The schema 'RedisPatchSchedule' is considered an object but without a 'type:object', please add the missing 'type:object'.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L2904
    TrackedResourcePatchOperation Tracked resource 'RedisPatchSchedule' must have patch operation that at least supports the update of tags.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L2904
    MissingTypeObject The schema 'RedisPatchScheduleListResult' is considered an object but without a 'type:object', please add the missing 'type:object'.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L2927
    MissingTypeObject The schema 'RedisForceRebootResponse' is considered an object but without a 'type:object', please add the missing 'type:object'.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L2944
    MissingTypeObject The schema 'RedisLinkedServer' is considered an object but without a 'type:object', please add the missing 'type:object'.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L2954
    MissingTypeObject The schema 'RedisLinkedServerWithProperties' is considered an object but without a 'type:object', please add the missing 'type:object'.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L2964
    MissingTypeObject The schema 'RedisLinkedServerProperties' is considered an object but without a 'type:object', please add the missing 'type:object'.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L2979
    MissingTypeObject The schema 'RedisLinkedServerWithPropertiesList' is considered an object but without a 'type:object', please add the missing 'type:object'.
    Location: Microsoft.Cache/stable/2023-08-01/redis.json#L2994
    ️️✔️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.
    ️️✔️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).
    ️️✔️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?

    @openapi-pipeline-app
    Copy link

    openapi-pipeline-app bot commented Aug 8, 2023

    Swagger Generation Artifacts

    ️️✔️ApiDocPreview succeeded [Detail] [Expand]
     Please click here to preview with your @microsoft account. 
    ️❌SDK Breaking Change Tracking failed [Detail]

    Breaking Changes Tracking

    azure-sdk-for-go - sdk/resourcemanager/redis/armredis - Approved - 3.0.0
    +	Struct `ErrorDetailAutoGenerated` has been removed
    +	Type of `OperationStatus.Error` has been changed from `*ErrorDetailAutoGenerated` to `*ErrorDetail`
    +	Type of `OperationStatusResult.Error` has been changed from `*ErrorDetailAutoGenerated` to `*ErrorDetail`

    azure-sdk-for-js - @azure/arm-rediscache - Approved - 8.0.0
    +	Type of parameter error of interface OperationStatusResult is changed from ErrorDetailAutoGenerated to ErrorDetail
    ️❌ azure-sdk-for-net-track2 failed [Detail]
    • Failed [Logs] Generate from d0a8b1c13b21cebacd0fbcdbd753ddfe13442d70. 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:712
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[36;1mLine |
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[36;1m 712 | �[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:805
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[36;1mLine |
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[36;1m 805 | �[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:712
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[36;1mLine |
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[36;1m 712 | �[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.Redis [View full logs]  [Preview SDK Changes]
      info	[Changelog]
    ️⚠️ azure-sdk-for-python-track2 warning [Detail]
    • ⚠️Warning [Logs] Generate from d0a8b1c13b21cebacd0fbcdbd753ddfe13442d70. 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.6.7 -> 9.8.1
      cmderr	[automation_generate.sh] npm notice Changelog: <https://github.com/npm/cli/releases/tag/v9.8.1>
      cmderr	[automation_generate.sh] npm notice Run `npm install -g npm@9.8.1` to update!
      cmderr	[automation_generate.sh] npm notice
    • ️✔️track2_azure-mgmt-redis [View full logs]  [Preview SDK Changes]
      info	[Changelog] ### Features Added
      info	[Changelog]
      info	[Changelog]   - Added operation RedisOperations.begin_flush_cache
      info	[Changelog]   - Added operation group AccessPolicyAssignmentOperations
      info	[Changelog]   - Added operation group AccessPolicyOperations
      info	[Changelog]   - Model RedisCommonProperties has a new parameter update_channel
      info	[Changelog]   - Model RedisCommonPropertiesRedisConfiguration has a new parameter aad_enabled
      info	[Changelog]   - Model RedisCreateParameters has a new parameter update_channel
      info	[Changelog]   - Model RedisCreateProperties has a new parameter update_channel
      info	[Changelog]   - Model RedisProperties has a new parameter update_channel
      info	[Changelog]   - Model RedisResource has a new parameter update_channel
      info	[Changelog]   - Model RedisUpdateParameters has a new parameter update_channel
      info	[Changelog]   - Model RedisUpdateProperties has a new parameter update_channel
    ️⚠️ azure-sdk-for-java warning [Detail]
    • ⚠️Warning [Logs] Generate from d0a8b1c13b21cebacd0fbcdbd753ddfe13442d70. 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
      cmderr	[init.sh] [notice] A new release of pip is available: 23.0.1 -> 23.2.1
      cmderr	[init.sh] [notice] To update, run: pip install --upgrade pip
      cmderr	[init.sh] [notice] A new release of pip is available: 23.0.1 -> 23.2.1
      cmderr	[init.sh] [notice] To update, run: pip install --upgrade pip
      command	./eng/mgmt/automation/generate.py ../azure-sdk-for-java_tmp/generateInput.json ../azure-sdk-for-java_tmp/generateOutput.json
    • ️✔️azure-resourcemanager-redis-generated [View full logs]  [Preview SDK Changes]
    ️️✔️ azure-sdk-for-go succeeded [Detail] [Expand]
    • ️✔️Succeeded [Logs] Generate from d0a8b1c13b21cebacd0fbcdbd753ddfe13442d70. 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/redis/armredis [View full logs]  [Preview SDK Changes] Breaking Change Detected
      info	[Changelog] ### Breaking Changes
      info	[Changelog]
      info	[Changelog] - Type of `OperationStatus.Error` has been changed from `*ErrorDetailAutoGenerated` to `*ErrorDetail`
      info	[Changelog] - Type of `OperationStatusResult.Error` has been changed from `*ErrorDetailAutoGenerated` to `*ErrorDetail`
      info	[Changelog] - Struct `ErrorDetailAutoGenerated` has been removed
      info	[Changelog]
      info	[Changelog] ### Features Added
      info	[Changelog]
      info	[Changelog] - New value `ProvisioningStateConfiguringAAD` added to enum type `ProvisioningState`
      info	[Changelog] - New enum type `AccessPolicyAssignmentProvisioningState` with values `AccessPolicyAssignmentProvisioningStateCanceled`, `AccessPolicyAssignmentProvisioningStateDeleted`, `AccessPolicyAssignmentProvisioningStateDeleting`, `AccessPolicyAssignmentProvisioningStateFailed`, `AccessPolicyAssignmentProvisioningStateSucceeded`, `AccessPolicyAssignmentProvisioningStateUpdating`
      info	[Changelog] - New enum type `AccessPolicyProvisioningState` with values `AccessPolicyProvisioningStateCanceled`, `AccessPolicyProvisioningStateDeleted`, `AccessPolicyProvisioningStateDeleting`, `AccessPolicyProvisioningStateFailed`, `AccessPolicyProvisioningStateSucceeded`, `AccessPolicyProvisioningStateUpdating`
      info	[Changelog] - New enum type `AccessPolicyType` with values `AccessPolicyTypeBuiltIn`, `AccessPolicyTypeCustom`
      info	[Changelog] - New enum type `UpdateChannel` with values `UpdateChannelPreview`, `UpdateChannelStable`
      info	[Changelog] - New function `NewAccessPolicyAssignmentClient(string, azcore.TokenCredential, *arm.ClientOptions) (*AccessPolicyAssignmentClient, error)`
      info	[Changelog] - New function `*AccessPolicyAssignmentClient.BeginCreateUpdate(context.Context, string, string, string, CacheAccessPolicyAssignment, *AccessPolicyAssignmentClientBeginCreateUpdateOptions) (*runtime.Poller[AccessPolicyAssignmentClientCreateUpdateResponse], error)`
      info	[Changelog] - New function `*AccessPolicyAssignmentClient.BeginDelete(context.Context, string, string, string, *AccessPolicyAssignmentClientBeginDeleteOptions) (*runtime.Poller[AccessPolicyAssignmentClientDeleteResponse], error)`
      info	[Changelog] - New function `*AccessPolicyAssignmentClient.Get(context.Context, string, string, string, *AccessPolicyAssignmentClientGetOptions) (AccessPolicyAssignmentClientGetResponse, error)`
      info	[Changelog] - New function `*AccessPolicyAssignmentClient.NewListPager(string, string, *AccessPolicyAssignmentClientListOptions) *runtime.Pager[AccessPolicyAssignmentClientListResponse]`
      info	[Changelog] - New function `NewAccessPolicyClient(string, azcore.TokenCredential, *arm.ClientOptions) (*AccessPolicyClient, error)`
      info	[Changelog] - New function `*AccessPolicyClient.BeginCreateUpdate(context.Context, string, string, string, CacheAccessPolicy, *AccessPolicyClientBeginCreateUpdateOptions) (*runtime.Poller[AccessPolicyClientCreateUpdateResponse], error)`
      info	[Changelog] - New function `*AccessPolicyClient.BeginDelete(context.Context, string, string, string, *AccessPolicyClientBeginDeleteOptions) (*runtime.Poller[AccessPolicyClientDeleteResponse], error)`
      info	[Changelog] - New function `*AccessPolicyClient.Get(context.Context, string, string, string, *AccessPolicyClientGetOptions) (AccessPolicyClientGetResponse, error)`
      info	[Changelog] - New function `*AccessPolicyClient.NewListPager(string, string, *AccessPolicyClientListOptions) *runtime.Pager[AccessPolicyClientListResponse]`
      info	[Changelog] - New function `*Client.BeginFlushCache(context.Context, string, string, *ClientBeginFlushCacheOptions) (*runtime.Poller[ClientFlushCacheResponse], error)`
      info	[Changelog] - New function `*ClientFactory.NewAccessPolicyAssignmentClient() *AccessPolicyAssignmentClient`
      info	[Changelog] - New function `*ClientFactory.NewAccessPolicyClient() *AccessPolicyClient`
      info	[Changelog] - New struct `CacheAccessPolicy`
      info	[Changelog] - New struct `CacheAccessPolicyAssignment`
      info	[Changelog] - New struct `CacheAccessPolicyAssignmentList`
      info	[Changelog] - New struct `CacheAccessPolicyAssignmentProperties`
      info	[Changelog] - New struct `CacheAccessPolicyList`
      info	[Changelog] - New struct `CacheAccessPolicyProperties`
      info	[Changelog] - New struct `ErrorDetail`
      info	[Changelog] - New field `AADEnabled` in struct `CommonPropertiesRedisConfiguration`
      info	[Changelog] - New field `UpdateChannel` in struct `CreateProperties`
      info	[Changelog] - New field `UpdateChannel` in struct `Properties`
      info	[Changelog] - New field `UpdateChannel` in struct `UpdateProperties`
      info	[Changelog]
      info	[Changelog] Total 4 breaking change(s), 52 additive change(s).
    ️️✔️ azure-sdk-for-js succeeded [Detail] [Expand]
    • ️✔️Succeeded [Logs] Generate from d0a8b1c13b21cebacd0fbcdbd753ddfe13442d70. SDK Automation 14.0.0
      command	sh .scripts/automation_init.sh ../azure-sdk-for-js_tmp/initInput.json ../azure-sdk-for-js_tmp/initOutput.json
      warn	File azure-sdk-for-js_tmp/initOutput.json not found to read
      command	sh .scripts/automation_generate.sh ../azure-sdk-for-js_tmp/generateInput.json ../azure-sdk-for-js_tmp/generateOutput.json
    • ️✔️@azure/arm-rediscache [View full logs]  [Preview SDK Changes] Breaking Change Detected
      info	[Changelog] **Features**
      info	[Changelog]
      info	[Changelog]   - Added operation group AccessPolicy
      info	[Changelog]   - Added operation group AccessPolicyAssignment
      info	[Changelog]   - Added operation Redis.beginFlushCache
      info	[Changelog]   - Added operation Redis.beginFlushCacheAndWait
      info	[Changelog]   - Added Interface AccessPolicyAssignmentCreateUpdateOptionalParams
      info	[Changelog]   - Added Interface AccessPolicyAssignmentDeleteHeaders
      info	[Changelog]   - Added Interface AccessPolicyAssignmentDeleteOptionalParams
      info	[Changelog]   - Added Interface AccessPolicyAssignmentGetOptionalParams
      info	[Changelog]   - Added Interface AccessPolicyAssignmentListNextOptionalParams
      info	[Changelog]   - Added Interface AccessPolicyAssignmentListOptionalParams
      info	[Changelog]   - Added Interface AccessPolicyCreateUpdateOptionalParams
      info	[Changelog]   - Added Interface AccessPolicyDeleteHeaders
      info	[Changelog]   - Added Interface AccessPolicyDeleteOptionalParams
      info	[Changelog]   - Added Interface AccessPolicyGetOptionalParams
      info	[Changelog]   - Added Interface AccessPolicyListNextOptionalParams
      info	[Changelog]   - Added Interface AccessPolicyListOptionalParams
      info	[Changelog]   - Added Interface LinkedServerDeleteHeaders
      info	[Changelog]   - Added Interface RedisCacheAccessPolicy
      info	[Changelog]   - Added Interface RedisCacheAccessPolicyAssignment
      info	[Changelog]   - Added Interface RedisCacheAccessPolicyAssignmentList
      info	[Changelog]   - Added Interface RedisCacheAccessPolicyList
      info	[Changelog]   - Added Interface RedisFlushCacheHeaders
      info	[Changelog]   - Added Interface RedisFlushCacheOptionalParams
      info	[Changelog]   - Added Type Alias AccessPolicyAssignmentCreateUpdateResponse
      info	[Changelog]   - Added Type Alias AccessPolicyAssignmentGetResponse
      info	[Changelog]   - Added Type Alias AccessPolicyAssignmentListNextResponse
      info	[Changelog]   - Added Type Alias AccessPolicyAssignmentListResponse
      info	[Changelog]   - Added Type Alias AccessPolicyAssignmentProvisioningState
      info	[Changelog]   - Added Type Alias AccessPolicyCreateUpdateResponse
      info	[Changelog]   - Added Type Alias AccessPolicyGetResponse
      info	[Changelog]   - Added Type Alias AccessPolicyListNextResponse
      info	[Changelog]   - Added Type Alias AccessPolicyListResponse
      info	[Changelog]   - Added Type Alias AccessPolicyProvisioningState
      info	[Changelog]   - Added Type Alias AccessPolicyType
      info	[Changelog]   - Added Type Alias RedisFlushCacheResponse
      info	[Changelog]   - Added Type Alias UpdateChannel
      info	[Changelog]   - Interface RedisCommonProperties has a new optional parameter updateChannel
      info	[Changelog]   - Interface RedisCommonPropertiesRedisConfiguration has a new optional parameter aadEnabled
      info	[Changelog]   - Interface RedisCreateParameters has a new optional parameter updateChannel
      info	[Changelog]   - Interface RedisResource has a new optional parameter updateChannel
      info	[Changelog]   - Interface RedisUpdateParameters has a new optional parameter updateChannel
      info	[Changelog]   - Added Enum KnownAccessPolicyAssignmentProvisioningState
      info	[Changelog]   - Added Enum KnownAccessPolicyProvisioningState
      info	[Changelog]   - Added Enum KnownAccessPolicyType
      info	[Changelog]   - Added Enum KnownUpdateChannel
      info	[Changelog]   - Enum KnownProvisioningState has a new value ConfiguringAAD
      info	[Changelog]
      info	[Changelog] **Breaking Changes**
      info	[Changelog]
      info	[Changelog]   - Type of parameter error of interface OperationStatusResult is changed from ErrorDetailAutoGenerated to ErrorDetail
    ️️✔️ azure-resource-manager-schemas succeeded [Detail] [Expand]
    • ️✔️Succeeded [Logs] Generate from d0a8b1c13b21cebacd0fbcdbd753ddfe13442d70. Schema Automation 14.0.0
      command	.sdkauto/initScript.sh ../azure-resource-manager-schemas_tmp/initInput.json ../azure-resource-manager-schemas_tmp/initOutput.json
      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
    ️❌ azure-powershell failed [Detail]
    • Pipeline Framework Failed [Logs] Generate from d0a8b1c13b21cebacd0fbcdbd753ddfe13442d70. 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
      SSL error: syscall failure: Broken pipe
      Error: SSL error: syscall failure: Broken pipe
    • ️✔️Az.redis.DefaultTag [View full logs
      error	Fatal error: SSL error: syscall failure: Broken pipe
      error	The following packages are still pending:
      error		Az.redis.DefaultTag
    Posted by Swagger Pipeline | How to fix these errors?

    @openapi-pipeline-app
    Copy link

    openapi-pipeline-app bot commented Aug 8, 2023

    Generated ApiView

    Language Package Name ApiView Link
    Go sdk/resourcemanager/redis/armredis https://apiview.dev/Assemblies/Review/a29ab9375bfa4175abb8955688a20be3
    Java azure-resourcemanager-redis-generated https://apiview.dev/Assemblies/Review/5278f10acef941a6ad27f57125b9a4ee
    JavaScript @azure/arm-rediscache https://apiview.dev/Assemblies/Review/927aad543ba740729c8acad8c11ae049
    Swagger Microsoft.Cache https://apiview.dev/Assemblies/Review/0e6449aed043465f96c33c66cff8d62b

    @openapi-workflow-bot
    Copy link

    Hi @koderjoker! The automation detected breaking changes in this pull request. As a result, it added the BreakingChangeReviewRequired label.

    You cannot proceed with merging this PR until you complete one of the following action items:

    ACTION ITEM ALTERNATIVE A: Fix the breaking change.
    Please consult the documentation provided in the relevant validation failures.

    ACTION ITEM ALTERNATIVE B: Request approval.
    Alternatively, if you cannot fix the breaking changes, then you can request an approval for them. Please follow the breaking changes process.
    This case applies even if:

    • The tool fails while it shouldn't, e.g. due to runtime exception, or incorrect detection of breaking changes.
    • You believe there is no need for you to request breaking change approval, for any reason. Such claims must be reviewed, and the process is the same.

    * add flush operation to 2023-08-01 redis api version
    
    * Add "x-ms-long-running-operation-options" and "headers" properties
    
    * remove OperationStatusResult
    
    * remove 200 response code
    
    * Revert "remove 200 response code"
    
    This reverts commit 1f9c78f.
    
    * empty body for 200 response
    
    * add schema ref
    
    * use CacheNameParameter
    
    * "name" -> "cacheName"
    
    * add cacheName to flush example
    
    ---------
    
    Co-authored-by: Austin Tolani <austintolani@microsoft.com>
    @openapi-pipeline-app
    Copy link

    openapi-pipeline-app bot commented Aug 18, 2023

    Next Steps to Merge

    ⚠️ This is an experimental comment. It may not always be up-to-date. ⚠️

    ✔️ All automated merging requirements have been met! Refer to step 4 in the PR workflow diagram (even if your PR is for data plane, not ARM).

    @austintolani
    Copy link
    Contributor

    Question for those reviewing this PR:

    In this PR we add a new /flush endpoint. This endpoint is for a long running operation, so it always returns a 202 (or some error code). However, the validation tools mandated that a LRO POST endpoint should always have a 202 and a 200 response defined. I have added this in the OpenAPI spec to pass the validation but it seems odd to add a status code that we will never return. I've noticed that we do this for other long running operations as well. Could you provide any guidance/suggestions about this?

    Adds UpdateChannel property to Redis-API
    @openapi-pipeline-app
    Copy link

    openapi-pipeline-app bot commented Aug 19, 2023

    Automatic PR validation restarted. This comment will be populated with next steps to merge this PR once validation is completed. Please wait ⌛.

    @mikekistler
    Copy link
    Member

    Breaking changes previously reviewed and approved in #23745

    @mikekistler mikekistler added the Approved-BreakingChange DO NOT USE! OBSOLETE label. See https://github.com/Azure/azure-sdk-tools/issues/6374 label Aug 21, 2023
    @koderjoker koderjoker marked this pull request as ready for review August 21, 2023 03:27
    @AzureRestAPISpecReview AzureRestAPISpecReview added ReadyForApiTest <valid label in PR review process>add this label when swagger and service APIs are ready for test WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required labels Aug 21, 2023
    @samsaha-ms
    Copy link
    Contributor

    Question for those reviewing this PR:

    In this PR we add a new /flush endpoint. This endpoint is for a long running operation, so it always returns a 202 (or some error code). However, the validation tools mandated that a LRO POST endpoint should always have a 202 and a 200 response defined. I have added this in the OpenAPI spec to pass the validation but it seems odd to add a status code that we will never return. I've noticed that we do this for other long running operations as well. Could you provide any guidance/suggestions about this?

    This is due to how SDKs are implemented currently, so that SDKs can deserialize the final response that location header will return at the end. This mandate will go away in future once final-state-schema property is implemented and consumed by all sdks.

    Copy link
    Contributor

    @samsaha-ms samsaha-ms left a comment

    Choose a reason for hiding this comment

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

    LGTM.

    @samsaha-ms samsaha-ms added the ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review label Aug 22, 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 Aug 22, 2023
    @koderjoker
    Copy link
    Member Author

    /azp run

    @openapi-pipeline-app
    Copy link

    openapi-pipeline-app bot commented Aug 22, 2023

    Automatic PR validation restarted. This comment will be populated with next steps to merge this PR once validation is completed. Please wait ⌛.

    @azure-pipelines
    Copy link

    Azure Pipelines successfully started running 2 pipeline(s).

    @Alancere
    Copy link
    Contributor

    Alancere commented Aug 24, 2023

    Hi @koderjoker , these names are not friendly to users, these are caused by duplicate schema name, please remove modelerfour:lenient-model-deduplication: true in readme.go.md, please try to unify the version of common-type.
    image

    @koderjoker
    Copy link
    Member Author

    @Alancere would love to get more context on this.

    1. If it is my correct understanding, did this error arise because the current swagger changes introduce schema $ref "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult", while our swagger file already has "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationStatusResult"?
    2. Also, what common type used in this file is causing the Error Detail breaking change?
    3. In order to fix this issue should we remove lenient-model-deduplication from readme.go.md and use the same common-type version throughout the file, which caused the breaking change in 1 and 2?

    cc. @austintolani for swagger changes regarding OperationStatusResult

    @Alancere
    Copy link
    Contributor

    Yes there are different $ref "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult" and ”../../ ../../../common-types/resource-management/v3/types.json#/definitions/OperationStatusResult" and others, which will cause duplicate schema, lenient-model-deduplication config will avoid duplicate schema name, but this will have a user-unfriendly AutoGenerated suffix, and I found that Microsoft.Cache has been GA, please solve this problem as much as possible.

    @TimLovellSmith
    Copy link
    Member

    TimLovellSmith commented Aug 25, 2023

    @Alancere Do you mean that it is best practice RPs to always unify on latest version of common-type, and get any breaking change that causes approved, even for GA RPs?
    Just seeking more clarity!

    @raych1
    Copy link
    Member

    raych1 commented Aug 25, 2023

    @TimLovellSmith , from SDK perspective it doesn't allow to have duplicated schema otherwise the code generated isn't easy to be consumed by end user.

    Regarding how to avoid the duplicated schema, there're different approaches. Either consolidating the common-types reference to one version or adding the duplicated schema in local swagger rather than referencing from common-types if the former consolidation approach would cause breaking change on REST api.

    @samsaha-ms
    Copy link
    Contributor

    samsaha-ms commented Aug 25, 2023

    @TimLovellSmith , from SDK perspective it doesn't allow to have duplicated schema otherwise the code generated isn't easy to be consumed by end user.

    Regarding how to avoid the duplicated schema, there're different approaches. Either consolidating the common-types reference to one version or adding the duplicated schema in local swagger rather than referencing from common-types if the former consolidation approach would cause breaking change on REST api.

    @raych1, I have one query, does it cause any SDK issue if we use different common-type versions for different models but same version for same common-type across swagger?
    If it does not cause any issue then maybe we can update all references of OperationStatusResult from v3 to v5 only, as there is no difference between them it won't be an additional breaking change in this PR.

    @koderjoker
    Copy link
    Member Author

    /pr RequestMerge

    @rkmanda rkmanda merged commit 2a79267 into main Sep 6, 2023
    @rkmanda rkmanda deleted the dev-redis-Microsoft.Cache-2023-08-01 branch September 6, 2023 16:58
    jnlycklama pushed a commit that referenced this pull request Nov 8, 2023
    …ble/2023-08-01 (#25215)
    
    * Adds base for updating Microsoft.Cache from version preview/2023-05-01-preview to version 2023-08-01
    
    * Updates readme
    
    * Updates API version in new specs and examples
    
    * Add flush operation to 2023-08-01 Redis API version (#25298)
    
    * add flush operation to 2023-08-01 redis api version
    
    * Add "x-ms-long-running-operation-options" and "headers" properties
    
    * remove OperationStatusResult
    
    * remove 200 response code
    
    * Revert "remove 200 response code"
    
    This reverts commit 1f9c78f.
    
    * empty body for 200 response
    
    * add schema ref
    
    * use CacheNameParameter
    
    * "name" -> "cacheName"
    
    * add cacheName to flush example
    
    ---------
    
    Co-authored-by: Austin Tolani <austintolani@microsoft.com>
    
    * Adds UpdateChannel property to Redis-API (#25379)
    
    Adds UpdateChannel property to Redis-API
    
    * use v3 for OperationStatusResult
    
    * remove lenient-model-deduplication in readme.go.md
    
    * Update ErrorResponse to v3
    
    ---------
    
    Co-authored-by: Austin Tolani <46536757+austintolani@users.noreply.github.com>
    Co-authored-by: Austin Tolani <austintolani@microsoft.com>
    Co-authored-by: Oscar Barbosa Aquino <32723476+Darfeikus@users.noreply.github.com>
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

    Labels

    Approved-BreakingChange DO NOT USE! OBSOLETE label. See https://github.com/Azure/azure-sdk-tools/issues/6374 Approved-SdkBreakingChange-Go Approve the breaking change tracking for azure-sdk-for-go Approved-SdkBreakingChange-JavaScript ARMReview ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review BreakingChangeReviewRequired <valid label in PR review process>add this label when breaking change review is required CI-BreakingChange-Go CI-BreakingChange-JavaScript IDCDevDiv new-api-version ReadyForApiTest <valid label in PR review process>add this label when swagger and service APIs are ready for test resource-manager

    Projects

    None yet

    Development

    Successfully merging this pull request may close these issues.