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

Web ant94 2021 02 01 #15188

Closed
wants to merge 9 commits into from
Closed

Web ant94 2021 02 01 #15188

wants to merge 9 commits into from

Conversation

naveedaz
Copy link
Contributor

MSFT employees can try out our new experience at OpenAPI Hub - one location for using our validation tools and finding your workflow.

Changelog

Please ensure to add changelog with this PR by answering the following questions.

  1. What's the purpose of the update?
    • new service onboarding
    • new API version
    • update existing version for new feature
    • update existing version to fix swagger quality issue in s360
    • Other, please clarify
  2. When you are targeting to deploy new service/feature to public regions? Please provide date, or month to public if date is not available yet.
  3. When you expect to publish swagger? Please provide date, or month to public if date is not available yet.
  4. If it's an update to existing version, please select SDKs of specific language and CLIs that require refresh after swagger is published.
    • SDK of .NET (need service team to ensure code readiness)
    • SDK of Python
    • SDK of Java
    • SDK of Js
    • SDK of Go
    • PowerShell
    • CLI
    • Terraform
    • No, no need to refresh for updates in this PR

Contribution checklist:

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

ARM API Review Checklist

  • Ensure to check this box if one of the following scenarios meet updates in the PR, so that label “WaitForARMFeedback” will be added automatically to involve ARM API Review. Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs, all “removals” and “adding a new property” no more require ARM API review.

    • Adding new API(s)
    • Adding a new API version
    • Ensure to copy the existing version into new directory structure for first commit (including refactoring) and then push new changes including version updates in separate commits. This is required to review the changes efficiently.
    • Adding a new service
  • Please ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

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

Breaking Change Review Checklist

If there are following updates in the PR, ensure to request an approval from Breaking Change Review Board as defined in the Breaking Change Policy.

  • Removing API(s) in stable version
  • Removing properties in stable version
  • Removing API version(s) in stable version
  • Updating API in stable or public preview version with Breaking Change Validation errors
  • Updating API(s) in public preview over 1 year (refer to Retirement of Previews)

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

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

@openapi-workflow-bot
Copy link

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

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

  • Any feedback about review process or workflow bot, pls contact swagger and tools team. [email protected]

    @openapi-workflow-bot
    Copy link

    [Call for Action] To better understand Azure service dev/test scenario, and support Azure service developer better on Swagger and REST API related tests in early phase, please help to fill in with this survey https://aka.ms/SurveyForEarlyPhase. It will take 5 to 10 minutes. If you already complete survey, please neglect this comment. Thanks.

    @openapi-pipeline-app
    Copy link

    Swagger pipeline can not start as the pull request has merge conflicts.

    1 similar comment
    @openapi-pipeline-app
    Copy link

    Swagger pipeline can not start as the pull request has merge conflicts.

    @openapi-workflow-bot
    Copy link

    Hi, @naveedaz your PR are labelled with WaitForARMFeedback. A notification email will be sent out shortly afterwards to notify ARM review board([email protected]).

    @openapi-workflow-bot openapi-workflow-bot bot added the WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required label Jul 14, 2021
    * Adds base for updating Microsoft.Web from version stable/2021-01-01 to version 2021-01-15
    
    * Updates readme
    
    * Updates API version in new specs and examples
    
    * Add Cert and Domain Registration APIs. Fix publishingcredentialpolici… (#14738)
    
    * Add Cert and Domain Registration APIs. Fix publishingcredentialpolicies collection API response. Add networkconfig API verbs for sites and slots
    
    * Fix examples
    
    * Fix issue R4037
    
    * Fix lintDiff issues
    
    * Fix more issues
    
    Co-authored-by: Naveed Aziz <[email protected]>
    
    * Add x-ms-pageable for ListBasicPublishingCredentialsPolicies APIs (#14960)
    
    Co-authored-by: Naveed Aziz <[email protected]>
    (cherry picked from commit d9249ed)
    @openapi-pipeline-app
    Copy link

    Swagger pipeline can not start as the pull request has merge conflicts.

    1 similar comment
    @openapi-pipeline-app
    Copy link

    Swagger pipeline can not start as the pull request has merge conflicts.

    @mentat9
    Copy link
    Member

    mentat9 commented Jul 16, 2021

        "zoneRedundant": {
    

    Consider using a string enum, e.g. zonePolicy: { notZoned, zoneRedundant } or similar. Generally enums are more descriptive, flexible and future-proof than booleans and easier for customers to discover, understand and use.


    Refers to: specification/web/resource-manager/Microsoft.Web/stable/2021-02-01/CommonDefinitions.json:155 in 55a6949. [](commit_id = 55a6949, deletion_comment = False)

    @mentat9
    Copy link
    Member

    mentat9 commented Jul 16, 2021

            "elasticScaleEnabled": {
    

    Similar comment here re: boolean vs. string enum. Something like scalePolicy: { PerSite, Elastic } is preferred vs. two separate booleans. Enums also allow adding members without an API version bump.


    Refers to: specification/web/resource-manager/Microsoft.Web/stable/2021-02-01/CommonDefinitions.json:221 in 55a6949. [](commit_id = 55a6949, deletion_comment = False)

    @mentat9
    Copy link
    Member

    mentat9 commented Jul 16, 2021

            "zoneRedundant": {
    

    Consider string enum here as well.


    Refers to: specification/web/resource-manager/Microsoft.Web/stable/2021-02-01/CommonDefinitions.json:312 in 55a6949. [](commit_id = 55a6949, deletion_comment = False)

    @mentat9
    Copy link
    Member

    mentat9 commented Jul 16, 2021

    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkConfig/virtualNetwork": {
    

    Since you fleshing out the ARM resource model for this resource, consider implementing the collection GET as well to enable discovery. This would automatically give you support for Azure Policy on these resources. Note the singleton pattern for ARM resources still depends on collection GET returning an array with a single element for discovery.


    Refers to: specification/web/resource-manager/Microsoft.Web/stable/2021-02-01/WebApps.json:5945 in 55a6949. [](commit_id = 55a6949, deletion_comment = False)

    @mentat9
    Copy link
    Member

    mentat9 commented Jul 16, 2021

    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/migratemysql/status": {
    

    Similar point here: since you fleshing out the ARM resource model for this resource, consider implementing the collection GET as well to enable discovery.


    Refers to: specification/web/resource-manager/Microsoft.Web/stable/2021-02-01/WebApps.json:14868 in 55a6949. [](commit_id = 55a6949, deletion_comment = False)

    @mentat9
    Copy link
    Member

    mentat9 commented Jul 16, 2021

              "$ref": "./CommonDefinitions.json#/definitions/VnetInfo",
    

    Should this be VnetInfoResource (the full ARM object)?


    Refers to: specification/web/resource-manager/Microsoft.Web/stable/2021-02-01/WebApps.json:23647 in 55a6949. [](commit_id = 55a6949, deletion_comment = False)

    @mentat9
    Copy link
    Member

    mentat9 commented Jul 16, 2021

            }
    

    Will back-level clients see something meaningful in place of this?


    Refers to: specification/web/resource-manager/Microsoft.Web/stable/2021-02-01/WebApps.json:21211 in 9d228f5. [](commit_id = 9d228f5, deletion_comment = False)

    }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/validateCertificateRegistrationInformation": {
    "post": {
    Copy link
    Member

    Choose a reason for hiding this comment

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

    post

    How does this operation indicate a validation failure?

    Copy link
    Contributor Author

    Choose a reason for hiding this comment

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

    Unfortunately, the current implementation only throws an exception.

    "$ref": "#/definitions/AppServiceCertificateOrder"
    }
    },
    "201": {
    Copy link
    Member

    Choose a reason for hiding this comment

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

    201

    Need to add x-ms-long-running-operation flag.

    "$ref": "#/definitions/AppServiceCertificateResource"
    }
    },
    "201": {
    Copy link
    Member

    Choose a reason for hiding this comment

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

    201

    Need to add x-ms-long-running-operation flag.

    "tags": [
    "AppServiceCertificateOrders"
    ],
    "summary": "Verify domain ownership for this certificate order.",
    Copy link
    Member

    Choose a reason for hiding this comment

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

    Verify domain ownership for this certificate order.

    summary and description need to be corrected.

    "tags": [
    "AppServiceCertificateOrders"
    ],
    "summary": "Verify domain ownership for this certificate order.",
    Copy link
    Member

    Choose a reason for hiding this comment

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

    Verify domain ownership for this certificate order.

    summary and description need to be corrected.

    "readOnly": true,
    "x-ms-enum": {
    "name": "CertificateOrderActionType",
    "modelAsString": false
    Copy link
    Member

    Choose a reason for hiding this comment

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

    false

    Recommended value for modelAsString is true. I see this is consistently false for all enums in this PR, so presumably you have a reason for that preference.

    Copy link
    Contributor Author

    Choose a reason for hiding this comment

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

    This is not a change from previous versions. If we change modelAsString to true now is that going to cause more issues for customers with backwards compatibility?

    @openapi-pipeline-app
    Copy link

    Swagger pipeline can not start as the pull request has merge conflicts.

    1 similar comment
    @openapi-pipeline-app
    Copy link

    Swagger pipeline can not start as the pull request has merge conflicts.

    @naveedaz
    Copy link
    Contributor Author

    naveedaz commented Aug 5, 2021

        "zoneRedundant": {
    

    Consider using a string enum, e.g. zonePolicy: { notZoned, zoneRedundant } or similar. Generally enums are more descriptive, flexible and future-proof than booleans and easier for customers to discover, understand and use.

    Refers to: specification/web/resource-manager/Microsoft.Web/stable/2021-02-01/CommonDefinitions.json:155 in 55a6949. [](commit_id = 55a6949, deletion_comment = False)

    The swagger changes are late for the service and the API is already live with the boolean. We can consider enums for future API versions and new properties that we introduce but is this a blocker for this change?

    @mentat9
    Copy link
    Member

    mentat9 commented Aug 5, 2021

        "zoneRedundant": {
    

    Consider using a string enum, e.g. zonePolicy: { notZoned, zoneRedundant } or similar. Generally enums are more descriptive, flexible and future-proof than booleans and easier for customers to discover, understand and use.
    Refers to: specification/web/resource-manager/Microsoft.Web/stable/2021-02-01/CommonDefinitions.json:155 in 55a6949. [](commit_id = 55a6949, deletion_comment = False)

    The swagger changes are late for the service and the API is already live with the boolean. We can consider enums for future API versions and new properties that we introduce but is this a blocker for this change?

    @naveedaz: please work with this week's on-call ARM reviewer (@chiragg4u) to complete this review.

    @naveedaz
    Copy link
    Contributor Author

    naveedaz commented Aug 5, 2021

    23647

    No.

              "$ref": "./CommonDefinitions.json#/definitions/VnetInfo",
    

    Should this be VnetInfoResource (the full ARM object)?

    Refers to: specification/web/resource-manager/Microsoft.Web/stable/2021-02-01/WebApps.json:23647 in 55a6949. [](commit_id = 55a6949, deletion_comment = False)

    No. The change to not have it be a full arm object addresses issue: #14824

    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 WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required
    Projects
    None yet
    Development

    Successfully merging this pull request may close these issues.

    4 participants