Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5jb25maWRlbnRpYWxsZWRnZXIvbGVkZ2Vycy97fQ==/2024-09-19-preview.xml (961 lines of code) (raw):

<?xml version='1.0' encoding='utf-8'?> <CodeGen plane="mgmt-plane"> <resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.confidentialledger/ledgers/{}" version="2024-09-19-preview" swagger="mgmt-plane/confidentialledger/ResourceProviders/Microsoft.ConfidentialLedger/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29uZmlkZW50aWFsTGVkZ2VyL2xlZGdlcnMve2xlZGdlck5hbWV9/V/MjAyNC0wOS0xOS1wcmV2aWV3"/> <commandGroup name="confidentialledger"> <command name="show" version="2024-09-19-preview" confirmation=""> <resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.confidentialledger/ledgers/{}" version="2024-09-19-preview" swagger="mgmt-plane/confidentialledger/ResourceProviders/Microsoft.ConfidentialLedger/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29uZmlkZW50aWFsTGVkZ2VyL2xlZGdlcnMve2xlZGdlck5hbWV9/V/MjAyNC0wOS0xOS1wcmV2aWV3"/> <argGroup name=""> <arg type="string" var="$Path.ledgerName" options="ledger-name name n" required="True" idPart="name"> <help short="Name of the Confidential Ledger"/> <format pattern="^[^-0-9][A-Za-z0-9-]{1,33}[A-Za-z0-9]$"/> </arg> <arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/> <arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/> </argGroup> <operation operationId="Ledger_Get"> <http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}"> <request method="get"> <path> <param type="string" name="ledgerName" arg="$Path.ledgerName" required="True"> <format pattern="^[^-0-9][A-Za-z0-9-]{1,33}[A-Za-z0-9]$"/> </param> <param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"> <format maxLength="90" minLength="1"/> </param> <param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"> <format minLength="1"/> </param> </path> <query> <const readOnly="True" const="True" type="string" name="api-version" required="True"> <default value="&quot;2024-09-19-preview&quot;"/> <format minLength="1"/> </const> </query> </request> <response statusCode="200"> <body> <json var="$Instance"> <schema type="object"> <prop readOnly="True" type="ResourceId" name="id"> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.ConfidentialLedger/ledgers/{}"/> </prop> <prop type="ResourceLocation" name="location" required="True"/> <prop readOnly="True" type="string" name="name"/> <prop type="object" name="properties"> <prop type="array<object>" name="aadBasedSecurityPrincipals" identifiers="principalId"> <item type="object"> <prop type="string" name="ledgerRoleName"> <enum> <item value="&quot;Administrator&quot;"/> <item value="&quot;Contributor&quot;"/> <item value="&quot;Reader&quot;"/> </enum> </prop> <prop type="string" name="principalId"/> <prop type="string" name="tenantId"/> </item> </prop> <prop type="string" name="applicationType"> <enum> <item value="&quot;CodeTransparency&quot;"/> <item value="&quot;ConfidentialLedger&quot;"/> </enum> </prop> <prop type="array<object>" name="certBasedSecurityPrincipals"> <item type="object"> <prop type="string" name="cert"/> <prop type="string" name="ledgerRoleName"> <enum> <item value="&quot;Administrator&quot;"/> <item value="&quot;Contributor&quot;"/> <item value="&quot;Reader&quot;"/> </enum> </prop> </item> </prop> <prop type="string" name="enclavePlatform"> <enum> <item value="&quot;AmdSevSnp&quot;"/> <item value="&quot;IntelSgx&quot;"/> </enum> </prop> <prop type="string" name="hostLevel"/> <prop readOnly="True" type="string" name="identityServiceUri"/> <prop readOnly="True" type="string" name="ledgerInternalNamespace"/> <prop readOnly="True" type="string" name="ledgerName"/> <prop type="string" name="ledgerSku"> <enum> <item value="&quot;Basic&quot;"/> <item value="&quot;Standard&quot;"/> <item value="&quot;Unknown&quot;"/> </enum> </prop> <prop type="string" name="ledgerType"> <enum> <item value="&quot;Private&quot;"/> <item value="&quot;Public&quot;"/> <item value="&quot;Unknown&quot;"/> </enum> </prop> <prop readOnly="True" type="string" name="ledgerUri"/> <prop type="integer32" name="maxBodySizeInMb"/> <prop type="integer32" name="nodeCount"/> <prop readOnly="True" type="string" name="provisioningState"> <enum> <item value="&quot;Canceled&quot;"/> <item value="&quot;Creating&quot;"/> <item value="&quot;Deleting&quot;"/> <item value="&quot;Failed&quot;"/> <item value="&quot;Succeeded&quot;"/> <item value="&quot;Unknown&quot;"/> <item value="&quot;Updating&quot;"/> </enum> </prop> <prop type="string" name="runningState"> <enum> <item value="&quot;Active&quot;"/> <item value="&quot;Paused&quot;"/> <item value="&quot;Pausing&quot;"/> <item value="&quot;Resuming&quot;"/> <item value="&quot;Unknown&quot;"/> </enum> </prop> <prop type="string" name="subjectName"/> <prop type="integer32" name="workerThreads"/> <prop type="string" name="writeLBAddressPrefix"/> </prop> <prop readOnly="True" type="object" name="systemData"> <prop type="dateTime" name="createdAt"/> <prop type="string" name="createdBy"/> <prop type="string" name="createdByType"> <enum> <item value="&quot;Application&quot;"/> <item value="&quot;Key&quot;"/> <item value="&quot;ManagedIdentity&quot;"/> <item value="&quot;User&quot;"/> </enum> </prop> <prop type="dateTime" name="lastModifiedAt"/> <prop type="string" name="lastModifiedBy"/> <prop type="string" name="lastModifiedByType"> <enum> <item value="&quot;Application&quot;"/> <item value="&quot;Key&quot;"/> <item value="&quot;ManagedIdentity&quot;"/> <item value="&quot;User&quot;"/> </enum> </prop> </prop> <prop type="object" name="tags"> <additionalProp> <item type="string"/> </additionalProp> </prop> <prop readOnly="True" type="string" name="type"/> </schema> </json> </body> </response> <response isError="True"> <body> <json> <schema type="@MgmtErrorFormat"/> </json> </body> </response> </http> </operation> <output type="object" ref="$Instance" clientFlatten="True"/> </command> <command name="delete" version="2024-09-19-preview" confirmation="Are you sure you want to perform this operation?"> <resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.confidentialledger/ledgers/{}" version="2024-09-19-preview" swagger="mgmt-plane/confidentialledger/ResourceProviders/Microsoft.ConfidentialLedger/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29uZmlkZW50aWFsTGVkZ2VyL2xlZGdlcnMve2xlZGdlck5hbWV9/V/MjAyNC0wOS0xOS1wcmV2aWV3"/> <argGroup name=""> <arg type="string" var="$Path.ledgerName" options="ledger-name name n" required="True" idPart="name"> <help short="Name of the Confidential Ledger"/> <format pattern="^[^-0-9][A-Za-z0-9-]{1,33}[A-Za-z0-9]$"/> </arg> <arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/> <arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/> </argGroup> <operation operationId="Ledger_Delete"> <longRunning finalStateVia="azure-async-operation"/> <http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}"> <request method="delete"> <path> <param type="string" name="ledgerName" arg="$Path.ledgerName" required="True"> <format pattern="^[^-0-9][A-Za-z0-9-]{1,33}[A-Za-z0-9]$"/> </param> <param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"> <format maxLength="90" minLength="1"/> </param> <param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"> <format minLength="1"/> </param> </path> <query> <const readOnly="True" const="True" type="string" name="api-version" required="True"> <default value="&quot;2024-09-19-preview&quot;"/> <format minLength="1"/> </const> </query> </request> <response statusCode="200"/> <response statusCode="202"/> <response statusCode="204"/> <response isError="True"> <body> <json> <schema type="@MgmtErrorFormat"/> </json> </body> </response> </http> </operation> </command> <command name="create" version="2024-09-19-preview" confirmation=""> <resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.confidentialledger/ledgers/{}" version="2024-09-19-preview" swagger="mgmt-plane/confidentialledger/ResourceProviders/Microsoft.ConfidentialLedger/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29uZmlkZW50aWFsTGVkZ2VyL2xlZGdlcnMve2xlZGdlck5hbWV9/V/MjAyNC0wOS0xOS1wcmV2aWV3"/> <argGroup name=""> <arg type="string" var="$Path.ledgerName" options="ledger-name name n" required="True" idPart="name"> <help short="Name of the Confidential Ledger"/> <format pattern="^[^-0-9][A-Za-z0-9-]{1,33}[A-Za-z0-9]$"/> </arg> <arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/> <arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/> </argGroup> <argGroup name="ConfidentialLedger"> <arg type="ResourceLocation" var="$confidentialLedger.location" options="location l" required="True" group="ConfidentialLedger"> <help short="The geo-location where the resource lives"/> </arg> <arg type="object" var="$confidentialLedger.tags" options="tags" group="ConfidentialLedger"> <help short="Resource tags."/> <additionalProp> <item type="string"/> </additionalProp> </arg> </argGroup> <argGroup name="Properties"> <arg type="array<object>" var="$confidentialLedger.properties.aadBasedSecurityPrincipals" options="aad-based-security-principals aad-based-users" group="Properties"> <help short="Array of all AAD based Security Principals."/> <item type="object"> <arg type="string" var="$confidentialLedger.properties.aadBasedSecurityPrincipals[].ledgerRoleName" options="ledger-role-name"> <help short="LedgerRole associated with the Security Principal of Ledger"/> <enum> <item name="Administrator" value="&quot;Administrator&quot;"/> <item name="Contributor" value="&quot;Contributor&quot;"/> <item name="Reader" value="&quot;Reader&quot;"/> </enum> </arg> <arg type="string" var="$confidentialLedger.properties.aadBasedSecurityPrincipals[].principalId" options="principal-id"> <help short="UUID/GUID based Principal Id of the Security Principal"/> </arg> <arg type="string" var="$confidentialLedger.properties.aadBasedSecurityPrincipals[].tenantId" options="tenant-id"> <help short="UUID/GUID based Tenant Id of the Security Principal"/> </arg> </item> </arg> <arg type="string" var="$confidentialLedger.properties.applicationType" options="application-type" group="Properties"> <help short="Application type of the Confidential Ledger."/> <enum> <item name="CodeTransparency" value="&quot;CodeTransparency&quot;"/> <item name="ConfidentialLedger" value="&quot;ConfidentialLedger&quot;"/> </enum> </arg> <arg type="array<object>" var="$confidentialLedger.properties.certBasedSecurityPrincipals" options="cert-based-security-principals cert-based-users" group="Properties"> <help short="Array of all cert based Security Principals."/> <item type="object"> <arg type="string" var="$confidentialLedger.properties.certBasedSecurityPrincipals[].cert" options="cert"> <help short="Public key of the user cert (.pem or .cer)"/> </arg> <arg type="string" var="$confidentialLedger.properties.certBasedSecurityPrincipals[].ledgerRoleName" options="ledger-role-name"> <help short="LedgerRole associated with the Security Principal of Ledger"/> <enum> <item name="Administrator" value="&quot;Administrator&quot;"/> <item name="Contributor" value="&quot;Contributor&quot;"/> <item name="Reader" value="&quot;Reader&quot;"/> </enum> </arg> </item> </arg> <arg type="string" var="$confidentialLedger.properties.enclavePlatform" options="enclave-platform" group="Properties"> <help short="Enclave platform of the Confidential Ledger."/> <enum> <item name="AmdSevSnp" value="&quot;AmdSevSnp&quot;"/> <item name="IntelSgx" value="&quot;IntelSgx&quot;"/> </enum> </arg> <arg type="string" var="$confidentialLedger.properties.hostLevel" options="host-level" group="Properties"> <help short="CCF Property for the logging level for the untrusted host: Trace, Debug, Info, Fail, Fatal."/> </arg> <arg type="string" var="$confidentialLedger.properties.ledgerSku" options="ledger-sku" group="Properties"> <help short="SKU associated with the ledger"/> <enum> <item name="Basic" value="&quot;Basic&quot;"/> <item name="Standard" value="&quot;Standard&quot;"/> <item name="Unknown" value="&quot;Unknown&quot;"/> </enum> </arg> <arg type="string" var="$confidentialLedger.properties.ledgerType" options="ledger-type" group="Properties"> <help short="Type of Confidential Ledger"/> <enum> <item name="Private" value="&quot;Private&quot;"/> <item name="Public" value="&quot;Public&quot;"/> <item name="Unknown" value="&quot;Unknown&quot;"/> </enum> </arg> <arg type="integer32" var="$confidentialLedger.properties.maxBodySizeInMb" options="max-body-size-in-mb" group="Properties"> <help short="CCF Property for the maximum size of the http request body: 1MB, 5MB, 10MB."/> </arg> <arg type="integer32" var="$confidentialLedger.properties.nodeCount" options="node-count" group="Properties"> <help short="Number of CCF nodes in the ACC Ledger."/> </arg> <arg type="string" var="$confidentialLedger.properties.runningState" options="running-state" group="Properties"> <help short="Object representing RunningState for Ledger."/> <enum> <item name="Active" value="&quot;Active&quot;"/> <item name="Paused" value="&quot;Paused&quot;"/> <item name="Pausing" value="&quot;Pausing&quot;"/> <item name="Resuming" value="&quot;Resuming&quot;"/> <item name="Unknown" value="&quot;Unknown&quot;"/> </enum> </arg> <arg type="string" var="$confidentialLedger.properties.subjectName" options="subject-name" group="Properties"> <help short="CCF Property for the subject name to include in the node certificate. Default: CN=CCF Node."/> </arg> <arg type="integer32" var="$confidentialLedger.properties.workerThreads" options="worker-threads" group="Properties"> <help short="Number of additional threads processing incoming client requests in the enclave (modify with care!)"/> </arg> <arg type="string" var="$confidentialLedger.properties.writeLBAddressPrefix" options="write-lb-address-prefix write-lb-prefix" group="Properties"> <help short="Prefix for the write load balancer. Example: write"/> </arg> </argGroup> <operation operationId="Ledger_Create"> <longRunning finalStateVia="azure-async-operation"/> <http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}"> <request method="put"> <path> <param type="string" name="ledgerName" arg="$Path.ledgerName" required="True"> <format pattern="^[^-0-9][A-Za-z0-9-]{1,33}[A-Za-z0-9]$"/> </param> <param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"> <format maxLength="90" minLength="1"/> </param> <param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"> <format minLength="1"/> </param> </path> <query> <const readOnly="True" const="True" type="string" name="api-version" required="True"> <default value="&quot;2024-09-19-preview&quot;"/> <format minLength="1"/> </const> </query> <body> <json> <schema type="object" name="confidentialLedger" required="True" clientFlatten="True"> <prop type="ResourceLocation" name="location" arg="$confidentialLedger.location" required="True"/> <prop type="object" name="properties"> <prop type="array<object>" name="aadBasedSecurityPrincipals" arg="$confidentialLedger.properties.aadBasedSecurityPrincipals" identifiers="principalId"> <item type="object"> <prop type="string" name="ledgerRoleName" arg="$confidentialLedger.properties.aadBasedSecurityPrincipals[].ledgerRoleName"> <enum> <item value="&quot;Administrator&quot;"/> <item value="&quot;Contributor&quot;"/> <item value="&quot;Reader&quot;"/> </enum> </prop> <prop type="string" name="principalId" arg="$confidentialLedger.properties.aadBasedSecurityPrincipals[].principalId"/> <prop type="string" name="tenantId" arg="$confidentialLedger.properties.aadBasedSecurityPrincipals[].tenantId"/> </item> </prop> <prop type="string" name="applicationType" arg="$confidentialLedger.properties.applicationType"> <enum> <item value="&quot;CodeTransparency&quot;"/> <item value="&quot;ConfidentialLedger&quot;"/> </enum> </prop> <prop type="array<object>" name="certBasedSecurityPrincipals" arg="$confidentialLedger.properties.certBasedSecurityPrincipals"> <item type="object"> <prop type="string" name="cert" arg="$confidentialLedger.properties.certBasedSecurityPrincipals[].cert"/> <prop type="string" name="ledgerRoleName" arg="$confidentialLedger.properties.certBasedSecurityPrincipals[].ledgerRoleName"> <enum> <item value="&quot;Administrator&quot;"/> <item value="&quot;Contributor&quot;"/> <item value="&quot;Reader&quot;"/> </enum> </prop> </item> </prop> <prop type="string" name="enclavePlatform" arg="$confidentialLedger.properties.enclavePlatform"> <enum> <item value="&quot;AmdSevSnp&quot;"/> <item value="&quot;IntelSgx&quot;"/> </enum> </prop> <prop type="string" name="hostLevel" arg="$confidentialLedger.properties.hostLevel"/> <prop type="string" name="ledgerSku" arg="$confidentialLedger.properties.ledgerSku"> <enum> <item value="&quot;Basic&quot;"/> <item value="&quot;Standard&quot;"/> <item value="&quot;Unknown&quot;"/> </enum> </prop> <prop type="string" name="ledgerType" arg="$confidentialLedger.properties.ledgerType"> <enum> <item value="&quot;Private&quot;"/> <item value="&quot;Public&quot;"/> <item value="&quot;Unknown&quot;"/> </enum> </prop> <prop type="integer32" name="maxBodySizeInMb" arg="$confidentialLedger.properties.maxBodySizeInMb"/> <prop type="integer32" name="nodeCount" arg="$confidentialLedger.properties.nodeCount"/> <prop type="string" name="runningState" arg="$confidentialLedger.properties.runningState"> <enum> <item value="&quot;Active&quot;"/> <item value="&quot;Paused&quot;"/> <item value="&quot;Pausing&quot;"/> <item value="&quot;Resuming&quot;"/> <item value="&quot;Unknown&quot;"/> </enum> </prop> <prop type="string" name="subjectName" arg="$confidentialLedger.properties.subjectName"/> <prop type="integer32" name="workerThreads" arg="$confidentialLedger.properties.workerThreads"/> <prop type="string" name="writeLBAddressPrefix" arg="$confidentialLedger.properties.writeLBAddressPrefix"/> </prop> <prop type="object" name="tags" arg="$confidentialLedger.tags"> <additionalProp> <item type="string"/> </additionalProp> </prop> </schema> </json> </body> </request> <response statusCode="200 201"> <body> <json var="$Instance"> <schema type="object"> <prop readOnly="True" type="ResourceId" name="id"> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.ConfidentialLedger/ledgers/{}"/> </prop> <prop type="ResourceLocation" name="location" required="True"/> <prop readOnly="True" type="string" name="name"/> <prop type="object" name="properties"> <prop type="array<object>" name="aadBasedSecurityPrincipals" identifiers="principalId"> <item type="object"> <prop type="string" name="ledgerRoleName"> <enum> <item value="&quot;Administrator&quot;"/> <item value="&quot;Contributor&quot;"/> <item value="&quot;Reader&quot;"/> </enum> </prop> <prop type="string" name="principalId"/> <prop type="string" name="tenantId"/> </item> </prop> <prop type="string" name="applicationType"> <enum> <item value="&quot;CodeTransparency&quot;"/> <item value="&quot;ConfidentialLedger&quot;"/> </enum> </prop> <prop type="array<object>" name="certBasedSecurityPrincipals"> <item type="object"> <prop type="string" name="cert"/> <prop type="string" name="ledgerRoleName"> <enum> <item value="&quot;Administrator&quot;"/> <item value="&quot;Contributor&quot;"/> <item value="&quot;Reader&quot;"/> </enum> </prop> </item> </prop> <prop type="string" name="enclavePlatform"> <enum> <item value="&quot;AmdSevSnp&quot;"/> <item value="&quot;IntelSgx&quot;"/> </enum> </prop> <prop type="string" name="hostLevel"/> <prop readOnly="True" type="string" name="identityServiceUri"/> <prop readOnly="True" type="string" name="ledgerInternalNamespace"/> <prop readOnly="True" type="string" name="ledgerName"/> <prop type="string" name="ledgerSku"> <enum> <item value="&quot;Basic&quot;"/> <item value="&quot;Standard&quot;"/> <item value="&quot;Unknown&quot;"/> </enum> </prop> <prop type="string" name="ledgerType"> <enum> <item value="&quot;Private&quot;"/> <item value="&quot;Public&quot;"/> <item value="&quot;Unknown&quot;"/> </enum> </prop> <prop readOnly="True" type="string" name="ledgerUri"/> <prop type="integer32" name="maxBodySizeInMb"/> <prop type="integer32" name="nodeCount"/> <prop readOnly="True" type="string" name="provisioningState"> <enum> <item value="&quot;Canceled&quot;"/> <item value="&quot;Creating&quot;"/> <item value="&quot;Deleting&quot;"/> <item value="&quot;Failed&quot;"/> <item value="&quot;Succeeded&quot;"/> <item value="&quot;Unknown&quot;"/> <item value="&quot;Updating&quot;"/> </enum> </prop> <prop type="string" name="runningState"> <enum> <item value="&quot;Active&quot;"/> <item value="&quot;Paused&quot;"/> <item value="&quot;Pausing&quot;"/> <item value="&quot;Resuming&quot;"/> <item value="&quot;Unknown&quot;"/> </enum> </prop> <prop type="string" name="subjectName"/> <prop type="integer32" name="workerThreads"/> <prop type="string" name="writeLBAddressPrefix"/> </prop> <prop readOnly="True" type="object" name="systemData"> <prop type="dateTime" name="createdAt"/> <prop type="string" name="createdBy"/> <prop type="string" name="createdByType"> <enum> <item value="&quot;Application&quot;"/> <item value="&quot;Key&quot;"/> <item value="&quot;ManagedIdentity&quot;"/> <item value="&quot;User&quot;"/> </enum> </prop> <prop type="dateTime" name="lastModifiedAt"/> <prop type="string" name="lastModifiedBy"/> <prop type="string" name="lastModifiedByType"> <enum> <item value="&quot;Application&quot;"/> <item value="&quot;Key&quot;"/> <item value="&quot;ManagedIdentity&quot;"/> <item value="&quot;User&quot;"/> </enum> </prop> </prop> <prop type="object" name="tags"> <additionalProp> <item type="string"/> </additionalProp> </prop> <prop readOnly="True" type="string" name="type"/> </schema> </json> </body> </response> <response isError="True"> <body> <json> <schema type="@MgmtErrorFormat"/> </json> </body> </response> </http> </operation> <output type="object" ref="$Instance" clientFlatten="True"/> </command> <command name="update" version="2024-09-19-preview" confirmation=""> <resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.confidentialledger/ledgers/{}" version="2024-09-19-preview" swagger="mgmt-plane/confidentialledger/ResourceProviders/Microsoft.ConfidentialLedger/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29uZmlkZW50aWFsTGVkZ2VyL2xlZGdlcnMve2xlZGdlck5hbWV9/V/MjAyNC0wOS0xOS1wcmV2aWV3"/> <argGroup name=""> <arg type="string" var="$Path.ledgerName" options="ledger-name name n" required="True" idPart="name"> <help short="Name of the Confidential Ledger"/> <format pattern="^[^-0-9][A-Za-z0-9-]{1,33}[A-Za-z0-9]$"/> </arg> <arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/> <arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/> </argGroup> <argGroup name="ConfidentialLedger"> <arg nullable="True" type="object" var="$confidentialLedger.tags" options="tags" group="ConfidentialLedger"> <help short="Resource tags."/> <additionalProp> <item nullable="True" type="string"/> </additionalProp> </arg> </argGroup> <argGroup name="Properties"> <arg nullable="True" type="array<object>" var="$confidentialLedger.properties.aadBasedSecurityPrincipals" options="aad-based-security-principals aad-based-users" group="Properties"> <help short="Array of all AAD based Security Principals."/> <item nullable="True" type="object"> <arg nullable="True" type="string" var="$confidentialLedger.properties.aadBasedSecurityPrincipals[].ledgerRoleName" options="ledger-role-name"> <help short="LedgerRole associated with the Security Principal of Ledger"/> <enum> <item name="Administrator" value="&quot;Administrator&quot;"/> <item name="Contributor" value="&quot;Contributor&quot;"/> <item name="Reader" value="&quot;Reader&quot;"/> </enum> </arg> <arg nullable="True" type="string" var="$confidentialLedger.properties.aadBasedSecurityPrincipals[].principalId" options="principal-id"> <help short="UUID/GUID based Principal Id of the Security Principal"/> </arg> <arg nullable="True" type="string" var="$confidentialLedger.properties.aadBasedSecurityPrincipals[].tenantId" options="tenant-id"> <help short="UUID/GUID based Tenant Id of the Security Principal"/> </arg> </item> </arg> <arg nullable="True" type="string" var="$confidentialLedger.properties.applicationType" options="application-type" group="Properties"> <help short="Application type of the Confidential Ledger."/> <enum> <item name="CodeTransparency" value="&quot;CodeTransparency&quot;"/> <item name="ConfidentialLedger" value="&quot;ConfidentialLedger&quot;"/> </enum> </arg> <arg nullable="True" type="array<object>" var="$confidentialLedger.properties.certBasedSecurityPrincipals" options="cert-based-security-principals cert-based-users" group="Properties"> <help short="Array of all cert based Security Principals."/> <item nullable="True" type="object"> <arg nullable="True" type="string" var="$confidentialLedger.properties.certBasedSecurityPrincipals[].cert" options="cert"> <help short="Public key of the user cert (.pem or .cer)"/> </arg> <arg nullable="True" type="string" var="$confidentialLedger.properties.certBasedSecurityPrincipals[].ledgerRoleName" options="ledger-role-name"> <help short="LedgerRole associated with the Security Principal of Ledger"/> <enum> <item name="Administrator" value="&quot;Administrator&quot;"/> <item name="Contributor" value="&quot;Contributor&quot;"/> <item name="Reader" value="&quot;Reader&quot;"/> </enum> </arg> </item> </arg> <arg nullable="True" type="string" var="$confidentialLedger.properties.enclavePlatform" options="enclave-platform" group="Properties"> <help short="Enclave platform of the Confidential Ledger."/> <enum> <item name="AmdSevSnp" value="&quot;AmdSevSnp&quot;"/> <item name="IntelSgx" value="&quot;IntelSgx&quot;"/> </enum> </arg> <arg nullable="True" type="string" var="$confidentialLedger.properties.hostLevel" options="host-level" group="Properties"> <help short="CCF Property for the logging level for the untrusted host: Trace, Debug, Info, Fail, Fatal."/> </arg> <arg nullable="True" type="string" var="$confidentialLedger.properties.ledgerSku" options="ledger-sku" group="Properties"> <help short="SKU associated with the ledger"/> <enum> <item name="Basic" value="&quot;Basic&quot;"/> <item name="Standard" value="&quot;Standard&quot;"/> <item name="Unknown" value="&quot;Unknown&quot;"/> </enum> </arg> <arg nullable="True" type="string" var="$confidentialLedger.properties.ledgerType" options="ledger-type" group="Properties"> <help short="Type of Confidential Ledger"/> <enum> <item name="Private" value="&quot;Private&quot;"/> <item name="Public" value="&quot;Public&quot;"/> <item name="Unknown" value="&quot;Unknown&quot;"/> </enum> </arg> <arg nullable="True" type="integer32" var="$confidentialLedger.properties.maxBodySizeInMb" options="max-body-size-in-mb" group="Properties"> <help short="CCF Property for the maximum size of the http request body: 1MB, 5MB, 10MB."/> </arg> <arg nullable="True" type="integer32" var="$confidentialLedger.properties.nodeCount" options="node-count" group="Properties"> <help short="Number of CCF nodes in the ACC Ledger."/> </arg> <arg nullable="True" type="string" var="$confidentialLedger.properties.runningState" options="running-state" group="Properties"> <help short="Object representing RunningState for Ledger."/> <enum> <item name="Active" value="&quot;Active&quot;"/> <item name="Paused" value="&quot;Paused&quot;"/> <item name="Pausing" value="&quot;Pausing&quot;"/> <item name="Resuming" value="&quot;Resuming&quot;"/> <item name="Unknown" value="&quot;Unknown&quot;"/> </enum> </arg> <arg nullable="True" type="string" var="$confidentialLedger.properties.subjectName" options="subject-name" group="Properties"> <help short="CCF Property for the subject name to include in the node certificate. Default: CN=CCF Node."/> </arg> <arg nullable="True" type="integer32" var="$confidentialLedger.properties.workerThreads" options="worker-threads" group="Properties"> <help short="Number of additional threads processing incoming client requests in the enclave (modify with care!)"/> </arg> <arg nullable="True" type="string" var="$confidentialLedger.properties.writeLBAddressPrefix" options="write-lb-address-prefix write-lb-prefix" group="Properties"> <help short="Prefix for the write load balancer. Example: write"/> </arg> </argGroup> <operation operationId="Ledger_Get"> <http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}"> <request method="get"> <path> <param type="string" name="ledgerName" arg="$Path.ledgerName" required="True"> <format pattern="^[^-0-9][A-Za-z0-9-]{1,33}[A-Za-z0-9]$"/> </param> <param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"> <format maxLength="90" minLength="1"/> </param> <param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"> <format minLength="1"/> </param> </path> <query> <const readOnly="True" const="True" type="string" name="api-version" required="True"> <default value="&quot;2024-09-19-preview&quot;"/> <format minLength="1"/> </const> </query> </request> <response statusCode="200"> <body> <json var="$Instance"> <schema type="object" cls="ConfidentialLedger_read"> <prop readOnly="True" type="ResourceId" name="id"> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.ConfidentialLedger/ledgers/{}"/> </prop> <prop type="ResourceLocation" name="location" required="True"/> <prop readOnly="True" type="string" name="name"/> <prop type="object" name="properties"> <prop type="array<object>" name="aadBasedSecurityPrincipals" identifiers="principalId"> <item type="object"> <prop type="string" name="ledgerRoleName"> <enum> <item value="&quot;Administrator&quot;"/> <item value="&quot;Contributor&quot;"/> <item value="&quot;Reader&quot;"/> </enum> </prop> <prop type="string" name="principalId"/> <prop type="string" name="tenantId"/> </item> </prop> <prop type="string" name="applicationType"> <enum> <item value="&quot;CodeTransparency&quot;"/> <item value="&quot;ConfidentialLedger&quot;"/> </enum> </prop> <prop type="array<object>" name="certBasedSecurityPrincipals"> <item type="object"> <prop type="string" name="cert"/> <prop type="string" name="ledgerRoleName"> <enum> <item value="&quot;Administrator&quot;"/> <item value="&quot;Contributor&quot;"/> <item value="&quot;Reader&quot;"/> </enum> </prop> </item> </prop> <prop type="string" name="enclavePlatform"> <enum> <item value="&quot;AmdSevSnp&quot;"/> <item value="&quot;IntelSgx&quot;"/> </enum> </prop> <prop type="string" name="hostLevel"/> <prop readOnly="True" type="string" name="identityServiceUri"/> <prop readOnly="True" type="string" name="ledgerInternalNamespace"/> <prop readOnly="True" type="string" name="ledgerName"/> <prop type="string" name="ledgerSku"> <enum> <item value="&quot;Basic&quot;"/> <item value="&quot;Standard&quot;"/> <item value="&quot;Unknown&quot;"/> </enum> </prop> <prop type="string" name="ledgerType"> <enum> <item value="&quot;Private&quot;"/> <item value="&quot;Public&quot;"/> <item value="&quot;Unknown&quot;"/> </enum> </prop> <prop readOnly="True" type="string" name="ledgerUri"/> <prop type="integer32" name="maxBodySizeInMb"/> <prop type="integer32" name="nodeCount"/> <prop readOnly="True" type="string" name="provisioningState"> <enum> <item value="&quot;Canceled&quot;"/> <item value="&quot;Creating&quot;"/> <item value="&quot;Deleting&quot;"/> <item value="&quot;Failed&quot;"/> <item value="&quot;Succeeded&quot;"/> <item value="&quot;Unknown&quot;"/> <item value="&quot;Updating&quot;"/> </enum> </prop> <prop type="string" name="runningState"> <enum> <item value="&quot;Active&quot;"/> <item value="&quot;Paused&quot;"/> <item value="&quot;Pausing&quot;"/> <item value="&quot;Resuming&quot;"/> <item value="&quot;Unknown&quot;"/> </enum> </prop> <prop type="string" name="subjectName"/> <prop type="integer32" name="workerThreads"/> <prop type="string" name="writeLBAddressPrefix"/> </prop> <prop readOnly="True" type="object" name="systemData"> <prop type="dateTime" name="createdAt"/> <prop type="string" name="createdBy"/> <prop type="string" name="createdByType"> <enum> <item value="&quot;Application&quot;"/> <item value="&quot;Key&quot;"/> <item value="&quot;ManagedIdentity&quot;"/> <item value="&quot;User&quot;"/> </enum> </prop> <prop type="dateTime" name="lastModifiedAt"/> <prop type="string" name="lastModifiedBy"/> <prop type="string" name="lastModifiedByType"> <enum> <item value="&quot;Application&quot;"/> <item value="&quot;Key&quot;"/> <item value="&quot;ManagedIdentity&quot;"/> <item value="&quot;User&quot;"/> </enum> </prop> </prop> <prop type="object" name="tags"> <additionalProp> <item type="string"/> </additionalProp> </prop> <prop readOnly="True" type="string" name="type"/> </schema> </json> </body> </response> <response isError="True"> <body> <json> <schema type="@MgmtErrorFormat"/> </json> </body> </response> </http> </operation> <operation> <instanceUpdate ref="$Instance"> <json> <schema type="object" name="confidentialLedger" required="True" clientFlatten="True"> <prop type="object" name="properties"> <prop type="array<object>" name="aadBasedSecurityPrincipals" arg="$confidentialLedger.properties.aadBasedSecurityPrincipals" identifiers="principalId"> <item type="object"> <prop type="string" name="ledgerRoleName" arg="$confidentialLedger.properties.aadBasedSecurityPrincipals[].ledgerRoleName"> <enum> <item value="&quot;Administrator&quot;"/> <item value="&quot;Contributor&quot;"/> <item value="&quot;Reader&quot;"/> </enum> </prop> <prop type="string" name="principalId" arg="$confidentialLedger.properties.aadBasedSecurityPrincipals[].principalId"/> <prop type="string" name="tenantId" arg="$confidentialLedger.properties.aadBasedSecurityPrincipals[].tenantId"/> </item> </prop> <prop type="string" name="applicationType" arg="$confidentialLedger.properties.applicationType"> <enum> <item value="&quot;CodeTransparency&quot;"/> <item value="&quot;ConfidentialLedger&quot;"/> </enum> </prop> <prop type="array<object>" name="certBasedSecurityPrincipals" arg="$confidentialLedger.properties.certBasedSecurityPrincipals"> <item type="object"> <prop type="string" name="cert" arg="$confidentialLedger.properties.certBasedSecurityPrincipals[].cert"/> <prop type="string" name="ledgerRoleName" arg="$confidentialLedger.properties.certBasedSecurityPrincipals[].ledgerRoleName"> <enum> <item value="&quot;Administrator&quot;"/> <item value="&quot;Contributor&quot;"/> <item value="&quot;Reader&quot;"/> </enum> </prop> </item> </prop> <prop type="string" name="enclavePlatform" arg="$confidentialLedger.properties.enclavePlatform"> <enum> <item value="&quot;AmdSevSnp&quot;"/> <item value="&quot;IntelSgx&quot;"/> </enum> </prop> <prop type="string" name="hostLevel" arg="$confidentialLedger.properties.hostLevel"/> <prop type="string" name="ledgerSku" arg="$confidentialLedger.properties.ledgerSku"> <enum> <item value="&quot;Basic&quot;"/> <item value="&quot;Standard&quot;"/> <item value="&quot;Unknown&quot;"/> </enum> </prop> <prop type="string" name="ledgerType" arg="$confidentialLedger.properties.ledgerType"> <enum> <item value="&quot;Private&quot;"/> <item value="&quot;Public&quot;"/> <item value="&quot;Unknown&quot;"/> </enum> </prop> <prop type="integer32" name="maxBodySizeInMb" arg="$confidentialLedger.properties.maxBodySizeInMb"/> <prop type="integer32" name="nodeCount" arg="$confidentialLedger.properties.nodeCount"/> <prop type="string" name="runningState" arg="$confidentialLedger.properties.runningState"> <enum> <item value="&quot;Active&quot;"/> <item value="&quot;Paused&quot;"/> <item value="&quot;Pausing&quot;"/> <item value="&quot;Resuming&quot;"/> <item value="&quot;Unknown&quot;"/> </enum> </prop> <prop type="string" name="subjectName" arg="$confidentialLedger.properties.subjectName"/> <prop type="integer32" name="workerThreads" arg="$confidentialLedger.properties.workerThreads"/> <prop type="string" name="writeLBAddressPrefix" arg="$confidentialLedger.properties.writeLBAddressPrefix"/> </prop> <prop type="object" name="tags" arg="$confidentialLedger.tags"> <additionalProp> <item type="string"/> </additionalProp> </prop> </schema> </json> </instanceUpdate> </operation> <operation operationId="Ledger_Create"> <longRunning finalStateVia="azure-async-operation"/> <http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}"> <request method="put"> <path> <param type="string" name="ledgerName" arg="$Path.ledgerName" required="True"> <format pattern="^[^-0-9][A-Za-z0-9-]{1,33}[A-Za-z0-9]$"/> </param> <param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"> <format maxLength="90" minLength="1"/> </param> <param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"> <format minLength="1"/> </param> </path> <query> <const readOnly="True" const="True" type="string" name="api-version" required="True"> <default value="&quot;2024-09-19-preview&quot;"/> <format minLength="1"/> </const> </query> <body> <json ref="$Instance"/> </body> </request> <response statusCode="200 201"> <body> <json var="$Instance"> <schema type="@ConfidentialLedger_read"/> </json> </body> </response> <response isError="True"> <body> <json> <schema type="@MgmtErrorFormat"/> </json> </body> </response> </http> </operation> <output type="object" ref="$Instance" clientFlatten="True"/> </command> </commandGroup> </CodeGen>