{ "swagger": "2.0", "info": { "title": "Widget", "version": "2021-11-01", "description": "Microsoft.Widget Resource Provider management API.", "x-typespec-generated": [ { "emitter": "@azure-tools/typespec-autorest" } ] }, "schemes": [ "https" ], "host": "management.azure.com", "produces": [ "application/json" ], "consumes": [ "application/json" ], "security": [ { "azure_auth": [ "user_impersonation" ] } ], "securityDefinitions": { "azure_auth": { "type": "oauth2", "description": "Azure Active Directory OAuth2 Flow.", "flow": "implicit", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "scopes": { "user_impersonation": "impersonate your user account" } } }, "tags": [ { "name": "Operations" }, { "name": "Employees" } ], "paths": { "/providers/Microsoft.Widget/operations": { "get": { "operationId": "Operations_List", "tags": [ "Operations" ], "description": "List the operations for the provider", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/OperationListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Operations_List - generated by [MaximumSet] rule": { "$ref": "./examples/Operations_List_MaximumSet_Gen.json" }, "Operations_List - generated by [MinimumSet] rule": { "$ref": "./examples/Operations_List_MinimumSet_Gen.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.Widget/employees": { "get": { "operationId": "Employees_ListBySubscription", "tags": [ "Employees" ], "description": "List Employee resources by subscription ID", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/EmployeeListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Employees_ListBySubscription - generated by [MaximumSet] rule": { "$ref": "./examples/Employees_ListBySubscription_MaximumSet_Gen.json" }, "Employees_ListBySubscription - generated by [MinimumSet] rule": { "$ref": "./examples/Employees_ListBySubscription_MinimumSet_Gen.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Widget/employees": { "get": { "operationId": "Employees_ListByResourceGroup", "tags": [ "Employees" ], "description": "List Employee resources by resource group", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/EmployeeListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Employees_ListByResourceGroup - generated by [MaximumSet] rule": { "$ref": "./examples/Employees_ListByResourceGroup_MaximumSet_Gen.json" }, "Employees_ListByResourceGroup - generated by [MinimumSet] rule": { "$ref": "./examples/Employees_ListByResourceGroup_MinimumSet_Gen.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Widget/employees/{employeeName}": { "get": { "operationId": "Employees_Get", "tags": [ "Employees" ], "description": "Get a Employee", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "employeeName", "in": "path", "description": "The name of the Employee", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Employee" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Employees_Get - generated by [MaximumSet] rule": { "$ref": "./examples/Employees_Get_MaximumSet_Gen.json" } } }, "put": { "operationId": "Employees_CreateOrUpdate", "tags": [ "Employees" ], "description": "Create a Employee", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "employeeName", "in": "path", "description": "The name of the Employee", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" }, { "name": "resource", "in": "body", "description": "Resource create parameters.", "required": true, "schema": { "$ref": "#/definitions/Employee" } } ], "responses": { "200": { "description": "Resource 'Employee' update operation succeeded", "schema": { "$ref": "#/definitions/Employee" } }, "201": { "description": "Resource 'Employee' create operation succeeded", "schema": { "$ref": "#/definitions/Employee" }, "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Employees_CreateOrUpdate - generated by [MaximumSet] rule": { "$ref": "./examples/Employees_CreateOrUpdate_MaximumSet_Gen.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" }, "x-ms-long-running-operation": true }, "patch": { "operationId": "Employees_Update", "tags": [ "Employees" ], "description": "Update a Employee", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "employeeName", "in": "path", "description": "The name of the Employee", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" }, { "name": "properties", "in": "body", "description": "The resource properties to be updated.", "required": true, "schema": { "$ref": "#/definitions/EmployeeUpdate" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Employee" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Employees_Update - generated by [MaximumSet] rule": { "$ref": "./examples/Employees_Update_MaximumSet_Gen.json" } } }, "delete": { "operationId": "Employees_Delete", "tags": [ "Employees" ], "description": "Delete a Employee", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "employeeName", "in": "path", "description": "The name of the Employee", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" } ], "responses": { "202": { "description": "Resource deletion accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Employees_Delete - generated by [MaximumSet] rule": { "$ref": "./examples/Employees_Delete_MaximumSet_Gen.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } } }, "definitions": { "Azure.ResourceManager.CommonTypes.TrackedResourceUpdate": { "type": "object", "title": "Tracked Resource", "description": "The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'", "properties": { "tags": { "type": "object", "description": "Resource tags.", "additionalProperties": { "type": "string" } } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" } ] }, "Employee": { "type": "object", "description": "Employee resource", "properties": { "properties": { "$ref": "#/definitions/EmployeeProperties", "description": "The resource-specific properties for this resource." } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" } ] }, "EmployeeListResult": { "type": "object", "description": "The response of a Employee list operation.", "properties": { "value": { "type": "array", "description": "The Employee items on this page", "items": { "$ref": "#/definitions/Employee" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "EmployeeProperties": { "type": "object", "description": "Employee properties", "properties": { "age": { "type": "integer", "format": "int32", "description": "Age of employee" }, "city": { "type": "string", "description": "City of employee" }, "profile": { "type": "string", "format": "base64url", "description": "Profile of employee" }, "provisioningState": { "$ref": "#/definitions/ProvisioningState", "description": "The status of the last operation.", "readOnly": true } } }, "EmployeeUpdate": { "type": "object", "description": "Employee resource", "properties": { "properties": { "$ref": "#/definitions/EmployeeProperties", "description": "The resource-specific properties for this resource." } }, "allOf": [ { "$ref": "#/definitions/Azure.ResourceManager.CommonTypes.TrackedResourceUpdate" } ] }, "ProvisioningState": { "type": "string", "description": "The resource provisioning state.", "enum": [ "Succeeded", "Failed", "Canceled", "Provisioning", "Updating", "Deleting", "Accepted" ], "x-ms-enum": { "name": "ProvisioningState", "modelAsString": true, "values": [ { "name": "Succeeded", "value": "Succeeded", "description": "Resource has been created." }, { "name": "Failed", "value": "Failed", "description": "Resource creation failed." }, { "name": "Canceled", "value": "Canceled", "description": "Resource creation was canceled." }, { "name": "Provisioning", "value": "Provisioning", "description": "The resource is being provisioned" }, { "name": "Updating", "value": "Updating", "description": "The resource is updating" }, { "name": "Deleting", "value": "Deleting", "description": "The resource is being deleted" }, { "name": "Accepted", "value": "Accepted", "description": "The resource create request has been accepted" } ] }, "readOnly": true } }, "parameters": {} }