Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

RecoveryServices @ 2023-06-01: adding CertificateCreateOptions #26680

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

tombuildsstuff
Copy link
Contributor

@tombuildsstuff tombuildsstuff commented Nov 13, 2023

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] ARM review queue (for merge queues, see [4])
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 (for ARM review queue, [1])

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!

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.

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
Swagger-Suppression-Process
to get approval.

Getting help

Copy link

openapi-pipeline-app bot commented Nov 13, 2023

Next Steps to Merge

Next steps that must be taken to merge this PR:
  • ❌ Your PR has at least one change violating Azure versioning policy (label: VersioningReviewRequired). You must introduce a new API version with these changes instead of modifying an existing one. See the PR description for help.
  • ❌ The required check named Swagger BreakingChange has failed. Refer to the check in the PR's 'Checks' tab for details on how to fix it. In addition, refer to step 1 in the PR workflow diagram (even if your PR is for data plane, not ARM).

Copy link

openapi-pipeline-app bot commented Nov 13, 2023

Swagger Validation Report

️❌BreakingChange: 1 Errors, 0 Warnings failed [Detail]
compared swaggers (via Oad v0.10.4)] new version base version
registeredidentities.json 2023-06-01(456526f) 2023-06-01(main)
Rule Message
1045 - AddedOptionalProperty The new version has a new optional property 'certificateCreateOptions' that was not found in the old version.
New: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L126:7
Old: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L126:7
️️✔️Breaking Change(Cross-Version) succeeded [Detail] [Expand]
There are no breaking changes.
️️✔️CredScan succeeded [Detail] [Expand]
There is no credential detected.
️⚠️LintDiff: 1 Warnings warning [Detail]
compared tags (via openapi-validator v2.1.6) new version base version
package-2023-06 package-2023-06(456526f) package-2023-06(main)

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

Rule Message Related RPC [For API reviewers]
⚠️ AvoidNestedProperties Consider using x-ms-client-flatten to provide a better end user experience
Location: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L130


The following errors/warnings exist before current PR submission:

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

Rule Message
ImplementPrivateEndpointAPIs The private endpoint API: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName} is missing.
Location: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L20
ImplementPrivateEndpointAPIs The private endpoint API: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateEndpointConnections is missing.
Location: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L20
PathResourceTypeNameCamelCase Resource type naming must follow camel case. Path: '/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/certificates/{certificateName}'
Location: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L21
ResourceNameRestriction The resource name parameter 'vaultName' should be defined with a 'pattern' restriction.
Location: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L21
ResourceNameRestriction The resource name parameter 'certificateName' should be defined with a 'pattern' restriction.
Location: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L21
SubscriptionsAndResourceGroupCasing The path segment Subscriptions should be subscriptions.
Location: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L21
PutRequestResponseSchemeArm A PUT operation request body schema should be the same as its 200 response schema, to allow reusing the same entity between GET and PUT. If the schema of the PUT request body is a superset of the GET response body, make sure you have a PATCH operation to make the resource updatable. Operation: 'VaultCertificates_Create' Request Model: 'parameters[5].schema' Response Model: 'responses[200].schema'
Location: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L22
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.RecoveryServices/stable/2023-06-01/registeredidentities.json#L22
MissingDefaultResponse Operation is missing a default response.
Location: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L64
RequiredDefaultResponse The response is defined but without a default error response implementation.Consider adding it.'
Location: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L64
PathResourceTypeNameCamelCase Resource type naming must follow camel case. Path: '/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/registeredIdentities/{identityName}'
Location: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L80
ResourceNameRestriction The resource name parameter 'vaultName' should be defined with a 'pattern' restriction.
Location: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L80
ResourceNameRestriction The resource name parameter 'identityName' should be defined with a 'pattern' restriction.
Location: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L80
SubscriptionsAndResourceGroupCasing The path segment Subscriptions should be subscriptions.
Location: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L80
DeleteResponseCodes Synchronous delete operations must have responses with 200, 204 and default return codes. They also must have no other response codes.
Location: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L81
DeleteOperationResponses The delete operation is defined without a 200 or 204 error response implementation,please add it.'
Location: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L108
MissingDefaultResponse Operation is missing a default response.
Location: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L108
RequiredDefaultResponse The response is defined but without a default error response implementation.Consider adding it.'
Location: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L108
NestedResourcesMustHaveListOperation The nested resource 'VaultCertificateResponse' does not have list operation, please add it.
Location: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L309
XmsParameterLocation The parameter 'SubscriptionId' is defined in global parameters section without 'x-ms-parameter-location' extension. This would add the parameter as the client property. Please ensure that this is exactly you want. If so, apply the extension 'x-ms-parameter-location': 'client'. Else, apply the extension 'x-ms-parameter-location': 'method'.
Location: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L336
XmsParameterLocation The parameter 'ApiVersion' is defined in global parameters section without 'x-ms-parameter-location' extension. This would add the parameter as the client property. Please ensure that this is exactly you want. If so, apply the extension 'x-ms-parameter-location': 'client'. Else, apply the extension 'x-ms-parameter-location': 'method'.
Location: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L359
⚠️ DeprecatedXmsCodeGenerationSetting The x-ms-code-generation-setting extension is being deprecated. Please remove it and move settings to readme file for code generation.
Location: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L6
⚠️ RequiredReadOnlySystemData The response of operation:'VaultCertificates_Create' is defined without 'systemData'. Consider adding the systemData to the response.
Location: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L22
⚠️ ParameterNotUsingCommonTypes Not using the common-types defined parameter 'subscriptionId'.
Location: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L34
⚠️ ParameterNotUsingCommonTypes Not using the common-types defined parameter 'resourceGroupName'.
Location: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L34
⚠️ ParameterNotUsingCommonTypes Not using the common-types defined parameter 'api-version'.
Location: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L34
⚠️ LatestVersionOfCommonTypesMustBeUsed Use the latest version v5 of types.json.
Location: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L36
⚠️ LatestVersionOfCommonTypesMustBeUsed Use the latest version v5 of types.json.
Location: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L39
⚠️ LatestVersionOfCommonTypesMustBeUsed Use the latest version v5 of types.json.
Location: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L42
⚠️ ParameterNotUsingCommonTypes Not using the common-types defined parameter 'subscriptionId'.
Location: Microsoft.RecoveryServices/stable/2023-06-01/registeredidentities.json#L87
️️✔️Avocado succeeded [Detail] [Expand]
Validation passes for Avocado.
️❌SwaggerAPIView: 0 Errors, 0 Warnings failed [Detail]
️️✔️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?

Copy link

openapi-pipeline-app bot commented Nov 13, 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/recoveryservices/armrecoveryservices - 2.0.0
+	Function `*timeRFC3339.Parse` has been removed
+	Function `*timeRFC3339.UnmarshalText` has been removed
+	Function `timeRFC3339.MarshalText` has been removed


️️✔️ azure-sdk-for-net-track2 succeeded [Detail] [Expand]
  • ️✔️Succeeded [Logs] Generate from b29cc1fb1395c7effd0dc0b28a3bbe66263f03fc. 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
  • ️✔️Azure.ResourceManager.RecoveryServices [View full logs]  [Preview SDK Changes]
    info	[Changelog]
️⚠️ azure-sdk-for-python-track2 warning [Detail]
  • ⚠️Warning [Logs] Generate from b29cc1fb1395c7effd0dc0b28a3bbe66263f03fc. 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: azure-devtools 1.2.1 does not provide the extra 'ci-tools'
    cmderr	[automation_init.sh] WARNING: azure-devtools 1.2.1 does not provide the extra 'ci-tools'
    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]
    cmderr	[automation_generate.sh] npm notice New major version of npm available! 9.8.1 -> 10.2.3
    cmderr	[automation_generate.sh] npm notice Changelog: <https://github.com/npm/cli/releases/tag/v10.2.3>
    cmderr	[automation_generate.sh] npm notice Run `npm install -g npm@10.2.3` to update!
    cmderr	[automation_generate.sh] npm notice
  • ️✔️track2_azure-mgmt-recoveryservices [View full logs]  [Preview SDK Changes]
    info	[Changelog] ### Features Added
    info	[Changelog]
    info	[Changelog]   - Model CertificateRequest has a new parameter certificate_create_options
️⚠️ azure-sdk-for-java warning [Detail]
  • ⚠️Warning [Logs] Generate from b29cc1fb1395c7effd0dc0b28a3bbe66263f03fc. 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.3.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.3.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-recoveryservices [View full logs]  [Preview SDK Changes]
️️✔️ azure-sdk-for-go succeeded [Detail] [Expand]
  • ️✔️Succeeded [Logs] Generate from b29cc1fb1395c7effd0dc0b28a3bbe66263f03fc. 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/recoveryservices/armrecoveryservices [View full logs]  [Preview SDK Changes] Breaking Change Detected
    info	[Changelog] ### Breaking Changes
    info	[Changelog]
    info	[Changelog] - Function `timeRFC3339.MarshalText` has been removed
    info	[Changelog] - Function `*timeRFC3339.Parse` has been removed
    info	[Changelog] - Function `*timeRFC3339.UnmarshalText` has been removed
    info	[Changelog]
    info	[Changelog] ### Features Added
    info	[Changelog]
    info	[Changelog] - New function `dateTimeRFC3339.MarshalText() ([]byte, error)`
    info	[Changelog] - New function `*dateTimeRFC3339.Parse(string) error`
    info	[Changelog] - New function `*dateTimeRFC3339.UnmarshalText([]byte) error`
    info	[Changelog] - New struct `CertificateRequestCertificateCreateOptions`
    info	[Changelog] - New field `CertificateCreateOptions` in struct `CertificateRequest`
    info	[Changelog]
    info	[Changelog] Total 3 breaking change(s), 6 additive change(s).
️️✔️ azure-sdk-for-js succeeded [Detail] [Expand]
  • ️✔️Succeeded [Logs] Generate from b29cc1fb1395c7effd0dc0b28a3bbe66263f03fc. 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-recoveryservices [View full logs]  [Preview SDK Changes]
    info	[Changelog] **Features**
    info	[Changelog]
    info	[Changelog]   - Added Interface CertificateRequestCertificateCreateOptions
    info	[Changelog]   - Interface CertificateRequest has a new optional parameter certificateCreateOptions
️⚠️ azure-resource-manager-schemas warning [Detail]
  • ⚠️Warning [Logs] Generate from b29cc1fb1395c7effd0dc0b28a3bbe66263f03fc. 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] npm notice
    cmderr	[initScript.sh] npm notice New major version of npm available! 8.19.4 -> 10.2.3
    cmderr	[initScript.sh] npm notice Changelog: <https://github.com/npm/cli/releases/tag/v10.2.3>
    cmderr	[initScript.sh] npm notice Run `npm install -g npm@10.2.3` to update!
    cmderr	[initScript.sh] npm notice
    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
  • ️✔️recoveryservices [View full logs]  [Preview Schema Changes]
️❌ azure-powershell failed [Detail]
  • Pipeline Framework Failed [Logs] Generate from b29cc1fb1395c7effd0dc0b28a3bbe66263f03fc. 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.recoveryservices.DefaultTag [View full logs
    error	Fatal error: SSL error: syscall failure: Broken pipe
    error	The following packages are still pending:
    error		Az.recoveryservices.DefaultTag
Posted by Swagger Pipeline | How to fix these errors?

Copy link

openapi-pipeline-app bot commented Nov 13, 2023

Generated ApiView

Language Package Name ApiView Link
Go sdk/resourcemanager/recoveryservices/armrecoveryservices Create ApiView failed. Please ensure your github account in Azure/Microsoft is public and add a comment "/azp run" to re-trigger the CI.
Java azure-resourcemanager-recoveryservices Create ApiView failed. Please ensure your github account in Azure/Microsoft is public and add a comment "/azp run" to re-trigger the CI.
.Net Azure.ResourceManager.RecoveryServices Create ApiView failed. Please ensure your github account in Azure/Microsoft is public and add a comment "/azp run" to re-trigger the CI.
JavaScript @azure/arm-recoveryservices Create ApiView failed. Please ensure your github account in Azure/Microsoft is public and add a comment "/azp run" to re-trigger the CI.
Swagger Microsoft.RecoveryServices Create ApiView failed. Please ensure your github account in Azure/Microsoft is public and add a comment "/azp run" to re-trigger the CI.

@microsoft-github-policy-service microsoft-github-policy-service bot added the customer-reported Issues that are reported by GitHub users external to the Azure organization. label Nov 13, 2023
Copy link
Contributor

Thank you for your contribution tombuildsstuff! We will review the pull request and get back to you soon.

Copy link

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.
This will notify the reviewer to have another look.
If the feedback provided needs further discussion, please use this Teams channel to post your questions - aka.ms/azsdk/support/specreview-channel.
Please include [ARM Query] in the title of your question to indicate that it is ARM-related.

@tombuildsstuff tombuildsstuff force-pushed the recoveryservicessiterecovery/missing-certificate-create-options branch from 4daad23 to 456526f Compare November 13, 2023 12:16
@AzureRestAPISpecReview AzureRestAPISpecReview added the ReadyForApiTest <valid label in PR review process>add this label when swagger and service APIs are ready for test label Nov 13, 2023
tombuildsstuff added a commit to tombuildsstuff/openapi-diff that referenced this pull request Nov 15, 2023
…s as a breaking change

Breaking changes happen when the Request payload between one version of the API and
another version of the API are incompatible - meaning that the minimum viable payload
from the old API version does not work with the new API version.

In the event of a new Optional field being added to the Request (or Response) payload
the minimum viable request payload remains valid, therefore provided the field is
correctly flagged as Required/Optional, we can lean on that to determine whether a
breaking change is actually a breaking change.

This fixes an issue seen in Azure/azure-rest-api-specs#26680
and Azure/azure-rest-api-specs#22407 and
Azure/azure-rest-api-specs#25080 where the API Definition
doesn't correctly document all of the possible fields within the Request/Response
payloads.

Since this is going a conditional check, this commit changes this from an Error to a
Warning - as whilst there are situations where this can be a breaking change; this
requires understanding the change.
@konrad-jamrozik konrad-jamrozik added VersioningReviewRequired <valid label in PR review process>add this label when versioning review is required and removed NewApiVersionRequired labels Mar 11, 2024
@wuxu92
Copy link

wuxu92 commented May 9, 2024

Hi @tombuildsstuff would you please extend this change to all newer versions as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ARMChangesRequested <valid label in PR review process>add this label when require changes after ARM review ARMReview CI-BreakingChange-Go customer-reported Issues that are reported by GitHub users external to the Azure organization. ReadyForApiTest <valid label in PR review process>add this label when swagger and service APIs are ready for test resource-manager VersioningReviewRequired <valid label in PR review process>add this label when versioning review is required
Projects
None yet
5 participants