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

VMware by Virtustream API 2019-08-09-preview #8296

Merged
merged 27 commits into from
Feb 21, 2020

Conversation

ctaggart
Copy link
Contributor

@ctaggart ctaggart commented Feb 4, 2020

We are in private preview as of Friday, January 31st, so we can finally merge this. It was merged by @yungezz on September 22nd #6878, then reverted because we were not yet in private preview (https://preview.portal.azure.com/). Commit 74392a8 to mark Clusters_Delete as a long running operation was the only change.

I received my v- Microsoft credentials yesterday. I'll see if I can access the OpenAPI Hub. (I do not.)

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.

@AutorestCI
Copy link

You don't have permission to trigger SDK Automation.
Please add yourself to Azure group from opensource portal if you are MSFT employee,
or please ask reviewer to add comment *** /openapibot sdkautomation ***.
Please ask tih@microsoft.com (or NullMDR in github) for additional help.

@ctaggart
Copy link
Contributor Author

ctaggart commented Feb 4, 2020

I do not not understand why the LintDiff test is failing. Any help to fix that would be appreciated.

@mmyyrroonn
Copy link
Contributor

@ruowan Hello. Could you help about lintdiff? The error message is confusing.

Could not read 'file:///home/vsts/work/1/c93b354fd9c14905bb574a8834c4d69b/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/vmwarevirtustream.json'.]"
SyntaxError: Unexpected token E in JSON at position 665

@mmyyrroonn
Copy link
Contributor

@ctaggart Looks like there are some characters which cannot be parsed. Could you check it in detail?

@mmyyrroonn mmyyrroonn added the WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required label Feb 6, 2020
@ctaggart
Copy link
Contributor Author

ctaggart commented Feb 6, 2020

I'm not sure what the error means, which is why I'm asking for help. I don't see any problems with the encoding of the vmwarevirtustream.json file. May be something is wrong in the readme.md.

Changing directory and executing the function...
Processing "specification/vmwarevirtustream/resource-manager/readme.md":
Executing: npx autorest --reset && npx autorest --validation --azure-validator --message-format=json specification/vmwarevirtustream/resource-manager/readme.md
An error occurred while executing JSON.parse() on the linter output for specification/vmwarevirtustream/resource-manager/readme.md:
'[{\n' +
  '  "Channel": "fatal",\n' +
  '  "Text": "swagger-document-override/md-override-loader - FAILED"\n' +
  '},\n' +
  '{\n' +
  '  "Channel": "fatal",\n' +
  `  "Text": "Error: Could not read 'file:///home/vsts/work/1/c93b354fd9c14905bb574a8834c4d69b/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/vmwarevirtustream.json'."\n` +
  '},\n' +
  '{\n' +
  '  "Channel": "fatal",\n' +
  '  "Text": "swagger-document/loader - FAILED"\n' +
  '},\n' +
  '{\n' +
  '  "Channel": "fatal",\n' +
  `  "Text": "Error: Could not read 'file:///home/vsts/work/1/c93b354fd9c14905bb574a8834c4d69b/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/vmwarevirtustream.json'."\n` +
  '}\n' +
  "  Error: Could not read 'file:///home/vsts/work/1/c93b354fd9c14905bb574a8834c4d69b/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/vmwarevirtustream.json'.]"
SyntaxError: Unexpected token E in JSON at position 665
    at JSON.parse (<anonymous>)

I hope to be able to reproduce locally in a Docker container by running npx autorest --validation --azure-validator --message-format=json specification/vmwarevirtustream/resource-manager/readme.md.

@ctaggart
Copy link
Contributor Author

ctaggart commented Feb 6, 2020

I am unable to reproduce the problem locally. npx autorest --validation --azure-validator --message-format=json specification/vmwarevirtustream/resource-manager/readme.md runs fine locally and within a docker image. It looks like there are some CI problems since December 4th #8324. I'm not sure if this is related.

Copy link
Contributor

@mmyyrroonn mmyyrroonn left a comment

Choose a reason for hiding this comment

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

Lots of descriptions are missing. Could we add them? We cannot assume that customers know everything.
It's quite hard to guess the meaning of each field.

},
{
"name": "Clusters",
"description": ""
Copy link
Contributor

Choose a reason for hiding this comment

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

Can you add corresponding description?

Copy link
Contributor

Choose a reason for hiding this comment

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

description would be used in SDKs/CLIs as the help message. So it's important to have description.

@mmyyrroonn
Copy link
Contributor

@ctaggart Hello. I have asked @ruowan to help you. He is the owner of this CI task.

"nsxtPassword": {
"description": "Optionally, set the NSX-T Manager password when the private cloud is created",
"type": "string"
}
Copy link
Member

@majastrz majastrz Feb 14, 2020

Choose a reason for hiding this comment

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

Any password or secret property should be annotated with x-ms-secret: true. (Here and anywhere else.)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@majastrz, I don't see any specs using x-ms-secret. There are several using "secret": true and I also see "isSecret": true. Should I be using one of those?

Copy link
Member

Choose a reason for hiding this comment

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

x-ms-secret was added recently and is not yet documented. Take a look at this query for examples: https://github.com/Azure/azure-rest-api-specs/search?q=x-ms-secret&unscoped_q=x-ms-secret

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks. I added "x-ms-secret": true.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Adding this leads to validation errors of:

Secret property `"nsxtPassword": "$(1X4Dkk"`, cannot be sent in the response.

Let'd put these changes in API 2020-03-20 as well. I'm going to revert the change.

Copy link
Member

Choose a reason for hiding this comment

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

@myronfanqiu this looks like a linter rule bug. Sharing definitions between GET and PUT is one of the accepted patterns and should not block usage of x-ms-secret: true. @ctaggart I'm ok either way, but you should be able to put it back in with a linter rule suppression as a workaround.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Let's put in in API 2020-03-20.

@majastrz majastrz added the ARMChangesRequested <valid label in PR review process>add this label when require changes after ARM review label Feb 14, 2020
@majastrz
Copy link
Member

I added some questions and comments. Please take a look.

@ctaggart
Copy link
Contributor Author

Thanks for the review and feedback @majastrz. I've responded to each item.

@majastrz
Copy link
Member

@ctaggart I replied back.

@majastrz majastrz added ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review and removed 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 labels Feb 18, 2020
Copy link
Member

@majastrz majastrz left a comment

Choose a reason for hiding this comment

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

Signed off from ARM side.

@ctaggart
Copy link
Contributor Author

ctaggart commented Feb 19, 2020

Thanks @majastrz. What are the next steps? When can this get merged and SDKs built for python, typescript, and csharp?

@majastrz
Copy link
Member

majastrz commented Feb 19, 2020

@ctaggart, the next step is for the reviewer assigned from the SDK team to sign off on the PR (for this one it's @myronfanqiu). Once signed off, you can ask @myronfanqiu to merge the PR. Your backend should be up and running in PROD when the Swagger changes are merged, however.

azure-arm: true
package-name: "@azure/arm-vmwarevirtustream"
output-folder: "$(typescript-sdks-folder)/sdk/vmwarevirtustream/arm-vmwarevirtustream"
payload-flattening-threshold: 1
Copy link
Contributor

Choose a reason for hiding this comment

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

Hello. I'm not sure about this value. In other SDKs, you set it to 2. But we can merge it first and left SDK owners to fix it.

Copy link
Contributor

Choose a reason for hiding this comment

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

add @qiaozha (js sdk owner) for have a double check for this

Copy link
Member

Choose a reason for hiding this comment

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

its okay to set this value as 2 for now. but it's better to have clear-output-folder: true . we can also add this later.

@mmyyrroonn
Copy link
Contributor

@ctaggart Hello. I cannot force merge this PR. It's better to fix CI error in this PR. If you insist on merging this one without fix, @akning-ms can help you.

@ctaggart
Copy link
Contributor Author

ctaggart commented Feb 20, 2020

@akning-ms said:

Ruoxuan found the error is caused by existed RP has only readme file which we can ignore

@ruowan, can you help me fix the LintDiff CI problem? @myronfanqiu says it needs to be fixed in order to merge this.

@akning-ms akning-ms merged commit f9af8f5 into Azure:master Feb 21, 2020
@openapi-sdkautomation
Copy link

openapi-sdkautomation bot commented Feb 21, 2020

azure-sdk-for-net - Release

⚠️ warning [Logs] [Expand Details]
  • ⚠️ Generate from 94db69b with merge commit f9af8f5. SDK Automation 13.0.17.20191226.1
    [AutoRest] realpath(): Permission denied
    [AutoRest] realpath(): Permission denied
    [AutoRest] realpath(): Permission denied
    [AutoRest] realpath(): Permission denied
    [AutoRest] realpath(): Permission denied
    [AutoRest] realpath(): Permission denied
    Failed to find any changed packages. Please check the changed file list.
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/AzureVMwareSolutionbyVirtustreamAPIClient.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/ClustersOperations.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/ClustersOperationsExtensions.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/IAzureVMwareSolutionbyVirtustreamAPIClient.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/IClustersOperations.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/IOperations.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/IPrivateCloudsOperations.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/Models/AdminCredentials.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/Models/ApiError.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/Models/ApiErrorBase.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/Models/ApiErrorException.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/Models/Circuit.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/Models/Cluster.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/Models/ClusterProperties.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/Models/ClusterProvisioningState.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/Models/DefaultClusterProperties.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/Models/Endpoints.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/Models/ExpressRouteAuthorization.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/Models/IdentitySource.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/Models/InternetEnum.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/Models/Operation.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/Models/OperationDisplay.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/Models/Page.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/Models/PrivateCloud.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/Models/PrivateCloudProperties.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/Models/PrivateCloudProvisioningState.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/Models/Resource.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/Models/SslEnum.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/Models/TrackedResource.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/Operations.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/OperationsExtensions.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/PrivateCloudsOperations.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/PrivateCloudsOperationsExtensions.cs
    /z/work/azure-sdk-for-net/sdk/VMwareVirtustream/Management.VMwareVirtustream/Generated/SdkInfo_AzureVMwareSolutionbyVirtustreamAPI.cs

@openapi-sdkautomation
Copy link

openapi-sdkautomation bot commented Feb 21, 2020

azure-sdk-for-go - Release

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

@openapi-sdkautomation
Copy link

openapi-sdkautomation bot commented Feb 21, 2020

azure-sdk-for-java - Release

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

@openapi-sdkautomation
Copy link

openapi-sdkautomation bot commented Feb 21, 2020

azure-sdk-for-js - Release

️✔️ succeeded [Logs] [Expand Details]
  • ️✔️ Generate from 94db69b with merge commit f9af8f5. SDK Automation 13.0.17.20191226.1
  • ️✔️@azure/arm-vmwarevirtustream [Logs]  [Release SDK Changes]
    [npmPack] npm WARN deprecated rollup-plugin-node-resolve@5.2.0: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-node-resolve.
    [npmPack] loaded rollup.config.js with warnings
    [npmPack] (!) Unused external imports
    [npmPack] default imported from external module 'rollup' but never used
    [npmPack] 
    [npmPack] ./esm/azureVMwareSolutionbyVirtustreamAPI.js → ./dist/arm-vmwarevirtustream.js...
    [npmPack] created ./dist/arm-vmwarevirtustream.js in 240ms

@openapi-sdkautomation
Copy link

openapi-sdkautomation bot commented Feb 21, 2020

azure-sdk-for-python - Release

⚠️ warning [Logs] [Expand Details]
  • ⚠️ Generate from 94db69b with merge commit f9af8f5. SDK Automation 13.0.17.20191226.1
    Failed to find any changed packages. Please check the changed file list.
    /z/work/azure-sdk-for-python/sdk/compute/azure-mgmt-vmwarevirtustream/azure/mgmt/vmwarevirtustream/__init__.py
    /z/work/azure-sdk-for-python/sdk/compute/azure-mgmt-vmwarevirtustream/azure/mgmt/vmwarevirtustream/_azure_vmware_solutionby_virtustream_api.py
    /z/work/azure-sdk-for-python/sdk/compute/azure-mgmt-vmwarevirtustream/azure/mgmt/vmwarevirtustream/_configuration.py
    /z/work/azure-sdk-for-python/sdk/compute/azure-mgmt-vmwarevirtustream/azure/mgmt/vmwarevirtustream/models/__init__.py
    /z/work/azure-sdk-for-python/sdk/compute/azure-mgmt-vmwarevirtustream/azure/mgmt/vmwarevirtustream/models/_azure_vmware_solutionby_virtustream_api_enums.py
    /z/work/azure-sdk-for-python/sdk/compute/azure-mgmt-vmwarevirtustream/azure/mgmt/vmwarevirtustream/models/_models.py
    /z/work/azure-sdk-for-python/sdk/compute/azure-mgmt-vmwarevirtustream/azure/mgmt/vmwarevirtustream/models/_models_py3.py
    /z/work/azure-sdk-for-python/sdk/compute/azure-mgmt-vmwarevirtustream/azure/mgmt/vmwarevirtustream/models/_paged_models.py
    /z/work/azure-sdk-for-python/sdk/compute/azure-mgmt-vmwarevirtustream/azure/mgmt/vmwarevirtustream/operations/__init__.py
    /z/work/azure-sdk-for-python/sdk/compute/azure-mgmt-vmwarevirtustream/azure/mgmt/vmwarevirtustream/operations/_clusters_operations.py
    /z/work/azure-sdk-for-python/sdk/compute/azure-mgmt-vmwarevirtustream/azure/mgmt/vmwarevirtustream/operations/_operations.py
    /z/work/azure-sdk-for-python/sdk/compute/azure-mgmt-vmwarevirtustream/azure/mgmt/vmwarevirtustream/operations/_private_clouds_operations.py
    /z/work/azure-sdk-for-python/sdk/compute/azure-mgmt-vmwarevirtustream/azure/mgmt/vmwarevirtustream/version.py

ssripadham pushed a commit to ssripadham/azure-rest-api-specs that referenced this pull request Feb 21, 2020
* 2019-08-09-preview

* spell out networks

* username and credential needed to add an IdentitySource

* post listAdminCredentials

* standardize on username, password, nsxt and vcenter

* add nsxt to custom-words.txt

* default cluster does not have provisioningState

* it extends DefaultClusterProperties

* add Circuit expressRoutePrivatePeeringID

* back out some minor changes for sdk generation

* identitySources and Circuit authorizations are updateable

* add PrivateClouds_ListInSubscription

* Long running operation for Clusters_Delete (Azure#1)

* npm run prettier

* location for all resources (Azure#2)

* Revert "location for all resources (Azure#2)" (Azure#3)

This reverts commit 432e37b.

* add description TODOs

* example is PrivateClouds_Update

* require body in PrivateClouds_Update

* replaced TODOs with descriptions

* spellcheck

* "x-ms-secret": true

* Revert ""x-ms-secret": true"

This reverts commit 3358dff.

Co-authored-by: Andrew Ulliani <aulliani@yahoo.com>
Co-authored-by: Eugene Tolmachev <e.tolmachev@gmail.com>
00Kai0 pushed a commit to 00Kai0/azure-rest-api-specs that referenced this pull request Oct 12, 2020
* 2019-08-09-preview

* spell out networks

* username and credential needed to add an IdentitySource

* post listAdminCredentials

* standardize on username, password, nsxt and vcenter

* add nsxt to custom-words.txt

* default cluster does not have provisioningState

* it extends DefaultClusterProperties

* add Circuit expressRoutePrivatePeeringID

* back out some minor changes for sdk generation

* identitySources and Circuit authorizations are updateable

* add PrivateClouds_ListInSubscription

* Long running operation for Clusters_Delete (#1)

* npm run prettier

* location for all resources (#2)

* Revert "location for all resources (#2)" (Azure#3)

This reverts commit 432e37b.

* add description TODOs

* example is PrivateClouds_Update

* require body in PrivateClouds_Update

* replaced TODOs with descriptions

* spellcheck

* "x-ms-secret": true

* Revert ""x-ms-secret": true"

This reverts commit 3358dff.

Co-authored-by: Andrew Ulliani <aulliani@yahoo.com>
Co-authored-by: Eugene Tolmachev <e.tolmachev@gmail.com>
@ctaggart ctaggart deleted the 2019-08-09-preview branch October 19, 2020 15:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants