diff --git a/custom-words.txt b/custom-words.txt index b2d9ecd17780..17bd8b3fe319 100644 --- a/custom-words.txt +++ b/custom-words.txt @@ -2799,3 +2799,6 @@ Metadatas Gtid GTID gtid +Wifi +Nwfs + diff --git a/specification/sphere/Sphere.Management/cadl-project.yaml b/specification/sphere/Sphere.Management/cadl-project.yaml new file mode 100644 index 000000000000..6999a4d007a4 --- /dev/null +++ b/specification/sphere/Sphere.Management/cadl-project.yaml @@ -0,0 +1,19 @@ +emit: [ + "@azure-tools/cadl-autorest", + "@azure-tools/cadl-python", + "@azure-tools/cadl-csharp", +] +options: + "@azure-tools/cadl-python": + "basic-setup-py": true + "package-version": 3.0.0b6 + "package-name": azure-sphere + "@azure-tools/cadl-autorest": + examples-directory: ./examples + output-file: azuresphere.json + azure-resource-provider-folder: ../../../../resource-manager + "@azure-tools/cadl-csharp": + save-inputs: false + clear-output-folder: true + namespace: Azure.Sphere + model-namespace: false \ No newline at end of file diff --git a/specification/sphere/Sphere.Management/catalog.cadl b/specification/sphere/Sphere.Management/catalog.cadl new file mode 100644 index 000000000000..03bab20f6218 --- /dev/null +++ b/specification/sphere/Sphere.Management/catalog.cadl @@ -0,0 +1,119 @@ +import "@cadl-lang/rest"; +import "@cadl-lang/versioning"; +import "@azure-tools/cadl-autorest"; +import "@azure-tools/cadl-azure-core"; +import "@azure-tools/cadl-azure-resource-manager"; + +using Cadl.Http; +using Cadl.Rest; +using Cadl.Versioning; +using Azure.ResourceManager.Foundations; +using Azure.Core; +using Azure.ResourceManager; + +namespace Microsoft.AzureSphere; + +//Catalogs +@doc("An Azure Sphere catalog") +model Catalog is TrackedResource { + @doc("Name of catalog") + @pattern("^[A-Za-z0-9_-]{1,50}$") + @key("catalogName") + @path + @segment("catalogs") + name: string; +} + +@doc("Catalog properties") +model CatalogProperties { + + @visibility("read") + @doc("The status of the last operation.") + provisioningState?: ProvisioningState; +} + +@doc("Request of the action to list device groups for a catalog.") +model ListDeviceGroupsRequest { + @doc("Device Group name.") + deviceGroupName?: string; +} +@doc("Device insight report.") +model DeviceInsight { + + @doc("Device ID") + deviceId: string; + + @doc("Event description") + description: string; + + @doc("Event start timestamp") + startTimestampUtc: zonedDateTime; + + @doc("Event end timestamp") + endTimestampUtc: zonedDateTime; + + @doc("Event category") + eventCategory: string; + + @doc("Event class") + eventClass: string; + + @doc("Event type") + eventType: string; + + @doc("Event count") + eventCount: int32; +} + +@armResourceOperations +interface Catalogs extends Azure.ResourceManager.ResourceOperations { + + @autoRoute + @doc("Counts devices in catalog.") + @armResourceAction(Catalog) + @post + op countDevices( + ...ResourceInstanceParameters, + ): ArmResponse | ErrorResponse; + + @autoRoute + @doc("Lists device insights for catalog.") + @armResourceAction(Catalog) + @post + op listDeviceInsights( + ...ResourceInstanceParameters, + ...ListQueryParameters + ): ArmResponse> | ErrorResponse; + + @autoRoute + @doc("Lists devices for catalog.") + @armResourceAction(Catalog) + @post + op listDevices( + ...ResourceInstanceParameters, + ...ListQueryParameters + ): ArmResponse> | ErrorResponse; + + @autoRoute + @doc("Lists deployments for catalog.") + @armResourceAction(Catalog) + @post + op listDeployments( + ...ResourceInstanceParameters, + ...ListQueryParameters + ): ArmResponse> | ErrorResponse; + + @autoRoute + @armResourceAction(Catalog) + @doc("List the device groups for the catalog.") + @post + op listDeviceGroups( + ...ResourceInstanceParameters, + ...ListQueryParameters, + @doc("List device groups for catalog.") + @body listDeviceGroupsRequest: ListDeviceGroupsRequest + ): ArmResponse> | ErrorResponse; +} + + + diff --git a/specification/sphere/Sphere.Management/certificate.cadl b/specification/sphere/Sphere.Management/certificate.cadl new file mode 100644 index 000000000000..56b4d485a0d5 --- /dev/null +++ b/specification/sphere/Sphere.Management/certificate.cadl @@ -0,0 +1,94 @@ +import "@cadl-lang/rest"; +import "@cadl-lang/versioning"; +import "@azure-tools/cadl-autorest"; +import "@azure-tools/cadl-azure-core"; +import "@azure-tools/cadl-azure-resource-manager"; + +using Cadl.Http; +using Cadl.Rest; +using Cadl.Versioning; +using Azure.ResourceManager.Foundations; +using Azure.Core; +using Azure.ResourceManager; + +namespace Microsoft.AzureSphere; + +//Certificates +@doc("An certificate resource belonging to a catalog resource.") +@parentResource(Catalog) +model Certificate is ProxyResource { + @doc("Serial number of the certificate. Use '.default' to get current active certificate.") + @key("serialNumber") + @path + @segment("certificates") + name: string; +} + +@armResourceOperations +interface Certificates extends ProxyResourceOperationsReadList { + + @autoRoute + @doc("Retrieves cert chain.") + @armResourceAction(Certificate) + @post + op retrieveCertChain( + ...ResourceInstanceParameters, + ): ArmResponse | ErrorResponse; + + @autoRoute + @armResourceAction(Certificate) + @post + @doc("Gets the proof of possession nonce.") + op retrieveProofOfPossessionNonce( + ...ResourceInstanceParameters, + @doc("Proof of possession nonce request body ") + @body proofOfPossessionNonceRequest: ProofOfPossessionNonceRequest + ): ArmResponse | ErrorResponse; +} + +@doc("The properties of certificate") +model CertificateProperties { + @doc("The certificate as a UTF-8 encoded base 64 string.") + @visibility("read") + certificate?: string; + + @visibility("read") + @doc("The certificate status.") + status?: CertificateStatus; + + @visibility("read") + @doc("The certificate subject.") + subject?: string; + + @visibility("read") + @doc("The certificate thumbprint.") + thumbprint?: string; + + @visibility("read") + @doc("The certificate expiry date.") + expiryUtc?: zonedDateTime; + + @visibility("read") + @doc("The certificate not before date.") + notBeforeUtc?: zonedDateTime; + + @visibility("read") + @doc("The status of the last operation.") + provisioningState?: ProvisioningState; +} + +@doc("The certificate chain response.") +model CertificateChainResponse { + @doc("The certificate chain.") + @visibility("read") + certificateChain?: string; +} + +@doc("Request for the proof of possession nonce") +model ProofOfPossessionNonceRequest { + @doc("The proof of possession nonce") + proofOfPossessionNonce: string; +} + +@doc("Result of the action to generate a proof of possession nonce") +model ProofOfPossessionNonceResponse extends CertificateProperties {} diff --git a/specification/sphere/Sphere.Management/common.cadl b/specification/sphere/Sphere.Management/common.cadl new file mode 100644 index 000000000000..19c473974c2c --- /dev/null +++ b/specification/sphere/Sphere.Management/common.cadl @@ -0,0 +1,146 @@ +import "@cadl-lang/openapi"; +import "@cadl-lang/rest"; +import "@cadl-lang/versioning"; +import "@azure-tools/cadl-autorest"; +import "@azure-tools/cadl-azure-core"; +import "@azure-tools/cadl-azure-resource-manager"; + +using Cadl.Http; +using Cadl.Rest; +using Cadl.Versioning; +using Azure.ResourceManager.Foundations; +using Azure.Core; +using Azure.ResourceManager; +using OpenAPI; + +namespace Microsoft.AzureSphere; + +interface Operations extends Azure.ResourceManager.Operations {} + +// Common models +@lroStatus +enum ProvisioningState { + ...ResourceProvisioningState, + Provisioning, + Updating, + Deleting, + Accepted, +} + +@doc("Regional data boundary values.") +enum RegionalDataBoundary { + None, + EU +} + +@doc("Allow crash dumps values.") +enum AllowCrashDumpCollection { + Enabled, + Disabled +} + +@doc("Certificate status values.") +enum CertificateStatus { + Active, + Inactive, + Expired, + Revoked +} + +@doc("Provides the custom '$filter' query parameter for list operations") +model CustomFilterQueryParameter { + @query("$filter") + @doc("Filter the result list using the given expression") + filter?: string; +} + +@doc("Provides the custom '$top' query parameter for list operations.") +model CustomTopQueryParameter { + @query("$top") + @doc("The number of result items to return.") + top?: int32; +} + +@doc("Provides the custom '$skip' query parameter for list operations.") +model CustomSkipQueryParameter { + @query("$skip") + @doc("The number of result items to skip.") + skip?: int32; +} + +@doc("Provides the custom '$maxpagesize' query parameter for list operations.") +model CustomMaxPageSizeQueryParameter { + @query("$maxpagesize") + @doc("The maximum number of result items per page.") + maxpagesize?: int32; +} + +@doc("Provides the most common query parameters for list operations.") +model StandardListQueryParametersWithCorrectNames { + ...CustomTopQueryParameter; + ...CustomSkipQueryParameter; + ...CustomMaxPageSizeQueryParameter; +} + +@doc("Response to the action call for count devices in a catalog.") +model CountDeviceResponse extends CountElementsResponse {} + +@doc("Response of the count for elements.") +model CountElementsResponse { + @doc("Number of children resources in parent resource.") + value: int32; +} + +@doc("Parameters for paginated APIs") +model ListQueryParameters { + ...CustomFilterQueryParameter; + ...StandardListQueryParametersWithCorrectNames; +} + +// Templates +interface ProxyResourceOperationsReadList< + TResource extends ArmResource, + TListParameters extends object = {}> + extends Azure.ResourceManager.ResourceRead, + ResourceListByParent> {} + +interface ProxyResourceOperationsReadListCreateDelete< + TResource extends ArmResource, + TListParameters extends object = {}> + extends Azure.ResourceManager.ResourceRead, + ResourceListByParent>, + ResourceCreate, + Azure.ResourceManager.ResourceDelete{} + +// Custom update operations +@armResourceOperations +interface CustomUpdateOperations{ + @autoRoute + @doc("Update a {name}", TResource) + @extension("x-ms-long-running-operation", true) + @extension( + "x-ms-long-running-operation-options", + { + "final-state-via": "location", + } + ) + @armResourceUpdate(TResource) + @patch + op ArmCustomPatchAsyncWithLocation< + TResource extends ArmResource, + TPatchModel extends object = TagsUpdateModel, + TBaseParameters = BaseParameters + >( + ...ResourceInstanceParameters, + + @doc("The resource properties to be updated.") + @body + properties: TPatchModel + ): ArmResponse | ArmAcceptedResponse<"Resource update request accepted."> | ErrorResponse; +} + +alias CustomArmResourcePatchAsync< + TResource extends ArmResource, + TProperties extends object, + TBaseParameters = BaseParameters +> = CustomUpdateOperations.ArmCustomPatchAsyncWithLocation, TBaseParameters>; \ No newline at end of file diff --git a/specification/sphere/Sphere.Management/deployment.cadl b/specification/sphere/Sphere.Management/deployment.cadl new file mode 100644 index 000000000000..8c705a661387 --- /dev/null +++ b/specification/sphere/Sphere.Management/deployment.cadl @@ -0,0 +1,61 @@ +import "@cadl-lang/rest"; +import "@cadl-lang/versioning"; +import "@azure-tools/cadl-autorest"; +import "@azure-tools/cadl-azure-core"; +import "@azure-tools/cadl-azure-resource-manager"; + +using Cadl.Http; +using Cadl.Rest; +using Cadl.Versioning; +using Azure.ResourceManager.Foundations; +using Azure.Core; +using Azure.ResourceManager; + +namespace Microsoft.AzureSphere; + +// Deployment +@doc("An deployment resource belonging to a device group resource.") +@parentResource(DeviceGroup) +model Deployment is ProxyResource { + @doc("Deployment name. Use .default for deployment creation and to get the current deployment for the associated device group.") + @key("deploymentName") + @path + @segment("deployments") + name: string; +} + +interface ProxyResourceOperationsDeployments< + TResource extends ArmResource, + TListParameters extends object = {}>{ + @doc("Get a Deployment. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.") + get is ArmResourceRead; + @doc("List Deployment resources by DeviceGroup. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.") + list is ArmResourceListByParent>; + @doc("Create a Deployment. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.") + createOrUpdate is ArmResourceCreateOrUpdateAsync; + @doc("Delete a Deployment. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.") + delete is ArmResourceDeleteAsync; + } + +@armResourceOperations +interface Deployments extends ProxyResourceOperationsDeployments {} + +@doc("The properties of deployment") +model DeploymentProperties { + + @visibility("create", "read") + @doc("Deployment ID") + deploymentId?: string; + + @doc("Images deployed") + @visibility("create", "read") + deployedImages?: Image[]; + + @doc("Deployment date UTC") + @visibility("read") + deploymentDateUtc?: zonedDateTime; + + @visibility("read") + @doc("The status of the last operation.") + provisioningState?: ProvisioningState; +} \ No newline at end of file diff --git a/specification/sphere/Sphere.Management/device.cadl b/specification/sphere/Sphere.Management/device.cadl new file mode 100644 index 000000000000..2e31dc2475df --- /dev/null +++ b/specification/sphere/Sphere.Management/device.cadl @@ -0,0 +1,120 @@ +import "@cadl-lang/rest"; +import "@cadl-lang/openapi"; +import "@cadl-lang/versioning"; +import "@azure-tools/cadl-autorest"; +import "@azure-tools/cadl-azure-core"; +import "@azure-tools/cadl-azure-resource-manager"; + +using Cadl.Http; +using Cadl.Rest; +using Cadl.Versioning; +using Azure.ResourceManager.Foundations; +using Azure.Core; +using Azure.ResourceManager; +using OpenAPI; + +namespace Microsoft.AzureSphere; + +// Devices +@doc("An device resource belonging to a device group resource.") +@parentResource(DeviceGroup) +model Device is ProxyResource { + @doc("Device name") + @pattern("^[a-zA-Z0-9-]{128}$") + @key("deviceName") + @path + @segment("devices") + name: string; +} + +interface ProxyResourceOperationsDevice< + TResource extends ArmResource, + TListParameters extends object = {}>{ + @doc("Get a Device. Use '.unassigned' or '.default' for the device group and product names when a device does not belong to a device group and product.") + get is ArmResourceRead; + @doc("Create a Device. Use '.unassigned' or '.default' for the device group and product names to claim a device to the catalog only.") + createOrUpdate is ArmResourceCreateOrUpdateAsync; + @doc("List Device resources by DeviceGroup. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.") + list is ArmResourceListByParent>; + delete is ArmResourceDeleteAsync; + @doc("Update a Device. Use '.unassigned' or '.default' for the device group and product names to move a device to the catalog level.") + update is CustomArmResourcePatchAsync; + } + +@armResourceOperations +interface Devices extends ProxyResourceOperationsDevice{ + @autoRoute + @armResourceAction(Device) + @post + @doc("Generates the capability image for the device. Use '.unassigned' or '.default' for the device group and product names to generate the image for a device that does not belong to a specific device group and product.") + @extension("x-ms-long-running-operation", true) + @extension( + "x-ms-long-running-operation-options", + { + "final-state-via": "location", + } + ) + op generateCapabilityImage( + ...ResourceInstanceParameters, + @doc("Generate capability image request body.") + @body generateDeviceCapabilityRequest: GenerateCapabilityImageRequest + ): ArmResponse | ArmAcceptedResponse | ErrorResponse; +} + +@doc("The properties of device") +model DeviceProperties { + + @doc("Device ID") + @visibility("create", "read") + deviceId?: string; + + @doc("SKU of the chip") + @visibility("read") + chipSku?: string; + + @doc("OS version available for installation when update requested") + @visibility("read") + lastAvailableOsVersion?: string; + + @doc("OS version running on device when update requested") + @visibility("read") + lastInstalledOsVersion?: string; + + @doc("Time when update requested and new OS version available") + @visibility("read") + lastOsUpdateUtc?: zonedDateTime; + + @doc("Time when update was last requested") + @visibility("read") + lastUpdateRequestUtc?: zonedDateTime; + + @visibility("read") + @doc("The status of the last operation.") + provisioningState?: ProvisioningState; +} + +// Device models +@doc("Request of the action to create a signed device capability image") +model GenerateCapabilityImageRequest { + @doc("List of capabilities to create") + capabilities: CapabilityType[]; +} + +@doc("Signed device capability image response") +model SignedCapabilityImageResponse { + @doc("The signed device capability image as a UTF-8 encoded base 64 string.") + @visibility("read") + image?: string; +} + +@doc("Capability image type") +enum CapabilityType { + ApplicationDevelopment, + FieldServicing +} + +@doc("The properties of device patch") +model DevicePatchProperties { + @doc("Device group id") + deviceGroupId: string; +} \ No newline at end of file diff --git a/specification/sphere/Sphere.Management/deviceGroup.cadl b/specification/sphere/Sphere.Management/deviceGroup.cadl new file mode 100644 index 000000000000..992c932344ed --- /dev/null +++ b/specification/sphere/Sphere.Management/deviceGroup.cadl @@ -0,0 +1,116 @@ +import "@cadl-lang/rest"; +import "@cadl-lang/openapi"; +import "@cadl-lang/versioning"; +import "@azure-tools/cadl-autorest"; +import "@azure-tools/cadl-azure-core"; +import "@azure-tools/cadl-azure-resource-manager"; + +using Cadl.Http; +using Cadl.Rest; +using Cadl.Versioning; +using Azure.ResourceManager.Foundations; +using Azure.Core; +using Azure.ResourceManager; +using OpenAPI; + +namespace Microsoft.AzureSphere; + +@doc("An device group resource belonging to a product resource.") +@parentResource(Product) +model DeviceGroup is ProxyResource { + @doc("Name of device group.") + @pattern("^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$") + @key("deviceGroupName") + @path + @segment("deviceGroups") + name: string; +} + +interface ProxyResourceOperationsDeviceGroups< + TResource extends ArmResource, + TListParameters extends object = {}>{ + @doc("List DeviceGroup resources by Product. '.default' and '.unassigned' are system defined values and cannot be used for product name.") + list is ArmResourceListByParent>; + @doc("Get a DeviceGroup. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.") + get is ArmResourceRead; + @doc("Create a DeviceGroup. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.") + createOrUpdate is ArmResourceCreateOrUpdateAsync; + @doc("Delete a DeviceGroup. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.") + delete is ArmResourceDeleteAsync; + @doc("Update a DeviceGroup. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.") + update is ArmResourcePatchAsync; + } + +@armResourceOperations +interface DeviceGroups extends ProxyResourceOperationsDeviceGroups { + @autoRoute + @doc("Counts devices in device group. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.") + @armResourceAction(DeviceGroup) + @post + op countDevices( + ...ResourceInstanceParameters, + ): ArmResponse | ErrorResponse; + + @autoRoute + @armResourceAction(DeviceGroup) + @doc("Bulk claims the devices. Use '.unassigned' or '.default' for the device group and product names when bulk claiming devices to a catalog only.") + @extension("x-ms-long-running-operation", true) + @extension( + "x-ms-long-running-operation-options", + { + "final-state-via": "location", + } + ) + @post + op claimDevices( + ...ResourceInstanceParameters, + @doc("Bulk claim devices request body.") + @body claimDevicesRequest: ClaimDevicesRequest + ): ArmAcceptedResponse | ErrorResponse; +} + +@doc("The properties of deviceGroup") +model DeviceGroupProperties { + @doc("Description of the device group.") + description?: string; + + @doc("Operating system feed type of the device group.") + osFeedType?: OSFeedType; + + @doc("Update policy of the device group.") + updatePolicy?: UpdatePolicy; + + @doc("Flag to define if the user allows for crash dump collection.") + allowCrashDumpsCollection?: AllowCrashDumpCollection; + + @doc("Regional data boundary for the device group.") + regionalDataBoundary?: RegionalDataBoundary; + + @visibility("read") + @doc("Deployment status for the device group.") + hasDeployment?: boolean; + + @visibility("read") + @doc("The status of the last operation.") + provisioningState?: ProvisioningState; +} + +@doc("OS feed type values.") +enum OSFeedType { + Retail, + RetailEval +} + +@doc("Update policy values.") +enum UpdatePolicy { + UpdateAll, + No3rdPartyAppUpdates +} + +// Device group models + +@doc("Request to the action call to bulk claim devices.") +model ClaimDevicesRequest { + @doc("Device identifiers of the devices to be claimed.") + deviceIdentifiers: string[] +} diff --git a/specification/sphere/Sphere.Management/examples/DeleteCatalog.json b/specification/sphere/Sphere.Management/examples/DeleteCatalog.json new file mode 100644 index 000000000000..63c1d8245a3c --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/DeleteCatalog.json @@ -0,0 +1,24 @@ +{ + "operationId": "Catalogs_Delete", + "title": "Catalogs_Delete", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + }, + "204": { + "description": "Resource deleted successfully." + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/DeleteDeployment.json b/specification/sphere/Sphere.Management/examples/DeleteDeployment.json new file mode 100644 index 000000000000..9f79f31640b2 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/DeleteDeployment.json @@ -0,0 +1,27 @@ +{ + "operationId": "Deployments_Delete", + "title": "Deployments_Delete", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProductName1", + "deviceGroupName": "DeviceGroupName1", + "deploymentName": "MyDeploymentName1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + }, + "204": { + "description": "Resource deleted successfully." + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/DeleteDevice.json b/specification/sphere/Sphere.Management/examples/DeleteDevice.json new file mode 100644 index 000000000000..cedc0b7f509b --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/DeleteDevice.json @@ -0,0 +1,27 @@ +{ + "operationId": "Devices_Delete", + "title": "Devices_Delete", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProductName1", + "deviceGroupName": "DeviceGroupName1", + "deviceName": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + }, + "204": { + "description": "Resource deleted successfully." + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/DeleteDeviceGroup.json b/specification/sphere/Sphere.Management/examples/DeleteDeviceGroup.json new file mode 100644 index 000000000000..0fe56066275f --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/DeleteDeviceGroup.json @@ -0,0 +1,26 @@ +{ + "operationId": "DeviceGroups_Delete", + "title": "DeviceGroups_Delete", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + }, + "204": { + "description": "Resource deleted successfully." + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/DeleteImage.json b/specification/sphere/Sphere.Management/examples/DeleteImage.json new file mode 100644 index 000000000000..c87670823a95 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/DeleteImage.json @@ -0,0 +1,25 @@ +{ + "operationId": "Images_Delete", + "title": "Images_Delete", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "imageName": "imageID", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + }, + "204": { + "description": "Resource deleted successfully." + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/DeleteProduct.json b/specification/sphere/Sphere.Management/examples/DeleteProduct.json new file mode 100644 index 000000000000..2a3cc98c9361 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/DeleteProduct.json @@ -0,0 +1,25 @@ +{ + "operationId": "Products_Delete", + "title": "Products_Delete", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProductName1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + }, + "204": { + "description": "Resource deleted successfully." + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/GetCatalog.json b/specification/sphere/Sphere.Management/examples/GetCatalog.json new file mode 100644 index 000000000000..309cbd3cb82e --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/GetCatalog.json @@ -0,0 +1,21 @@ +{ + "operationId": "Catalogs_Get", + "title": "Catalogs_Get", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1", + "name": "MyCatalog1", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/GetCatalogsRG.json b/specification/sphere/Sphere.Management/examples/GetCatalogsRG.json new file mode 100644 index 000000000000..3b8e6ecacc5f --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/GetCatalogsRG.json @@ -0,0 +1,30 @@ +{ + "operationId": "Catalogs_ListByResourceGroup", + "title": "Catalogs_ListByResourceGroup", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1", + "name": "MyCatalog1", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog2", + "name": "MyCatalog2", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + } + ] + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/GetCatalogsSub.json b/specification/sphere/Sphere.Management/examples/GetCatalogsSub.json new file mode 100644 index 000000000000..9193ce2f4046 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/GetCatalogsSub.json @@ -0,0 +1,29 @@ +{ + "operationId": "Catalogs_ListBySubscription", + "title": "Catalogs_ListBySubscription", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1", + "name": "MyCatalog1", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup2/providers/Microsoft.AzureSphere/catalogs/MyCatalog2", + "name": "MyCatalog2", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + } + ] + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/GetCertificate.json b/specification/sphere/Sphere.Management/examples/GetCertificate.json new file mode 100644 index 000000000000..f4b4aa6987e6 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/GetCertificate.json @@ -0,0 +1,17 @@ +{ + "operationId": "Certificates_Get", + "title": "Certificates_Get", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "serialNumber": "default", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": {} + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/GetCertificates.json b/specification/sphere/Sphere.Management/examples/GetCertificates.json new file mode 100644 index 000000000000..b60fe89fa77a --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/GetCertificates.json @@ -0,0 +1,18 @@ +{ + "operationId": "Certificates_ListByCatalog", + "title": "Certificates_ListByCatalog", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [] + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/GetDeployment.json b/specification/sphere/Sphere.Management/examples/GetDeployment.json new file mode 100644 index 000000000000..6679b9ca42c9 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/GetDeployment.json @@ -0,0 +1,38 @@ +{ + "operationId": "Deployments_Get", + "title": "Deployments_Get", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "myDeviceGroup1", + "deploymentName": "MyDeployment1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/deviceGroups/MyDeviceGroup1/deployments/MyDeployment1", + "name": "MyDeployment1", + "properties": { + "deployedImages": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/images/MyImage1", + "properties": { + "image": "dGVzdGltYWdl", + "regionalDataBoundary": "None", + "uri": "imageUri", + "description": "description", + "componentId": "componentId", + "imageType": "ImageType", + "provisioningState": "Succeeded" + } + } + ] + } + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/GetDeployments.json b/specification/sphere/Sphere.Management/examples/GetDeployments.json new file mode 100644 index 000000000000..86fbe98e0d5c --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/GetDeployments.json @@ -0,0 +1,42 @@ +{ + "operationId": "Deployments_ListByDeviceGroup", + "title": "Deployments_ListByDeviceGroup", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "myDeviceGroup1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/deviceGroups/MyDeviceGroup1/deployments/MyDeployment1", + "name": "MyDeployment1", + "properties": { + "deployedImages": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/images/MyImage1", + "properties": { + "image": "dGVzdGltYWdl", + "regionalDataBoundary": "None", + "uri": "imageUri", + "description": "description", + "componentId": "componentId", + "imageType": "ImageType", + "provisioningState": "Succeeded" + } + } + ], + "deploymentDateUtc": "2022-09-30T21:51:39.2698729Z" + } + } + ] + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/GetDevice.json b/specification/sphere/Sphere.Management/examples/GetDevice.json new file mode 100644 index 000000000000..cc333206bc24 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/GetDevice.json @@ -0,0 +1,29 @@ +{ + "operationId": "Devices_Get", + "title": "Devices_Get", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "myDeviceGroup1", + "deviceName": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/myProduct1/deviceGroups/myDeviceGroup1/devices/00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "name": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "properties": { + "chipSku": "MyChipSku1", + "lastAvailableOsVersion": "AvailableOsVersion1", + "lastInstalledOsVersion": "InstalledOsVersion1", + "lastOsUpdateUtc": "2022-09-30T23:54:21.96Z", + "lastUpdateRequestUtc": "2022-10-01T23:54:21.96Z" + } + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/GetDeviceGroup.json b/specification/sphere/Sphere.Management/examples/GetDeviceGroup.json new file mode 100644 index 000000000000..3968deebf2e9 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/GetDeviceGroup.json @@ -0,0 +1,26 @@ +{ + "operationId": "DeviceGroups_Get", + "title": "DeviceGroups_Get", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup1", + "type": "microsoft.azureSphere/catalogs/products/devicegroups", + "properties": { + "description": "The description of MyDeviceGroup1", + "osFeedType": "Retail", + "updatePolicy": "UpdateAll" + } + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/GetDeviceGroups.json b/specification/sphere/Sphere.Management/examples/GetDeviceGroups.json new file mode 100644 index 000000000000..b35555682568 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/GetDeviceGroups.json @@ -0,0 +1,30 @@ +{ + "operationId": "DeviceGroups_ListByProduct", + "title": "DeviceGroups_ListByProduct", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup1", + "name": "MyDeviceGroup1", + "type": "microsoft.azureSphere/catalogs/products/devicegroups" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/Products/MyProduct2/devicegroups/MyDeviceGroup2", + "name": "MyDeviceGroup2", + "type": "microsoft.azureSphere/catalogs/products/devicegroups" + } + ] + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/GetDevices.json b/specification/sphere/Sphere.Management/examples/GetDevices.json new file mode 100644 index 000000000000..e9c205d8251c --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/GetDevices.json @@ -0,0 +1,29 @@ +{ + "operationId": "Devices_ListByDeviceGroup", + "title": "Devices_ListByDeviceGroup", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "myDeviceGroup1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/myProduct1/deviceGroups/myDeviceGroup1/devices/00000000-0000-0000-0000-000000000001", + "properties": {} + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/myProduct1/deviceGroups/myDeviceGroup1/devices/00000000-0000-0000-0000-000000000002", + "properties": {} + } + ] + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/GetImage.json b/specification/sphere/Sphere.Management/examples/GetImage.json new file mode 100644 index 000000000000..3023a79d50c5 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/GetImage.json @@ -0,0 +1,17 @@ +{ + "operationId": "Images_Get", + "title": "Images_Get", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "imageName": "myImageId", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": {} + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/GetImages.json b/specification/sphere/Sphere.Management/examples/GetImages.json new file mode 100644 index 000000000000..54df0e9efea2 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/GetImages.json @@ -0,0 +1,27 @@ +{ + "operationId": "Images_ListByCatalog", + "title": "Images_ListByCatalog", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "00000000-0000-0000-0000-000000000001", + "name": "MyImage1" + }, + { + "id": "00000000-0000-0000-0000-000000000002", + "name": "MyImage2" + } + ] + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/GetOperations.json b/specification/sphere/Sphere.Management/examples/GetOperations.json new file mode 100644 index 000000000000..ec6597cf4218 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/GetOperations.json @@ -0,0 +1,35 @@ +{ + "operationId": "Operations_List", + "title": "Operations_List", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "name": "Microsoft.AzureSphere/catalogs/Read", + "display": { + "provider": "Microsoft.AzureSphere", + "resource": "catalog", + "operation": "Gets/List catalog", + "description": "Read Azure Sphere catalogs" + } + }, + { + "name": "Microsoft.AzureSphere/catalogs/Write", + "display": { + "provider": "Microsoft.AzureSphere", + "resource": "catalog", + "operation": "Create/Update catalog", + "description": "Writes Azure Sphere catalogs" + } + } + ] + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/GetProduct.json b/specification/sphere/Sphere.Management/examples/GetProduct.json new file mode 100644 index 000000000000..16e15d98de1b --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/GetProduct.json @@ -0,0 +1,23 @@ +{ + "operationId": "Products_Get", + "title": "Products_Get", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1", + "type": "microsoft.azureSphere/catalogs/products", + "properties": { + "description": "product description." + } + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/GetProducts.json b/specification/sphere/Sphere.Management/examples/GetProducts.json new file mode 100644 index 000000000000..a24bb1b88673 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/GetProducts.json @@ -0,0 +1,29 @@ +{ + "operationId": "Products_ListByCatalog", + "title": "Products_ListByCatalog", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1", + "name": "MyProduct1", + "type": "Microsoft.AzureSphere/catalogs/products" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct2", + "name": "MyProduct2", + "type": "Microsoft.AzureSphere/catalogs/products" + } + ] + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/PatchCatalog.json b/specification/sphere/Sphere.Management/examples/PatchCatalog.json new file mode 100644 index 000000000000..0e840dfcdf1d --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/PatchCatalog.json @@ -0,0 +1,25 @@ +{ + "operationId": "Catalogs_Update", + "title": "Catalogs_Update", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2022-09-01-preview", + "properties": {}, + "resource": { + "location": "global" + } + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1", + "name": "MyCatalog1", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/PatchDevice.json b/specification/sphere/Sphere.Management/examples/PatchDevice.json new file mode 100644 index 000000000000..9e007f0c2255 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/PatchDevice.json @@ -0,0 +1,36 @@ +{ + "operationId": "Devices_Update", + "title": "Devices_Update", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "deviceName": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "properties": {}, + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup1/device/00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "Microsoft.AzureSphere/catalogs/products/devicegroups", + "properties": { + "chipSku": "MyChipSku1", + "lastAvailableOsVersion": "AvailableOsVersion1", + "lastInstalledOsVersion": "InstalledOsVersion1", + "lastOsUpdateUtc": "2022-10-30T23:54:21.96Z", + "lastUpdateRequestUtc": "2022-10-01T23:54:21.96Z" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + }, + "description": "The device update started successfully." + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/PatchDeviceGroup.json b/specification/sphere/Sphere.Management/examples/PatchDeviceGroup.json new file mode 100644 index 000000000000..94b5816691c9 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/PatchDeviceGroup.json @@ -0,0 +1,33 @@ +{ + "operationId": "DeviceGroups_Update", + "title": "DeviceGroups_Update", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "properties": {}, + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup1", + "type": "microsoft.azureSphere/catalogs/products/devicegroups", + "properties": { + "description": "The description of MyDeviceGroup1", + "osFeedType": "Retail", + "updatePolicy": "UpdateAll" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + }, + "description": "Resource update request accepted." + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/PatchProduct.json b/specification/sphere/Sphere.Management/examples/PatchProduct.json new file mode 100644 index 000000000000..1cca155c4838 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/PatchProduct.json @@ -0,0 +1,30 @@ +{ + "operationId": "Products_Update", + "title": "Products_Update", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "properties": {}, + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1", + "type": "microsoft.azureSphere/catalogs/products", + "properties": { + "description": "Product description." + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + }, + "description": "Resource update request accepted." + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/PostClaimDevices.json b/specification/sphere/Sphere.Management/examples/PostClaimDevices.json new file mode 100644 index 000000000000..6031e751e383 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/PostClaimDevices.json @@ -0,0 +1,25 @@ +{ + "operationId": "DeviceGroups_ClaimDevices", + "title": "DeviceGroups_ClaimDevices", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "claimDevicesRequest": { + "deviceIdentifiers": [ + "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + ] + }, + "api-version": "2022-09-01-preview" + }, + "responses": { + "202": { + "description": "Resource operation accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/PostCountDevicesCatalog.json b/specification/sphere/Sphere.Management/examples/PostCountDevicesCatalog.json new file mode 100644 index 000000000000..66b0fc9252ed --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/PostCountDevicesCatalog.json @@ -0,0 +1,18 @@ +{ + "operationId": "Catalogs_CountDevices", + "title": "Catalogs_CountDevices", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": 3 + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/PostCountDevicesDeviceGroup.json b/specification/sphere/Sphere.Management/examples/PostCountDevicesDeviceGroup.json new file mode 100644 index 000000000000..a6be1a2f2598 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/PostCountDevicesDeviceGroup.json @@ -0,0 +1,20 @@ +{ + "operationId": "DeviceGroups_CountDevices", + "title": "DeviceGroups_CountDevices", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": 3 + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/PostCountDevicesProduct.json b/specification/sphere/Sphere.Management/examples/PostCountDevicesProduct.json new file mode 100644 index 000000000000..11cd3098bcca --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/PostCountDevicesProduct.json @@ -0,0 +1,21 @@ +{ + "operationId": "Products_CountDevices", + "title": "Products_CountDevices", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "productGroupName": "MyProduct1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": 3 + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/PostGenerateDefaultDeviceGroups.json b/specification/sphere/Sphere.Management/examples/PostGenerateDefaultDeviceGroups.json new file mode 100644 index 000000000000..a8d43772debd --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/PostGenerateDefaultDeviceGroups.json @@ -0,0 +1,40 @@ +{ + "operationId": "Products_GenerateDefaultDeviceGroups", + "title": "Products_GenerateDefaultDeviceGroups", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup1", + "name": "MyDeviceGroup1", + "properties": { + "description": "Device group description 1", + "osFeedType": "Retail", + "updatePolicy": "UpdateAll", + "allowCrashDumpsCollection": "Enabled" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup2", + "name": "MyDeviceGroup2", + "properties": { + "description": "Device group description 2", + "osFeedType": "Retail", + "updatePolicy": "UpdateAll", + "allowCrashDumpsCollection": "Enabled" + } + } + ] + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/PostGenerateDeviceCapabilityImage.json b/specification/sphere/Sphere.Management/examples/PostGenerateDeviceCapabilityImage.json new file mode 100644 index 000000000000..a179d16b3ba3 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/PostGenerateDeviceCapabilityImage.json @@ -0,0 +1,32 @@ +{ + "operationId": "Devices_GenerateCapabilityImage", + "title": "Devices_GenerateCapabilityImage", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "myDeviceGroup1", + "deviceName": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "generateDeviceCapabilityRequest": { + "capabilities": [ + "ApplicationDevelopment" + ] + }, + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "image": "TheDeviceCapabilityImage" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/PostListDeploymentsByCatalog.json b/specification/sphere/Sphere.Management/examples/PostListDeploymentsByCatalog.json new file mode 100644 index 000000000000..3b6f53fe5698 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/PostListDeploymentsByCatalog.json @@ -0,0 +1,27 @@ +{ + "operationId": "Catalogs_ListDeployments", + "title": "Catalogs_ListDeployments", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "name": "DeploymentName1111", + "properties": {} + }, + { + "name": "DeploymentName1121", + "properties": {} + } + ] + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/PostListDeviceGroupsCatalog.json b/specification/sphere/Sphere.Management/examples/PostListDeviceGroupsCatalog.json new file mode 100644 index 000000000000..1d4a857fbdf9 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/PostListDeviceGroupsCatalog.json @@ -0,0 +1,32 @@ +{ + "operationId": "Catalogs_ListDeviceGroups", + "title": "Catalogs_ListDeviceGroups", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2022-09-01-preview", + "listDeviceGroupsRequest": { + "deviceGroupName": "MyDeviceGroup1" + } + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup1", + "name": "MyDeviceGroup1", + "type": "microsoft.azureSphere/catalogs/products/devicegroups" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct2/devicegroups/MyDeviceGroup2", + "name": "MyDeviceGroup2", + "type": "microsoft.azureSphere/catalogs/products/devicegroups" + } + ] + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/PostListDeviceInsightsCatalog.json b/specification/sphere/Sphere.Management/examples/PostListDeviceInsightsCatalog.json new file mode 100644 index 000000000000..3c94dc573a24 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/PostListDeviceInsightsCatalog.json @@ -0,0 +1,40 @@ +{ + "operationId": "Catalogs_ListDeviceInsights", + "title": "Catalogs_ListDeviceInsights", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "$top": 10, + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "description": "eventDescription1", + "deviceId": "eventIdentifier1", + "startTimestampUtc": "2021-09-30T21:51:39.26Z", + "endTimestampUtc": "2021-09-30T23:54:21.96Z", + "eventCategory": "eventCategory1", + "eventClass": "eventClass1", + "eventType": "eventType1", + "eventCount": 1 + }, + { + "description": "eventDescription2", + "deviceId": "eventIdentifier2", + "startTimestampUtc": "2022-12-06T12:41:39.26Z", + "endTimestampUtc": "2022-12-07T17:34:12.50Z", + "eventCategory": "eventCategory2", + "eventClass": "eventClass2", + "eventType": "eventType2", + "eventCount": 1 + } + ] + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/PostListDevicesByCatalog.json b/specification/sphere/Sphere.Management/examples/PostListDevicesByCatalog.json new file mode 100644 index 000000000000..4ff1c7b56f4f --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/PostListDevicesByCatalog.json @@ -0,0 +1,27 @@ +{ + "operationId": "Catalogs_ListDevices", + "title": "Catalogs_ListDevices", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "name": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "properties": {} + }, + { + "name": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "properties": {} + } + ] + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/PostRetrieveCatalogCertChain.json b/specification/sphere/Sphere.Management/examples/PostRetrieveCatalogCertChain.json new file mode 100644 index 000000000000..d20f5724247a --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/PostRetrieveCatalogCertChain.json @@ -0,0 +1,19 @@ +{ + "operationId": "Certificates_RetrieveCertChain", + "title": "Certificates_RetrieveCertChain", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "serialNumber": "active", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "certificateChain": "ABynaryRepresentationOfTheRequestedCatalogCertificateChain" + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/PostRetrieveProofOfPossessionNonce.json b/specification/sphere/Sphere.Management/examples/PostRetrieveProofOfPossessionNonce.json new file mode 100644 index 000000000000..ae995839f869 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/PostRetrieveProofOfPossessionNonce.json @@ -0,0 +1,22 @@ +{ + "operationId": "Certificates_RetrieveProofOfPossessionNonce", + "title": "Certificates_RetrieveProofOfPossessionNonce", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "serialNumber": "active", + "proofOfPossessionNonceRequest": { + "proofOfPossessionNonce": "proofOfPossessionNonce" + }, + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "certificate": "bXliYXNlNjRzdHJpbmc=" + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/PutCatalog.json b/specification/sphere/Sphere.Management/examples/PutCatalog.json new file mode 100644 index 000000000000..5335efb38514 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/PutCatalog.json @@ -0,0 +1,34 @@ +{ + "operationId": "Catalogs_CreateOrUpdate", + "title": "Catalogs_CreateOrUpdate", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2022-09-01-preview", + "location": "global", + "resource": { + "location": "global" + } + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1", + "name": "MyCatalog1", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1", + "name": "MyCatalog1", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/PutDeployment.json b/specification/sphere/Sphere.Management/examples/PutDeployment.json new file mode 100644 index 000000000000..8ba227796e3c --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/PutDeployment.json @@ -0,0 +1,47 @@ +{ + "operationId": "Deployments_CreateOrUpdate", + "title": "Deployments_CreateOrUpdate", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "myDeviceGroup1", + "deploymentName": "MyDeployment1", + "api-version": "2022-09-01-preview", + "resource": {} + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/deviceGroups/MyDeviceGroup1/deployments/MyDeployment1", + "name": "MyDeployment1", + "properties": { + "deployedImages": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/images/MyImage1", + "properties": { + "image": "MyImage", + "imageId": "00000000-0000-0000-0000-000000000000", + "uri": "imageUri", + "regionalDataBoundary": "None", + "imageType": "InvalidImageType", + "provisioningState": "Succeeded" + } + } + ], + "provisioningState": "Succeeded" + } + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/myProduct1/deviceGroups/myDeviceGroup1/deployments/MyDeployment1", + "name": "MyDeployment1", + "type": "Microsoft.AzureSphere/catalogs/products/deviceGroups/deployments" + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/PutDevice.json b/specification/sphere/Sphere.Management/examples/PutDevice.json new file mode 100644 index 000000000000..6b6cdf7604c3 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/PutDevice.json @@ -0,0 +1,34 @@ +{ + "operationId": "Devices_CreateOrUpdate", + "title": "Devices_CreateOrUpdate", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "myDeviceGroup1", + "deviceName": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "api-version": "2022-09-01-preview", + "resource": {} + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/myProduct1/deviceGroups/myDeviceGroup1/devices/00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "name": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "properties": { + "chipSku": "MyChipSku1" + } + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/myProduct1/deviceGroups/myDeviceGroup1/devices/00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "name": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "Microsoft.AzureSphere/catalogs/products/deviceGroups/devices" + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/PutDeviceGroup.json b/specification/sphere/Sphere.Management/examples/PutDeviceGroup.json new file mode 100644 index 000000000000..07878ffa9363 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/PutDeviceGroup.json @@ -0,0 +1,46 @@ +{ + "operationId": "DeviceGroups_CreateOrUpdate", + "title": "DeviceGroups_CreateOrUpdate", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "api-version": "2022-09-01-preview", + "resource": { + "properties": { + "description": "Description for MyDeviceGroup1", + "osFeedType": "Retail", + "updatePolicy": "UpdateAll" + } + } + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup1", + "type": "microsoft.AzureSphere/catalogs/products/devicegroups", + "properties": { + "description": "Description of MyDeviceGroup1", + "osFeedType": "Retail", + "updatePolicy": "UpdateAll" + } + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/myProduct1/deviceGroups/myDeviceGroup1", + "name": "MyDeviceId1", + "type": "Microsoft.AzureSphere/catalogs/products/deviceGroups", + "properties": { + "description": "Description of MyDeviceGroup1", + "osFeedType": "Retail", + "updatePolicy": "UpdateAll" + } + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/PutImage.json b/specification/sphere/Sphere.Management/examples/PutImage.json new file mode 100644 index 000000000000..c28ad12e90d3 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/PutImage.json @@ -0,0 +1,34 @@ +{ + "operationId": "Images_CreateOrUpdate", + "title": "Image_CreateOrUpdate", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "imageName": "default", + "resource": { + "properties": { + "image": "bXliYXNlNjRzdHJpbmc=" + } + }, + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/images/default", + "name": "MyProduct1", + "type": "Microsoft.AzureSphere/catalogs/images" + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/images/default", + "name": "MyProduct1", + "type": "Microsoft.AzureSphere/catalogs/images" + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/PutProduct.json b/specification/sphere/Sphere.Management/examples/PutProduct.json new file mode 100644 index 000000000000..ed9339da141a --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/PutProduct.json @@ -0,0 +1,30 @@ +{ + "operationId": "Products_CreateOrUpdate", + "title": "Products_CreateOrUpdate", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "api-version": "2022-09-01-preview", + "resource": {} + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1", + "name": "MyProduct1", + "type": "Microsoft.AzureSphere/catalogs/products" + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1", + "name": "MyProduct1", + "type": "Microsoft.AzureSphere/catalogs" + } + } + } +} diff --git a/specification/sphere/Sphere.Management/image.cadl b/specification/sphere/Sphere.Management/image.cadl new file mode 100644 index 000000000000..f621c0745e90 --- /dev/null +++ b/specification/sphere/Sphere.Management/image.cadl @@ -0,0 +1,103 @@ +import "@cadl-lang/rest"; +import "@cadl-lang/versioning"; +import "@azure-tools/cadl-autorest"; +import "@azure-tools/cadl-azure-core"; +import "@azure-tools/cadl-azure-resource-manager"; + + +using Cadl.Http; +using Cadl.Rest; +using Cadl.Versioning; +using Azure.ResourceManager.Foundations; +using Azure.Core; +using Azure.ResourceManager; + +namespace Microsoft.AzureSphere; + +//Images +@doc("An image resource belonging to a catalog resource.") +@parentResource(Catalog) +model Image is ProxyResource { + @doc("Image name. Use .default for image creation.") + @key("imageName") + @path + @segment("images") + name: string; +} + +@armResourceOperations +interface Images extends ProxyResourceOperationsReadListCreateDelete {} + +@doc("The properties of image") +model ImageProperties { + + @doc("Image as a UTF-8 encoded base 64 string on image create. This field contains the image URI on image reads.") + @visibility("create", "read") + image?: string, + + @doc("Image ID") + @visibility("create", "read") + imageId?: string, + + @doc("Image name") + @visibility("read") + imageName?: string, + + @doc("Regional data boundary for an image") + @visibility("create", "read") + regionalDataBoundary?: RegionalDataBoundary; + + @doc("Location the image") + @visibility("read") + uri?: string; + + @doc("The image description.") + @visibility("read") + description?: string; + + @doc("The image component id.") + @visibility("read") + componentId?: string; + + @doc("The image type.") + @visibility("read") + imageType?: ImageType; + + @visibility("read") + @doc("The status of the last operation.") + provisioningState?: ProvisioningState; +} + +@doc("Image upload request body.") +model ImageUploadRequestBody { + @doc(".") + images: string +} + +@doc("Image type values.") +enum ImageType { + InvalidImageType, + OneBl, + PlutonRuntime, + WifiFirmware, + SecurityMonitor, + NormalWorldLoader, + NormalWorldDtb, + NormalWorldKernel, + RootFs, + Services, + Applications, + FwConfig, + BootManifest, + Nwfs, + TrustedKeystore, + Policy, + CustomerBoardConfig, + UpdateCertStore, + BaseSystemUpdateManifest, + FirmwareUpdateManifest, + CustomerUpdateManifest, + RecoveryManifest, + ManifestSet, + Other +} \ No newline at end of file diff --git a/specification/sphere/Sphere.Management/main.cadl b/specification/sphere/Sphere.Management/main.cadl new file mode 100644 index 000000000000..f344197026e0 --- /dev/null +++ b/specification/sphere/Sphere.Management/main.cadl @@ -0,0 +1,32 @@ +import "./common.cadl"; +import "./catalog.cadl"; +import "./image.cadl"; +import "./deviceGroup.cadl"; +import "./certificate.cadl"; +import "./deployment.cadl"; +import "./device.cadl"; +import "./deviceGroup.cadl"; +import "./product.cadl"; +import "@cadl-lang/rest"; +import "@cadl-lang/versioning"; +import "@azure-tools/cadl-autorest"; +import "@azure-tools/cadl-azure-core"; +import "@azure-tools/cadl-azure-resource-manager"; + +using Cadl.Http; +using Cadl.Rest; +using Cadl.Versioning; +using Azure.ResourceManager.Foundations; +using Azure.Core; +using Azure.ResourceManager; + +@versionedDependency(Azure.Core.Versions.v1_0_Preview_1) + +@armProviderNamespace +@service({ + title: "AzureSphereProviderClient", + version: "2022-09-01-preview", +}) +@doc("Azure Sphere resource management API.") +@versionedDependency(Azure.ResourceManager.Versions.v1_0_Preview_1) +namespace Microsoft.AzureSphere; \ No newline at end of file diff --git a/specification/sphere/Sphere.Management/package.json b/specification/sphere/Sphere.Management/package.json new file mode 100644 index 000000000000..79da4d20c0ea --- /dev/null +++ b/specification/sphere/Sphere.Management/package.json @@ -0,0 +1,37 @@ +{ + "name": "azure-rest-api-specs-tests", + "private": true, + "author": { + "name": "Microsoft Corporation", + "email": "azsdkteam@microsoft.com", + "url": "https://github.com/azure/azure-rest-api-specs" + }, + "version": "0.1.0", + "description": "Tests for Azure REST API Specifications", + "license": "MIT", + "homepage": "https://github.com/azure/azure-rest-api-specs", + "repository": { + "type": "git", + "url": "git@github.com:azure/azure-rest-api-specs.git" + }, + "bugs": { + "url": "http://github.com/azure/azure-rest-api-specs/issues" + }, + "scripts": { + "postinstall": "tsc", + "test": "tsc && mocha -t 500000 --reporter min", + "prettier-check": "ts-node ./scripts/prettier-check.ts", + "prettier-fix": "prettier --write specification/**/*.json", + "prettier": "prettier", + "tsc": "tsc", + "multiapi": "ts-node ./scripts/multiapi.ts" + }, + "dependencies": { + "@azure-tools/cadl-autorest": "^0.25.0", + "@azure-tools/cadl-azure-core": "^0.25.0", + "@azure-tools/cadl-azure-resource-manager": "^0.25.0", + "@azure-tools/cadl-providerhub": "^0.25.0", + "@cadl-lang/openapi3": "^0.39.0", + "@cadl-lang/rest": "^0.39.0" + } +} diff --git a/specification/sphere/Sphere.Management/product.cadl b/specification/sphere/Sphere.Management/product.cadl new file mode 100644 index 000000000000..f24b613e6c56 --- /dev/null +++ b/specification/sphere/Sphere.Management/product.cadl @@ -0,0 +1,70 @@ +import "@cadl-lang/rest"; +import "@cadl-lang/versioning"; +import "@azure-tools/cadl-autorest"; +import "@azure-tools/cadl-azure-core"; +import "@azure-tools/cadl-azure-resource-manager"; + +using Cadl.Http; +using Cadl.Rest; +using Cadl.Versioning; +using Azure.ResourceManager.Foundations; +using Azure.Core; +using Azure.ResourceManager; + +namespace Microsoft.AzureSphere; + +//Products +@doc("An product resource belonging to a catalog resource.") +@parentResource(Catalog) +model Product is ProxyResource { + @doc("Name of product.") + @pattern("^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$") + @key("productName") + @path + @segment("products") + name: string; +} + +interface ProxyResourceOperationsProducts< + TResource extends ArmResource, + TListParameters extends object = {}> + extends ResourceListByParent>{ + @doc("Get a Product. '.default' and '.unassigned' are system defined values and cannot be used for product name.") + get is ArmResourceRead; + @doc("Create a Product. '.default' and '.unassigned' are system defined values and cannot be used for product name.") + createOrUpdate is ArmResourceCreateOrUpdateAsync; + @doc("Delete a Product. '.default' and '.unassigned' are system defined values and cannot be used for product name'") + delete is ArmResourceDeleteAsync; + @doc("Update a Product. '.default' and '.unassigned' are system defined values and cannot be used for product name.") + update is ArmResourcePatchAsync; + } + +@armResourceOperations +interface Products extends ProxyResourceOperationsProducts { + + @autoRoute + @doc("Generates default device groups for the product. '.default' and '.unassigned' are system defined values and cannot be used for product name.") + @armResourceAction(Product) + @post + op generateDefaultDeviceGroups( + ...ResourceInstanceParameters, + ): ArmResponse> | ErrorResponse; + + @autoRoute + @doc("Counts devices in product. '.default' and '.unassigned' are system defined values and cannot be used for product name.") + @armResourceAction(Product) + @post + op countDevices( + ...ResourceInstanceParameters, + ): ArmResponse | ErrorResponse; +} + +@doc("The properties of product") +model ProductProperties { + @doc("Description of the product") + description: string; + + @visibility("read") + @doc("The status of the last operation.") + provisioningState?: ProvisioningState; +} \ No newline at end of file diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/azuresphere.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/azuresphere.json new file mode 100644 index 000000000000..eacd313b26ef --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/azuresphere.json @@ -0,0 +1,4054 @@ +{ + "swagger": "2.0", + "info": { + "title": "AzureSphereProviderClient", + "version": "2022-09-01-preview", + "description": "Azure Sphere resource management API.", + "x-cadl-generated": [ + { + "emitter": "@azure-tools/cadl-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": "Catalogs" + }, + { + "name": "Images" + }, + { + "name": "DeviceGroups" + }, + { + "name": "Certificates" + }, + { + "name": "Deployments" + }, + { + "name": "Devices" + }, + { + "name": "Products" + } + ], + "paths": { + "/providers/Microsoft.AzureSphere/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "List the operations for the provider", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/GetOperations.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureSphere/catalogs": { + "get": { + "tags": [ + "Catalogs" + ], + "operationId": "Catalogs_ListBySubscription", + "description": "List Catalog resources by subscription ID", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/CatalogListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Catalogs_ListBySubscription": { + "$ref": "./examples/GetCatalogsSub.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs": { + "get": { + "tags": [ + "Catalogs" + ], + "operationId": "Catalogs_ListByResourceGroup", + "description": "List Catalog resources by resource group", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/CatalogListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Catalogs_ListByResourceGroup": { + "$ref": "./examples/GetCatalogsRG.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}": { + "get": { + "tags": [ + "Catalogs" + ], + "operationId": "Catalogs_Get", + "description": "Get a Catalog", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/Catalog" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Catalogs_Get": { + "$ref": "./examples/GetCatalog.json" + } + } + }, + "put": { + "tags": [ + "Catalogs" + ], + "operationId": "Catalogs_CreateOrUpdate", + "description": "Create a Catalog", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "name": "resource", + "in": "body", + "required": true, + "description": "Resource create parameters.", + "schema": { + "$ref": "#/definitions/Catalog" + } + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/Catalog" + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "headers": { + "Retry-After": { + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", + "type": "integer", + "format": "int32" + } + }, + "schema": { + "$ref": "#/definitions/Catalog" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Catalogs_CreateOrUpdate": { + "$ref": "./examples/PutCatalog.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Catalogs" + ], + "operationId": "Catalogs_Update", + "description": "Update a Catalog", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "name": "properties", + "in": "body", + "required": true, + "description": "The resource properties to be updated.", + "schema": { + "$ref": "#/definitions/CatalogUpdate" + } + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/Catalog" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Catalogs_Update": { + "$ref": "./examples/PatchCatalog.json" + } + } + }, + "delete": { + "tags": [ + "Catalogs" + ], + "operationId": "Catalogs_Delete", + "description": "Delete a Catalog", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Retry-After": { + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", + "type": "integer", + "format": "int32" + } + } + }, + "204": { + "description": "Resource deleted successfully." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Catalogs_Delete": { + "$ref": "./examples/DeleteCatalog.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/certificates": { + "get": { + "tags": [ + "Certificates" + ], + "operationId": "Certificates_ListByCatalog", + "description": "List Certificate resources by Catalog", + "parameters": [ + { + "$ref": "#/parameters/CustomFilterQueryParameter" + }, + { + "$ref": "#/parameters/CustomTopQueryParameter" + }, + { + "$ref": "#/parameters/CustomSkipQueryParameter" + }, + { + "$ref": "#/parameters/CustomMaxPageSizeQueryParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/CertificateListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Certificates_ListByCatalog": { + "$ref": "./examples/GetCertificates.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/certificates/{serialNumber}": { + "get": { + "tags": [ + "Certificates" + ], + "operationId": "Certificates_Get", + "description": "Get a Certificate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "name": "serialNumber", + "in": "path", + "required": true, + "description": "Serial number of the certificate. Use '.default' to get current active certificate.", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/Certificate" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Certificates_Get": { + "$ref": "./examples/GetCertificate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/certificates/{serialNumber}/retrieveCertChain": { + "post": { + "tags": [ + "Certificates" + ], + "operationId": "Certificates_RetrieveCertChain", + "description": "Retrieves cert chain.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "name": "serialNumber", + "in": "path", + "required": true, + "description": "Serial number of the certificate. Use '.default' to get current active certificate.", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/CertificateChainResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Certificates_RetrieveCertChain": { + "$ref": "./examples/PostRetrieveCatalogCertChain.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/certificates/{serialNumber}/retrieveProofOfPossessionNonce": { + "post": { + "tags": [ + "Certificates" + ], + "operationId": "Certificates_RetrieveProofOfPossessionNonce", + "description": "Gets the proof of possession nonce.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "name": "serialNumber", + "in": "path", + "required": true, + "description": "Serial number of the certificate. Use '.default' to get current active certificate.", + "type": "string" + }, + { + "name": "proofOfPossessionNonceRequest", + "in": "body", + "required": true, + "description": "Proof of possession nonce request body ", + "schema": { + "$ref": "#/definitions/ProofOfPossessionNonceRequest" + } + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/ProofOfPossessionNonceResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Certificates_RetrieveProofOfPossessionNonce": { + "$ref": "./examples/PostRetrieveProofOfPossessionNonce.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/countDevices": { + "post": { + "tags": [ + "Catalogs" + ], + "operationId": "Catalogs_CountDevices", + "description": "Counts devices in catalog.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/CountDeviceResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Catalogs_CountDevices": { + "$ref": "./examples/PostCountDevicesCatalog.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/images": { + "get": { + "tags": [ + "Images" + ], + "operationId": "Images_ListByCatalog", + "description": "List Image resources by Catalog", + "parameters": [ + { + "$ref": "#/parameters/CustomFilterQueryParameter" + }, + { + "$ref": "#/parameters/CustomTopQueryParameter" + }, + { + "$ref": "#/parameters/CustomSkipQueryParameter" + }, + { + "$ref": "#/parameters/CustomMaxPageSizeQueryParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/ImageListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Images_ListByCatalog": { + "$ref": "./examples/GetImages.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/images/{imageName}": { + "get": { + "tags": [ + "Images" + ], + "operationId": "Images_Get", + "description": "Get a Image", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "name": "imageName", + "in": "path", + "required": true, + "description": "Image name. Use .default for image creation.", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/Image" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Images_Get": { + "$ref": "./examples/GetImage.json" + } + } + }, + "put": { + "tags": [ + "Images" + ], + "operationId": "Images_CreateOrUpdate", + "description": "Create a Image", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "name": "imageName", + "in": "path", + "required": true, + "description": "Image name. Use .default for image creation.", + "type": "string" + }, + { + "name": "resource", + "in": "body", + "required": true, + "description": "Resource create parameters.", + "schema": { + "$ref": "#/definitions/Image" + } + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/Image" + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "headers": { + "Retry-After": { + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", + "type": "integer", + "format": "int32" + } + }, + "schema": { + "$ref": "#/definitions/Image" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Image_CreateOrUpdate": { + "$ref": "./examples/PutImage.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Images" + ], + "operationId": "Images_Delete", + "description": "Delete a Image", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "name": "imageName", + "in": "path", + "required": true, + "description": "Image name. Use .default for image creation.", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Retry-After": { + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", + "type": "integer", + "format": "int32" + } + } + }, + "204": { + "description": "Resource deleted successfully." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Images_Delete": { + "$ref": "./examples/DeleteImage.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/listDeployments": { + "post": { + "tags": [ + "Catalogs" + ], + "operationId": "Catalogs_ListDeployments", + "description": "Lists deployments for catalog.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "$ref": "#/parameters/CustomFilterQueryParameter" + }, + { + "$ref": "#/parameters/CustomTopQueryParameter" + }, + { + "$ref": "#/parameters/CustomSkipQueryParameter" + }, + { + "$ref": "#/parameters/CustomMaxPageSizeQueryParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/DeploymentListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Catalogs_ListDeployments": { + "$ref": "./examples/PostListDeploymentsByCatalog.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/listDeviceGroups": { + "post": { + "tags": [ + "Catalogs" + ], + "operationId": "Catalogs_ListDeviceGroups", + "description": "List the device groups for the catalog.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "$ref": "#/parameters/CustomFilterQueryParameter" + }, + { + "$ref": "#/parameters/CustomTopQueryParameter" + }, + { + "$ref": "#/parameters/CustomSkipQueryParameter" + }, + { + "$ref": "#/parameters/CustomMaxPageSizeQueryParameter" + }, + { + "name": "listDeviceGroupsRequest", + "in": "body", + "required": true, + "description": "List device groups for catalog.", + "schema": { + "$ref": "#/definitions/ListDeviceGroupsRequest" + } + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/DeviceGroupListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Catalogs_ListDeviceGroups": { + "$ref": "./examples/PostListDeviceGroupsCatalog.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/listDeviceInsights": { + "post": { + "tags": [ + "Catalogs" + ], + "operationId": "Catalogs_ListDeviceInsights", + "description": "Lists device insights for catalog.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "$ref": "#/parameters/CustomFilterQueryParameter" + }, + { + "$ref": "#/parameters/CustomTopQueryParameter" + }, + { + "$ref": "#/parameters/CustomSkipQueryParameter" + }, + { + "$ref": "#/parameters/CustomMaxPageSizeQueryParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/PagedDeviceInsight" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Catalogs_ListDeviceInsights": { + "$ref": "./examples/PostListDeviceInsightsCatalog.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/listDevices": { + "post": { + "tags": [ + "Catalogs" + ], + "operationId": "Catalogs_ListDevices", + "description": "Lists devices for catalog.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "$ref": "#/parameters/CustomFilterQueryParameter" + }, + { + "$ref": "#/parameters/CustomTopQueryParameter" + }, + { + "$ref": "#/parameters/CustomSkipQueryParameter" + }, + { + "$ref": "#/parameters/CustomMaxPageSizeQueryParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/DeviceListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Catalogs_ListDevices": { + "$ref": "./examples/PostListDevicesByCatalog.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products": { + "get": { + "tags": [ + "Products" + ], + "operationId": "Products_ListByCatalog", + "description": "List Product resources by Catalog", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/ProductListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Products_ListByCatalog": { + "$ref": "./examples/GetProducts.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}": { + "get": { + "tags": [ + "Products" + ], + "operationId": "Products_Get", + "description": "Get a Product. '.default' and '.unassigned' are system defined values and cannot be used for product name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "name": "productName", + "in": "path", + "required": true, + "description": "Name of product.", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/Product" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Products_Get": { + "$ref": "./examples/GetProduct.json" + } + } + }, + "put": { + "tags": [ + "Products" + ], + "operationId": "Products_CreateOrUpdate", + "description": "Create a Product. '.default' and '.unassigned' are system defined values and cannot be used for product name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "name": "productName", + "in": "path", + "required": true, + "description": "Name of product.", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$", + "type": "string" + }, + { + "name": "resource", + "in": "body", + "required": true, + "description": "Resource create parameters.", + "schema": { + "$ref": "#/definitions/Product" + } + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/Product" + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "headers": { + "Retry-After": { + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", + "type": "integer", + "format": "int32" + } + }, + "schema": { + "$ref": "#/definitions/Product" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Products_CreateOrUpdate": { + "$ref": "./examples/PutProduct.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Products" + ], + "operationId": "Products_Delete", + "description": "Delete a Product. '.default' and '.unassigned' are system defined values and cannot be used for product name'", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "name": "productName", + "in": "path", + "required": true, + "description": "Name of product.", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Retry-After": { + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", + "type": "integer", + "format": "int32" + } + } + }, + "204": { + "description": "Resource deleted successfully." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Products_Delete": { + "$ref": "./examples/DeleteProduct.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Products" + ], + "operationId": "Products_Update", + "description": "Update a Product. '.default' and '.unassigned' are system defined values and cannot be used for product name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "name": "productName", + "in": "path", + "required": true, + "description": "Name of product.", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$", + "type": "string" + }, + { + "name": "properties", + "in": "body", + "required": true, + "description": "The resource properties to be updated.", + "schema": { + "$ref": "#/definitions/ProductUpdate" + } + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/Product" + } + }, + "202": { + "description": "Resource update request accepted.", + "headers": { + "Retry-After": { + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Products_Update": { + "$ref": "./examples/PatchProduct.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}/countDevices": { + "post": { + "tags": [ + "Products" + ], + "operationId": "Products_CountDevices", + "description": "Counts devices in product. '.default' and '.unassigned' are system defined values and cannot be used for product name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "name": "productName", + "in": "path", + "required": true, + "description": "Name of product.", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/CountDeviceResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Products_CountDevices": { + "$ref": "./examples/PostCountDevicesProduct.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}/deviceGroups": { + "get": { + "tags": [ + "DeviceGroups" + ], + "operationId": "DeviceGroups_ListByProduct", + "description": "List DeviceGroup resources by Product. '.default' and '.unassigned' are system defined values and cannot be used for product name.", + "parameters": [ + { + "$ref": "#/parameters/CustomFilterQueryParameter" + }, + { + "$ref": "#/parameters/CustomTopQueryParameter" + }, + { + "$ref": "#/parameters/CustomSkipQueryParameter" + }, + { + "$ref": "#/parameters/CustomMaxPageSizeQueryParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "name": "productName", + "in": "path", + "required": true, + "description": "Name of product.", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/DeviceGroupListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "DeviceGroups_ListByProduct": { + "$ref": "./examples/GetDeviceGroups.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}/deviceGroups/{deviceGroupName}": { + "get": { + "tags": [ + "DeviceGroups" + ], + "operationId": "DeviceGroups_Get", + "description": "Get a DeviceGroup. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "name": "productName", + "in": "path", + "required": true, + "description": "Name of product.", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$", + "type": "string" + }, + { + "name": "deviceGroupName", + "in": "path", + "required": true, + "description": "Name of device group.", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/DeviceGroup" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DeviceGroups_Get": { + "$ref": "./examples/GetDeviceGroup.json" + } + } + }, + "put": { + "tags": [ + "DeviceGroups" + ], + "operationId": "DeviceGroups_CreateOrUpdate", + "description": "Create a DeviceGroup. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "name": "productName", + "in": "path", + "required": true, + "description": "Name of product.", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$", + "type": "string" + }, + { + "name": "deviceGroupName", + "in": "path", + "required": true, + "description": "Name of device group.", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$", + "type": "string" + }, + { + "name": "resource", + "in": "body", + "required": true, + "description": "Resource create parameters.", + "schema": { + "$ref": "#/definitions/DeviceGroup" + } + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/DeviceGroup" + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "headers": { + "Retry-After": { + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", + "type": "integer", + "format": "int32" + } + }, + "schema": { + "$ref": "#/definitions/DeviceGroup" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DeviceGroups_CreateOrUpdate": { + "$ref": "./examples/PutDeviceGroup.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "DeviceGroups" + ], + "operationId": "DeviceGroups_Delete", + "description": "Delete a DeviceGroup. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "name": "productName", + "in": "path", + "required": true, + "description": "Name of product.", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$", + "type": "string" + }, + { + "name": "deviceGroupName", + "in": "path", + "required": true, + "description": "Name of device group.", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Retry-After": { + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", + "type": "integer", + "format": "int32" + } + } + }, + "204": { + "description": "Resource deleted successfully." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DeviceGroups_Delete": { + "$ref": "./examples/DeleteDeviceGroup.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "DeviceGroups" + ], + "operationId": "DeviceGroups_Update", + "description": "Update a DeviceGroup. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "name": "productName", + "in": "path", + "required": true, + "description": "Name of product.", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$", + "type": "string" + }, + { + "name": "deviceGroupName", + "in": "path", + "required": true, + "description": "Name of device group.", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$", + "type": "string" + }, + { + "name": "properties", + "in": "body", + "required": true, + "description": "The resource properties to be updated.", + "schema": { + "$ref": "#/definitions/DeviceGroupUpdate" + } + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/DeviceGroup" + } + }, + "202": { + "description": "Resource update request accepted.", + "headers": { + "Retry-After": { + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DeviceGroups_Update": { + "$ref": "./examples/PatchDeviceGroup.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}/deviceGroups/{deviceGroupName}/claimDevices": { + "post": { + "tags": [ + "DeviceGroups" + ], + "operationId": "DeviceGroups_ClaimDevices", + "description": "Bulk claims the devices. Use '.unassigned' or '.default' for the device group and product names when bulk claiming devices to a catalog only.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "name": "productName", + "in": "path", + "required": true, + "description": "Name of product.", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$", + "type": "string" + }, + { + "name": "deviceGroupName", + "in": "path", + "required": true, + "description": "Name of device group.", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$", + "type": "string" + }, + { + "name": "claimDevicesRequest", + "in": "body", + "required": true, + "description": "Bulk claim devices request body.", + "schema": { + "$ref": "#/definitions/ClaimDevicesRequest" + } + } + ], + "responses": { + "202": { + "description": "Resource operation accepted.", + "headers": { + "Retry-After": { + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DeviceGroups_ClaimDevices": { + "$ref": "./examples/PostClaimDevices.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}/deviceGroups/{deviceGroupName}/countDevices": { + "post": { + "tags": [ + "DeviceGroups" + ], + "operationId": "DeviceGroups_CountDevices", + "description": "Counts devices in device group. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "name": "productName", + "in": "path", + "required": true, + "description": "Name of product.", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$", + "type": "string" + }, + { + "name": "deviceGroupName", + "in": "path", + "required": true, + "description": "Name of device group.", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/CountDeviceResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DeviceGroups_CountDevices": { + "$ref": "./examples/PostCountDevicesDeviceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}/deviceGroups/{deviceGroupName}/deployments": { + "get": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_ListByDeviceGroup", + "description": "List Deployment resources by DeviceGroup. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.", + "parameters": [ + { + "$ref": "#/parameters/CustomFilterQueryParameter" + }, + { + "$ref": "#/parameters/CustomTopQueryParameter" + }, + { + "$ref": "#/parameters/CustomSkipQueryParameter" + }, + { + "$ref": "#/parameters/CustomMaxPageSizeQueryParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "name": "productName", + "in": "path", + "required": true, + "description": "Name of product.", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$", + "type": "string" + }, + { + "name": "deviceGroupName", + "in": "path", + "required": true, + "description": "Name of device group.", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/DeploymentListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Deployments_ListByDeviceGroup": { + "$ref": "./examples/GetDeployments.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}/deviceGroups/{deviceGroupName}/deployments/{deploymentName}": { + "get": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_Get", + "description": "Get a Deployment. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "name": "productName", + "in": "path", + "required": true, + "description": "Name of product.", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$", + "type": "string" + }, + { + "name": "deviceGroupName", + "in": "path", + "required": true, + "description": "Name of device group.", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$", + "type": "string" + }, + { + "name": "deploymentName", + "in": "path", + "required": true, + "description": "Deployment name. Use .default for deployment creation and to get the current deployment for the associated device group.", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/Deployment" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Deployments_Get": { + "$ref": "./examples/GetDeployment.json" + } + } + }, + "put": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_CreateOrUpdate", + "description": "Create a Deployment. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "name": "productName", + "in": "path", + "required": true, + "description": "Name of product.", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$", + "type": "string" + }, + { + "name": "deviceGroupName", + "in": "path", + "required": true, + "description": "Name of device group.", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$", + "type": "string" + }, + { + "name": "deploymentName", + "in": "path", + "required": true, + "description": "Deployment name. Use .default for deployment creation and to get the current deployment for the associated device group.", + "type": "string" + }, + { + "name": "resource", + "in": "body", + "required": true, + "description": "Resource create parameters.", + "schema": { + "$ref": "#/definitions/Deployment" + } + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/Deployment" + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "headers": { + "Retry-After": { + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", + "type": "integer", + "format": "int32" + } + }, + "schema": { + "$ref": "#/definitions/Deployment" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Deployments_CreateOrUpdate": { + "$ref": "./examples/PutDeployment.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_Delete", + "description": "Delete a Deployment. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "name": "productName", + "in": "path", + "required": true, + "description": "Name of product.", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$", + "type": "string" + }, + { + "name": "deviceGroupName", + "in": "path", + "required": true, + "description": "Name of device group.", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$", + "type": "string" + }, + { + "name": "deploymentName", + "in": "path", + "required": true, + "description": "Deployment name. Use .default for deployment creation and to get the current deployment for the associated device group.", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Retry-After": { + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", + "type": "integer", + "format": "int32" + } + } + }, + "204": { + "description": "Resource deleted successfully." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Deployments_Delete": { + "$ref": "./examples/DeleteDeployment.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}/deviceGroups/{deviceGroupName}/devices": { + "get": { + "tags": [ + "Devices" + ], + "operationId": "Devices_ListByDeviceGroup", + "description": "List Device resources by DeviceGroup. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "name": "productName", + "in": "path", + "required": true, + "description": "Name of product.", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$", + "type": "string" + }, + { + "name": "deviceGroupName", + "in": "path", + "required": true, + "description": "Name of device group.", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/DeviceListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Devices_ListByDeviceGroup": { + "$ref": "./examples/GetDevices.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}/deviceGroups/{deviceGroupName}/devices/{deviceName}": { + "get": { + "tags": [ + "Devices" + ], + "operationId": "Devices_Get", + "description": "Get a Device. Use '.unassigned' or '.default' for the device group and product names when a device does not belong to a device group and product.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "name": "productName", + "in": "path", + "required": true, + "description": "Name of product.", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$", + "type": "string" + }, + { + "name": "deviceGroupName", + "in": "path", + "required": true, + "description": "Name of device group.", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$", + "type": "string" + }, + { + "name": "deviceName", + "in": "path", + "required": true, + "description": "Device name", + "pattern": "^[a-zA-Z0-9-]{128}$", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/Device" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Devices_Get": { + "$ref": "./examples/GetDevice.json" + } + } + }, + "put": { + "tags": [ + "Devices" + ], + "operationId": "Devices_CreateOrUpdate", + "description": "Create a Device. Use '.unassigned' or '.default' for the device group and product names to claim a device to the catalog only.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "name": "productName", + "in": "path", + "required": true, + "description": "Name of product.", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$", + "type": "string" + }, + { + "name": "deviceGroupName", + "in": "path", + "required": true, + "description": "Name of device group.", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$", + "type": "string" + }, + { + "name": "deviceName", + "in": "path", + "required": true, + "description": "Device name", + "pattern": "^[a-zA-Z0-9-]{128}$", + "type": "string" + }, + { + "name": "resource", + "in": "body", + "required": true, + "description": "Resource create parameters.", + "schema": { + "$ref": "#/definitions/Device" + } + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/Device" + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "headers": { + "Retry-After": { + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", + "type": "integer", + "format": "int32" + } + }, + "schema": { + "$ref": "#/definitions/Device" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Devices_CreateOrUpdate": { + "$ref": "./examples/PutDevice.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Devices" + ], + "operationId": "Devices_Delete", + "description": "Delete a Device", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "name": "productName", + "in": "path", + "required": true, + "description": "Name of product.", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$", + "type": "string" + }, + { + "name": "deviceGroupName", + "in": "path", + "required": true, + "description": "Name of device group.", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$", + "type": "string" + }, + { + "name": "deviceName", + "in": "path", + "required": true, + "description": "Device name", + "pattern": "^[a-zA-Z0-9-]{128}$", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Retry-After": { + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", + "type": "integer", + "format": "int32" + } + } + }, + "204": { + "description": "Resource deleted successfully." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Devices_Delete": { + "$ref": "./examples/DeleteDevice.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Devices" + ], + "operationId": "Devices_Update", + "description": "Update a Device. Use '.unassigned' or '.default' for the device group and product names to move a device to the catalog level.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "name": "productName", + "in": "path", + "required": true, + "description": "Name of product.", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$", + "type": "string" + }, + { + "name": "deviceGroupName", + "in": "path", + "required": true, + "description": "Name of device group.", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$", + "type": "string" + }, + { + "name": "deviceName", + "in": "path", + "required": true, + "description": "Device name", + "pattern": "^[a-zA-Z0-9-]{128}$", + "type": "string" + }, + { + "name": "properties", + "in": "body", + "required": true, + "description": "The resource properties to be updated.", + "schema": { + "$ref": "#/definitions/DeviceUpdate" + } + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/Device" + } + }, + "202": { + "description": "Resource update request accepted.", + "headers": { + "Retry-After": { + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Devices_Update": { + "$ref": "./examples/PatchDevice.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}/deviceGroups/{deviceGroupName}/devices/{deviceName}/generateCapabilityImage": { + "post": { + "tags": [ + "Devices" + ], + "operationId": "Devices_GenerateCapabilityImage", + "description": "Generates the capability image for the device. Use '.unassigned' or '.default' for the device group and product names to generate the image for a device that does not belong to a specific device group and product.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "name": "productName", + "in": "path", + "required": true, + "description": "Name of product.", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$", + "type": "string" + }, + { + "name": "deviceGroupName", + "in": "path", + "required": true, + "description": "Name of device group.", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$", + "type": "string" + }, + { + "name": "deviceName", + "in": "path", + "required": true, + "description": "Device name", + "pattern": "^[a-zA-Z0-9-]{128}$", + "type": "string" + }, + { + "name": "generateDeviceCapabilityRequest", + "in": "body", + "required": true, + "description": "Generate capability image request body.", + "schema": { + "$ref": "#/definitions/GenerateCapabilityImageRequest" + } + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/SignedCapabilityImageResponse" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Retry-After": { + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Devices_GenerateCapabilityImage": { + "$ref": "./examples/PostGenerateDeviceCapabilityImage.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}/generateDefaultDeviceGroups": { + "post": { + "tags": [ + "Products" + ], + "operationId": "Products_GenerateDefaultDeviceGroups", + "description": "Generates default device groups for the product. '.default' and '.unassigned' are system defined values and cannot be used for product name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "required": true, + "description": "Name of catalog", + "pattern": "^[A-Za-z0-9_-]{1,50}$", + "type": "string" + }, + { + "name": "productName", + "in": "path", + "required": true, + "description": "Name of product.", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/DeviceGroupListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Products_GenerateDefaultDeviceGroups": { + "$ref": "./examples/PostGenerateDefaultDeviceGroups.json" + } + } + } + } + }, + "definitions": { + "AllowCrashDumpCollection": { + "type": "string", + "description": "Allow crash dumps values.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "AllowCrashDumpCollection", + "modelAsString": true + } + }, + "CapabilityType": { + "type": "string", + "description": "Capability image type", + "enum": [ + "ApplicationDevelopment", + "FieldServicing" + ], + "x-ms-enum": { + "name": "CapabilityType", + "modelAsString": true + } + }, + "Catalog": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CatalogProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true, + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "description": "An Azure Sphere catalog", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ] + }, + "CatalogListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Catalog" + }, + "x-cadl-name": "Catalog[]", + "description": "The Catalog items on this page" + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items", + "x-cadl-name": "Rest.ResourceLocation" + } + }, + "description": "The response of a Catalog list operation.", + "required": [ + "value" + ] + }, + "CatalogProperties": { + "type": "object", + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The status of the last operation.", + "readOnly": true + } + }, + "description": "Catalog properties" + }, + "CatalogUpdate": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-cadl-name": "Record", + "description": "Resource tags." + } + }, + "description": "The type used for update operations of the Catalog." + }, + "Certificate": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CertificateProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true, + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "description": "An certificate resource belonging to a catalog resource.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ] + }, + "CertificateChainResponse": { + "type": "object", + "properties": { + "certificateChain": { + "type": "string", + "description": "The certificate chain.", + "readOnly": true + } + }, + "description": "The certificate chain response." + }, + "CertificateListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + }, + "x-cadl-name": "Certificate[]", + "description": "The Certificate items on this page" + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items", + "x-cadl-name": "Rest.ResourceLocation" + } + }, + "description": "The response of a Certificate list operation.", + "required": [ + "value" + ] + }, + "CertificateProperties": { + "type": "object", + "properties": { + "certificate": { + "type": "string", + "description": "The certificate as a UTF-8 encoded base 64 string.", + "readOnly": true + }, + "status": { + "$ref": "#/definitions/CertificateStatus", + "description": "The certificate status.", + "readOnly": true + }, + "subject": { + "type": "string", + "description": "The certificate subject.", + "readOnly": true + }, + "thumbprint": { + "type": "string", + "description": "The certificate thumbprint.", + "readOnly": true + }, + "expiryUtc": { + "type": "string", + "format": "date-time", + "description": "The certificate expiry date.", + "readOnly": true + }, + "notBeforeUtc": { + "type": "string", + "format": "date-time", + "description": "The certificate not before date.", + "readOnly": true + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The status of the last operation.", + "readOnly": true + } + }, + "description": "The properties of certificate" + }, + "CertificateStatus": { + "type": "string", + "description": "Certificate status values.", + "enum": [ + "Active", + "Inactive", + "Expired", + "Revoked" + ], + "x-ms-enum": { + "name": "CertificateStatus", + "modelAsString": true + } + }, + "ClaimDevicesRequest": { + "type": "object", + "properties": { + "deviceIdentifiers": { + "type": "array", + "items": { + "type": "string" + }, + "x-cadl-name": "string[]", + "description": "Device identifiers of the devices to be claimed." + } + }, + "description": "Request to the action call to bulk claim devices.", + "required": [ + "deviceIdentifiers" + ] + }, + "CountDeviceResponse": { + "type": "object", + "properties": {}, + "description": "Response to the action call for count devices in a catalog.", + "allOf": [ + { + "$ref": "#/definitions/CountElementsResponse" + } + ] + }, + "CountElementsResponse": { + "type": "object", + "properties": { + "value": { + "type": "integer", + "format": "int32", + "description": "Number of children resources in parent resource." + } + }, + "description": "Response of the count for elements.", + "required": [ + "value" + ] + }, + "CustomFilterQueryParameter": { + "type": "object", + "properties": {}, + "description": "Provides the custom '$filter' query parameter for list operations" + }, + "CustomMaxPageSizeQueryParameter": { + "type": "object", + "properties": {}, + "description": "Provides the custom '$maxpagesize' query parameter for list operations." + }, + "CustomSkipQueryParameter": { + "type": "object", + "properties": {}, + "description": "Provides the custom '$skip' query parameter for list operations." + }, + "CustomTopQueryParameter": { + "type": "object", + "properties": {}, + "description": "Provides the custom '$top' query parameter for list operations." + }, + "Deployment": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/DeploymentProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true, + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "description": "An deployment resource belonging to a device group resource.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ] + }, + "DeploymentListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Deployment" + }, + "x-cadl-name": "Deployment[]", + "description": "The Deployment items on this page" + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items", + "x-cadl-name": "Rest.ResourceLocation" + } + }, + "description": "The response of a Deployment list operation.", + "required": [ + "value" + ] + }, + "DeploymentProperties": { + "type": "object", + "properties": { + "deploymentId": { + "type": "string", + "description": "Deployment ID", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "deployedImages": { + "type": "array", + "items": { + "$ref": "#/definitions/Image" + }, + "x-cadl-name": "Image[]", + "description": "Images deployed", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "deploymentDateUtc": { + "type": "string", + "format": "date-time", + "description": "Deployment date UTC", + "readOnly": true + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The status of the last operation.", + "readOnly": true + } + }, + "description": "The properties of deployment" + }, + "Device": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/DeviceProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true, + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "description": "An device resource belonging to a device group resource.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ] + }, + "DeviceGroup": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/DeviceGroupProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true, + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "description": "An device group resource belonging to a product resource.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ] + }, + "DeviceGroupListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DeviceGroup" + }, + "x-cadl-name": "DeviceGroup[]", + "description": "The DeviceGroup items on this page" + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items", + "x-cadl-name": "Rest.ResourceLocation" + } + }, + "description": "The response of a DeviceGroup list operation.", + "required": [ + "value" + ] + }, + "DeviceGroupProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of the device group." + }, + "osFeedType": { + "$ref": "#/definitions/OSFeedType", + "description": "Operating system feed type of the device group." + }, + "updatePolicy": { + "$ref": "#/definitions/UpdatePolicy", + "description": "Update policy of the device group." + }, + "allowCrashDumpsCollection": { + "$ref": "#/definitions/AllowCrashDumpCollection", + "description": "Flag to define if the user allows for crash dump collection." + }, + "regionalDataBoundary": { + "$ref": "#/definitions/RegionalDataBoundary", + "description": "Regional data boundary for the device group." + }, + "hasDeployment": { + "type": "boolean", + "description": "Deployment status for the device group.", + "readOnly": true + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The status of the last operation.", + "readOnly": true + } + }, + "description": "The properties of deviceGroup" + }, + "DeviceGroupUpdate": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/DeviceGroupUpdateProperties", + "x-ms-client-flatten": true + } + }, + "description": "The type used for update operations of the DeviceGroup." + }, + "DeviceGroupUpdateProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of the device group." + }, + "osFeedType": { + "$ref": "#/definitions/OSFeedType", + "description": "Operating system feed type of the device group." + }, + "updatePolicy": { + "$ref": "#/definitions/UpdatePolicy", + "description": "Update policy of the device group." + }, + "allowCrashDumpsCollection": { + "$ref": "#/definitions/AllowCrashDumpCollection", + "description": "Flag to define if the user allows for crash dump collection." + }, + "regionalDataBoundary": { + "$ref": "#/definitions/RegionalDataBoundary", + "description": "Regional data boundary for the device group." + } + }, + "description": "The updatable properties of the DeviceGroup." + }, + "DeviceInsight": { + "type": "object", + "properties": { + "deviceId": { + "type": "string", + "description": "Device ID" + }, + "description": { + "type": "string", + "description": "Event description" + }, + "startTimestampUtc": { + "type": "string", + "format": "date-time", + "description": "Event start timestamp" + }, + "endTimestampUtc": { + "type": "string", + "format": "date-time", + "description": "Event end timestamp" + }, + "eventCategory": { + "type": "string", + "description": "Event category" + }, + "eventClass": { + "type": "string", + "description": "Event class" + }, + "eventType": { + "type": "string", + "description": "Event type" + }, + "eventCount": { + "type": "integer", + "format": "int32", + "description": "Event count" + } + }, + "description": "Device insight report.", + "required": [ + "deviceId", + "description", + "startTimestampUtc", + "endTimestampUtc", + "eventCategory", + "eventClass", + "eventType", + "eventCount" + ] + }, + "DeviceListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Device" + }, + "x-cadl-name": "Device[]", + "description": "The Device items on this page" + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items", + "x-cadl-name": "Rest.ResourceLocation" + } + }, + "description": "The response of a Device list operation.", + "required": [ + "value" + ] + }, + "DevicePatchProperties": { + "type": "object", + "properties": { + "deviceGroupId": { + "type": "string", + "description": "Device group id" + } + }, + "description": "The properties of device patch", + "required": [ + "deviceGroupId" + ] + }, + "DeviceProperties": { + "type": "object", + "properties": { + "deviceId": { + "type": "string", + "description": "Device ID", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "chipSku": { + "type": "string", + "description": "SKU of the chip", + "readOnly": true + }, + "lastAvailableOsVersion": { + "type": "string", + "description": "OS version available for installation when update requested", + "readOnly": true + }, + "lastInstalledOsVersion": { + "type": "string", + "description": "OS version running on device when update requested", + "readOnly": true + }, + "lastOsUpdateUtc": { + "type": "string", + "format": "date-time", + "description": "Time when update requested and new OS version available", + "readOnly": true + }, + "lastUpdateRequestUtc": { + "type": "string", + "format": "date-time", + "description": "Time when update was last requested", + "readOnly": true + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The status of the last operation.", + "readOnly": true + } + }, + "description": "The properties of device" + }, + "DeviceUpdate": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/DeviceUpdateProperties", + "x-ms-client-flatten": true + } + }, + "description": "The type used for update operations of the Device." + }, + "DeviceUpdateProperties": { + "type": "object", + "properties": { + "deviceGroupId": { + "type": "string", + "description": "Device group id" + } + }, + "description": "The updatable properties of the Device." + }, + "GenerateCapabilityImageRequest": { + "type": "object", + "properties": { + "capabilities": { + "type": "array", + "items": { + "$ref": "#/definitions/CapabilityType" + }, + "x-cadl-name": "CapabilityType[]", + "description": "List of capabilities to create" + } + }, + "description": "Request of the action to create a signed device capability image", + "required": [ + "capabilities" + ] + }, + "Image": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ImageProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true, + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "description": "An image resource belonging to a catalog resource.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ] + }, + "ImageListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Image" + }, + "x-cadl-name": "Image[]", + "description": "The Image items on this page" + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items", + "x-cadl-name": "Rest.ResourceLocation" + } + }, + "description": "The response of a Image list operation.", + "required": [ + "value" + ] + }, + "ImageProperties": { + "type": "object", + "properties": { + "image": { + "type": "string", + "description": "Image as a UTF-8 encoded base 64 string on image create. This field contains the image URI on image reads.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "imageId": { + "type": "string", + "description": "Image ID", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "imageName": { + "type": "string", + "description": "Image name", + "readOnly": true + }, + "regionalDataBoundary": { + "$ref": "#/definitions/RegionalDataBoundary", + "description": "Regional data boundary for an image", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "uri": { + "type": "string", + "description": "Location the image", + "readOnly": true + }, + "description": { + "type": "string", + "description": "The image description.", + "readOnly": true + }, + "componentId": { + "type": "string", + "description": "The image component id.", + "readOnly": true + }, + "imageType": { + "$ref": "#/definitions/ImageType", + "description": "The image type.", + "readOnly": true + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The status of the last operation.", + "readOnly": true + } + }, + "description": "The properties of image" + }, + "ImageType": { + "type": "string", + "description": "Image type values.", + "enum": [ + "InvalidImageType", + "OneBl", + "PlutonRuntime", + "WifiFirmware", + "SecurityMonitor", + "NormalWorldLoader", + "NormalWorldDtb", + "NormalWorldKernel", + "RootFs", + "Services", + "Applications", + "FwConfig", + "BootManifest", + "Nwfs", + "TrustedKeystore", + "Policy", + "CustomerBoardConfig", + "UpdateCertStore", + "BaseSystemUpdateManifest", + "FirmwareUpdateManifest", + "CustomerUpdateManifest", + "RecoveryManifest", + "ManifestSet", + "Other" + ], + "x-ms-enum": { + "name": "ImageType", + "modelAsString": true + } + }, + "ImageUploadRequestBody": { + "type": "object", + "properties": { + "images": { + "type": "string", + "description": "." + } + }, + "description": "Image upload request body.", + "required": [ + "images" + ] + }, + "ListDeviceGroupsRequest": { + "type": "object", + "properties": { + "deviceGroupName": { + "type": "string", + "description": "Device Group name." + } + }, + "description": "Request of the action to list device groups for a catalog." + }, + "ListQueryParameters": { + "type": "object", + "properties": {}, + "description": "Parameters for paginated APIs" + }, + "OSFeedType": { + "type": "string", + "description": "OS feed type values.", + "enum": [ + "Retail", + "RetailEval" + ], + "x-ms-enum": { + "name": "OSFeedType", + "modelAsString": true + } + }, + "PagedDeviceInsight": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DeviceInsight" + }, + "x-ms-identifiers": [], + "x-cadl-name": "DeviceInsight[]", + "description": "The DeviceInsight items on this page" + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items", + "x-cadl-name": "Rest.ResourceLocation" + } + }, + "description": "Paged collection of DeviceInsight items", + "required": [ + "value" + ] + }, + "Product": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ProductProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true, + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "description": "An product resource belonging to a catalog resource.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ] + }, + "ProductListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Product" + }, + "x-cadl-name": "Product[]", + "description": "The Product items on this page" + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items", + "x-cadl-name": "Rest.ResourceLocation" + } + }, + "description": "The response of a Product list operation.", + "required": [ + "value" + ] + }, + "ProductProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of the product" + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The status of the last operation.", + "readOnly": true + } + }, + "description": "The properties of product", + "required": [ + "description" + ] + }, + "ProductUpdate": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ProductUpdateProperties", + "x-ms-client-flatten": true + } + }, + "description": "The type used for update operations of the Product." + }, + "ProductUpdateProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of the product" + } + }, + "description": "The updatable properties of the Product." + }, + "ProofOfPossessionNonceRequest": { + "type": "object", + "properties": { + "proofOfPossessionNonce": { + "type": "string", + "description": "The proof of possession nonce" + } + }, + "description": "Request for the proof of possession nonce", + "required": [ + "proofOfPossessionNonce" + ] + }, + "ProofOfPossessionNonceResponse": { + "type": "object", + "properties": {}, + "description": "Result of the action to generate a proof of possession nonce", + "allOf": [ + { + "$ref": "#/definitions/CertificateProperties" + } + ] + }, + "ProvisioningState": { + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Provisioning", + "Updating", + "Deleting", + "Accepted" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "RegionalDataBoundary": { + "type": "string", + "description": "Regional data boundary values.", + "enum": [ + "None", + "EU" + ], + "x-ms-enum": { + "name": "RegionalDataBoundary", + "modelAsString": true + } + }, + "SignedCapabilityImageResponse": { + "type": "object", + "properties": { + "image": { + "type": "string", + "description": "The signed device capability image as a UTF-8 encoded base 64 string.", + "readOnly": true + } + }, + "description": "Signed device capability image response" + }, + "StandardListQueryParametersWithCorrectNames": { + "type": "object", + "properties": {}, + "description": "Provides the most common query parameters for list operations." + }, + "UpdatePolicy": { + "type": "string", + "description": "Update policy values.", + "enum": [ + "UpdateAll", + "No3rdPartyAppUpdates" + ], + "x-ms-enum": { + "name": "UpdatePolicy", + "modelAsString": true + } + } + }, + "parameters": { + "CustomFilterQueryParameter": { + "name": "$filter", + "in": "query", + "required": false, + "description": "Filter the result list using the given expression", + "x-ms-client-name": "filter", + "type": "string", + "x-ms-parameter-location": "method" + }, + "CustomMaxPageSizeQueryParameter": { + "name": "$maxpagesize", + "in": "query", + "required": false, + "description": "The maximum number of result items per page.", + "x-ms-client-name": "maxpagesize", + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + }, + "CustomSkipQueryParameter": { + "name": "$skip", + "in": "query", + "required": false, + "description": "The number of result items to skip.", + "x-ms-client-name": "skip", + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + }, + "CustomTopQueryParameter": { + "name": "$top", + "in": "query", + "required": false, + "description": "The number of result items to return.", + "x-ms-client-name": "top", + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/DeleteCatalog.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/DeleteCatalog.json new file mode 100644 index 000000000000..63c1d8245a3c --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/DeleteCatalog.json @@ -0,0 +1,24 @@ +{ + "operationId": "Catalogs_Delete", + "title": "Catalogs_Delete", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + }, + "204": { + "description": "Resource deleted successfully." + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/DeleteDeployment.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/DeleteDeployment.json new file mode 100644 index 000000000000..9f79f31640b2 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/DeleteDeployment.json @@ -0,0 +1,27 @@ +{ + "operationId": "Deployments_Delete", + "title": "Deployments_Delete", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProductName1", + "deviceGroupName": "DeviceGroupName1", + "deploymentName": "MyDeploymentName1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + }, + "204": { + "description": "Resource deleted successfully." + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/DeleteDevice.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/DeleteDevice.json new file mode 100644 index 000000000000..cedc0b7f509b --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/DeleteDevice.json @@ -0,0 +1,27 @@ +{ + "operationId": "Devices_Delete", + "title": "Devices_Delete", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProductName1", + "deviceGroupName": "DeviceGroupName1", + "deviceName": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + }, + "204": { + "description": "Resource deleted successfully." + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/DeleteDeviceGroup.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/DeleteDeviceGroup.json new file mode 100644 index 000000000000..0fe56066275f --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/DeleteDeviceGroup.json @@ -0,0 +1,26 @@ +{ + "operationId": "DeviceGroups_Delete", + "title": "DeviceGroups_Delete", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + }, + "204": { + "description": "Resource deleted successfully." + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/DeleteImage.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/DeleteImage.json new file mode 100644 index 000000000000..c87670823a95 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/DeleteImage.json @@ -0,0 +1,25 @@ +{ + "operationId": "Images_Delete", + "title": "Images_Delete", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "imageName": "imageID", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + }, + "204": { + "description": "Resource deleted successfully." + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/DeleteProduct.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/DeleteProduct.json new file mode 100644 index 000000000000..2a3cc98c9361 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/DeleteProduct.json @@ -0,0 +1,25 @@ +{ + "operationId": "Products_Delete", + "title": "Products_Delete", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProductName1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + }, + "204": { + "description": "Resource deleted successfully." + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetCatalog.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetCatalog.json new file mode 100644 index 000000000000..309cbd3cb82e --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetCatalog.json @@ -0,0 +1,21 @@ +{ + "operationId": "Catalogs_Get", + "title": "Catalogs_Get", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1", + "name": "MyCatalog1", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetCatalogsRG.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetCatalogsRG.json new file mode 100644 index 000000000000..3b8e6ecacc5f --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetCatalogsRG.json @@ -0,0 +1,30 @@ +{ + "operationId": "Catalogs_ListByResourceGroup", + "title": "Catalogs_ListByResourceGroup", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1", + "name": "MyCatalog1", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog2", + "name": "MyCatalog2", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + } + ] + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetCatalogsSub.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetCatalogsSub.json new file mode 100644 index 000000000000..9193ce2f4046 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetCatalogsSub.json @@ -0,0 +1,29 @@ +{ + "operationId": "Catalogs_ListBySubscription", + "title": "Catalogs_ListBySubscription", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1", + "name": "MyCatalog1", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup2/providers/Microsoft.AzureSphere/catalogs/MyCatalog2", + "name": "MyCatalog2", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + } + ] + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetCertificate.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetCertificate.json new file mode 100644 index 000000000000..f4b4aa6987e6 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetCertificate.json @@ -0,0 +1,17 @@ +{ + "operationId": "Certificates_Get", + "title": "Certificates_Get", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "serialNumber": "default", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": {} + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetCertificates.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetCertificates.json new file mode 100644 index 000000000000..b60fe89fa77a --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetCertificates.json @@ -0,0 +1,18 @@ +{ + "operationId": "Certificates_ListByCatalog", + "title": "Certificates_ListByCatalog", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [] + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetDeployment.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetDeployment.json new file mode 100644 index 000000000000..6679b9ca42c9 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetDeployment.json @@ -0,0 +1,38 @@ +{ + "operationId": "Deployments_Get", + "title": "Deployments_Get", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "myDeviceGroup1", + "deploymentName": "MyDeployment1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/deviceGroups/MyDeviceGroup1/deployments/MyDeployment1", + "name": "MyDeployment1", + "properties": { + "deployedImages": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/images/MyImage1", + "properties": { + "image": "dGVzdGltYWdl", + "regionalDataBoundary": "None", + "uri": "imageUri", + "description": "description", + "componentId": "componentId", + "imageType": "ImageType", + "provisioningState": "Succeeded" + } + } + ] + } + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetDeployments.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetDeployments.json new file mode 100644 index 000000000000..86fbe98e0d5c --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetDeployments.json @@ -0,0 +1,42 @@ +{ + "operationId": "Deployments_ListByDeviceGroup", + "title": "Deployments_ListByDeviceGroup", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "myDeviceGroup1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/deviceGroups/MyDeviceGroup1/deployments/MyDeployment1", + "name": "MyDeployment1", + "properties": { + "deployedImages": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/images/MyImage1", + "properties": { + "image": "dGVzdGltYWdl", + "regionalDataBoundary": "None", + "uri": "imageUri", + "description": "description", + "componentId": "componentId", + "imageType": "ImageType", + "provisioningState": "Succeeded" + } + } + ], + "deploymentDateUtc": "2022-09-30T21:51:39.2698729Z" + } + } + ] + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetDevice.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetDevice.json new file mode 100644 index 000000000000..cc333206bc24 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetDevice.json @@ -0,0 +1,29 @@ +{ + "operationId": "Devices_Get", + "title": "Devices_Get", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "myDeviceGroup1", + "deviceName": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/myProduct1/deviceGroups/myDeviceGroup1/devices/00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "name": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "properties": { + "chipSku": "MyChipSku1", + "lastAvailableOsVersion": "AvailableOsVersion1", + "lastInstalledOsVersion": "InstalledOsVersion1", + "lastOsUpdateUtc": "2022-09-30T23:54:21.96Z", + "lastUpdateRequestUtc": "2022-10-01T23:54:21.96Z" + } + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetDeviceGroup.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetDeviceGroup.json new file mode 100644 index 000000000000..3968deebf2e9 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetDeviceGroup.json @@ -0,0 +1,26 @@ +{ + "operationId": "DeviceGroups_Get", + "title": "DeviceGroups_Get", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup1", + "type": "microsoft.azureSphere/catalogs/products/devicegroups", + "properties": { + "description": "The description of MyDeviceGroup1", + "osFeedType": "Retail", + "updatePolicy": "UpdateAll" + } + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetDeviceGroups.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetDeviceGroups.json new file mode 100644 index 000000000000..b35555682568 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetDeviceGroups.json @@ -0,0 +1,30 @@ +{ + "operationId": "DeviceGroups_ListByProduct", + "title": "DeviceGroups_ListByProduct", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup1", + "name": "MyDeviceGroup1", + "type": "microsoft.azureSphere/catalogs/products/devicegroups" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/Products/MyProduct2/devicegroups/MyDeviceGroup2", + "name": "MyDeviceGroup2", + "type": "microsoft.azureSphere/catalogs/products/devicegroups" + } + ] + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetDevices.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetDevices.json new file mode 100644 index 000000000000..e9c205d8251c --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetDevices.json @@ -0,0 +1,29 @@ +{ + "operationId": "Devices_ListByDeviceGroup", + "title": "Devices_ListByDeviceGroup", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "myDeviceGroup1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/myProduct1/deviceGroups/myDeviceGroup1/devices/00000000-0000-0000-0000-000000000001", + "properties": {} + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/myProduct1/deviceGroups/myDeviceGroup1/devices/00000000-0000-0000-0000-000000000002", + "properties": {} + } + ] + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetImage.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetImage.json new file mode 100644 index 000000000000..3023a79d50c5 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetImage.json @@ -0,0 +1,17 @@ +{ + "operationId": "Images_Get", + "title": "Images_Get", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "imageName": "myImageId", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": {} + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetImages.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetImages.json new file mode 100644 index 000000000000..54df0e9efea2 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetImages.json @@ -0,0 +1,27 @@ +{ + "operationId": "Images_ListByCatalog", + "title": "Images_ListByCatalog", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "00000000-0000-0000-0000-000000000001", + "name": "MyImage1" + }, + { + "id": "00000000-0000-0000-0000-000000000002", + "name": "MyImage2" + } + ] + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetOperations.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetOperations.json new file mode 100644 index 000000000000..ec6597cf4218 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetOperations.json @@ -0,0 +1,35 @@ +{ + "operationId": "Operations_List", + "title": "Operations_List", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "name": "Microsoft.AzureSphere/catalogs/Read", + "display": { + "provider": "Microsoft.AzureSphere", + "resource": "catalog", + "operation": "Gets/List catalog", + "description": "Read Azure Sphere catalogs" + } + }, + { + "name": "Microsoft.AzureSphere/catalogs/Write", + "display": { + "provider": "Microsoft.AzureSphere", + "resource": "catalog", + "operation": "Create/Update catalog", + "description": "Writes Azure Sphere catalogs" + } + } + ] + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetProduct.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetProduct.json new file mode 100644 index 000000000000..16e15d98de1b --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetProduct.json @@ -0,0 +1,23 @@ +{ + "operationId": "Products_Get", + "title": "Products_Get", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1", + "type": "microsoft.azureSphere/catalogs/products", + "properties": { + "description": "product description." + } + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetProducts.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetProducts.json new file mode 100644 index 000000000000..a24bb1b88673 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetProducts.json @@ -0,0 +1,29 @@ +{ + "operationId": "Products_ListByCatalog", + "title": "Products_ListByCatalog", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1", + "name": "MyProduct1", + "type": "Microsoft.AzureSphere/catalogs/products" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct2", + "name": "MyProduct2", + "type": "Microsoft.AzureSphere/catalogs/products" + } + ] + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PatchCatalog.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PatchCatalog.json new file mode 100644 index 000000000000..0e840dfcdf1d --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PatchCatalog.json @@ -0,0 +1,25 @@ +{ + "operationId": "Catalogs_Update", + "title": "Catalogs_Update", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2022-09-01-preview", + "properties": {}, + "resource": { + "location": "global" + } + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1", + "name": "MyCatalog1", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PatchDevice.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PatchDevice.json new file mode 100644 index 000000000000..9e007f0c2255 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PatchDevice.json @@ -0,0 +1,36 @@ +{ + "operationId": "Devices_Update", + "title": "Devices_Update", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "deviceName": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "properties": {}, + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup1/device/00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "Microsoft.AzureSphere/catalogs/products/devicegroups", + "properties": { + "chipSku": "MyChipSku1", + "lastAvailableOsVersion": "AvailableOsVersion1", + "lastInstalledOsVersion": "InstalledOsVersion1", + "lastOsUpdateUtc": "2022-10-30T23:54:21.96Z", + "lastUpdateRequestUtc": "2022-10-01T23:54:21.96Z" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + }, + "description": "The device update started successfully." + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PatchDeviceGroup.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PatchDeviceGroup.json new file mode 100644 index 000000000000..94b5816691c9 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PatchDeviceGroup.json @@ -0,0 +1,33 @@ +{ + "operationId": "DeviceGroups_Update", + "title": "DeviceGroups_Update", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "properties": {}, + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup1", + "type": "microsoft.azureSphere/catalogs/products/devicegroups", + "properties": { + "description": "The description of MyDeviceGroup1", + "osFeedType": "Retail", + "updatePolicy": "UpdateAll" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + }, + "description": "Resource update request accepted." + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PatchProduct.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PatchProduct.json new file mode 100644 index 000000000000..1cca155c4838 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PatchProduct.json @@ -0,0 +1,30 @@ +{ + "operationId": "Products_Update", + "title": "Products_Update", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "properties": {}, + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1", + "type": "microsoft.azureSphere/catalogs/products", + "properties": { + "description": "Product description." + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + }, + "description": "Resource update request accepted." + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostClaimDevices.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostClaimDevices.json new file mode 100644 index 000000000000..6031e751e383 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostClaimDevices.json @@ -0,0 +1,25 @@ +{ + "operationId": "DeviceGroups_ClaimDevices", + "title": "DeviceGroups_ClaimDevices", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "claimDevicesRequest": { + "deviceIdentifiers": [ + "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + ] + }, + "api-version": "2022-09-01-preview" + }, + "responses": { + "202": { + "description": "Resource operation accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostCountDevicesCatalog.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostCountDevicesCatalog.json new file mode 100644 index 000000000000..66b0fc9252ed --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostCountDevicesCatalog.json @@ -0,0 +1,18 @@ +{ + "operationId": "Catalogs_CountDevices", + "title": "Catalogs_CountDevices", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": 3 + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostCountDevicesDeviceGroup.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostCountDevicesDeviceGroup.json new file mode 100644 index 000000000000..a6be1a2f2598 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostCountDevicesDeviceGroup.json @@ -0,0 +1,20 @@ +{ + "operationId": "DeviceGroups_CountDevices", + "title": "DeviceGroups_CountDevices", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": 3 + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostCountDevicesProduct.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostCountDevicesProduct.json new file mode 100644 index 000000000000..11cd3098bcca --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostCountDevicesProduct.json @@ -0,0 +1,21 @@ +{ + "operationId": "Products_CountDevices", + "title": "Products_CountDevices", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "productGroupName": "MyProduct1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": 3 + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostGenerateDefaultDeviceGroups.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostGenerateDefaultDeviceGroups.json new file mode 100644 index 000000000000..a8d43772debd --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostGenerateDefaultDeviceGroups.json @@ -0,0 +1,40 @@ +{ + "operationId": "Products_GenerateDefaultDeviceGroups", + "title": "Products_GenerateDefaultDeviceGroups", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup1", + "name": "MyDeviceGroup1", + "properties": { + "description": "Device group description 1", + "osFeedType": "Retail", + "updatePolicy": "UpdateAll", + "allowCrashDumpsCollection": "Enabled" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup2", + "name": "MyDeviceGroup2", + "properties": { + "description": "Device group description 2", + "osFeedType": "Retail", + "updatePolicy": "UpdateAll", + "allowCrashDumpsCollection": "Enabled" + } + } + ] + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostGenerateDeviceCapabilityImage.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostGenerateDeviceCapabilityImage.json new file mode 100644 index 000000000000..a179d16b3ba3 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostGenerateDeviceCapabilityImage.json @@ -0,0 +1,32 @@ +{ + "operationId": "Devices_GenerateCapabilityImage", + "title": "Devices_GenerateCapabilityImage", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "myDeviceGroup1", + "deviceName": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "generateDeviceCapabilityRequest": { + "capabilities": [ + "ApplicationDevelopment" + ] + }, + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "image": "TheDeviceCapabilityImage" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostListDeploymentsByCatalog.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostListDeploymentsByCatalog.json new file mode 100644 index 000000000000..3b6f53fe5698 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostListDeploymentsByCatalog.json @@ -0,0 +1,27 @@ +{ + "operationId": "Catalogs_ListDeployments", + "title": "Catalogs_ListDeployments", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "name": "DeploymentName1111", + "properties": {} + }, + { + "name": "DeploymentName1121", + "properties": {} + } + ] + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostListDeviceGroupsCatalog.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostListDeviceGroupsCatalog.json new file mode 100644 index 000000000000..1d4a857fbdf9 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostListDeviceGroupsCatalog.json @@ -0,0 +1,32 @@ +{ + "operationId": "Catalogs_ListDeviceGroups", + "title": "Catalogs_ListDeviceGroups", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2022-09-01-preview", + "listDeviceGroupsRequest": { + "deviceGroupName": "MyDeviceGroup1" + } + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup1", + "name": "MyDeviceGroup1", + "type": "microsoft.azureSphere/catalogs/products/devicegroups" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct2/devicegroups/MyDeviceGroup2", + "name": "MyDeviceGroup2", + "type": "microsoft.azureSphere/catalogs/products/devicegroups" + } + ] + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostListDeviceInsightsCatalog.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostListDeviceInsightsCatalog.json new file mode 100644 index 000000000000..3c94dc573a24 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostListDeviceInsightsCatalog.json @@ -0,0 +1,40 @@ +{ + "operationId": "Catalogs_ListDeviceInsights", + "title": "Catalogs_ListDeviceInsights", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "$top": 10, + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "description": "eventDescription1", + "deviceId": "eventIdentifier1", + "startTimestampUtc": "2021-09-30T21:51:39.26Z", + "endTimestampUtc": "2021-09-30T23:54:21.96Z", + "eventCategory": "eventCategory1", + "eventClass": "eventClass1", + "eventType": "eventType1", + "eventCount": 1 + }, + { + "description": "eventDescription2", + "deviceId": "eventIdentifier2", + "startTimestampUtc": "2022-12-06T12:41:39.26Z", + "endTimestampUtc": "2022-12-07T17:34:12.50Z", + "eventCategory": "eventCategory2", + "eventClass": "eventClass2", + "eventType": "eventType2", + "eventCount": 1 + } + ] + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostListDevicesByCatalog.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostListDevicesByCatalog.json new file mode 100644 index 000000000000..4ff1c7b56f4f --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostListDevicesByCatalog.json @@ -0,0 +1,27 @@ +{ + "operationId": "Catalogs_ListDevices", + "title": "Catalogs_ListDevices", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "name": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "properties": {} + }, + { + "name": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "properties": {} + } + ] + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostRetrieveCatalogCertChain.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostRetrieveCatalogCertChain.json new file mode 100644 index 000000000000..d20f5724247a --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostRetrieveCatalogCertChain.json @@ -0,0 +1,19 @@ +{ + "operationId": "Certificates_RetrieveCertChain", + "title": "Certificates_RetrieveCertChain", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "serialNumber": "active", + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "certificateChain": "ABynaryRepresentationOfTheRequestedCatalogCertificateChain" + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostRetrieveProofOfPossessionNonce.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostRetrieveProofOfPossessionNonce.json new file mode 100644 index 000000000000..ae995839f869 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PostRetrieveProofOfPossessionNonce.json @@ -0,0 +1,22 @@ +{ + "operationId": "Certificates_RetrieveProofOfPossessionNonce", + "title": "Certificates_RetrieveProofOfPossessionNonce", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "serialNumber": "active", + "proofOfPossessionNonceRequest": { + "proofOfPossessionNonce": "proofOfPossessionNonce" + }, + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "certificate": "bXliYXNlNjRzdHJpbmc=" + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PutCatalog.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PutCatalog.json new file mode 100644 index 000000000000..5335efb38514 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PutCatalog.json @@ -0,0 +1,34 @@ +{ + "operationId": "Catalogs_CreateOrUpdate", + "title": "Catalogs_CreateOrUpdate", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2022-09-01-preview", + "location": "global", + "resource": { + "location": "global" + } + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1", + "name": "MyCatalog1", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1", + "name": "MyCatalog1", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PutDeployment.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PutDeployment.json new file mode 100644 index 000000000000..8ba227796e3c --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PutDeployment.json @@ -0,0 +1,47 @@ +{ + "operationId": "Deployments_CreateOrUpdate", + "title": "Deployments_CreateOrUpdate", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "myDeviceGroup1", + "deploymentName": "MyDeployment1", + "api-version": "2022-09-01-preview", + "resource": {} + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/deviceGroups/MyDeviceGroup1/deployments/MyDeployment1", + "name": "MyDeployment1", + "properties": { + "deployedImages": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/images/MyImage1", + "properties": { + "image": "MyImage", + "imageId": "00000000-0000-0000-0000-000000000000", + "uri": "imageUri", + "regionalDataBoundary": "None", + "imageType": "InvalidImageType", + "provisioningState": "Succeeded" + } + } + ], + "provisioningState": "Succeeded" + } + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/myProduct1/deviceGroups/myDeviceGroup1/deployments/MyDeployment1", + "name": "MyDeployment1", + "type": "Microsoft.AzureSphere/catalogs/products/deviceGroups/deployments" + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PutDevice.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PutDevice.json new file mode 100644 index 000000000000..6b6cdf7604c3 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PutDevice.json @@ -0,0 +1,34 @@ +{ + "operationId": "Devices_CreateOrUpdate", + "title": "Devices_CreateOrUpdate", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "myDeviceGroup1", + "deviceName": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "api-version": "2022-09-01-preview", + "resource": {} + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/myProduct1/deviceGroups/myDeviceGroup1/devices/00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "name": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "properties": { + "chipSku": "MyChipSku1" + } + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/myProduct1/deviceGroups/myDeviceGroup1/devices/00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "name": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "Microsoft.AzureSphere/catalogs/products/deviceGroups/devices" + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PutDeviceGroup.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PutDeviceGroup.json new file mode 100644 index 000000000000..07878ffa9363 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PutDeviceGroup.json @@ -0,0 +1,46 @@ +{ + "operationId": "DeviceGroups_CreateOrUpdate", + "title": "DeviceGroups_CreateOrUpdate", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "api-version": "2022-09-01-preview", + "resource": { + "properties": { + "description": "Description for MyDeviceGroup1", + "osFeedType": "Retail", + "updatePolicy": "UpdateAll" + } + } + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup1", + "type": "microsoft.AzureSphere/catalogs/products/devicegroups", + "properties": { + "description": "Description of MyDeviceGroup1", + "osFeedType": "Retail", + "updatePolicy": "UpdateAll" + } + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/myProduct1/deviceGroups/myDeviceGroup1", + "name": "MyDeviceId1", + "type": "Microsoft.AzureSphere/catalogs/products/deviceGroups", + "properties": { + "description": "Description of MyDeviceGroup1", + "osFeedType": "Retail", + "updatePolicy": "UpdateAll" + } + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PutImage.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PutImage.json new file mode 100644 index 000000000000..c28ad12e90d3 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PutImage.json @@ -0,0 +1,34 @@ +{ + "operationId": "Images_CreateOrUpdate", + "title": "Image_CreateOrUpdate", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "imageName": "default", + "resource": { + "properties": { + "image": "bXliYXNlNjRzdHJpbmc=" + } + }, + "api-version": "2022-09-01-preview" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/images/default", + "name": "MyProduct1", + "type": "Microsoft.AzureSphere/catalogs/images" + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/images/default", + "name": "MyProduct1", + "type": "Microsoft.AzureSphere/catalogs/images" + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PutProduct.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PutProduct.json new file mode 100644 index 000000000000..ed9339da141a --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PutProduct.json @@ -0,0 +1,30 @@ +{ + "operationId": "Products_CreateOrUpdate", + "title": "Products_CreateOrUpdate", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "api-version": "2022-09-01-preview", + "resource": {} + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1", + "name": "MyProduct1", + "type": "Microsoft.AzureSphere/catalogs/products" + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1", + "name": "MyProduct1", + "type": "Microsoft.AzureSphere/catalogs" + } + } + } +} diff --git a/specification/sphere/resource-manager/readme.azureresourceschema.md b/specification/sphere/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..583c03c2434d --- /dev/null +++ b/specification/sphere/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-azuresphere-2022-09-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-azuresphere-2022-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-azuresphere-2022-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AzureSphere/preview/2022-09-01-preview/azuresphere.json + +``` diff --git a/specification/sphere/resource-manager/readme.csharp.md b/specification/sphere/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..f61b385d0a60 --- /dev/null +++ b/specification/sphere/resource-manager/readme.csharp.md @@ -0,0 +1,15 @@ +## C# + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +``` yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + namespace: Microsoft.Azure.Management.AzureSphere + payload-flattening-threshold: 1 + output-folder: $(csharp-sdks-folder)/azuresphere/Microsoft.Azure.Management.AzureSphere/src/Generated + clear-output-folder: true + client-side-validation: false +``` \ No newline at end of file diff --git a/specification/sphere/resource-manager/readme.go.md b/specification/sphere/resource-manager/readme.go.md new file mode 100644 index 000000000000..ec1235d3437f --- /dev/null +++ b/specification/sphere/resource-manager/readme.go.md @@ -0,0 +1,38 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +``` yaml $(go) +go: + license-header: MICROSOFT_APACHE_NO_VERSION + namespace: azuresphere + clear-output-folder: true +``` + +### Go multi-api + +``` yaml $(go) && $(multiapi) +batch: + - tag: package-2022-09-01-preview +``` + +### Tag: package-2022-09-01-preview and go + +These settings apply only when `--tag=package-2022-09-01-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2022-09-01-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2022-09-01-preview/$(namespace) +``` + +```yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/azuresphere/armazuresphere +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +directive: + - rename-model: + from: AzureSphereErrorResponse + to: ErrorResponseForAzureSphere +``` diff --git a/specification/sphere/resource-manager/readme.java.md b/specification/sphere/resource-manager/readme.java.md new file mode 100644 index 000000000000..db639eef5007 --- /dev/null +++ b/specification/sphere/resource-manager/readme.java.md @@ -0,0 +1,33 @@ +## Java + +These settings apply only when `--java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(java) +azure-arm: true +fluent: true +namespace: com.microsoft.azure.management.azuresphere +license-header: MICROSOFT_MIT_NO_CODEGEN +payload-flattening-threshold: 1 +output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-azuresphere +``` + +### Java multi-api + +``` yaml $(java) && $(multiapi) +batch: + - tag: package-2022-09-01-preview +``` + +### Tag: package-2022-09-01-preview and java + +These settings apply only when `--tag=package-2022-09-01-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2022-09-01-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.azuresphere.v2022-09-01-preview + output-folder: $(azure-libraries-for-java-folder)/sdk/azuresphere/mgmt-v2022-09-01-preview +regenerate-manager: true +generate-interface: true +``` \ No newline at end of file diff --git a/specification/sphere/resource-manager/readme.md b/specification/sphere/resource-manager/readme.md new file mode 100644 index 000000000000..f358d93c90ce --- /dev/null +++ b/specification/sphere/resource-manager/readme.md @@ -0,0 +1,120 @@ +# Azure Sphere + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for Azure Sphere. + + + +--- +## Getting Started +To build the SDK for Azure Sphere, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: + +> `autorest` + +To see additional help and options, run: + +> `autorest --help` +--- + +## Configuration + + + +### Basic Information +These are the global settings for the Azure Sphere API. + +``` yaml +title: AzureSphereManagementClient +openapi-type: arm +openapi-subtype: rpaas +tag: package-2022-09-01-preview +``` + +### Tag: package-2022-09-01-preview + +These settings apply only when `--tag=package-2022-09-01-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2022-09-01-preview' +input-file: +- Microsoft.AzureSphere/preview/2022-09-01-preview/azuresphere.json +``` + +# Code Generation + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +``` yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-net-track2 + - repo: azure-sdk-for-python + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 + - repo: azure-sdk-for-js + - repo: azure-sdk-for-node + - repo: azure-sdk-for-ruby + after_scripts: + - bundle install && rake arm:regen_all_profiles['azure_mgmt_azuresphere'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js azuresphere/resource-manager +``` + +## C# + +See configuration in [readme.csharp.md](./readme.csharp.md) + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Java + +See configuration in [readme.java.md](./readme.java.md) + +## Node.js + +See configuration in [readme.nodejs.md](./readme.nodejs.md) + +## Python + +See configuration in [readme.python.md](./readme.python.md) + +## Ruby + +See configuration in [readme.ruby.md](./readme.ruby.md) + +## TypeScript + +See configuration in [readme.typescript.md](./readme.typescript.md) + +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + +## Multi-API/Profile support for AutoRest v3 generators + +AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. + +This block is updated by an automatic script. Edits may be lost! + +``` yaml $(tag) == 'all-api-versions' /* autogenerated */ +# include the azure profile definitions from the standard location +require: $(this-folder)/../../../profiles/readme.md + +# all the input files across all versions +input-file: + - $(this-folder)/Microsoft.AzureSphere/preview/2022-09-01-preview/azuresphere.json +``` + +If there are files that should not be in the `all-api-versions` set, +uncomment the `exclude-file` section below and add the file paths. + +``` yaml $(tag) == 'all-api-versions' +#exclude-file: +# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json +``` diff --git a/specification/sphere/resource-manager/readme.nodejs.md b/specification/sphere/resource-manager/readme.nodejs.md new file mode 100644 index 000000000000..1761ec90db19 --- /dev/null +++ b/specification/sphere/resource-manager/readme.nodejs.md @@ -0,0 +1,14 @@ +## Node.js + +These settings apply only when `--nodejs` is specified on the command line. +Please also specify `--node-sdks-folder=`. + +``` yaml $(nodejs) +nodejs: + azure-arm: true + package-name: azure-arm-azuresphere + output-folder: $(node-sdks-folder)/lib/services/azureSphereManagement + generate-license-txt: true + generate-package-json: true + generate-readme-md: true +``` diff --git a/specification/sphere/resource-manager/readme.python.md b/specification/sphere/resource-manager/readme.python.md new file mode 100644 index 000000000000..86725c213fec --- /dev/null +++ b/specification/sphere/resource-manager/readme.python.md @@ -0,0 +1,18 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(python) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +package-name: azure-mgmt-azuresphere +namespace: azure.mgmt.azuresphere +package-version: 1.0.0b1 +clear-output-folder: true +``` + +``` yaml $(python) +no-namespace-folders: true +output-folder: $(python-sdks-folder)/azuresphere/azure-mgmt-azuresphere/azure/mgmt/azuresphere +``` diff --git a/specification/sphere/resource-manager/readme.ruby.md b/specification/sphere/resource-manager/readme.ruby.md new file mode 100644 index 000000000000..97727ed32fd0 --- /dev/null +++ b/specification/sphere/resource-manager/readme.ruby.md @@ -0,0 +1,26 @@ +## Ruby + +These settings apply only when `--ruby` is specified on the command line. + +``` yaml +package-name: azure_mgmt_azuresphere +package-version: 2022-09-01-preview +azure-arm: true +``` + +### Ruby multi-api + +``` yaml $(ruby) && $(multiapi) +batch: + - tag: package-2022-09-01-preview +``` + +### Tag: package-2022-09-01-preview and ruby + +These settings apply only when `--tag=package-2022-09-01-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-2022-09-01-preview' && $(ruby) +namespace: Microsoft.AzureSphere +output-folder: $(ruby-sdks-folder)/azuresphere +``` \ No newline at end of file diff --git a/specification/sphere/resource-manager/readme.typescript.md b/specification/sphere/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..b36ccc342e4d --- /dev/null +++ b/specification/sphere/resource-manager/readme.typescript.md @@ -0,0 +1,13 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +``` yaml $(typescript) +typescript: + azure-arm: true + package-name: "@azure/arm-azuresphere" + output-folder: "$(typescript-sdks-folder)/sdk/azuresphere/arm-azuresphere" + clear-output-folder: true + generate-metadata: true +``` \ No newline at end of file