Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 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
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,36 @@
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
"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.contosowidgetmanager
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"
}
}
}
}
}
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