import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Manages a Confidential Ledger. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const current = azure.core.getClientConfig({}); * const example = new azure.core.ResourceGroup("example", { * name: "example-resources", * location: "West Europe", * }); * const ledger = new azure.confidentialledger.Ledger("ledger", { * name: "example-ledger", * resourceGroupName: example.name, * location: example.location, * ledgerType: "Private", * azureadBasedServicePrincipals: [{ * principalId: current.then(current => current.objectId), * tenantId: current.then(current => current.tenantId), * ledgerRoleName: "Administrator", * }], * }); * ``` * * ## API Providers * * * This resource uses the following Azure API Providers: * * * `Microsoft.ConfidentialLedger` - 2022-05-13 * * ## Import * * Confidential Ledgers can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:confidentialledger/ledger:Ledger example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/example-group/providers/Microsoft.ConfidentialLedger/ledgers/example-ledger * ``` */ export declare class Ledger extends pulumi.CustomResource { /** * Get an existing Ledger resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: LedgerState, opts?: pulumi.CustomResourceOptions): Ledger; /** * Returns true if the given object is an instance of Ledger. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Ledger; /** * A list of `azureadBasedServicePrincipal` blocks as defined below. */ readonly azureadBasedServicePrincipals: pulumi.Output; /** * A list of `certificateBasedSecurityPrincipal` blocks as defined below. */ readonly certificateBasedSecurityPrincipals: pulumi.Output; /** * The Identity Service Endpoint for this Confidential Ledger. */ readonly identityServiceEndpoint: pulumi.Output; /** * The Endpoint for this Confidential Ledger. */ readonly ledgerEndpoint: pulumi.Output; /** * Specifies the type of Confidential Ledger. Possible values are `Private` and `Public`. Changing this forces a new resource to be created. */ readonly ledgerType: pulumi.Output; /** * Specifies the supported Azure location where the Confidential Ledger exists. Changing this forces a new resource to be created. */ readonly location: pulumi.Output; /** * Specifies the name of the Confidential Ledger. Changing this forces a new resource to be created. */ readonly name: pulumi.Output; /** * The name of the Resource Group where the Confidential Ledger exists. Changing this forces a new resource to be created. */ readonly resourceGroupName: pulumi.Output; /** * A mapping of tags to assign to the Confidential Ledger. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; /** * Create a Ledger resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: LedgerArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Ledger resources. */ export interface LedgerState { /** * A list of `azureadBasedServicePrincipal` blocks as defined below. */ azureadBasedServicePrincipals?: pulumi.Input[]>; /** * A list of `certificateBasedSecurityPrincipal` blocks as defined below. */ certificateBasedSecurityPrincipals?: pulumi.Input[]>; /** * The Identity Service Endpoint for this Confidential Ledger. */ identityServiceEndpoint?: pulumi.Input; /** * The Endpoint for this Confidential Ledger. */ ledgerEndpoint?: pulumi.Input; /** * Specifies the type of Confidential Ledger. Possible values are `Private` and `Public`. Changing this forces a new resource to be created. */ ledgerType?: pulumi.Input; /** * Specifies the supported Azure location where the Confidential Ledger exists. Changing this forces a new resource to be created. */ location?: pulumi.Input; /** * Specifies the name of the Confidential Ledger. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * The name of the Resource Group where the Confidential Ledger exists. Changing this forces a new resource to be created. */ resourceGroupName?: pulumi.Input; /** * A mapping of tags to assign to the Confidential Ledger. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; }>; } /** * The set of arguments for constructing a Ledger resource. */ export interface LedgerArgs { /** * A list of `azureadBasedServicePrincipal` blocks as defined below. */ azureadBasedServicePrincipals: pulumi.Input[]>; /** * A list of `certificateBasedSecurityPrincipal` blocks as defined below. */ certificateBasedSecurityPrincipals?: pulumi.Input[]>; /** * Specifies the type of Confidential Ledger. Possible values are `Private` and `Public`. Changing this forces a new resource to be created. */ ledgerType: pulumi.Input; /** * Specifies the supported Azure location where the Confidential Ledger exists. Changing this forces a new resource to be created. */ location?: pulumi.Input; /** * Specifies the name of the Confidential Ledger. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * The name of the Resource Group where the Confidential Ledger exists. Changing this forces a new resource to be created. */ resourceGroupName: pulumi.Input; /** * A mapping of tags to assign to the Confidential Ledger. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; }>; }