Ledger
Manages a Confidential Ledger.
Example Usage
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",
}],
});
Content copied to clipboard
import pulumi
import pulumi_azure as azure
current = azure.core.get_client_config()
example = azure.core.ResourceGroup("example",
name="example-resources",
location="West Europe")
ledger = azure.confidentialledger.Ledger("ledger",
name="example-ledger",
resource_group_name=example.name,
location=example.location,
ledger_type="Private",
azuread_based_service_principals=[{
"principal_id": current.object_id,
"tenant_id": current.tenant_id,
"ledger_role_name": "Administrator",
}])
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var current = Azure.Core.GetClientConfig.Invoke();
var example = new Azure.Core.ResourceGroup("example", new()
{
Name = "example-resources",
Location = "West Europe",
});
var ledger = new Azure.ConfidentialLedger.Ledger("ledger", new()
{
Name = "example-ledger",
ResourceGroupName = example.Name,
Location = example.Location,
LedgerType = "Private",
AzureadBasedServicePrincipals = new[]
{
new Azure.ConfidentialLedger.Inputs.LedgerAzureadBasedServicePrincipalArgs
{
PrincipalId = current.Apply(getClientConfigResult => getClientConfigResult.ObjectId),
TenantId = current.Apply(getClientConfigResult => getClientConfigResult.TenantId),
LedgerRoleName = "Administrator",
},
},
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/confidentialledger"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
current, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)
if err != nil {
return err
}
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("example-resources"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
_, err = confidentialledger.NewLedger(ctx, "ledger", &confidentialledger.LedgerArgs{
Name: pulumi.String("example-ledger"),
ResourceGroupName: example.Name,
Location: example.Location,
LedgerType: pulumi.String("Private"),
AzureadBasedServicePrincipals: confidentialledger.LedgerAzureadBasedServicePrincipalArray{
&confidentialledger.LedgerAzureadBasedServicePrincipalArgs{
PrincipalId: pulumi.String(current.ObjectId),
TenantId: pulumi.String(current.TenantId),
LedgerRoleName: pulumi.String("Administrator"),
},
},
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.CoreFunctions;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.confidentialledger.Ledger;
import com.pulumi.azure.confidentialledger.LedgerArgs;
import com.pulumi.azure.confidentialledger.inputs.LedgerAzureadBasedServicePrincipalArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);
var example = new ResourceGroup("example", ResourceGroupArgs.builder()
.name("example-resources")
.location("West Europe")
.build());
var ledger = new Ledger("ledger", LedgerArgs.builder()
.name("example-ledger")
.resourceGroupName(example.name())
.location(example.location())
.ledgerType("Private")
.azureadBasedServicePrincipals(LedgerAzureadBasedServicePrincipalArgs.builder()
.principalId(current.objectId())
.tenantId(current.tenantId())
.ledgerRoleName("Administrator")
.build())
.build());
}
}
Content copied to clipboard
resources:
example:
type: azure:core:ResourceGroup
properties:
name: example-resources
location: West Europe
ledger:
type: azure:confidentialledger:Ledger
properties:
name: example-ledger
resourceGroupName: ${example.name}
location: ${example.location}
ledgerType: Private
azureadBasedServicePrincipals:
- principalId: ${current.objectId}
tenantId: ${current.tenantId}
ledgerRoleName: Administrator
variables:
current:
fn::invoke:
function: azure:core:getClientConfig
arguments: {}
Content copied to clipboard
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.
$ pulumi import azure:confidentialledger/ledger:Ledger example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/example-group/providers/Microsoft.ConfidentialLedger/ledgers/example-ledger
Content copied to clipboard
Properties
Link copied to clipboard
A list of azuread_based_service_principal
blocks as defined below.
Link copied to clipboard
A list of certificate_based_security_principal
blocks as defined below.
Link copied to clipboard
The Identity Service Endpoint for this Confidential Ledger.
Link copied to clipboard
The Endpoint for this Confidential Ledger.
Link copied to clipboard
Specifies the type of Confidential Ledger. Possible values are Private
and Public
. Changing this forces a new resource to be created.
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
The name of the Resource Group where the Confidential Ledger exists. Changing this forces a new resource to be created.