getEncode

This data source supports the "/transform/encode/{role_name}" Vault endpoint. It encodes the provided value using a named role.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as vault from "@pulumi/vault";
const transform = new vault.Mount("transform", {
path: "transform",
type: "transform",
});
const ccn_fpe = new vault.transform.Transformation("ccn-fpe", {
path: transform.path,
name: "ccn-fpe",
type: "fpe",
template: "builtin/creditcardnumber",
tweakSource: "internal",
allowedRoles: ["payments"],
});
const payments = new vault.transform.Role("payments", {
path: ccn_fpe.path,
name: "payments",
transformations: ["ccn-fpe"],
});
const test = vault.transform.getEncodeOutput({
path: payments.path,
roleName: "payments",
batchInputs: [{
value: "1111-2222-3333-4444",
}],
});
import pulumi
import pulumi_vault as vault
transform = vault.Mount("transform",
path="transform",
type="transform")
ccn_fpe = vault.transform.Transformation("ccn-fpe",
path=transform.path,
name="ccn-fpe",
type="fpe",
template="builtin/creditcardnumber",
tweak_source="internal",
allowed_roles=["payments"])
payments = vault.transform.Role("payments",
path=ccn_fpe.path,
name="payments",
transformations=["ccn-fpe"])
test = vault.transform.get_encode_output(path=payments.path,
role_name="payments",
batch_inputs=[{
"value": "1111-2222-3333-4444",
}])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Vault = Pulumi.Vault;
return await Deployment.RunAsync(() =>
{
var transform = new Vault.Mount("transform", new()
{
Path = "transform",
Type = "transform",
});
var ccn_fpe = new Vault.Transform.Transformation("ccn-fpe", new()
{
Path = transform.Path,
Name = "ccn-fpe",
Type = "fpe",
Template = "builtin/creditcardnumber",
TweakSource = "internal",
AllowedRoles = new[]
{
"payments",
},
});
var payments = new Vault.Transform.Role("payments", new()
{
Path = ccn_fpe.Path,
Name = "payments",
Transformations = new[]
{
"ccn-fpe",
},
});
var test = Vault.Transform.GetEncode.Invoke(new()
{
Path = payments.Path,
RoleName = "payments",
BatchInputs = new[]
{
{
{ "value", "1111-2222-3333-4444" },
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-vault/sdk/v6/go/vault"
"github.com/pulumi/pulumi-vault/sdk/v6/go/vault/transform"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
transform, err := vault.NewMount(ctx, "transform", &vault.MountArgs{
Path: pulumi.String("transform"),
Type: pulumi.String("transform"),
})
if err != nil {
return err
}
ccn_fpe, err := transform.NewTransformation(ctx, "ccn-fpe", &transform.TransformationArgs{
Path: transform.Path,
Name: pulumi.String("ccn-fpe"),
Type: pulumi.String("fpe"),
Template: pulumi.String("builtin/creditcardnumber"),
TweakSource: pulumi.String("internal"),
AllowedRoles: pulumi.StringArray{
pulumi.String("payments"),
},
})
if err != nil {
return err
}
payments, err := transform.NewRole(ctx, "payments", &transform.RoleArgs{
Path: ccn_fpe.Path,
Name: pulumi.String("payments"),
Transformations: pulumi.StringArray{
pulumi.String("ccn-fpe"),
},
})
if err != nil {
return err
}
_ = transform.GetEncodeOutput(ctx, transform.GetEncodeOutputArgs{
Path: payments.Path,
RoleName: pulumi.String("payments"),
BatchInputs: pulumi.StringMapArray{
pulumi.StringMap{
"value": pulumi.String("1111-2222-3333-4444"),
},
},
}, nil)
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.vault.Mount;
import com.pulumi.vault.MountArgs;
import com.pulumi.vault.transform.Transformation;
import com.pulumi.vault.transform.TransformationArgs;
import com.pulumi.vault.transform.Role;
import com.pulumi.vault.transform.RoleArgs;
import com.pulumi.vault.transform.TransformFunctions;
import com.pulumi.vault.transform.inputs.GetEncodeArgs;
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) {
var transform = new Mount("transform", MountArgs.builder()
.path("transform")
.type("transform")
.build());
var ccn_fpe = new Transformation("ccn-fpe", TransformationArgs.builder()
.path(transform.path())
.name("ccn-fpe")
.type("fpe")
.template("builtin/creditcardnumber")
.tweakSource("internal")
.allowedRoles("payments")
.build());
var payments = new Role("payments", RoleArgs.builder()
.path(ccn_fpe.path())
.name("payments")
.transformations("ccn-fpe")
.build());
final var test = TransformFunctions.getEncode(GetEncodeArgs.builder()
.path(payments.path())
.roleName("payments")
.batchInputs(Map.of("value", "1111-2222-3333-4444"))
.build());
}
}
resources:
transform:
type: vault:Mount
properties:
path: transform
type: transform
ccn-fpe:
type: vault:transform:Transformation
properties:
path: ${transform.path}
name: ccn-fpe
type: fpe
template: builtin/creditcardnumber
tweakSource: internal
allowedRoles:
- payments
payments:
type: vault:transform:Role
properties:
path: ${["ccn-fpe"].path}
name: payments
transformations:
- ccn-fpe
variables:
test:
fn::invoke:
function: vault:transform:getEncode
arguments:
path: ${payments.path}
roleName: payments
batchInputs:
- value: 1111-2222-3333-4444

Return

A collection of values returned by getEncode.

Parameters

argument

A collection of arguments for invoking getEncode.


suspend fun getEncode(batchInputs: List<Map<String, String>>? = null, batchResults: List<Map<String, String>>? = null, encodedValue: String? = null, namespace: String? = null, path: String, roleName: String, transformation: String? = null, tweak: String? = null, value: String? = null): GetEncodeResult

Return

A collection of values returned by getEncode.

Parameters

batchInputs

Specifies a list of items to be encoded in a single batch. If this parameter is set, the parameters 'value', 'transformation' and 'tweak' will be ignored. Each batch item within the list can specify these parameters instead.

batchResults

The result of encoding a batch.

encodedValue

The result of encoding a value.

namespace

The namespace of the target resource. The value should not contain leading or trailing forward slashes. The namespace is always relative to the provider's configured namespace. Available only for Vault Enterprise.

path

Path to where the back-end is mounted within Vault.

roleName

The name of the role.

transformation

The transformation to perform. If no value is provided and the role contains a single transformation, this value will be inferred from the role.

tweak

The tweak value to use. Only applicable for FPE transformations

value

The value in which to encode.

See also


suspend fun getEncode(argument: suspend GetEncodePlainArgsBuilder.() -> Unit): GetEncodeResult

Return

A collection of values returned by getEncode.

Parameters

argument

Builder for com.pulumi.vault.transform.kotlin.inputs.GetEncodePlainArgs.

See also