HashiCorp Vault v6.7.1 published on Friday, May 2, 2025 by Pulumi
vault.transform.getDecode
Explore with Pulumi AI
This data source supports the “/transform/decode/{role_name}” Vault endpoint.
It decodes 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.getDecodeOutput({
path: payments.path,
roleName: "payments",
value: "9300-3376-4943-8903",
});
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_decode_output(path=payments.path,
role_name="payments",
value="9300-3376-4943-8903")
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.GetDecodeOutput(ctx, transform.GetDecodeOutputArgs{
Path: payments.Path,
RoleName: pulumi.String("payments"),
Value: pulumi.String("9300-3376-4943-8903"),
}, nil)
return nil
})
}
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.GetDecode.Invoke(new()
{
Path = payments.Path,
RoleName = "payments",
Value = "9300-3376-4943-8903",
});
});
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.GetDecodeArgs;
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.getDecode(GetDecodeArgs.builder()
.path(payments.path())
.roleName("payments")
.value("9300-3376-4943-8903")
.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:getDecode
arguments:
path: ${payments.path}
roleName: payments
value: 9300-3376-4943-8903
Using getDecode
Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.
function getDecode(args: GetDecodeArgs, opts?: InvokeOptions): Promise<GetDecodeResult>
function getDecodeOutput(args: GetDecodeOutputArgs, opts?: InvokeOptions): Output<GetDecodeResult>def get_decode(batch_inputs: Optional[Sequence[Mapping[str, str]]] = None,
batch_results: Optional[Sequence[Mapping[str, str]]] = None,
decoded_value: Optional[str] = None,
namespace: Optional[str] = None,
path: Optional[str] = None,
role_name: Optional[str] = None,
transformation: Optional[str] = None,
tweak: Optional[str] = None,
value: Optional[str] = None,
opts: Optional[InvokeOptions] = None) -> GetDecodeResult
def get_decode_output(batch_inputs: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None,
batch_results: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None,
decoded_value: Optional[pulumi.Input[str]] = None,
namespace: Optional[pulumi.Input[str]] = None,
path: Optional[pulumi.Input[str]] = None,
role_name: Optional[pulumi.Input[str]] = None,
transformation: Optional[pulumi.Input[str]] = None,
tweak: Optional[pulumi.Input[str]] = None,
value: Optional[pulumi.Input[str]] = None,
opts: Optional[InvokeOptions] = None) -> Output[GetDecodeResult]func GetDecode(ctx *Context, args *GetDecodeArgs, opts ...InvokeOption) (*GetDecodeResult, error)
func GetDecodeOutput(ctx *Context, args *GetDecodeOutputArgs, opts ...InvokeOption) GetDecodeResultOutput> Note: This function is named GetDecode in the Go SDK.
public static class GetDecode
{
public static Task<GetDecodeResult> InvokeAsync(GetDecodeArgs args, InvokeOptions? opts = null)
public static Output<GetDecodeResult> Invoke(GetDecodeInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetDecodeResult> getDecode(GetDecodeArgs args, InvokeOptions options)
public static Output<GetDecodeResult> getDecode(GetDecodeArgs args, InvokeOptions options)
fn::invoke:
function: vault:transform/getDecode:getDecode
arguments:
# arguments dictionaryThe following arguments are supported:
- Path string
- Path to where the back-end is mounted within Vault.
- Role
Name string - The name of the role.
- Batch
Inputs List<ImmutableDictionary<string, string>> - Specifies a list of items to be decoded in a single batch. If this parameter is set, the top-level parameters 'value', 'transformation' and 'tweak' will be ignored. Each batch item within the list can specify these parameters instead.
- Batch
Results List<ImmutableDictionary<string, string>> - The result of decoding a batch.
- Decoded
Value string - The result of decoding a value.
- Namespace string
- The namespace of the target resource.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - Transformation string
- 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 string
- The tweak value to use. Only applicable for FPE transformations
- Value string
- The value in which to decode.
- Path string
- Path to where the back-end is mounted within Vault.
- Role
Name string - The name of the role.
- Batch
Inputs []map[string]string - Specifies a list of items to be decoded in a single batch. If this parameter is set, the top-level parameters 'value', 'transformation' and 'tweak' will be ignored. Each batch item within the list can specify these parameters instead.
- Batch
Results []map[string]string - The result of decoding a batch.
- Decoded
Value string - The result of decoding a value.
- Namespace string
- The namespace of the target resource.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - Transformation string
- 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 string
- The tweak value to use. Only applicable for FPE transformations
- Value string
- The value in which to decode.
- path String
- Path to where the back-end is mounted within Vault.
- role
Name String - The name of the role.
- batch
Inputs List<Map<String,String>> - Specifies a list of items to be decoded in a single batch. If this parameter is set, the top-level parameters 'value', 'transformation' and 'tweak' will be ignored. Each batch item within the list can specify these parameters instead.
- batch
Results List<Map<String,String>> - The result of decoding a batch.
- decoded
Value String - The result of decoding a value.
- namespace String
- The namespace of the target resource.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - transformation String
- 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 String
- The tweak value to use. Only applicable for FPE transformations
- value String
- The value in which to decode.
- path string
- Path to where the back-end is mounted within Vault.
- role
Name string - The name of the role.
- batch
Inputs {[key: string]: string}[] - Specifies a list of items to be decoded in a single batch. If this parameter is set, the top-level parameters 'value', 'transformation' and 'tweak' will be ignored. Each batch item within the list can specify these parameters instead.
- batch
Results {[key: string]: string}[] - The result of decoding a batch.
- decoded
Value string - The result of decoding a value.
- namespace string
- The namespace of the target resource.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - transformation string
- 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 string
- The tweak value to use. Only applicable for FPE transformations
- value string
- The value in which to decode.
- path str
- Path to where the back-end is mounted within Vault.
- role_
name str - The name of the role.
- batch_
inputs Sequence[Mapping[str, str]] - Specifies a list of items to be decoded in a single batch. If this parameter is set, the top-level parameters 'value', 'transformation' and 'tweak' will be ignored. Each batch item within the list can specify these parameters instead.
- batch_
results Sequence[Mapping[str, str]] - The result of decoding a batch.
- decoded_
value str - The result of decoding a value.
- namespace str
- The namespace of the target resource.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - transformation str
- 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 str
- The tweak value to use. Only applicable for FPE transformations
- value str
- The value in which to decode.
- path String
- Path to where the back-end is mounted within Vault.
- role
Name String - The name of the role.
- batch
Inputs List<Map<String>> - Specifies a list of items to be decoded in a single batch. If this parameter is set, the top-level parameters 'value', 'transformation' and 'tweak' will be ignored. Each batch item within the list can specify these parameters instead.
- batch
Results List<Map<String>> - The result of decoding a batch.
- decoded
Value String - The result of decoding a value.
- namespace String
- The namespace of the target resource.
The value should not contain leading or trailing forward slashes.
The
namespaceis always relative to the provider's configured namespace. Available only for Vault Enterprise. - transformation String
- 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 String
- The tweak value to use. Only applicable for FPE transformations
- value String
- The value in which to decode.
getDecode Result
The following output properties are available:
- Batch
Results List<ImmutableDictionary<string, string>> - Decoded
Value string - Id string
- The provider-assigned unique ID for this managed resource.
- Path string
- Role
Name string - Batch
Inputs List<ImmutableDictionary<string, string>> - Namespace string
- Transformation string
- Tweak string
- Value string
- Batch
Results []map[string]string - Decoded
Value string - Id string
- The provider-assigned unique ID for this managed resource.
- Path string
- Role
Name string - Batch
Inputs []map[string]string - Namespace string
- Transformation string
- Tweak string
- Value string
- batch
Results List<Map<String,String>> - decoded
Value String - id String
- The provider-assigned unique ID for this managed resource.
- path String
- role
Name String - batch
Inputs List<Map<String,String>> - namespace String
- transformation String
- tweak String
- value String
- batch
Results {[key: string]: string}[] - decoded
Value string - id string
- The provider-assigned unique ID for this managed resource.
- path string
- role
Name string - batch
Inputs {[key: string]: string}[] - namespace string
- transformation string
- tweak string
- value string
- batch_
results Sequence[Mapping[str, str]] - decoded_
value str - id str
- The provider-assigned unique ID for this managed resource.
- path str
- role_
name str - batch_
inputs Sequence[Mapping[str, str]] - namespace str
- transformation str
- tweak str
- value str
- batch
Results List<Map<String>> - decoded
Value String - id String
- The provider-assigned unique ID for this managed resource.
- path String
- role
Name String - batch
Inputs List<Map<String>> - namespace String
- transformation String
- tweak String
- value String
Package Details
- Repository
- Vault pulumi/pulumi-vault
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
vaultTerraform Provider.