-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Update operation Ids for preview APIs #20477
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
base: main
Are you sure you want to change the base?
Conversation
Change operation Ids to group analyze conversation APIs under one tab in the generated documentation for APIs.
Hi, @hazemelh Thanks for your PR. I am workflow bot for review process. Here are some small tips. Any feedback about review process or workflow bot, pls contact swagger and tools team. [email protected] |
Swagger Validation Report
|
compared swaggers (via Oad v0.9.7)] | new version | base version |
---|---|---|
analyzeconversations.json | 2022-05-15-preview(939b888) | 2022-05-15-preview(main) |
Rule | Message |
---|---|
1008 - ModifiedOperationId |
The operation id has been changed from 'AnalyzeConversation_SubmitJob' to 'ConversationAnalysis_SubmitJob'. This will impact generated code. New: Language/preview/2022-05-15-preview/analyzeconversations.json#L89:7 Old: Language/preview/2022-05-15-preview/analyzeconversations.json#L89:7 |
1008 - ModifiedOperationId |
The operation id has been changed from 'AnalyzeConversation_JobStatus' to 'ConversationAnalysis_JobStatus'. This will impact generated code. New: Language/preview/2022-05-15-preview/analyzeconversations.json#L141:7 Old: Language/preview/2022-05-15-preview/analyzeconversations.json#L141:7 |
1008 - ModifiedOperationId |
The operation id has been changed from 'AnalyzeConversation_CancelJob' to 'ConversationAnalysis_CancelJob'. This will impact generated code. New: Language/preview/2022-05-15-preview/analyzeconversations.json#L184:7 Old: Language/preview/2022-05-15-preview/analyzeconversations.json#L184:7 |
️️✔️
Breaking Change(Cross-Version) succeeded [Detail] [Expand]
There are no breaking changes.
️️✔️
CredScan succeeded [Detail] [Expand]
There is no credential detected.
️️✔️
LintDiff succeeded [Detail] [Expand]
Validation passes for LintDiff.
compared tags (via openapi-validator v1.13.0) | new version | base version |
---|---|---|
release_2022_05_15_preview | release_2022_05_15_preview(939b888) | release_2022_05_15_preview(main) |
️️✔️
Avocado succeeded [Detail] [Expand]
Validation passes for Avocado.
️️✔️
ApiReadinessCheck succeeded [Detail] [Expand]
️️✔️
~[Staging] ServiceAPIReadinessTest succeeded [Detail] [Expand]
Validation passes for ServiceAPIReadinessTest.
️️✔️
ModelValidation succeeded [Detail] [Expand]
Validation passes for ModelValidation.
️️✔️
SemanticValidation succeeded [Detail] [Expand]
Validation passes for SemanticValidation.
️️✔️
PoliCheck succeeded [Detail] [Expand]
Validation passed for PoliCheck.
️⚠️
SDK Track2 Validation: 1 Warnings warning [Detail]
- The following tags are being changed in this PR
- "https://github.com/Azure/azure-rest-api-specs/blob/939b8883e524d09d7ba642a89d039b7814cce290/specification/cognitiveservices/data-plane/Language/readme.md#tag-release_2022_05_15_preview">cognitiveservices/data-plane/Language/readme.md#release_2022_05_15_preview
Rule | Message |
---|---|
"readme":"cognitiveservices/data-plane/Language/readme.md", "tag":"release_2022_05_15_preview", "details":"The schema 'components·19h7dsq·schemas·healthcareentitiesdocumentresult·properties·fhirbundle·additionalproperties' has no type or format information whatsoever. Location:\n file:///mnt/vss/_work/1/azure-rest-api-specs/specification/cognitiveservices/data-plane/Language/preview/2022-05-15-preview/analyzetext.json#/components/schemas/components·19h7dsq·schemas·healthcareentitiesdocumentresult·properties·fhirbundle·additionalproperties" |
The following errors/warnings exist before current PR submission:
Only 30 items are listed, please refer to log for more details.
Rule | Message |
---|---|
"readme":"cognitiveservices/data-plane/Language/readme.md", "tag":"release_2022_05_15_preview", "details":"Duplicate Schema named 'ConfusionMatrixCell' (2 differences):\n - properties.normalizedValue.$ref: "#/components/schemas/schemas:450" => "#/components/schemas/schemas:680"\n - properties.rawValue.$ref: "#/components/schemas/schemas:451" => "#/components/schemas/schemas:681"" |
|
"readme":"cognitiveservices/data-plane/Language/readme.md", "tag":"release_2022_05_15_preview", "details":"Duplicate Schema named 'CreateDeploymentOptions' (1 differences):\n - properties.trainedModelLabel.$ref: "#/components/schemas/schemas:454" => "#/components/schemas/schemas:699"" |
|
"readme":"cognitiveservices/data-plane/Language/readme.md", "tag":"release_2022_05_15_preview", "details":"Duplicate Schema named 'CreateProjectOptions' (9 differences):\n - properties.projectKind.description: "The project kind." => "Represents the project kind."\n - properties.storageInputContainerName: "$ref":"#/components/schemas/schemas:456", "description":"The storage container name." =>\n - properties.settings.$ref: "#/components/schemas/schemas:601" => "#/components/schemas/schemas:826"\n - properties.projectName.$ref: "#/components/schemas/schemas:457" => "#/components/schemas/schemas:701"\n - properties.description.$ref: "#/components/schemas/schemas:458" => "#/components/schemas/schemas:702"\n - properties.language.$ref: "#/components/schemas/schemas:459" => "#/components/schemas/schemas:703"\n - required.1: "storageInputContainerName" => "projectName"\n - required.2: "projectName" => "language"\n - required.3: "language" =>" |
|
"readme":"cognitiveservices/data-plane/Language/readme.md", "tag":"release_2022_05_15_preview", "details":"Duplicate Schema named 'DeploymentJobState' (1 differences):\n - allOf.0.$ref: "#/components/schemas/schemas:556" => "#/components/schemas/schemas:780"" |
|
"readme":"cognitiveservices/data-plane/Language/readme.md", "tag":"release_2022_05_15_preview", "details":"Duplicate Schema named 'EntityEvaluationSummary' (7 differences):\n - properties.f1.$ref: "#/components/schemas/schemas:490" => "#/components/schemas/schemas:714"\n - properties.precision.$ref: "#/components/schemas/schemas:491" => "#/components/schemas/schemas:715"\n - properties.recall.$ref: "#/components/schemas/schemas:492" => "#/components/schemas/schemas:716"\n - properties.truePositiveCount.$ref: "#/components/schemas/schemas:493" => "#/components/schemas/schemas:717"\n - properties.trueNegativeCount.$ref: "#/components/schemas/schemas:494" => "#/components/schemas/schemas:718"\n - properties.falsePositiveCount.$ref: "#/components/schemas/schemas:495" => "#/components/schemas/schemas:719"\n - properties.falseNegativeCount.$ref: "#/components/schemas/schemas:496" => "#/components/schemas/schemas:720"" |
|
"readme":"cognitiveservices/data-plane/Language/readme.md", "tag":"release_2022_05_15_preview", "details":"Duplicate Schema named 'EvaluationOptions' (2 differences):\n - properties.trainingSplitPercentage.$ref: "#/components/schemas/schemas:507" => "#/components/schemas/schemas:723"\n - properties.testingSplitPercentage.$ref: "#/components/schemas/schemas:508" => "#/components/schemas/schemas:724"" |
|
"readme":"cognitiveservices/data-plane/Language/readme.md", "tag":"release_2022_05_15_preview", "details":"Duplicate Schema named 'EvaluationResults' (3 differences):\n - properties.value.$ref: "#/components/schemas/schemas:510" => "#/components/schemas/schemas:726"\n - properties.value.description: "THe list of documents evaluation results." => "The utterances evaluation results."\n - properties.nextLink.$ref: "#/components/schemas/schemas:511" => "#/components/schemas/schemas:727"" |
|
"readme":"cognitiveservices/data-plane/Language/readme.md", "tag":"release_2022_05_15_preview", "details":"Duplicate Schema named 'EvaluationSummary' (8 differences):\n - properties.projectKind: "description":"Represents the project type that the evaluation ran on.", "$ref":"#/components/schemas/projectKind" =>\n - properties.evaluationOptions.$ref: "#/components/schemas/schemas:506" => "#/components/schemas/schemas:722"\n - properties.evaluationOptions.description: => "The options that were used while running the evaluation."\n - properties.entitiesEvaluation: => "description":"Contains the data related to entities evaluation.", "$ref":"#/components/schemas/schemas:705"\n - properties.intentsEvaluation: => "description":"Contains the data related to intents evaluation.", "$ref":"#/components/schemas/schemas:772"\n - discriminator: "propertyName":"projectKind" =>\n - required.0: "projectKind" => "entitiesEvaluation"\n - required.1: "evaluationOptions" => "intentsEvaluation"" |
|
"readme":"cognitiveservices/data-plane/Language/readme.md", "tag":"release_2022_05_15_preview", "details":"Duplicate Schema named 'ExportedProject' (3 differences):\n - properties.projectFileVersion.$ref: "#/components/schemas/schemas:551" => "#/components/schemas/schemas:751"\n - properties.metadata.$ref: "#/components/schemas/schemas:455" => "#/components/schemas/schemas:700"\n - properties.assets.$ref: "#/components/schemas/schemas:552" => "#/components/schemas/schemas:752"" |
|
"readme":"cognitiveservices/data-plane/Language/readme.md", "tag":"release_2022_05_15_preview", "details":"Duplicate Schema named 'ExportedProjectAssets' (1 differences):\n - properties.projectKind.description: "The type of the project the assets belong to." => "The type of project containing the assets."" |
|
"readme":"cognitiveservices/data-plane/Language/readme.md", "tag":"release_2022_05_15_preview", "details":"Duplicate Schema named 'ExportProjectJobState' (2 differences):\n - allOf.0.$ref: "#/components/schemas/schemas:556" => "#/components/schemas/schemas:780"\n - properties.resultUrl.$ref: "#/components/schemas/schemas:554" => "#/components/schemas/schemas:762"" |
|
"readme":"cognitiveservices/data-plane/Language/readme.md", "tag":"release_2022_05_15_preview", "details":"Duplicate Schema named 'ImportProjectJobState' (1 differences):\n - allOf.0.$ref: "#/components/schemas/schemas:556" => "#/components/schemas/schemas:780"" |
|
"readme":"cognitiveservices/data-plane/Language/readme.md", "tag":"release_2022_05_15_preview", "details":"Duplicate Schema named 'JobState' (6 differences):\n - properties.jobId.$ref: "#/components/schemas/schemas:557" => "#/components/schemas/schemas:781"\n - properties.createdDateTime.$ref: "#/components/schemas/schemas:558" => "#/components/schemas/schemas:782"\n - properties.lastUpdatedDateTime.$ref: "#/components/schemas/schemas:559" => "#/components/schemas/schemas:783"\n - properties.expirationDateTime.$ref: "#/components/schemas/schemas:560" => "#/components/schemas/schemas:784"\n - properties.warnings.$ref: "#/components/schemas/schemas:561" => "#/components/schemas/schemas:785"\n - properties.errors.$ref: "#/components/schemas/schemas:562" => "#/components/schemas/schemas:786"" |
|
"readme":"cognitiveservices/data-plane/Language/readme.md", "tag":"release_2022_05_15_preview", "details":"Duplicate Schema named 'JobState' (19 differences):\n - properties.jobId.$ref: "#/components/schemas/schemas:557" => "#/components/schemas/schemas:930"\n - properties.jobId.description: "The job ID." =>\n - properties.createdDateTime.$ref: "#/components/schemas/schemas:558" => "#/components/schemas/schemas:928"\n - properties.createdDateTime.description: "The creation date time of the job." =>\n - properties.lastUpdatedDateTime.$ref: "#/components/schemas/schemas:559" => "#/components/schemas/schemas:931"\n - properties.lastUpdatedDateTime.description: "The last date time the job was updated." =>\n - properties.expirationDateTime.$ref: "#/components/schemas/schemas:560" => "#/components/schemas/schemas:929"\n - properties.expirationDateTime.description: "The expiration date time of the job." =>\n - properties.status.description: "The job status." =>\n - properties.status.$ref: "#/components/schemas/JobStatus" => "#/components/schemas/JobState"\n - properties.status.x-ms-enum: => "modelAsString":true, "name":"JobState"\n - properties.warnings: "$ref":"#/components/schemas/schemas:561", "description":"The warnings that were encountered while executing the job." =>\n - properties.errors.$ref: "#/components/schemas/schemas:562" => "#/components/schemas/schemas:933"\n - properties.errors.description: "The errors encountered while executing the job." =>\n - properties.displayName: => "$ref":"#/components/schemas/schemas:927"\n - properties.nextLink: => "$ref":"#/components/schemas/schemas:934"\n - x-ms-client-name: "JobState" =>\n - required.1: "createdDateTime" => "lastUpdatedDateTime"\n - required.2: "lastUpdatedDateTime" => "createdDateTime"" |
|
"readme":"cognitiveservices/data-plane/Language/readme.md", "tag":"release_2022_05_15_preview", "details":"Duplicate Schema named 'JobState' (6 differences):\n - type: "object" => "string"\n - properties: "jobId":"$ref":"#/components/schemas/schemas:557", "description":"The job ID.", "createdDateTime":"$ref":"#/components/schemas/schemas:558", "description":"The creation date time of the job.", "lastUpdatedDateTime":"$ref":"#/components/schemas/schemas:559", "description":"The last date time the job was updated.", "expirationDateTime":"$ref":"#/components/schemas/schemas:560", "description":"The expiration date time of the job.", "status":"description":"The job status.", "$ref":"#/components/schemas/JobStatus", "warnings":"$ref":"#/components/schemas/schemas:561", "description":"The warnings that were encountered while executing the job.", "errors":"$ref":"#/components/schemas/schemas:562", "description":"The errors encountered while executing the job." =>\n - x-ms-client-name: "JobState" =>\n - required: ["jobId", "createdDateTime", "lastUpdatedDateTime", "status"] =>\n - enum: => ["notStarted", "running", "succeeded", "partiallyCompleted", "failed", "cancelled", "cancelling"]\n - x-ms-enum: => "modelAsString":true, "name":"JobState"" |
|
"readme":"cognitiveservices/data-plane/Language/readme.md", "tag":"release_2022_05_15_preview", "details":"Duplicate Schema named 'ProjectDeletionJobState' (1 differences):\n - allOf.0.$ref: "#/components/schemas/schemas:556" => "#/components/schemas/schemas:780"" |
|
"readme":"cognitiveservices/data-plane/Language/readme.md", "tag":"release_2022_05_15_preview", "details":"Duplicate Schema named 'ProjectDeployment' (6 differences):\n - properties.deploymentName.$ref: "#/components/schemas/schemas:582" => "#/components/schemas/schemas:808"\n - properties.modelId.$ref: "#/components/schemas/schemas:583" => "#/components/schemas/schemas:809"\n - properties.lastTrainedDateTime.$ref: "#/components/schemas/schemas:584" => "#/components/schemas/schemas:810"\n - properties.lastDeployedDateTime.$ref: "#/components/schemas/schemas:585" => "#/components/schemas/schemas:811"\n - properties.deploymentExpirationDate.$ref: "#/components/schemas/schemas:586" => "#/components/schemas/schemas:812"\n - properties.modelTrainingConfigVersion.$ref: "#/components/schemas/schemas:587" => "#/components/schemas/schemas:813"" |
|
"readme":"cognitiveservices/data-plane/Language/readme.md", "tag":"release_2022_05_15_preview", "details":"Duplicate Schema named 'ProjectDeployments' (2 differences):\n - properties.value.$ref: "#/components/schemas/schemas:589" => "#/components/schemas/schemas:815"\n - properties.nextLink.$ref: "#/components/schemas/schemas:590" => "#/components/schemas/schemas:816"" |
|
"readme":"cognitiveservices/data-plane/Language/readme.md", "tag":"release_2022_05_15_preview", "details":"Duplicate Schema named 'ProjectMetadata' (16 differences):\n - properties.createdDateTime.$ref: "#/components/schemas/schemas:593" => "#/components/schemas/schemas:819"\n - properties.lastModifiedDateTime.$ref: "#/components/schemas/schemas:594" => "#/components/schemas/schemas:820"\n - properties.lastModifiedDateTime.description: "Represents the project last modification datetime." => "Represents the project creation datetime."\n - properties.lastTrainedDateTime.$ref: "#/components/schemas/schemas:595" => "#/components/schemas/schemas:821"\n - properties.lastTrainedDateTime.description: "Represents the project last training datetime." => "Represents the project last trained datetime."\n - properties.lastDeployedDateTime.$ref: "#/components/schemas/schemas:596" => "#/components/schemas/schemas:822"\n - properties.lastDeployedDateTime.description: "Represents the project last deployment datetime." => "Represents the project last deployed datetime."\n - properties.projectKind.description: "The project kind." => "Represents the project kind."\n - properties.storageInputContainerName: "$ref":"#/components/schemas/schemas:597", "description":"The storage container name." =>\n - properties.settings.$ref: "#/components/schemas/schemas:601" => "#/components/schemas/schemas:826"\n - properties.projectName.$ref: "#/components/schemas/schemas:598" => "#/components/schemas/schemas:823"\n - properties.description.$ref: "#/components/schemas/schemas:599" => "#/components/schemas/schemas:824"\n - properties.language.$ref: "#/components/schemas/schemas:600" => "#/components/schemas/schemas:825"\n - required.3: "storageInputContainerName" => "projectName"\n - required.4: "projectName" => "language"\n - required.5: "language" =>" |
|
"readme":"cognitiveservices/data-plane/Language/readme.md", "tag":"release_2022_05_15_preview", "details":"Duplicate Schema named 'ProjectSettings' (2 differences):\n - properties: => "confidenceThreshold":"$ref":"#/components/schemas/schemas:827", "description":"The threshold of the intent with the highest confidence, at which the prediction will automatically be changed to \"None\"."\n - required: => ["confidenceThreshold"]" |
|
"readme":"cognitiveservices/data-plane/Language/readme.md", "tag":"release_2022_05_15_preview", "details":"Duplicate Schema named 'ProjectsMetadata' (2 differences):\n - properties.value.$ref: "#/components/schemas/schemas:603" => "#/components/schemas/schemas:829"\n - properties.nextLink.$ref: "#/components/schemas/schemas:604" => "#/components/schemas/schemas:830"" |
|
"readme":"cognitiveservices/data-plane/Language/readme.md", "tag":"release_2022_05_15_preview", "details":"Duplicate Schema named 'ProjectTrainedModel' (6 differences):\n - properties.label.$ref: "#/components/schemas/schemas:606" => "#/components/schemas/schemas:832"\n - properties.modelId.$ref: "#/components/schemas/schemas:607" => "#/components/schemas/schemas:833"\n - properties.lastTrainedDateTime.$ref: "#/components/schemas/schemas:608" => "#/components/schemas/schemas:834"\n - properties.lastTrainingDurationInSeconds.$ref: "#/components/schemas/schemas:609" => "#/components/schemas/schemas:835"\n - properties.modelExpirationDate.$ref: "#/components/schemas/schemas:610" => "#/components/schemas/schemas:836"\n - properties.modelTrainingConfigVersion.$ref: "#/components/schemas/schemas:611" => "#/components/schemas/schemas:837"" |
|
"readme":"cognitiveservices/data-plane/Language/readme.md", "tag":"release_2022_05_15_preview", "details":"Duplicate Schema named 'ProjectTrainedModels' (2 differences):\n - properties.value.$ref: "#/components/schemas/schemas:613" => "#/components/schemas/schemas:839"\n - properties.nextLink.$ref: "#/components/schemas/schemas:614" => "#/components/schemas/schemas:840"" |
|
"readme":"cognitiveservices/data-plane/Language/readme.md", "tag":"release_2022_05_15_preview", "details":"Duplicate Schema named 'SubTrainingJobState' (3 differences):\n - properties.percentComplete.$ref: "#/components/schemas/schemas:633" => "#/components/schemas/schemas:843"\n - properties.startDateTime.$ref: "#/components/schemas/schemas:634" => "#/components/schemas/schemas:844"\n - properties.endDateTime.$ref: "#/components/schemas/schemas:635" => "#/components/schemas/schemas:845"" |
|
"readme":"cognitiveservices/data-plane/Language/readme.md", "tag":"release_2022_05_15_preview", "details":"Duplicate Schema named 'SupportedLanguage' (2 differences):\n - properties.languageName.$ref: "#/components/schemas/schemas:637" => "#/components/schemas/schemas:847"\n - properties.languageCode.$ref: "#/components/schemas/schemas:638" => "#/components/schemas/schemas:848"" |
|
"readme":"cognitiveservices/data-plane/Language/readme.md", "tag":"release_2022_05_15_preview", "details":"Duplicate Schema named 'SupportedLanguages' (2 differences):\n - properties.value.$ref: "#/components/schemas/schemas:640" => "#/components/schemas/schemas:850"\n - properties.nextLink.$ref: "#/components/schemas/schemas:641" => "#/components/schemas/schemas:851"" |
|
"readme":"cognitiveservices/data-plane/Language/readme.md", "tag":"release_2022_05_15_preview", "details":"Duplicate Schema named 'SwapDeploymentsOptions' (2 differences):\n - properties.firstDeploymentName.$ref: "#/components/schemas/schemas:643" => "#/components/schemas/schemas:853"\n - properties.secondDeploymentName.$ref: "#/components/schemas/schemas:644" => "#/components/schemas/schemas:854"" |
|
"readme":"cognitiveservices/data-plane/Language/readme.md", "tag":"release_2022_05_15_preview", "details":"Duplicate Schema named 'TrainingConfigVersion' (2 differences):\n - properties.trainingConfigVersion.$ref: "#/components/schemas/schemas:646" => "#/components/schemas/schemas:856"\n - properties.modelExpirationDate.$ref: "#/components/schemas/schemas:647" => "#/components/schemas/schemas:857"" |
|
"readme":"cognitiveservices/data-plane/Language/readme.md", "tag":"release_2022_05_15_preview", "details":"Duplicate Schema named 'TrainingConfigVersions' (2 differences):\n - properties.value.$ref: "#/components/schemas/schemas:649" => "#/components/schemas/schemas:859"\n - properties.nextLink.$ref: "#/components/schemas/schemas:650" => "#/components/schemas/schemas:860"" |
|
"readme":"cognitiveservices/data-plane/Language/readme.md", "tag":"release_2022_05_15_preview", "details":"Duplicate Schema named 'TrainingJobOptions' (6 differences):\n - properties.modelLabel.$ref: "#/components/schemas/schemas:652" => "#/components/schemas/schemas:862"\n - properties.trainingConfigVersion.$ref: "#/components/schemas/schemas:653" => "#/components/schemas/schemas:863"\n - properties.trainingConfigVersion.description: "Represents training config version." => "Represents training config version. By default, \"latest\" value is used which uses the latest released training config version."\n - properties.evaluationOptions.$ref: "#/components/schemas/schemas:506" => "#/components/schemas/schemas:722"\n - properties.trainingMode: => "description":"Represents the mode of the training operation.", "$ref":"#/components/schemas/TrainingMode"\n - required.1: "trainingConfigVersion" => "trainingMode"" |
️️✔️
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).
️️✔️
CadlValidation succeeded [Detail] [Expand]
Validation passes for CadlValidation.
Swagger Generation Artifacts
|
Swagger pipeline started successfully. If there is ApiView generated, it will be updated in this comment. |
Hi @hazemelh, one or multiple breaking change(s) is detected in your PR. Please check out the breaking change(s), and provide business justification in the PR comment and @ PR assignee why you must have these change(s), and how external customer impact can be mitigated. Please ensure to follow breaking change policy to request breaking change review and approval before proceeding swagger PR review. |
Data Plane API - Pull Request
API Info: The Basics
Most of the information about your service should be captured in the issue that serves as your engagement record.
Is this review for (select one):
Change Scope
This section will help us focus on the specific parts of your API that are new or have been modified.
Please share a link to the design document for the new APIs, a link to the previous Open API document (swagger) if applicable, and the root paths that have been updated.
❔Got questions? Need additional info?? We are here to help!
Contact us!
The Azure API Review Board is dedicated to helping you create amazing APIs. You can read about our mission and learn more about our process on our wiki.
Click here for links to tools, specs, guidelines & other good stuff
Tooling
Guidelines & Specifications
Helpful Links