diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/confidentialledger.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/confidentialledger.json new file mode 100644 index 000000000000..a447d530c1f7 --- /dev/null +++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/confidentialledger.json @@ -0,0 +1,851 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-06-28-preview", + "title": "ConfidentialLedger", + "description": "Microsoft Azure Confidential Compute Ledger Control Plane REST API version 2020-12-01-preview." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.ConfidentialLedger/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Retrieves a list of available API operations", + "summary": "Retrieves a list of available API operations under this Resource Provider.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; response contains the list of operations under Microsoft.ConfidentialLedger resource provider.", + "schema": { + "$ref": "#/definitions/ResourceProviderOperationList" + } + }, + "default": { + "description": "Error response describing the reason for operation failure. 404 - NotFound (Confidential Ledger does not exist.)", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "OperationsGet": { + "$ref": "./examples/Operations_Get.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ConfidentialLedger/checkNameAvailability": { + "post": { + "tags": [ + "NameAvailability" + ], + "description": "To check whether a resource name is available.", + "operationId": "CheckNameAvailability", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "nameAvailabilityRequest", + "in": "body", + "description": "Name availability request payload.", + "required": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/CheckNameAvailabilityRequest" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/CheckNameAvailabilityResponse" + } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CheckNameAvailability": { + "$ref": "./examples/CheckNameAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}": { + "get": { + "tags": [ + "Confidential Ledger" + ], + "summary": "Retrieves information about a Confidential Ledger resource.", + "description": "Retrieves the properties of a Confidential Ledger.", + "operationId": "Ledger_Get", + "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" + }, + { + "$ref": "#/parameters/LedgerNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; response contains the Confidential Ledger", + "schema": { + "$ref": "#/definitions/ConfidentialLedger" + } + }, + "default": { + "description": "Error response describing the reason for operation failure. 404 - NotFound (Confidential Ledger does not exist.)", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ConfidentialLedgerGet": { + "$ref": "./examples/ConfidentialLedger_Get.json" + } + } + }, + "delete": { + "tags": [ + "Confidential Ledger" + ], + "summary": "Deletes a Confidential Ledger resource.", + "description": "Deletes an existing Confidential Ledger.", + "operationId": "Ledger_Delete", + "x-ms-long-running-operation": true, + "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" + }, + { + "$ref": "#/parameters/LedgerNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the Confidential Ledger is deleted." + }, + "202": { + "description": "The Confidential Ledger resource will be deleted asynchronously" + }, + "204": { + "description": "The request was successful; Confidential Ledger does not exist." + }, + "default": { + "description": "Error response describing the reason for operation failure. 409 - Conflict(Confidential Ledger is in a non-terminal state due to an ongoing operation.)", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ConfidentialLedgerDelete": { + "$ref": "./examples/ConfidentialLedger_Delete.json" + } + } + }, + "put": { + "tags": [ + "Confidential Ledger" + ], + "summary": "Creates a Confidential Ledger.", + "description": "Creates a Confidential Ledger with the specified ledger parameters.", + "operationId": "Ledger_Create", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "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" + }, + { + "$ref": "#/parameters/LedgerNameParameter" + }, + { + "name": "confidentialLedger", + "in": "body", + "description": "Confidential Ledger Create Request Body", + "required": true, + "schema": { + "$ref": "#/definitions/ConfidentialLedger" + } + } + ], + "responses": { + "200": { + "description": "The request was successful and ledger was created; response contains the Confidential Ledger", + "schema": { + "$ref": "#/definitions/ConfidentialLedger" + } + }, + "201": { + "description": "The Confidential Ledger resource will be created asynchronously. Response contains the Confidential Ledger being provisioned", + "schema": { + "$ref": "#/definitions/ConfidentialLedger" + } + }, + "default": { + "description": "Error response describing the reason for operation failure. 404 - NotFound (Confidential Ledger could not be created/updated)", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ConfidentialLedgerCreate": { + "$ref": "./examples/ConfidentialLedger_Create.json" + } + } + }, + "patch": { + "tags": [ + "Confidential Ledger" + ], + "summary": "Update Confidential Ledger properties", + "description": "Updates properties of Confidential Ledger", + "operationId": "Ledger_Update", + "x-ms-long-running-operation": true, + "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" + }, + { + "$ref": "#/parameters/LedgerNameParameter" + }, + { + "name": "confidentialLedger", + "in": "body", + "description": "Confidential Ledger request body for Updating Ledger", + "required": true, + "schema": { + "$ref": "#/definitions/ConfidentialLedger" + } + } + ], + "responses": { + "200": { + "description": "The request was successful and ledger was updated; response contains the Confidential Ledger", + "schema": { + "$ref": "#/definitions/ConfidentialLedger" + } + }, + "201": { + "description": "The Confidential Ledger resource will be updated asynchronously. Check the provisioningState field to monitor the progress of your operation." + }, + "default": { + "description": "Error response describing the reason for operation failure. 404 - NotFound (Confidential Ledger could not be created/updated)", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ConfidentialLedgerUpdate": { + "$ref": "./examples/ConfidentialLedger_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers": { + "get": { + "tags": [ + "Confidential Ledger" + ], + "summary": "Retrieves information about all Confidential Ledger resources under the given subscription and resource group", + "description": "Retrieves the properties of all Confidential Ledgers.", + "operationId": "Ledger_ListByResourceGroup", + "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" + }, + { + "type": "string", + "description": "The filter to apply on the list operation. eg. $filter=ledgerType eq 'Public'", + "name": "$filter", + "in": "query" + } + ], + "responses": { + "200": { + "description": "The request was successful; response contains the Confidential Ledger", + "schema": { + "$ref": "#/definitions/ConfidentialLedgerList" + } + }, + "default": { + "description": "Error response describing the reason for operation failure. 404 - NotFound (Confidential Ledger does not exist.)", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ConfidentialLedgerList": { + "$ref": "./examples/ConfidentialLedger_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ConfidentialLedger/ledgers/": { + "get": { + "tags": [ + "Confidential Ledger" + ], + "summary": "Retrieves information about all Confidential Ledger resources under the given subscription", + "description": "Retrieves the properties of all Confidential Ledgers.", + "operationId": "Ledger_ListBySubscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "type": "string", + "description": "The filter to apply on the list operation. eg. $filter=ledgerType eq 'Public'", + "name": "$filter", + "in": "query" + } + ], + "responses": { + "200": { + "description": "The request was successful; response contains the list of Confidential Ledgers", + "schema": { + "$ref": "#/definitions/ConfidentialLedgerList" + } + }, + "default": { + "description": "Error response describing the reason for operation failure. 404 - NotFound (Confidential Ledger does not exist.)", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ConfidentialLedgerListBySub": { + "$ref": "./examples/ConfidentialLedger_ListBySub.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}/backup": { + "post": { + "tags": [ + "Confidential Ledger" + ], + "summary": "Performs the backup operation on a Confidential Ledger Resource.", + "description": "Backs up a Confidential Ledger Resource.", + "operationId": "Ledger_Backup", + "x-ms-long-running-operation": true, + "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" + }, + { + "$ref": "#/parameters/LedgerNameParameter" + }, + { + "name": "confidentialLedger", + "in": "body", + "description": "Confidential Ledger Backup Request Body", + "required": true, + "schema": { + "$ref": "#/definitions/ConfidentialLedgerBackup" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; response contains a message stating the Confidential Ledger Resource is successfully being backed up.", + "schema": { + "$ref": "#/definitions/ConfidentialLedgerBackupResponse" + } + }, + "202": { + "description": "The Confidential Ledger Resource will be backed up asynchronously." + }, + "default": { + "description": "Error response describing the reason for operation failure. 404 - NotFound (Confidential Ledger does not exist.)", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ConfidentialLedgerBackup": { + "$ref": "./examples/ConfidentialLedger_Backup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}/restore": { + "post": { + "tags": [ + "Confidential Ledger" + ], + "summary": "Performs the restore operation to spin up a newly restored Confidential Ledger Resource.", + "description": "Restores a Confidential Ledger Resource.", + "operationId": "Ledger_Restore", + "x-ms-long-running-operation": true, + "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" + }, + { + "$ref": "#/parameters/LedgerNameParameter" + }, + { + "name": "confidentialLedger", + "in": "body", + "description": "Confidential Ledger Restore Request Body", + "required": true, + "schema": { + "$ref": "#/definitions/ConfidentialLedgerRestore" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; response contains a message stating the Confidential Ledger Resource is successfully being restored.", + "schema": { + "$ref": "#/definitions/ConfidentialLedgerRestoreResponse" + } + }, + "202": { + "description": "The Confidential Ledger Resource will be restored asynchronously. Check the provisioningState field to monitor the progress of your operation." + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ConfidentialLedgerRestore": { + "$ref": "./examples/ConfidentialLedger_Restore.json" + } + } + } + } + }, + "definitions": { + "ResourceProviderOperationList": { + "description": "List containing this Resource Provider's available operations.", + "type": "object", + "properties": { + "value": { + "description": "Resource provider operations list.", + "type": "array", + "items": { + "$ref": "#/definitions/ResourceProviderOperationDefinition" + }, + "x-ms-identifiers": [ + "name" + ], + "readOnly": true + }, + "nextLink": { + "description": "The URI that can be used to request the next page for list of Azure operations.", + "type": "string", + "readOnly": true + } + } + }, + "ResourceProviderOperationDefinition": { + "description": "Describes the Resource Provider Operation.", + "type": "object", + "properties": { + "name": { + "description": "Resource provider operation name.", + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation is data action or not.", + "type": "boolean" + }, + "display": { + "description": "Details about the operations", + "$ref": "#/definitions/ResourceProviderOperationDisplay" + } + } + }, + "ResourceProviderOperationDisplay": { + "description": "Describes the properties of the Operation.", + "type": "object", + "properties": { + "provider": { + "description": "Name of the resource provider.", + "type": "string" + }, + "resource": { + "description": "Name of the resource type.", + "type": "string" + }, + "operation": { + "description": "Name of the resource provider operation.", + "type": "string" + }, + "description": { + "description": "Description of the resource provider operation.", + "type": "string" + } + } + }, + "ConfidentialLedgerType": { + "type": "string", + "description": "Type of the ledger. Private means transaction data is encrypted.", + "enum": [ + "Unknown", + "Public", + "Private" + ], + "x-ms-enum": { + "name": "LedgerType", + "modelAsString": true + } + }, + "ProvisioningState": { + "type": "string", + "description": "Object representing ProvisioningState for Confidential Ledger.", + "enum": [ + "Unknown", + "Succeeded", + "Failed", + "Canceled", + "Creating", + "Deleting", + "Updating" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "RunningState": { + "type": "string", + "description": "Object representing RunningState for Confidential Ledger.", + "enum": [ + "Active", + "Paused", + "Unknown", + "Pausing", + "Resuming" + ], + "x-ms-enum": { + "name": "RunningState", + "modelAsString": true + } + }, + "LedgerRoleName": { + "description": "LedgerRole associated with the Security Principal of Ledger", + "type": "string", + "enum": [ + "Reader", + "Contributor", + "Administrator" + ], + "x-ms-enum": { + "name": "LedgerRoleName", + "modelAsString": true + } + }, + "CertBasedSecurityPrincipal": { + "type": "object", + "description": "Cert based security principal with Ledger RoleName", + "properties": { + "cert": { + "description": "Public key of the user cert (.pem or .cer)", + "type": "string" + }, + "ledgerRoleName": { + "$ref": "#/definitions/LedgerRoleName" + } + } + }, + "AADBasedSecurityPrincipal": { + "type": "object", + "description": "AAD based security principal with associated Ledger RoleName", + "properties": { + "principalId": { + "description": "UUID/GUID based Principal Id of the Security Principal", + "type": "string" + }, + "tenantId": { + "description": "UUID/GUID based Tenant Id of the Security Principal", + "type": "string" + }, + "ledgerRoleName": { + "$ref": "#/definitions/LedgerRoleName" + } + } + }, + "LedgerProperties": { + "type": "object", + "description": "Additional Confidential Ledger properties.", + "title": "LedgerProperties", + "properties": { + "ledgerName": { + "readOnly": true, + "type": "string", + "description": "Unique name for the Confidential Ledger." + }, + "ledgerUri": { + "type": "string", + "readOnly": true, + "description": "Endpoint for calling Ledger Service." + }, + "identityServiceUri": { + "type": "string", + "readOnly": true, + "description": "Endpoint for accessing network identity." + }, + "ledgerInternalNamespace": { + "type": "string", + "readOnly": true, + "description": "Internal namespace for the Ledger" + }, + "runningState": { + "description": "Object representing RunningState for Ledger.", + "$ref": "#/definitions/RunningState" + }, + "ledgerType": { + "description": "Type of Confidential Ledger", + "$ref": "#/definitions/ConfidentialLedgerType" + }, + "provisioningState": { + "description": "Provisioning state of Ledger Resource", + "readOnly": true, + "$ref": "#/definitions/ProvisioningState" + }, + "aadBasedSecurityPrincipals": { + "description": "Array of all AAD based Security Principals.", + "type": "array", + "items": { + "$ref": "#/definitions/AADBasedSecurityPrincipal" + }, + "x-ms-identifiers": [ + "principalId" + ] + }, + "certBasedSecurityPrincipals": { + "description": "Array of all cert based Security Principals.", + "type": "array", + "items": { + "$ref": "#/definitions/CertBasedSecurityPrincipal" + }, + "x-ms-identifiers": [] + } + } + }, + "ConfidentialLedgerBackup": { + "description": "Object representing Backup properties of a Confidential Ledger Resource.", + "type": "object", + "properties": { + "restoreRegion": { + "type": "string", + "readOnly": false, + "description": "The region where the backup of the ledger will eventually be restored to." + }, + "uri": { + "type": "string", + "readOnly": false, + "description": "SAS URI used to access the backup Fileshare.", + "x-ms-secret": true + } + }, + "required": [ + "uri" + ] + }, + "ConfidentialLedgerRestore": { + "description": "Object representing Restore properties of a Confidential Ledger Resource.", + "type": "object", + "properties": { + "fileShareName": { + "type": "string", + "readOnly": false, + "description": "Fileshare where the ledger backup is stored." + }, + "restoreRegion": { + "type": "string", + "readOnly": false, + "description": "The region the ledger is being restored to." + }, + "uri": { + "type": "string", + "readOnly": false, + "description": "SAS URI used to access the backup fileshare.", + "x-ms-secret": true + } + }, + "required": [ + "fileShareName", + "restoreRegion", + "uri" + ] + }, + "ConfidentialLedgerBackupResponse": { + "description": "Object representing the backup response of a Confidential Ledger Resource.", + "type": "object", + "properties": { + "message": { + "type": "string", + "readOnly": true, + "description": "Response body stating if the ledger is being backed up." + } + } + }, + "ConfidentialLedgerRestoreResponse": { + "description": "Object representing the restore response of a Confidential Ledger Resource.", + "type": "object", + "properties": { + "message": { + "type": "string", + "readOnly": true, + "description": "Response body stating if the ledger is being restored." + } + } + }, + "ConfidentialLedger": { + "type": "object", + "description": "Confidential Ledger. Contains the properties of Confidential Ledger Resource.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "Properties of Confidential Ledger Resource.", + "$ref": "#/definitions/LedgerProperties" + } + } + }, + "ConfidentialLedgerList": { + "description": "Object that includes an array of Confidential Ledgers and a possible link for next set.", + "type": "object", + "properties": { + "value": { + "description": "List of Confidential Ledgers", + "type": "array", + "items": { + "$ref": "#/definitions/ConfidentialLedger" + } + }, + "nextLink": { + "description": "The URL the client should use to fetch the next page (per server side paging).", + "type": "string" + } + } + } + }, + "parameters": { + "LedgerNameParameter": { + "name": "ledgerName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the Confidential Ledger", + "pattern": "^[a-zA-Z0-9]", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/CheckNameAvailability.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/CheckNameAvailability.json new file mode 100644 index 000000000000..dd6164ffe7f6 --- /dev/null +++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/CheckNameAvailability.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2023-06-28-preview", + "nameAvailabilityRequest": { + "name": "sample-name", + "type": "Microsoft.ConfidentialLedger/ledgers" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ConfidentialLedger_Backup.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ConfidentialLedger_Backup.json new file mode 100644 index 000000000000..cadd6b038c47 --- /dev/null +++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ConfidentialLedger_Backup.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-06-28-preview", + "subscriptionId": "0000000-0000-0000-0000-000000000001", + "resourceGroupName": "DummyResourceGroupName", + "ledgerName": "DummyLedgerName", + "confidentialLedger": { + "restoreRegion": "EastUS", + "uri": "DummySASUri" + } + }, + "responses": { + "200": { + "body": { + "message": "Backup Created for Ledger: DummyLedgerName." + } + }, + "202": { + "headers": { + "azure-asyncoperation": "http://azure.async.operation/status" + } + } + } +} diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ConfidentialLedger_Create.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ConfidentialLedger_Create.json new file mode 100644 index 000000000000..ba65d0186c60 --- /dev/null +++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ConfidentialLedger_Create.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "api-version": "2023-06-28-preview", + "subscriptionId": "0000000-0000-0000-0000-000000000001", + "resourceGroupName": "DummyResourceGroupName", + "ledgerName": "DummyLedgerName", + "confidentialLedger": { + "properties": { + "ledgerType": "Public", + "aadBasedSecurityPrincipals": [ + { + "principalId": "34621747-6fc8-4771-a2eb-72f31c461f2e", + "tenantId": "bce123b9-2b7b-4975-8360-5ca0b9b1cd08", + "ledgerRoleName": "Administrator" + } + ], + "certBasedSecurityPrincipals": [ + { + "cert": "-----BEGIN CERTIFICATE-----MIIBsjCCATigAwIBAgIUZWIbyG79TniQLd2UxJuU74tqrKcwCgYIKoZIzj0EAwMwEDEOMAwGA1UEAwwFdXNlcjAwHhcNMjEwMzE2MTgwNjExWhcNMjIwMzE2MTgwNjExWjAQMQ4wDAYDVQQDDAV1c2VyMDB2MBAGByqGSM49AgEGBSuBBAAiA2IABBiWSo/j8EFit7aUMm5lF+lUmCu+IgfnpFD+7QMgLKtxRJ3aGSqgS/GpqcYVGddnODtSarNE/HyGKUFUolLPQ5ybHcouUk0kyfA7XMeSoUA4lBz63Wha8wmXo+NdBRo39qNTMFEwHQYDVR0OBBYEFPtuhrwgGjDFHeUUT4nGsXaZn69KMB8GA1UdIwQYMBaAFPtuhrwgGjDFHeUUT4nGsXaZn69KMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwMDaAAwZQIxAOnozm2CyqRwSSQLls5r+mUHRGRyXHXwYtM4Dcst/VEZdmS9fqvHRCHbjUlO/+HNfgIwMWZ4FmsjD3wnPxONOm9YdVn/PRD7SsPRPbOjwBiE4EBGaHDsLjYAGDSGi7NJnSkA-----END CERTIFICATE-----", + "ledgerRoleName": "Reader" + } + ] + }, + "location": "EastUS", + "tags": { + "additionalProps1": "additional properties" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "runningState": "Active", + "ledgerName": "DummyLedgerName", + "ledgerUri": "https://dummy.accledger.domain.com/DummyLedgerName", + "identityServiceUri": "https://dummy.accledger.identity.com/DummyLedgerName", + "ledgerType": "Public", + "ledgerInternalNamespace": "dummyNamespace", + "provisioningState": "Succeeded", + "aadBasedSecurityPrincipals": [ + { + "principalId": "34621747-6fc8-4771-a2eb-72f31c461f2e", + "tenantId": "bce123b9-2b7b-4975-8360-5ca0b9b1cd08", + "ledgerRoleName": "Administrator" + } + ], + "certBasedSecurityPrincipals": [ + { + "cert": "-----BEGIN CERTIFICATE-----\nMIIDUjCCAjqgAwIBAgIQJ2IrDBawSkiAbkBYmiAopDANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDExtTeW50aGV0aWNzIExlZGdlciBVc2VyIENlcnQwHhcNMjAwOTIzMjIxODQ2WhcNMjEwOTIzMjIyODQ2WjAmMSQwIgYDVQQDExtTeW50aGV0aWNzIExlZGdlciBVc2VyIENlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCX2s/Eu4q/eQ63N+Ugeg5oAciZua/YCJr41c/696szvSY7Zg1SNJlW88/nbz70+QpO55OmqlEE3QCU+T0Vl/h0Gf//n1PYcoBbTGUnYEmV+fTTHict6rFiEwrGJ62tvcpYgwapInSLyEeUzjki0zhOLJ1OfRnYd1eGnFVMpE5aVjiS8Q5dmTEUyd51EIprGE8RYAW9aeWSwTH7gjHUsRlJnHKcdhaK/v5QKJnNu5bzPFUcpC0ZBcizoMPAtroLAD4B68Jl0z3op18MgZe6lRrVoWuxfqnk5GojuB/Vu8ohAZKoFhQ6NB6r+LL2AUs+Zr7Bt26IkEdR178n9JMEA4gHAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBS/a7PU9iOfOKEyZCp11Oen5VSuuDAdBgNVHQ4EFgQUv2uz1PYjnzihMmQqddTnp+VUrrgwDQYJKoZIhvcNAQELBQADggEBAF5q2fDwnse8egXhfaJCqqM969E9gSacqFmASpoDJPRPEX7gqoO7v1ww7nqRtRDoRiBvo/yNk7jlSAkRN3nRRnZLZZ3MYQdmCr4FGyIqRg4Y94+nja+Du9pDD761rxRktMVPSOaAVM/E5DQvscDlPvlPYe9mkcrLCE4DXYpiMmLT8Tm55LJJq5m07dVDgzAIR1L/hmEcbK0pnLgzciMtMLxGO2udnyyW/UW9WxnjvrrD2JluTHH9mVbb+XQP1oFtlRBfH7aui1ZgWfKvxrdP4zdK9QoWSUvRux3TLsGmHRBjBMtqYDY3y5mB+aNjLelvWpeVb0m2aOSVXynrLwNCAVA=\n-----END CERTIFICATE-----", + "ledgerRoleName": "Reader" + } + ] + }, + "name": "DummyLedgerName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName", + "type": "Microsoft.ConfidentialLedger/ledgers", + "location": "EastUS", + "tags": { + "additionalProps1": "additional properties" + }, + "systemData": { + "createdBy": "ledgerAdmin@contoso.com", + "createdByType": "Admin1", + "createdAt": "2020-12-01T00:00:00.1234567Z", + "lastModifiedBy": "ledgerAdmin2@outlook.com", + "lastModifiedByType": "Admin2", + "lastModifiedAt": "2020-12-02T00:00:00.1234567Z" + } + } + }, + "201": { + "body": { + "properties": { + "runningState": "Unknown", + "ledgerName": "DummyLedgerName", + "ledgerType": "Public", + "ledgerInternalNamespace": "dummyNamespace", + "provisioningState": "Creating", + "aadBasedSecurityPrincipals": [ + { + "principalId": "34621747-6fc8-4771-a2eb-72f31c461f2e", + "tenantId": "bce123b9-2b7b-4975-8360-5ca0b9b1cd08", + "ledgerRoleName": "Administrator" + } + ], + "certBasedSecurityPrincipals": [ + { + "cert": "-----BEGIN CERTIFICATE-----\nMIIDUjCCAjqgAwIBAgIQJ2IrDBawSkiAbkBYmiAopDANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDExtTeW50aGV0aWNzIExlZGdlciBVc2VyIENlcnQwHhcNMjAwOTIzMjIxODQ2WhcNMjEwOTIzMjIyODQ2WjAmMSQwIgYDVQQDExtTeW50aGV0aWNzIExlZGdlciBVc2VyIENlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCX2s/Eu4q/eQ63N+Ugeg5oAciZua/YCJr41c/696szvSY7Zg1SNJlW88/nbz70+QpO55OmqlEE3QCU+T0Vl/h0Gf//n1PYcoBbTGUnYEmV+fTTHict6rFiEwrGJ62tvcpYgwapInSLyEeUzjki0zhOLJ1OfRnYd1eGnFVMpE5aVjiS8Q5dmTEUyd51EIprGE8RYAW9aeWSwTH7gjHUsRlJnHKcdhaK/v5QKJnNu5bzPFUcpC0ZBcizoMPAtroLAD4B68Jl0z3op18MgZe6lRrVoWuxfqnk5GojuB/Vu8ohAZKoFhQ6NB6r+LL2AUs+Zr7Bt26IkEdR178n9JMEA4gHAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBS/a7PU9iOfOKEyZCp11Oen5VSuuDAdBgNVHQ4EFgQUv2uz1PYjnzihMmQqddTnp+VUrrgwDQYJKoZIhvcNAQELBQADggEBAF5q2fDwnse8egXhfaJCqqM969E9gSacqFmASpoDJPRPEX7gqoO7v1ww7nqRtRDoRiBvo/yNk7jlSAkRN3nRRnZLZZ3MYQdmCr4FGyIqRg4Y94+nja+Du9pDD761rxRktMVPSOaAVM/E5DQvscDlPvlPYe9mkcrLCE4DXYpiMmLT8Tm55LJJq5m07dVDgzAIR1L/hmEcbK0pnLgzciMtMLxGO2udnyyW/UW9WxnjvrrD2JluTHH9mVbb+XQP1oFtlRBfH7aui1ZgWfKvxrdP4zdK9QoWSUvRux3TLsGmHRBjBMtqYDY3y5mB+aNjLelvWpeVb0m2aOSVXynrLwNCAVA=\n-----END CERTIFICATE-----", + "ledgerRoleName": "Reader" + } + ] + }, + "name": "DummyLedgerName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName", + "type": "Microsoft.ConfidentialLedger/ledgers", + "location": "EastUS", + "tags": { + "additionalProps1": "additional properties" + } + } + } + } +} diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ConfidentialLedger_Delete.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ConfidentialLedger_Delete.json new file mode 100644 index 000000000000..ee30404b375b --- /dev/null +++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ConfidentialLedger_Delete.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-06-28-preview", + "subscriptionId": "0000000-0000-0000-0000-000000000001", + "resourceGroupName": "DummyResourceGroupName", + "ledgerName": "DummyLedgerName" + }, + "responses": { + "200": { + "headers": { + "azure-asyncoperation": "http://azure.async.operation/status" + } + }, + "202": { + "headers": { + "azure-asyncoperation": "http://azure.async.operation/status" + } + }, + "204": { + "headers": { + "azure-asyncoperation": "http://azure.async.operation/status" + } + } + } +} diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ConfidentialLedger_Get.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ConfidentialLedger_Get.json new file mode 100644 index 000000000000..d1a9fd97e3c7 --- /dev/null +++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ConfidentialLedger_Get.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2023-06-28-preview", + "subscriptionId": "0000000-0000-0000-0000-000000000001", + "resourceGroupName": "DummyResourceGroupName", + "ledgerName": "DummyLedgerName" + }, + "responses": { + "200": { + "body": { + "properties": { + "ledgerName": "DummyLedgerName", + "ledgerUri": "https://dummy.accledger.domain.com/DummyLedgerName", + "identityServiceUri": "https://dummy.accledger.identity.com/DummyLedgerName", + "ledgerType": "Public", + "runningState": "Active", + "ledgerInternalNamespace": "dummyNamespace", + "provisioningState": "Succeeded", + "aadBasedSecurityPrincipals": [ + { + "principalId": "34621747-6fc8-4771-a2eb-72f31c461f2e", + "tenantId": "bce123b9-2b7b-4975-8360-5ca0b9b1cd08", + "ledgerRoleName": "Administrator" + } + ] + }, + "name": "DummyLedgerName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName", + "type": "Microsoft.ConfidentialLedger/ledgers", + "location": "EastUS", + "tags": { + "additionalProps1": "additional properties" + }, + "systemData": { + "createdBy": "ledgerAdmin@contoso.com", + "createdByType": "Admin1", + "createdAt": "2020-12-01T00:00:00.1234567Z", + "lastModifiedBy": "ledgerAdmin2@outlook.com", + "lastModifiedByType": "Admin2", + "lastModifiedAt": "2020-12-02T00:00:00.1234567Z" + } + } + } + } +} diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ConfidentialLedger_List.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ConfidentialLedger_List.json new file mode 100644 index 000000000000..cd2628e4f5bc --- /dev/null +++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ConfidentialLedger_List.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2023-06-28-preview", + "subscriptionId": "0000000-0000-0000-0000-000000000001", + "resourceGroupName": "DummyResourceGroupName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "runningState": "Active", + "ledgerName": "DummyLedgerName", + "ledgerUri": "https://dummy.accledger.domain.com/DummyLedgerName", + "identityServiceUri": "https://dummy.accledger.identity.com/DummyLedgerName", + "ledgerType": "Public", + "ledgerInternalNamespace": "dummyNamespace", + "provisioningState": "Succeeded", + "aadBasedSecurityPrincipals": [ + { + "principalId": "34621747-6fc8-4771-a2eb-72f31c461f2e", + "tenantId": "bce123b9-2b7b-4975-8360-5ca0b9b1cd08", + "ledgerRoleName": "Administrator" + } + ] + }, + "name": "DummyLedgerName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName", + "type": "Microsoft.ConfidentialLedger/ledgers", + "location": "EastUS", + "tags": { + "additionalProps1": "additional properties" + }, + "systemData": { + "createdBy": "ledgerAdmin@contoso.com", + "createdByType": "Admin1", + "createdAt": "2020-12-01T00:00:00.1234567Z", + "lastModifiedBy": "ledgerAdmin2@outlook.com", + "lastModifiedByType": "Admin2", + "lastModifiedAt": "2020-12-02T00:00:00.1234567Z" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ConfidentialLedger_ListBySub.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ConfidentialLedger_ListBySub.json new file mode 100644 index 000000000000..26a77bbbdeab --- /dev/null +++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ConfidentialLedger_ListBySub.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2023-06-28-preview", + "subscriptionId": "0000000-0000-0000-0000-000000000001" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "runningState": "Active", + "ledgerName": "DummyLedgerName", + "ledgerUri": "https://dummy.accledger.domain.com/DummyLedgerName", + "identityServiceUri": "https://dummy.accledger.identity.com/DummyLedgerName", + "ledgerType": "Public", + "ledgerInternalNamespace": "dummyNamespace", + "provisioningState": "Succeeded", + "certBasedSecurityPrincipals": [ + { + "cert": "-----BEGIN CERTIFICATE-----\nMIIDUjCCAjqgAwIBAgIQJ2IrDBawSkiAbkBYmiAopDANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDExtTeW50aGV0aWNzIExlZGdlciBVc2VyIENlcnQwHhcNMjAwOTIzMjIxODQ2WhcNMjEwOTIzMjIyODQ2WjAmMSQwIgYDVQQDExtTeW50aGV0aWNzIExlZGdlciBVc2VyIENlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCX2s/Eu4q/eQ63N+Ugeg5oAciZua/YCJr41c/696szvSY7Zg1SNJlW88/nbz70+QpO55OmqlEE3QCU+T0Vl/h0Gf//n1PYcoBbTGUnYEmV+fTTHict6rFiEwrGJ62tvcpYgwapInSLyEeUzjki0zhOLJ1OfRnYd1eGnFVMpE5aVjiS8Q5dmTEUyd51EIprGE8RYAW9aeWSwTH7gjHUsRlJnHKcdhaK/v5QKJnNu5bzPFUcpC0ZBcizoMPAtroLAD4B68Jl0z3op18MgZe6lRrVoWuxfqnk5GojuB/Vu8ohAZKoFhQ6NB6r+LL2AUs+Zr7Bt26IkEdR178n9JMEA4gHAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBS/a7PU9iOfOKEyZCp11Oen5VSuuDAdBgNVHQ4EFgQUv2uz1PYjnzihMmQqddTnp+VUrrgwDQYJKoZIhvcNAQELBQADggEBAF5q2fDwnse8egXhfaJCqqM969E9gSacqFmASpoDJPRPEX7gqoO7v1ww7nqRtRDoRiBvo/yNk7jlSAkRN3nRRnZLZZ3MYQdmCr4FGyIqRg4Y94+nja+Du9pDD761rxRktMVPSOaAVM/E5DQvscDlPvlPYe9mkcrLCE4DXYpiMmLT8Tm55LJJq5m07dVDgzAIR1L/hmEcbK0pnLgzciMtMLxGO2udnyyW/UW9WxnjvrrD2JluTHH9mVbb+XQP1oFtlRBfH7aui1ZgWfKvxrdP4zdK9QoWSUvRux3TLsGmHRBjBMtqYDY3y5mB+aNjLelvWpeVb0m2aOSVXynrLwNCAVA=\n-----END CERTIFICATE-----", + "ledgerRoleName": "Reader" + } + ] + }, + "name": "DummyLedgerName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName", + "type": "Microsoft.ConfidentialLedger/ledgers", + "location": "EastUS", + "tags": { + "additionalProps1": "additional properties" + }, + "systemData": { + "createdBy": "ledgerAdmin@contoso.com", + "createdByType": "Admin1", + "createdAt": "2020-12-01T00:00:00.1234567Z", + "lastModifiedBy": "ledgerAdmin2@outlook.com", + "lastModifiedByType": "Admin2", + "lastModifiedAt": "2020-12-02T00:00:00.1234567Z" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ConfidentialLedger_Restore.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ConfidentialLedger_Restore.json new file mode 100644 index 000000000000..a1b27c4235f2 --- /dev/null +++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ConfidentialLedger_Restore.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-06-28-preview", + "subscriptionId": "0000000-0000-0000-0000-000000000001", + "resourceGroupName": "DummyResourceGroupName", + "ledgerName": "DummyLedgerName", + "confidentialLedger": { + "fileShareName": "DummyFileShareName", + "restoreRegion": "EastUS", + "uri": "DummySASUri" + } + }, + "responses": { + "200": { + "body": { + "message": "Restore Created for Ledger : DummyLedgerName." + } + }, + "202": { + "headers": { + "azure-asyncoperation": "http://azure.async.operation/status" + } + } + } +} diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ConfidentialLedger_Update.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ConfidentialLedger_Update.json new file mode 100644 index 000000000000..b648033d4d83 --- /dev/null +++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ConfidentialLedger_Update.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2023-06-28-preview", + "subscriptionId": "0000000-0000-0000-0000-000000000001", + "resourceGroupName": "DummyResourceGroupName", + "ledgerName": "DummyLedgerName", + "confidentialLedger": { + "properties": { + "ledgerType": "Public", + "aadBasedSecurityPrincipals": [ + { + "principalId": "34621747-6fc8-4771-a2eb-72f31c461f2e", + "tenantId": "bce123b9-2b7b-4975-8360-5ca0b9b1cd08", + "ledgerRoleName": "Administrator" + } + ], + "certBasedSecurityPrincipals": [ + { + "cert": "-----BEGIN CERTIFICATE-----\nMIIDUjCCAjqgAwIBAgIQJ2IrDBawSkiAbkBYmiAopDANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDExtTeW50aGV0aWNzIExlZGdlciBVc2VyIENlcnQwHhcNMjAwOTIzMjIxODQ2WhcNMjEwOTIzMjIyODQ2WjAmMSQwIgYDVQQDExtTeW50aGV0aWNzIExlZGdlciBVc2VyIENlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCX2s/Eu4q/eQ63N+Ugeg5oAciZua/YCJr41c/696szvSY7Zg1SNJlW88/nbz70+QpO55OmqlEE3QCU+T0Vl/h0Gf//n1PYcoBbTGUnYEmV+fTTHict6rFiEwrGJ62tvcpYgwapInSLyEeUzjki0zhOLJ1OfRnYd1eGnFVMpE5aVjiS8Q5dmTEUyd51EIprGE8RYAW9aeWSwTH7gjHUsRlJnHKcdhaK/v5QKJnNu5bzPFUcpC0ZBcizoMPAtroLAD4B68Jl0z3op18MgZe6lRrVoWuxfqnk5GojuB/Vu8ohAZKoFhQ6NB6r+LL2AUs+Zr7Bt26IkEdR178n9JMEA4gHAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBS/a7PU9iOfOKEyZCp11Oen5VSuuDAdBgNVHQ4EFgQUv2uz1PYjnzihMmQqddTnp+VUrrgwDQYJKoZIhvcNAQELBQADggEBAF5q2fDwnse8egXhfaJCqqM969E9gSacqFmASpoDJPRPEX7gqoO7v1ww7nqRtRDoRiBvo/yNk7jlSAkRN3nRRnZLZZ3MYQdmCr4FGyIqRg4Y94+nja+Du9pDD761rxRktMVPSOaAVM/E5DQvscDlPvlPYe9mkcrLCE4DXYpiMmLT8Tm55LJJq5m07dVDgzAIR1L/hmEcbK0pnLgzciMtMLxGO2udnyyW/UW9WxnjvrrD2JluTHH9mVbb+XQP1oFtlRBfH7aui1ZgWfKvxrdP4zdK9QoWSUvRux3TLsGmHRBjBMtqYDY3y5mB+aNjLelvWpeVb0m2aOSVXynrLwNCAVA=\n-----END CERTIFICATE-----", + "ledgerRoleName": "Reader" + } + ] + }, + "location": "EastUS", + "tags": { + "additionalProps1": "additional properties", + "additionProps2": "additional property value" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "runningState": "Active", + "ledgerName": "DummyLedgerName", + "ledgerUri": "https://dummyledgername.confidential-ledger.azure.com", + "identityServiceUri": "https://identity.confidential-ledger.core.azure.com/ledgerIdentity/dummyledgername", + "ledgerType": "Public", + "ledgerInternalNamespace": "dummyNamespace", + "provisioningState": "Succeeded", + "aadBasedSecurityPrincipals": [ + { + "principalId": "34621747-6fc8-4771-a2eb-72f31c461f2e", + "tenantId": "bce123b9-2b7b-4975-8360-5ca0b9b1cd08", + "ledgerRoleName": "Administrator" + } + ], + "certBasedSecurityPrincipals": [ + { + "cert": "-----BEGIN CERTIFICATE-----\nMIIDUjCCAjqgAwIBAgIQJ2IrDBawSkiAbkBYmiAopDANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDExtTeW50aGV0aWNzIExlZGdlciBVc2VyIENlcnQwHhcNMjAwOTIzMjIxODQ2WhcNMjEwOTIzMjIyODQ2WjAmMSQwIgYDVQQDExtTeW50aGV0aWNzIExlZGdlciBVc2VyIENlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCX2s/Eu4q/eQ63N+Ugeg5oAciZua/YCJr41c/696szvSY7Zg1SNJlW88/nbz70+QpO55OmqlEE3QCU+T0Vl/h0Gf//n1PYcoBbTGUnYEmV+fTTHict6rFiEwrGJ62tvcpYgwapInSLyEeUzjki0zhOLJ1OfRnYd1eGnFVMpE5aVjiS8Q5dmTEUyd51EIprGE8RYAW9aeWSwTH7gjHUsRlJnHKcdhaK/v5QKJnNu5bzPFUcpC0ZBcizoMPAtroLAD4B68Jl0z3op18MgZe6lRrVoWuxfqnk5GojuB/Vu8ohAZKoFhQ6NB6r+LL2AUs+Zr7Bt26IkEdR178n9JMEA4gHAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBS/a7PU9iOfOKEyZCp11Oen5VSuuDAdBgNVHQ4EFgQUv2uz1PYjnzihMmQqddTnp+VUrrgwDQYJKoZIhvcNAQELBQADggEBAF5q2fDwnse8egXhfaJCqqM969E9gSacqFmASpoDJPRPEX7gqoO7v1ww7nqRtRDoRiBvo/yNk7jlSAkRN3nRRnZLZZ3MYQdmCr4FGyIqRg4Y94+nja+Du9pDD761rxRktMVPSOaAVM/E5DQvscDlPvlPYe9mkcrLCE4DXYpiMmLT8Tm55LJJq5m07dVDgzAIR1L/hmEcbK0pnLgzciMtMLxGO2udnyyW/UW9WxnjvrrD2JluTHH9mVbb+XQP1oFtlRBfH7aui1ZgWfKvxrdP4zdK9QoWSUvRux3TLsGmHRBjBMtqYDY3y5mB+aNjLelvWpeVb0m2aOSVXynrLwNCAVA=\n-----END CERTIFICATE-----", + "ledgerRoleName": "Reader" + } + ] + }, + "name": "DummyLedgerName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName", + "type": "Microsoft.ConfidentialLedger/ledgers", + "location": "EastUS", + "tags": { + "additionalProps1": "additional properties", + "additionProps2": "additional property value" + }, + "systemData": { + "createdBy": "ledgerAdmin@contoso.com", + "createdByType": "Admin1", + "createdAt": "2020-12-01T00:00:00.1234567Z", + "lastModifiedBy": "ledgerAdmin2@outlook.com", + "lastModifiedByType": "Admin2", + "lastModifiedAt": "2020-12-02T00:00:00.1234567Z" + } + } + }, + "201": {} + } +} diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ManagedCCF_Backup.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ManagedCCF_Backup.json new file mode 100644 index 000000000000..66c69c1f0eee --- /dev/null +++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ManagedCCF_Backup.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-06-28-preview", + "subscriptionId": "0000000-0000-0000-0000-000000000001", + "resourceGroupName": "DummyResourceGroupName", + "appName": "DummyMccfAppName", + "ManagedCCF": { + "restoreRegion": "EastUS", + "uri": "DummySASUri" + } + }, + "responses": { + "200": { + "body": { + "message": "Backup Created for ManagedCCF App : DummyMccfAppName." + } + }, + "202": { + "headers": { + "azure-asyncoperation": "http://azure.async.operation/status" + } + } + } +} diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ManagedCCF_Create.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ManagedCCF_Create.json new file mode 100644 index 000000000000..9b7bcbe3b803 --- /dev/null +++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ManagedCCF_Create.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2023-06-28-preview", + "subscriptionId": "0000000-0000-0000-0000-000000000001", + "resourceGroupName": "DummyResourceGroupName", + "appName": "DummyMccfAppName", + "ManagedCCF": { + "properties": { + "deploymentType": { + "languageRuntime": "CPP", + "appSourceUri": "https://myaccount.blob.core.windows.net/storage/mccfsource?sv=2022-02-11%st=2022-03-11" + }, + "memberIdentityCertificates": [ + { + "certificate": "-----BEGIN CERTIFICATE-----MIIBsjCCATigAwIBAgIUZWIbyG79TniQLd2UxJuU74tqrKcwCgYIKoZIzj0EAwMwEDEOMAwGA1UEAwwFdXNlcjAwHhcNMjEwMzE2MTgwNjExWhcNMjIwMzE2MTgwNjExWjAQMQ4wDAYDVQQDDAV1c2VyMDB2MBAGByqGSM49AgEGBSuBBAAiA2IABBiWSo/j8EFit7aUMm5lF+lUmCu+IgfnpFD+7QMgLKtxRJ3aGSqgS/GpqcYVGddnODtSarNE/HyGKUFUolLPQ5ybHcouUk0kyfA7XMeSoUA4lBz63Wha8wmXo+NdBRo39qNTMFEwHQYDVR0OBBYEFPtuhrwgGjDFHeUUT4nGsXaZn69KMB8GA1UdIwQYMBaAFPtuhrwgGjDFHeUUT4nGsXaZn69KMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwMDaAAwZQIxAOnozm2CyqRwSSQLls5r+mUHRGRyXHXwYtM4Dcst/VEZdmS9fqvHRCHbjUlO/+HNfgIwMWZ4FmsjD3wnPxONOm9YdVn/PRD7SsPRPbOjwBiE4EBGaHDsLjYAGDSGi7NJnSkA-----END CERTIFICATE-----", + "encryptionkey": "ledgerencryptionkey", + "tags": { + "additionalProps1": "additional properties" + } + } + ], + "nodeCount": 5 + }, + "location": "EastUS", + "tags": { + "additionalProps1": "additional properties" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "appName": "DummyMccfAppName", + "appUri": "https://dummy.accledger.domain.com/DummyLedgerName", + "identityServiceUri": "https://dummy.accledger.identity.com/DummyLedgerName", + "deploymentType": { + "languageRuntime": "CPP", + "appSourceUri": "https://myaccount.blob.core.windows.net/storage/mccfsource?sv=2022-02-11%st=2022-03-11" + }, + "memberIdentityCertificates": [ + { + "certificate": "-----BEGIN CERTIFICATE-----MIIBsjCCATigAwIBAgIUZWIbyG79TniQLd2UxJuU74tqrKcwCgYIKoZIzj0EAwMwEDEOMAwGA1UEAwwFdXNlcjAwHhcNMjEwMzE2MTgwNjExWhcNMjIwMzE2MTgwNjExWjAQMQ4wDAYDVQQDDAV1c2VyMDB2MBAGByqGSM49AgEGBSuBBAAiA2IABBiWSo/j8EFit7aUMm5lF+lUmCu+IgfnpFD+7QMgLKtxRJ3aGSqgS/GpqcYVGddnODtSarNE/HyGKUFUolLPQ5ybHcouUk0kyfA7XMeSoUA4lBz63Wha8wmXo+NdBRo39qNTMFEwHQYDVR0OBBYEFPtuhrwgGjDFHeUUT4nGsXaZn69KMB8GA1UdIwQYMBaAFPtuhrwgGjDFHeUUT4nGsXaZn69KMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwMDaAAwZQIxAOnozm2CyqRwSSQLls5r+mUHRGRyXHXwYtM4Dcst/VEZdmS9fqvHRCHbjUlO/+HNfgIwMWZ4FmsjD3wnPxONOm9YdVn/PRD7SsPRPbOjwBiE4EBGaHDsLjYAGDSGi7NJnSkA-----END CERTIFICATE-----", + "encryptionkey": "ledgerencryptionkey", + "tags": { + "additionalProps1": "additional properties" + } + } + ], + "provisioningState": "Succeeded" + }, + "name": "DummyLedgerName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName", + "type": "Microsoft.ConfidentialLedger/ManagedCCFs", + "location": "EastUS", + "tags": { + "additionalProps1": "additional properties" + }, + "systemData": { + "createdBy": "ledgerAdmin@contoso.com", + "createdByType": "Admin1", + "createdAt": "2020-12-01T00:00:00.1234567Z", + "lastModifiedBy": "ledgerAdmin2@outlook.com", + "lastModifiedByType": "Admin2", + "lastModifiedAt": "2020-12-02T00:00:00.1234567Z" + } + } + }, + "201": {} + } +} diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ManagedCCF_Delete.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ManagedCCF_Delete.json new file mode 100644 index 000000000000..f36c89af2b70 --- /dev/null +++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ManagedCCF_Delete.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-06-28-preview", + "subscriptionId": "0000000-0000-0000-0000-000000000001", + "resourceGroupName": "DummyResourceGroupName", + "appName": "DummyMccfAppName" + }, + "responses": { + "200": { + "headers": { + "azure-asyncoperation": "http://azure.async.operation/status" + } + }, + "202": { + "headers": { + "azure-asyncoperation": "http://azure.async.operation/status" + } + }, + "204": { + "headers": { + "azure-asyncoperation": "http://azure.async.operation/status" + } + } + } +} diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ManagedCCF_Get.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ManagedCCF_Get.json new file mode 100644 index 000000000000..6ad9f09c0b75 --- /dev/null +++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ManagedCCF_Get.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2023-06-28-preview", + "subscriptionId": "0000000-0000-0000-0000-000000000001", + "resourceGroupName": "DummyResourceGroupName", + "appName": "DummyMccfAppName" + }, + "responses": { + "200": { + "body": { + "properties": { + "appName": "DummyMccfAppName", + "appUri": "https://dummy.accledger.domain.com/DummyLedgerName", + "identityServiceUri": "https://dummy.accledger.identity.com/DummyLedgerName", + "deploymentType": { + "languageRuntime": "CPP", + "appSourceUri": "https://myaccount.blob.core.windows.net/storage/mccfsource?sv=2022-02-11%st=2022-03-11" + }, + "memberIdentityCertificates": [ + { + "certificate": "-----BEGIN CERTIFICATE-----MIIBsjCCATigAwIBAgIUZWIbyG79TniQLd2UxJuU74tqrKcwCgYIKoZIzj0EAwMwEDEOMAwGA1UEAwwFdXNlcjAwHhcNMjEwMzE2MTgwNjExWhcNMjIwMzE2MTgwNjExWjAQMQ4wDAYDVQQDDAV1c2VyMDB2MBAGByqGSM49AgEGBSuBBAAiA2IABBiWSo/j8EFit7aUMm5lF+lUmCu+IgfnpFD+7QMgLKtxRJ3aGSqgS/GpqcYVGddnODtSarNE/HyGKUFUolLPQ5ybHcouUk0kyfA7XMeSoUA4lBz63Wha8wmXo+NdBRo39qNTMFEwHQYDVR0OBBYEFPtuhrwgGjDFHeUUT4nGsXaZn69KMB8GA1UdIwQYMBaAFPtuhrwgGjDFHeUUT4nGsXaZn69KMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwMDaAAwZQIxAOnozm2CyqRwSSQLls5r+mUHRGRyXHXwYtM4Dcst/VEZdmS9fqvHRCHbjUlO/+HNfgIwMWZ4FmsjD3wnPxONOm9YdVn/PRD7SsPRPbOjwBiE4EBGaHDsLjYAGDSGi7NJnSkA-----END CERTIFICATE-----", + "encryptionkey": "ledgerencryptionkey", + "tags": { + "additionalProps1": "additional properties" + } + } + ] + }, + "name": "DummyMccfAppName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000001/providers/Microsoft.ConfidentialLedger/ManagedCCFs/DummyLedgerName", + "type": "Microsoft.ConfidentialLedger/ManagedCCFs", + "location": "EastUS", + "tags": { + "additionalProps1": "additional properties" + }, + "systemData": { + "createdBy": "ledgerAdmin@contoso.com", + "createdByType": "Admin1", + "createdAt": "2020-12-01T00:00:00.1234567Z", + "lastModifiedBy": "ledgerAdmin2@outlook.com", + "lastModifiedByType": "Admin2", + "lastModifiedAt": "2020-12-02T00:00:00.1234567Z" + } + } + } + } +} diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ManagedCCF_List.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ManagedCCF_List.json new file mode 100644 index 000000000000..e8270bb06411 --- /dev/null +++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ManagedCCF_List.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-06-28-preview", + "subscriptionId": "0000000-0000-0000-0000-000000000001", + "resourceGroupName": "DummyResourceGroupName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "appName": "DummyMccfAppName", + "appUri": "https://dummy.accledger.domain.com/DummyLedgerName", + "identityServiceUri": "https://dummy.accledger.identity.com/DummyLedgerName", + "deploymentType": { + "languageRuntime": "CPP", + "appSourceUri": "https://myaccount.blob.core.windows.net/storage/mccfsource?sv=2022-02-11%st=2022-03-11" + }, + "memberIdentityCertificates": [ + { + "certificate": "-----BEGIN CERTIFICATE-----MIIBsjCCATigAwIBAgIUZWIbyG79TniQLd2UxJuU74tqrKcwCgYIKoZIzj0EAwMwEDEOMAwGA1UEAwwFdXNlcjAwHhcNMjEwMzE2MTgwNjExWhcNMjIwMzE2MTgwNjExWjAQMQ4wDAYDVQQDDAV1c2VyMDB2MBAGByqGSM49AgEGBSuBBAAiA2IABBiWSo/j8EFit7aUMm5lF+lUmCu+IgfnpFD+7QMgLKtxRJ3aGSqgS/GpqcYVGddnODtSarNE/HyGKUFUolLPQ5ybHcouUk0kyfA7XMeSoUA4lBz63Wha8wmXo+NdBRo39qNTMFEwHQYDVR0OBBYEFPtuhrwgGjDFHeUUT4nGsXaZn69KMB8GA1UdIwQYMBaAFPtuhrwgGjDFHeUUT4nGsXaZn69KMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwMDaAAwZQIxAOnozm2CyqRwSSQLls5r+mUHRGRyXHXwYtM4Dcst/VEZdmS9fqvHRCHbjUlO/+HNfgIwMWZ4FmsjD3wnPxONOm9YdVn/PRD7SsPRPbOjwBiE4EBGaHDsLjYAGDSGi7NJnSkA-----END CERTIFICATE-----", + "encryptionkey": "ledgerencryptionkey", + "tags": { + "additionalProps1": "additional properties" + } + } + ], + "provisioningState": "Succeeded" + }, + "name": "DummyLedgerName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000001/providers/Microsoft.ConfidentialLedger/ManagedCCFs/DummyLedgerName", + "type": "Microsoft.ConfidentialLedger/ManagedCCFs", + "location": "EastUS", + "tags": { + "additionalProps1": "additional properties" + }, + "systemData": { + "createdBy": "ledgerAdmin@contoso.com", + "createdByType": "Admin1", + "createdAt": "2020-12-01T00:00:00.1234567Z", + "lastModifiedBy": "ledgerAdmin2@outlook.com", + "lastModifiedByType": "Admin2", + "lastModifiedAt": "2020-12-02T00:00:00.1234567Z" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ManagedCCF_ListBySub.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ManagedCCF_ListBySub.json new file mode 100644 index 000000000000..864cebe52089 --- /dev/null +++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ManagedCCF_ListBySub.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2023-06-28-preview", + "subscriptionId": "0000000-0000-0000-0000-000000000001" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "appName": "DummyMccfAppName", + "appUri": "https://dummy.accledger.domain.com/DummyLedgerName", + "identityServiceUri": "https://dummy.accledger.identity.com/DummyLedgerName", + "deploymentType": { + "languageRuntime": "CPP", + "appSourceUri": "https://myaccount.blob.core.windows.net/storage/mccfsource?sv=2022-02-11%st=2022-03-11" + }, + "memberIdentityCertificates": [ + { + "certificate": "-----BEGIN CERTIFICATE-----MIIBsjCCATigAwIBAgIUZWIbyG79TniQLd2UxJuU74tqrKcwCgYIKoZIzj0EAwMwEDEOMAwGA1UEAwwFdXNlcjAwHhcNMjEwMzE2MTgwNjExWhcNMjIwMzE2MTgwNjExWjAQMQ4wDAYDVQQDDAV1c2VyMDB2MBAGByqGSM49AgEGBSuBBAAiA2IABBiWSo/j8EFit7aUMm5lF+lUmCu+IgfnpFD+7QMgLKtxRJ3aGSqgS/GpqcYVGddnODtSarNE/HyGKUFUolLPQ5ybHcouUk0kyfA7XMeSoUA4lBz63Wha8wmXo+NdBRo39qNTMFEwHQYDVR0OBBYEFPtuhrwgGjDFHeUUT4nGsXaZn69KMB8GA1UdIwQYMBaAFPtuhrwgGjDFHeUUT4nGsXaZn69KMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwMDaAAwZQIxAOnozm2CyqRwSSQLls5r+mUHRGRyXHXwYtM4Dcst/VEZdmS9fqvHRCHbjUlO/+HNfgIwMWZ4FmsjD3wnPxONOm9YdVn/PRD7SsPRPbOjwBiE4EBGaHDsLjYAGDSGi7NJnSkA-----END CERTIFICATE-----", + "encryptionkey": "ledgerencryptionkey", + "tags": { + "additionalProps1": "additional properties" + } + } + ], + "provisioningState": "Succeeded" + }, + "name": "DummyLedgerName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000001/providers/Microsoft.ConfidentialLedger/ManagedCCFs/DummyLedgerName", + "type": "Microsoft.ConfidentialLedger/ManagedCCFs", + "location": "EastUS", + "tags": { + "additionalProps1": "additional properties" + }, + "systemData": { + "createdBy": "ledgerAdmin@contoso.com", + "createdByType": "Admin1", + "createdAt": "2020-12-01T00:00:00.1234567Z", + "lastModifiedBy": "ledgerAdmin2@outlook.com", + "lastModifiedByType": "Admin2", + "lastModifiedAt": "2020-12-02T00:00:00.1234567Z" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ManagedCCF_Restore.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ManagedCCF_Restore.json new file mode 100644 index 000000000000..1a5e29f3a1b3 --- /dev/null +++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ManagedCCF_Restore.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-06-28-preview", + "subscriptionId": "0000000-0000-0000-0000-000000000001", + "resourceGroupName": "DummyResourceGroupName", + "appName": "DummyMccfAppName", + "ManagedCCF": { + "fileShareName": "DummyFileShareName", + "restoreRegion": "EastUS", + "uri": "DummySASUri" + } + }, + "responses": { + "200": { + "body": { + "message": "Restore Created for ManagedCCF App : DummyMccfAppName." + } + }, + "202": { + "headers": { + "azure-asyncoperation": "http://azure.async.operation/status" + } + } + } +} diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ManagedCCF_Update.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ManagedCCF_Update.json new file mode 100644 index 000000000000..ff99b6779b67 --- /dev/null +++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/ManagedCCF_Update.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2023-06-28-preview", + "subscriptionId": "0000000-0000-0000-0000-000000000001", + "resourceGroupName": "DummyResourceGroupName", + "appName": "DummyMccfAppName", + "ManagedCCF": { + "properties": { + "deploymentType": { + "languageRuntime": "CPP", + "appSourceUri": "https://myaccount.blob.core.windows.net/storage/mccfsource?sv=2022-02-11%st=2022-03-11" + } + }, + "location": "EastUS", + "tags": { + "additionalProps1": "additional properties" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "runningState": "Active", + "appName": "DummyMccfAppName", + "appUri": "https://dummy.accledger.domain.com/DummyLedgerName", + "identityServiceUri": "https://dummy.accledger.identity.com/DummyLedgerName", + "deploymentType": { + "languageRuntime": "CPP", + "appSourceUri": "https://myaccount.blob.core.windows.net/storage/mccfsource?sv=2022-02-11%st=2022-03-11" + }, + "memberIdentityCertificates": [ + { + "certificate": "-----BEGIN CERTIFICATE-----MIIBsjCCATigAwIBAgIUZWIbyG79TniQLd2UxJuU74tqrKcwCgYIKoZIzj0EAwMwEDEOMAwGA1UEAwwFdXNlcjAwHhcNMjEwMzE2MTgwNjExWhcNMjIwMzE2MTgwNjExWjAQMQ4wDAYDVQQDDAV1c2VyMDB2MBAGByqGSM49AgEGBSuBBAAiA2IABBiWSo/j8EFit7aUMm5lF+lUmCu+IgfnpFD+7QMgLKtxRJ3aGSqgS/GpqcYVGddnODtSarNE/HyGKUFUolLPQ5ybHcouUk0kyfA7XMeSoUA4lBz63Wha8wmXo+NdBRo39qNTMFEwHQYDVR0OBBYEFPtuhrwgGjDFHeUUT4nGsXaZn69KMB8GA1UdIwQYMBaAFPtuhrwgGjDFHeUUT4nGsXaZn69KMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwMDaAAwZQIxAOnozm2CyqRwSSQLls5r+mUHRGRyXHXwYtM4Dcst/VEZdmS9fqvHRCHbjUlO/+HNfgIwMWZ4FmsjD3wnPxONOm9YdVn/PRD7SsPRPbOjwBiE4EBGaHDsLjYAGDSGi7NJnSkA-----END CERTIFICATE-----", + "encryptionkey": "ledgerencryptionkey", + "tags": { + "additionalProps1": "additional properties" + } + } + ], + "provisioningState": "Succeeded" + }, + "name": "DummyLedgerName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName", + "type": "Microsoft.ConfidentialLedger/ManagedCCFs", + "location": "EastUS", + "tags": { + "additionalProps1": "additional properties" + }, + "systemData": { + "createdBy": "ledgerAdmin@contoso.com", + "createdByType": "Admin1", + "createdAt": "2020-12-01T00:00:00.1234567Z", + "lastModifiedBy": "ledgerAdmin2@outlook.com", + "lastModifiedByType": "Admin2", + "lastModifiedAt": "2020-12-02T00:00:00.1234567Z" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "http://azure.async.operation/status" + } + } + } +} diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/Operations_Get.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/Operations_Get.json new file mode 100644 index 000000000000..36afe8be3546 --- /dev/null +++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples/Operations_Get.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2023-06-28-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.ConfidentialLedger/ledgers/read", + "isDataAction": false, + "display": { + "resource": "ledger", + "operation": "Get Confidential Ledger properties", + "description": "View the properties of a Confidential Ledger" + } + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/managedccf.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/managedccf.json new file mode 100644 index 000000000000..5d852b8ddd34 --- /dev/null +++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/managedccf.json @@ -0,0 +1,710 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-06-28-preview", + "title": "ConfidentialLedger", + "description": "Microsoft Azure Confidential Compute Ledger Managed CCF Control Plane REST API version 2023-06-28-preview." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/managedCCFs/{appName}": { + "get": { + "tags": [ + "Managed CCF" + ], + "summary": "Retrieves information about a Managed CCF resource.", + "description": "Retrieves the properties of a Managed CCF app.", + "operationId": "ManagedCCF_Get", + "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" + }, + { + "$ref": "#/parameters/ManagedCCFNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; response contains the Managed CCF", + "schema": { + "$ref": "#/definitions/ManagedCCF" + } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ManagedCCFGet": { + "$ref": "./examples/ManagedCCF_Get.json" + } + } + }, + "delete": { + "tags": [ + "Managed CCF" + ], + "summary": "Deletes a Managed CCF resource.", + "description": "Deletes an existing Managed CCF.", + "operationId": "ManagedCCF_Delete", + "x-ms-long-running-operation": true, + "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" + }, + { + "$ref": "#/parameters/ManagedCCFNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the Managed CCF is deleted." + }, + "202": { + "description": "The Managed CCF resource will be deleted asynchronously" + }, + "204": { + "description": "The request was successful; Managed CCF does not exist." + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ConfidentialLedgerDelete": { + "$ref": "./examples/ManagedCCF_Delete.json" + } + } + }, + "put": { + "tags": [ + "Managed CCF" + ], + "summary": "Creates a Managed CCF.", + "description": "Creates a Managed CCF with the specified Managed CCF parameters.", + "operationId": "ManagedCCF_Create", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "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" + }, + { + "$ref": "#/parameters/ManagedCCFNameParameter" + }, + { + "name": "ManagedCCF", + "in": "body", + "description": "Managed CCF Create Request Body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedCCF" + } + } + ], + "responses": { + "200": { + "description": "The request was successful and ledger was created; response contains the Managed CCF", + "schema": { + "$ref": "#/definitions/ManagedCCF" + } + }, + "201": { + "description": "The Managed CCF resource will be created asynchronously" + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ManagedCCFCreate": { + "$ref": "./examples/ManagedCCF_Create.json" + } + } + }, + "patch": { + "tags": [ + "Managed CCF" + ], + "summary": "Update Managed CCF properties", + "description": "Updates properties of Managed CCF", + "operationId": "ManagedCCF_Update", + "x-ms-long-running-operation": true, + "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" + }, + { + "$ref": "#/parameters/ManagedCCFNameParameter" + }, + { + "name": "ManagedCCF", + "in": "body", + "description": "Request body for Updating Managed CCF App", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedCCF" + } + } + ], + "responses": { + "200": { + "description": "The request was successful and Managed CCF was updated; response contains the Managed CCF.", + "schema": { + "$ref": "#/definitions/ManagedCCF" + } + }, + "202": { + "description": "The Confidential Ledger resource will be updated asynchronously. Check the provisioningState field to monitor the progress of your operation." + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ManagedCCFUpdate": { + "$ref": "./examples/ManagedCCF_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/managedCCFs": { + "get": { + "tags": [ + "Managed CCF" + ], + "summary": "Retrieves information about all Managed CCF resources under the given subscription and resource group", + "description": "Retrieves the properties of all Managed CCF apps.", + "operationId": "ManagedCCF_ListByResourceGroup", + "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" + }, + { + "type": "string", + "description": "The filter to apply on the list operation. eg. $filter=ledgerType eq 'Public'", + "name": "$filter", + "in": "query" + } + ], + "responses": { + "200": { + "description": "The request was successful; response contains the Managed CCF", + "schema": { + "$ref": "#/definitions/ManagedCCFList" + } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ManagedCCFList": { + "$ref": "./examples/ManagedCCF_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ConfidentialLedger/managedCCFs/": { + "get": { + "tags": [ + "Managed CCF" + ], + "summary": "Retrieves information about all Managed CCF resources under the given subscription", + "description": "Retrieves the properties of all Managed CCF.", + "operationId": "ManagedCCF_ListBySubscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "type": "string", + "description": "The filter to apply on the list operation. eg. $filter=ledgerType eq 'Public'", + "name": "$filter", + "in": "query" + } + ], + "responses": { + "200": { + "description": "The request was successful; response contains the list of Managed CCF", + "schema": { + "$ref": "#/definitions/ManagedCCFList" + } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ManagedCCFListBySub": { + "$ref": "./examples/ManagedCCF_ListBySub.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/managedCCFs/{appName}/backup": { + "post": { + "tags": [ + "Managed CCF" + ], + "summary": "Performs the backup operation on a Managed CCF Resource.", + "description": "Backs up a Managed CCF Resource.", + "operationId": "ManagedCCF_Backup", + "x-ms-long-running-operation": true, + "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" + }, + { + "$ref": "#/parameters/ManagedCCFNameParameter" + }, + { + "name": "ManagedCCF", + "in": "body", + "description": "Managed CCF Backup Request Body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedCCFBackup" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; response contains a message stating the Managed CCF Resource is successfully being backed up.", + "schema": { + "$ref": "#/definitions/ManagedCCFBackupResponse" + } + }, + "202": { + "description": "The Managed CCF Resource will be backed up asynchronously." + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ManagedCCFBackup": { + "$ref": "./examples/ManagedCCF_Backup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/managedCCFs/{appName}/restore": { + "post": { + "tags": [ + "Managed CCF" + ], + "summary": "Performs the restore operation to spin up a newly restored Managed CCF Resource.", + "description": "Restores a Managed CCF Resource.", + "operationId": "ManagedCCF_Restore", + "x-ms-long-running-operation": true, + "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" + }, + { + "$ref": "#/parameters/ManagedCCFNameParameter" + }, + { + "name": "ManagedCCF", + "in": "body", + "description": "Managed CCF Restore Request Body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedCCFRestore" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; response contains a message stating the Managed CCF Resource is successfully being restored.", + "schema": { + "$ref": "#/definitions/ManagedCCFRestoreResponse" + } + }, + "202": { + "description": "The Managed CCF Resource will be restored asynchronously. Check the provisioningState field to monitor the progress of your operation." + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ManagedCCFRestore": { + "$ref": "./examples/ManagedCCF_Restore.json" + } + } + } + } + }, + "definitions": { + "ProvisioningState": { + "type": "string", + "description": "Object representing ProvisioningState for Managed CCF.", + "enum": [ + "Unknown", + "Succeeded", + "Failed", + "Canceled", + "Creating", + "Deleting", + "Updating" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "RunningState": { + "type": "string", + "description": "Object representing RunningState for Managed CCF.", + "enum": [ + "Active", + "Paused", + "Unknown", + "Pausing", + "Resuming" + ], + "x-ms-enum": { + "name": "RunningState", + "modelAsString": true + } + }, + "LanguageRuntime": { + "type": "string", + "description": "Object representing LanguageRuntime for Manged CCF.", + "enum": [ + "CPP", + "JS" + ], + "x-ms-enum": { + "name": "LanguageRuntime", + "modelAsString": true + } + }, + "DeploymentType": { + "type": "object", + "description": "Object representing DeploymentType for Managed CCF.", + "title": "DeploymentType", + "properties": { + "languageRuntime": { + "readOnly": false, + "description": "Unique name for the Managed CCF.", + "$ref": "#/definitions/LanguageRuntime" + }, + "appSourceUri": { + "type": "string", + "readOnly": false, + "description": "Source Uri containing ManagedCCF code" + } + } + }, + "CertificateTags": { + "description": "Tags for Managed CCF Certificates", + "type": "object", + "properties": { + "tags": { + "type": "object", + "description": "Additional tags for Managed CCF Certificates", + "additionalProperties": { + "type": "string" + } + } + } + }, + "MemberIdentityCertificate": { + "type": "object", + "description": "Object representing MemberIdentityCertificate for Managed CCF.", + "title": "MemberIdentityCertificate", + "properties": { + "certificate": { + "type": "string", + "readOnly": false, + "description": "Member Identity Certificate" + }, + "encryptionkey": { + "type": "string", + "readOnly": false, + "description": "Member Identity Certificate Encryption Key" + }, + "tags": { + "items": { + "$ref": "#/definitions/CertificateTags" + } + } + } + }, + "NodeCount": { + "type": "integer", + "format": "int32", + "description": "Number of CCF nodes in the Managed CCF.", + "title": "NodeCount", + "default": 3 + }, + "ManagedCCFProperties": { + "type": "object", + "description": "Additional Managed CCF properties.", + "title": "ManagedCCFProperties", + "properties": { + "appName": { + "readOnly": true, + "type": "string", + "description": "Unique name for the Managed CCF." + }, + "appUri": { + "type": "string", + "readOnly": true, + "description": "Endpoint for calling Managed CCF Service." + }, + "identityServiceUri": { + "type": "string", + "readOnly": true, + "description": "Endpoint for accessing network identity." + }, + "memberIdentityCertificates": { + "type": "array", + "description": "List of member identity certificates for Managed CCF", + "items": { + "$ref": "#/definitions/MemberIdentityCertificate" + }, + "x-ms-identifiers": [] + }, + "deploymentType": { + "description": "Deployment Type of Managed CCF", + "$ref": "#/definitions/DeploymentType" + }, + "runningState": { + "description": "Object representing RunningState for Managed CCF.", + "$ref": "#/definitions/RunningState" + }, + "provisioningState": { + "description": "Provisioning state of Managed CCF Resource", + "readOnly": true, + "$ref": "#/definitions/ProvisioningState" + }, + "nodeCount": { + "type": "integer", + "format": "int32", + "description": "Number of CCF nodes in the Managed CCF.", + "$ref": "#/definitions/NodeCount" + } + } + }, + "ManagedCCF": { + "type": "object", + "description": "Managed CCF. Contains the properties of Managed CCF Resource.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "Properties of Managed CCF Resource.", + "$ref": "#/definitions/ManagedCCFProperties" + } + } + }, + "ManagedCCFList": { + "description": "Object that includes an array of Managed CCF and a possible link for next set.", + "type": "object", + "properties": { + "value": { + "description": "List of Managed CCF", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedCCF" + } + }, + "nextLink": { + "description": "The URL the client should use to fetch the next page (per server side paging).", + "type": "string" + } + } + }, + "ManagedCCFBackup": { + "description": "Object representing Backup properties of a Managed CCF Resource.", + "type": "object", + "properties": { + "restoreRegion": { + "type": "string", + "readOnly": false, + "description": "The region where the backup of the managed CCF resource will eventually be restored to." + }, + "uri": { + "type": "string", + "readOnly": false, + "description": "SAS URI used to access the backup Fileshare.", + "x-ms-secret": true + } + }, + "required": [ + "uri" + ] + }, + "ManagedCCFRestore": { + "description": "Object representing Restore properties of Managed CCF Resource.", + "type": "object", + "properties": { + "fileShareName": { + "type": "string", + "readOnly": false, + "description": "Fileshare where the managed CCF resource backup is stored." + }, + "restoreRegion": { + "type": "string", + "readOnly": false, + "description": "The region the managed CCF resource is being restored to." + }, + "uri": { + "type": "string", + "readOnly": false, + "description": "SAS URI used to access the backup Fileshare.", + "x-ms-secret": true + } + }, + "required": [ + "fileShareName", + "restoreRegion", + "uri" + ] + }, + "ManagedCCFBackupResponse": { + "description": "Object representing the backup response of a Managed CCF Resource.", + "type": "object", + "properties": { + "message": { + "type": "string", + "readOnly": true, + "description": "Response body stating if the managed CCF resource is being backed up." + } + } + }, + "ManagedCCFRestoreResponse": { + "description": "Object representing the restore response of a Managed CCF Resource.", + "type": "object", + "properties": { + "message": { + "type": "string", + "readOnly": true, + "description": "Response body stating if the managed CCF resource is being restored." + } + } + } + }, + "parameters": { + "ManagedCCFNameParameter": { + "name": "appName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the Managed CCF", + "pattern": "^[a-zA-Z0-9]", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/confidentialledger/resource-manager/readme.md b/specification/confidentialledger/resource-manager/readme.md index ccdb6a8c3d12..18ab37cae7de 100644 --- a/specification/confidentialledger/resource-manager/readme.md +++ b/specification/confidentialledger/resource-manager/readme.md @@ -27,19 +27,29 @@ These are the global settings for the confidentialledger. ``` yaml openapi-type: arm openapi-subtype: rpaas -tag: package-preview-2023-01 +tag: package-preview-2023-06 ``` +### Tag: package-preview-2023-06 + +These settings apply only when `--tag=package-preview-2023-06` is specified on the command line. + +```yaml $(tag) == 'package-preview-2023-06' +input-file: + - Microsoft.ConfidentialLedger/preview/2023-06-28-preview/confidentialledger.json + - Microsoft.ConfidentialLedger/preview/2023-06-28-preview/managedccf.json +``` ### Tag: package-preview-2023-01 These settings apply only when `--tag=package-preview-2023-01` is specified on the command line. -```yaml $(tag) == 'package-preview-2023-01' +``` yaml $(tag) == 'package-preview-2023-01' input-file: - Microsoft.ConfidentialLedger/preview/2023-01-26-preview/confidentialledger.json - Microsoft.ConfidentialLedger/preview/2023-01-26-preview/managedccf.json ``` + ### Tag: package-2022-09-08-preview These settings apply only when `--tag=package-2022-09-08-preview` is specified on the command line.