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

Adding APIs for private link #8540

Closed
wants to merge 9 commits into from
Closed

Conversation

juniwang
Copy link
Contributor

Changes

  • Adding APIs for SignalR PrivateEndpointConnection
  • Adding new field upstream

For both changes, backward compatibilities are took into account. If they are null, whether it's from old SDK or newer version of SDK, we won't change anything. Only if it's not null, we read their children properties and handle it correspondingly.

Validations documented at Swagger Validation tools all passed.

Latest improvements:

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

Contribution checklist:

  • I have reviewed the documentation for the workflow.
  • Validation tools were run on swagger spec(s) and have all been fixed in this PR.
  • The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

  • Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
  • adding/removing APIs.
  • adding/removing properties.
  • adding/removing API-version.
  • adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

  • If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
    Please follow the link to find more details on API review process.

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@openapi-sdkautomation
Copy link

openapi-sdkautomation bot commented Feb 27, 2020

azure-sdk-for-go

️✔️ succeeded [Logs] [Expand Details]

@openapi-sdkautomation
Copy link

openapi-sdkautomation bot commented Feb 27, 2020

azure-sdk-for-java

⚠️ warning [Logs] [Expand Details]
  • ⚠️ Generate from a16b59c with merge commit fb4e71f495b5cdc2c6d8f2f66ced89239a101102. SDK Automation 13.0.17.20200423.4
  • ⚠️sdk/signalr/mgmt-v2018_03_01_preview [Logs]  [Preview SDK Changes]
      [mvn] [ERROR] COMPILATION ERROR : 
      [mvn] [ERROR] /z/work/azure-sdk-for-java/sdk/signalr/mgmt-v2018_03_01_preview/src/main/java/com/microsoft/azure/management/signalr/v2018_03_01_preview/implementation/SignalRManager.java:[82,50] incompatible types: com.microsoft.azure.management.signalr.v2018_03_01_preview.implementation.SignalRManager cannot be converted to com.microsoft.azure.management.signalr.v2018_03_01_preview.implementation.SignalRServiceManager
      [mvn] [ERROR] /z/work/azure-sdk-for-java/sdk/signalr/mgmt-v2018_03_01_preview/src/main/java/com/microsoft/azure/management/signalr/v2018_03_01_preview/implementation/SignalRManager.java:[92,46] incompatible types: com.microsoft.azure.management.signalr.v2018_03_01_preview.implementation.SignalRManager cannot be converted to com.microsoft.azure.management.signalr.v2018_03_01_preview.implementation.SignalRServiceManager
      [mvn] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project azure-mgmt-signalrservice: Compilation failure: Compilation failure: 
      [mvn] [ERROR] /z/work/azure-sdk-for-java/sdk/signalr/mgmt-v2018_03_01_preview/src/main/java/com/microsoft/azure/management/signalr/v2018_03_01_preview/implementation/SignalRManager.java:[82,50] incompatible types: com.microsoft.azure.management.signalr.v2018_03_01_preview.implementation.SignalRManager cannot be converted to com.microsoft.azure.management.signalr.v2018_03_01_preview.implementation.SignalRServiceManager
      [mvn] [ERROR] /z/work/azure-sdk-for-java/sdk/signalr/mgmt-v2018_03_01_preview/src/main/java/com/microsoft/azure/management/signalr/v2018_03_01_preview/implementation/SignalRManager.java:[92,46] incompatible types: com.microsoft.azure.management.signalr.v2018_03_01_preview.implementation.SignalRManager cannot be converted to com.microsoft.azure.management.signalr.v2018_03_01_preview.implementation.SignalRServiceManager
      [mvn] [ERROR] -> [Help 1]
      [mvn] [ERROR] 
      [mvn] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
      [mvn] [ERROR] Re-run Maven using the -X switch to enable full debug logging.
      [mvn] [ERROR] 
      [mvn] [ERROR] For more information about the errors and possible solutions, please read the following articles:
      [mvn] [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
    • ⚠️sdk/signalr/mgmt-v2018_10_01 [Logs]  [Preview SDK Changes]
        [mvn] [ERROR] COMPILATION ERROR : 
        [mvn] [ERROR] /z/work/azure-sdk-for-java/sdk/signalr/mgmt-v2018_10_01/src/main/java/com/microsoft/azure/management/signalr/v2018_10_01/implementation/SignalRManager.java:[84,50] incompatible types: com.microsoft.azure.management.signalr.v2018_10_01.implementation.SignalRManager cannot be converted to com.microsoft.azure.management.signalr.v2018_10_01.implementation.SignalRServiceManager
        [mvn] [ERROR] /z/work/azure-sdk-for-java/sdk/signalr/mgmt-v2018_10_01/src/main/java/com/microsoft/azure/management/signalr/v2018_10_01/implementation/SignalRManager.java:[94,46] incompatible types: com.microsoft.azure.management.signalr.v2018_10_01.implementation.SignalRManager cannot be converted to com.microsoft.azure.management.signalr.v2018_10_01.implementation.SignalRServiceManager
        [mvn] [ERROR] /z/work/azure-sdk-for-java/sdk/signalr/mgmt-v2018_10_01/src/main/java/com/microsoft/azure/management/signalr/v2018_10_01/implementation/SignalRManager.java:[104,42] incompatible types: com.microsoft.azure.management.signalr.v2018_10_01.implementation.SignalRManager cannot be converted to com.microsoft.azure.management.signalr.v2018_10_01.implementation.SignalRServiceManager
        [mvn] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project azure-mgmt-signalrservice: Compilation failure: Compilation failure: 
        [mvn] [ERROR] /z/work/azure-sdk-for-java/sdk/signalr/mgmt-v2018_10_01/src/main/java/com/microsoft/azure/management/signalr/v2018_10_01/implementation/SignalRManager.java:[84,50] incompatible types: com.microsoft.azure.management.signalr.v2018_10_01.implementation.SignalRManager cannot be converted to com.microsoft.azure.management.signalr.v2018_10_01.implementation.SignalRServiceManager
        [mvn] [ERROR] /z/work/azure-sdk-for-java/sdk/signalr/mgmt-v2018_10_01/src/main/java/com/microsoft/azure/management/signalr/v2018_10_01/implementation/SignalRManager.java:[94,46] incompatible types: com.microsoft.azure.management.signalr.v2018_10_01.implementation.SignalRManager cannot be converted to com.microsoft.azure.management.signalr.v2018_10_01.implementation.SignalRServiceManager
        [mvn] [ERROR] /z/work/azure-sdk-for-java/sdk/signalr/mgmt-v2018_10_01/src/main/java/com/microsoft/azure/management/signalr/v2018_10_01/implementation/SignalRManager.java:[104,42] incompatible types: com.microsoft.azure.management.signalr.v2018_10_01.implementation.SignalRManager cannot be converted to com.microsoft.azure.management.signalr.v2018_10_01.implementation.SignalRServiceManager
        [mvn] [ERROR] -> [Help 1]
        [mvn] [ERROR] 
        [mvn] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
        [mvn] [ERROR] Re-run Maven using the -X switch to enable full debug logging.
        [mvn] [ERROR] 
        [mvn] [ERROR] For more information about the errors and possible solutions, please read the following articles:
        [mvn] [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

      @openapi-sdkautomation
      Copy link

      openapi-sdkautomation bot commented Feb 27, 2020

      azure-sdk-for-net

      ️✔️ succeeded [Logs] [Expand Details]

      @openapi-sdkautomation
      Copy link

      openapi-sdkautomation bot commented Feb 27, 2020

      azure-sdk-for-js

      ️✔️ succeeded [Logs] [Expand Details]

      @openapi-sdkautomation
      Copy link

      openapi-sdkautomation bot commented Feb 27, 2020

      azure-sdk-for-python

      ️✔️ succeeded [Logs] [Expand Details]
      • ️✔️ Generate from a16b59c with merge commit fb4e71f495b5cdc2c6d8f2f66ced89239a101102. SDK Automation 13.0.17.20200423.4
      • ️✔️azure-mgmt-signalr [Logs]  [Preview SDK Changes]
        [build_conf] INFO:packaging_tools:Building template azure-mgmt-signalr
        [build_conf] INFO:packaging_tools.conf:Skipping default conf since the file exists
        [build_conf] INFO:packaging_tools:Skipping CHANGELOG.md template, since a previous one was found
        [build_conf] INFO:packaging_tools:Template done azure-mgmt-signalr
        [build_package] /usr/lib/python3.6/distutils/dist.py:261: UserWarning: Unknown distribution option: 'long_description_content_type'
        [build_package]   warnings.warn(msg)
        [build_package] warning: no files found matching '*.py' under directory 'tests'
        [build_package] warning: no files found matching '*.yaml' under directory 'tests'
        [build_package] /usr/lib/python3.6/distutils/dist.py:261: UserWarning: Unknown distribution option: 'long_description_content_type'
        [build_package]   warnings.warn(msg)
        [build_package] warning: no files found matching '*.py' under directory 'tests'
        [build_package] warning: no files found matching '*.yaml' under directory 'tests'
        [breaking_change_setup] Ignoring mock: markers 'python_version <= "2.7"' don't match your environment
        [breaking_change_setup] Cannot uninstall requirement azure-nspkg, not installed
        [breaking_change_setup] Command '['/usr/local/bin/python', '-m', 'pip', 'uninstall', '-y', 'azure-nspkg']' returned non-zero exit status 1.
        [ChangeLog] Size of delta 44.139% size of original (original: 22069 chars, delta: 9741 chars)
        [ChangeLog] **Features**
        [ChangeLog] 
        [ChangeLog]   - Model Operation has a new parameter is_data_action
        [ChangeLog]   - Model SignalRResource has a new parameter private_endpoint_connections
        [ChangeLog]   - Model SignalRResource has a new parameter kind
        [ChangeLog]   - Model SignalRResource has a new parameter upstream
        [ChangeLog]   - Model SignalRResource has a new parameter network_ac_ls
        [ChangeLog]   - Model ServiceSpecification has a new parameter log_specifications
        [ChangeLog]   - Model SignalRCreateParameters has a new parameter kind
        [ChangeLog]   - Model SignalRCreateOrUpdateProperties has a new parameter upstream
        [ChangeLog]   - Model SignalRCreateOrUpdateProperties has a new parameter network_ac_ls
        [ChangeLog]   - Added operation group SignalRPrivateLinkResourcesOperations
        [ChangeLog]   - Added operation group SignalRPrivateEndpointConnectionsOperations

      @azuresdkci
      Copy link
      Contributor

      Can one of the admins verify this patch?

      @akning-ms
      Copy link
      Contributor

      @juniwang there is 4 validations failure to fix. you should fix avocado first then modal validation & others

      @azure-pipelines
      Copy link

      Azure Pipelines successfully started running 1 pipeline(s).

      @juniwang
      Copy link
      Contributor Author

      juniwang commented Mar 6, 2020

      @akning-ms Thanks for following up. Validation errors fixed.

      @ravbhatnagar ravbhatnagar added the ARMChangesRequested <valid label in PR review process>add this label when require changes after ARM review label Mar 6, 2020
      @ravbhatnagar
      Copy link
      Contributor

      @juniwang - few comments

      @azure-pipelines
      Copy link

      Azure Pipelines successfully started running 1 pipeline(s).

      @azure-pipelines
      Copy link

      Azure Pipelines successfully started running 1 pipeline(s).

      @juniwang juniwang requested a review from ravbhatnagar March 13, 2020 02:57
      @PhoenixHe-NV
      Copy link
      Contributor

      /azp run

      @azure-pipelines
      Copy link

      Azure Pipelines successfully started running 3 pipeline(s).

      @openapi-sdkautomation
      Copy link

      openapi-sdkautomation bot commented Mar 25, 2020

      azure-cli-extensions

      No readme.md specification configuration files were found that are associated with the files modified in this pull request, or swagger_to_sdk section in readme.md is not configured

      @azure-pipelines
      Copy link

      Azure Pipelines successfully started running 1 pipeline(s).

      @openapi-assignment-bot openapi-assignment-bot bot removed the WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required label Apr 24, 2020
      @azure-pipelines
      Copy link

      Azure Pipelines successfully started running 1 pipeline(s).

      @openapi-sdkautomation
      Copy link

      openapi-sdkautomation bot commented Apr 24, 2020

      azure-sdk-for-trenton

      No readme.md specification configuration files were found that are associated with the files modified in this pull request, or swagger_to_sdk section in readme.md is not configured

      @azure-pipelines
      Copy link

      Azure Pipelines successfully started running 1 pipeline(s).

      @azure-pipelines
      Copy link

      Azure Pipelines successfully started running 1 pipeline(s).

      @@ -861,7 +1083,7 @@
      "readOnly": true
      },
      "type": {
      "description": "The type of the service - e.g. \"Microsoft.SignalRService/SignalR\"",
      "description": "The type of the resource - e.g. \"Microsoft.SignalRService/SignalR\", \"Microsoft.SignalRService/SignalR/PrivateEndpointConnections\"",
      Copy link
      Contributor

      Choose a reason for hiding this comment

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

      Microsoft.SignalRService/SignalR/PrivateEndpointConnections" [](start = 98, length = 61)

      privateEndpointConnections does not belong here as an example on this definition. This definition describes a tracked resource specific to your service. PrivateEndpointConnections are proxy

      @@ -1059,7 +1297,7 @@
      }
      },
      "value": {
      "description": "Value of the feature flag. See Azure SignalR service document https://docs.microsoft.com/azure/azure-signalr/ for allowed values.",
      "description": "Value of the feature flag. See Azure SignalR service document https://docs.microsoft.com/en-us/azure/azure-signalr/ for allowed values.",
      Copy link
      Contributor

      Choose a reason for hiding this comment

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

      en-us/ [](start = 115, length = 6)

      don't include locale in documentation links

      "type": "object",
      "properties": {
      "allow": {
      "description": "Allowed request types. The value can be: ClientConnection, ServerConnection, RESTAPI.",
      Copy link
      Contributor

      Choose a reason for hiding this comment

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

      ClientConnection, ServerConnection, RESTAPI [](start = 67, length = 43)

      if this is value constrained it should be represented by an array of string enums

      "readOnly": true
      },
      "type": {
      "description": "The type of the resource - e.g. \"Microsoft.SignalRService/SignalR\", \"Microsoft.SignalRService/SignalR/PrivateEndpointConnections\"",
      Copy link
      Contributor

      Choose a reason for hiding this comment

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

      "Microsoft.SignalRService/SignalR" [](start = 58, length = 36)

      Please update the type description so it is valid for this definition

      "description": "The type of the resource - e.g. \"Microsoft.SignalRService/SignalR\", \"Microsoft.SignalRService/SignalR/PrivateEndpointConnections\"",
      "type": "string",
      "readOnly": true
      }
      Copy link
      Contributor

      Choose a reason for hiding this comment

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

      id, name, and type are inherited from the ProxyResource->Resource reference. You don't need to redeclare them here

      "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections"
      },
      "headers": {
      "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult..."
      Copy link
      Contributor

      Choose a reason for hiding this comment

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

      "Location" [](start = 8, length = 10)

      Async PUT should use the azure-asyncoperation header if it needs additional operation info, not location. https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#creatingupdating-using-put

      },
      "networkACLs": {
      "$ref": "#/definitions/SignalRNetworkACLs",
      "description": "Network ACLs"
      }
      Copy link
      Contributor

      Choose a reason for hiding this comment

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

      this needs to be a new api-version. Handling it via "patch" semantics with nulls is not a good approach as that is not expected by consumers of your API (a PUT should replace all properties). It makes what-if analysis on template deployments much more complex, will break users with custom Azure Policies in place that require certain properties, etc...

      Copy link
      Contributor

      @pilor pilor left a comment

      Choose a reason for hiding this comment

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

      🕐

      @pilor pilor added 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 and removed ARMReviewInProgress labels Apr 27, 2020
      @juniwang
      Copy link
      Contributor Author

      Thanks for review, we will have a internal discussion first about the api-version

      @PhoenixHe-NV
      Copy link
      Contributor

      @juniwang Suggest to refer to #8935 and try to use types in the common folder. Thanks!

      @juniwang
      Copy link
      Contributor Author

      Close this PR since we have another one: #9377

      @juniwang juniwang closed this May 18, 2020
      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.

      7 participants