Skip to content

test cadl sample #3624

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

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions custom-words.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
A128CBCPAD
A128CBCPAD
A192CBCPAD
A256CBCPAD
AADDS
Expand Down Expand Up @@ -2702,4 +2702,5 @@ Skolt
Thangmi
Tuvan
Uyghur
Paramter
Paramter
widget's
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
@doc("Faked shared model")
model FakedSharedModel {
@doc("The tag.")
tag: string;

@doc("The created date.")
createdDate: zonedDateTime;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
parameters:
"python-sdk-folder":
default: "{cwd}/azure-sdk-for-python/"
"java-sdk-folder":
default: "{cwd}/azure-sdk-for-java/"
"js-sdk-folder":
default: "{cwd}/azure-sdk-for-js/"
"csharp-sdk-folder":
default: "{cwd}/azure-sdk-for-csharp/"
"service-directory-name":
default: "contosowidgetmanager"
emit:
- "@azure-tools/cadl-autorest"
options:
"@azure-tools/cadl-autorest":
output-file: widgets.json
azure-resource-provider-folder: ../../../../data-plane
examples-directory: ./examples
"@azure-tools/cadl-python":
"package-name": "azure-contosowidgetmanager"
"emitter-output-dir": "{python-sdk-folder}/sdk/{service-directory-name}/{package-name}"
"package-mode": "dataplane"
"@azure-tools/cadl-csharp":
namespace: Azure.Contoso.Widgetmanager
clear-output-folder: true
model-namespace: false
"emitter-output-dir": "{csharp-sdk-folder}/sdk/{service-directory-name}/{namespace}/src"
"@azure-tools/cadl-typescript":
"emitter-output-dir": "{js-sdk-folder}/sdk/{service-directory-name}/contosowidgetmanager-rest"
generateMetadata: true
generateTest: true
azureSdkForJs: true
packageDetails:
name: "@azure-rest/contosowidgetmanager-rest"
description: "Contoso WidgetManager Service"
"@azure-tools/cadl-java":
"emitter-output-dir": "{java-sdk-folder}/sdk/{service-directory-name}/azure-contoso-widgetmanager"
namespace: com.azure.contoso.widgetmanager
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"operationId": "Widgets_DeleteWidget",
"title": "Delete widget by widget name using long-running operation.",
"parameters": {
"api-version": "2022-11-01-preview",
"widgetName": "searchbox"
},
"responses": {
"204": {},
"202": {
"headers": {
"location": "https://contosowidgetmanager.azure.com/operations/00000000-0000-0000-0000-000000000123/result?api-version=2022-11-01-preview",
"operation-location": "https://contosowidgetmanager.azure.com/operations/00000000-0000-0000-0000-000000000123?api-version=2022-11-01-preview"
}
},
"default": {
"body": {
"error": {
"code": "Error code",
"message": "Error message"
}
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"operationId": "Widgets_GetWidget",
"title": "Get widget by widget name.",
"parameters": {
"api-version": "2022-11-01-preview",
"widgetName": "searchbox"
},
"responses": {
"200": {
"body": {
"name": "bingsearch",
"manufacturerId": "a-22-01"
}
},
"default": {
"body": {
"error": {
"code": "Error code",
"message": "Error message"
}
}
}
}
}
59 changes: 59 additions & 0 deletions specification/contosowidgetmanager/Contoso.WidgetManager/main.cadl
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
import "@cadl-lang/rest";
import "@cadl-lang/versioning";
import "@azure-tools/cadl-azure-core";
import "../Contoso.WidgetManager.Shared";

using Cadl.Http;
using Cadl.Rest;
using Cadl.Versioning;
using Azure.Core;

@service({
title: "Contoso Widget Manager",
})
@versioned(Contoso.WidgetManager.Versions)
@versionedDependency([[Contoso.WidgetManager.Versions.v2022_11_01_Preview, Azure.Core.Versions.v1_0_Preview_1]])
namespace Azure.Contoso.WidgetManager;

enum Versions {
v2022_11_01_Preview: "2022-11-01-preview",
}

@doc("A widget.")
@resource("widgets")
model Widget {
@key("widgetName")
@doc("The widget name.")
@visibility("read")
name: string;

@doc("The ID of the widget's manufacturer.")
manufacturerId: string;

@doc("The faked shared model.")
sharedModel?: FakedSharedModel;
}

interface Widgets {
@doc("Fetch a Widget by name.")
getWidget is ResourceRead<Widget>;

@doc("Gets status of a Widget operation.")
getWidgetOperationStatus is GetResourceOperationStatus<Widget>;

@doc("Creates or updates a Widget asynchronously.")
@pollingOperation(Widgets.getWidgetOperationStatus)
createOrUpdateWidget is LongRunningResourceCreateOrUpdate<Widget>;

@doc("Delete a Widget asynchronously.")
@pollingOperation(Widgets.getWidgetOperationStatus)
deleteWidget is LongRunningResourceDelete<Widget>;

@doc("List Widget resources")
listWidgets is ResourceList<
Widget,
{
parameters: StandardListQueryParameters & SelectQueryParameter;
}
>;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"name": "contoso-widget-manager",
"dependencies": {
"@azure-tools/cadl-autorest": "latest"
},
"private": true
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"operationId": "Widgets_DeleteWidget",
"title": "Delete widget by widget name using long-running operation.",
"parameters": {
"api-version": "2022-11-01-preview",
"widgetName": "searchbox"
},
"responses": {
"204": {},
"202": {
"headers": {
"location": "https://contosowidgetmanager.azure.com/operations/00000000-0000-0000-0000-000000000123/result?api-version=2022-11-01-preview",
"operation-location": "https://contosowidgetmanager.azure.com/operations/00000000-0000-0000-0000-000000000123?api-version=2022-11-01-preview"
}
},
"default": {
"body": {
"error": {
"code": "Error code",
"message": "Error message"
}
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"operationId": "Widgets_GetWidget",
"title": "Get widget by widget name.",
"parameters": {
"api-version": "2022-11-01-preview",
"widgetName": "searchbox"
},
"responses": {
"200": {
"body": {
"name": "bingsearch",
"manufacturerId": "a-22-01"
}
},
"default": {
"body": {
"error": {
"code": "Error code",
"message": "Error message"
}
}
}
}
}
Loading