HashiCorp Vault v6.3.0 published on Thursday, Aug 8, 2024 by Pulumi
vault.transform.getEncode
Explore with Pulumi AI
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",
}])
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
}
_, 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.MapArray{
pulumi.Map{
"value": pulumi.Any("1111-2222-3333-4444"),
},
},
}, 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.GetEncode.Invoke(new()
{
Path = payments.Path,
RoleName = "payments",
BatchInputs = new[]
{
{
{ "value", "1111-2222-3333-4444" },
},
},
});
});
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
Using getEncode
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 getEncode(args: GetEncodeArgs, opts?: InvokeOptions): Promise<GetEncodeResult>
function getEncodeOutput(args: GetEncodeOutputArgs, opts?: InvokeOptions): Output<GetEncodeResult>
def get_encode(batch_inputs: Optional[Sequence[Mapping[str, Any]]] = None,
batch_results: Optional[Sequence[Mapping[str, Any]]] = None,
encoded_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) -> GetEncodeResult
def get_encode_output(batch_inputs: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]] = None,
batch_results: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]] = None,
encoded_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[GetEncodeResult]
func GetEncode(ctx *Context, args *GetEncodeArgs, opts ...InvokeOption) (*GetEncodeResult, error)
func GetEncodeOutput(ctx *Context, args *GetEncodeOutputArgs, opts ...InvokeOption) GetEncodeResultOutput
> Note: This function is named GetEncode
in the Go SDK.
public static class GetEncode
{
public static Task<GetEncodeResult> InvokeAsync(GetEncodeArgs args, InvokeOptions? opts = null)
public static Output<GetEncodeResult> Invoke(GetEncodeInvokeArgs args, InvokeOptions? opts = null)
}
public static CompletableFuture<GetEncodeResult> getEncode(GetEncodeArgs args, InvokeOptions options)
// Output-based functions aren't available in Java yet
fn::invoke:
function: vault:transform/getEncode:getEncode
arguments:
# arguments dictionary
The 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, object>> - 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.
- Batch
Results List<ImmutableDictionary<string, object>> - The result of encoding a batch.
- Encoded
Value string - The result of encoding a value.
- Namespace string
- 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. - 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 encode.
- Path string
- Path to where the back-end is mounted within Vault.
- Role
Name string - The name of the role.
- Batch
Inputs []map[string]interface{} - 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.
- Batch
Results []map[string]interface{} - The result of encoding a batch.
- Encoded
Value string - The result of encoding a value.
- Namespace string
- 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. - 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 encode.
- 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,Object>> - 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.
- batch
Results List<Map<String,Object>> - The result of encoding a batch.
- encoded
Value String - The result of encoding a value.
- namespace String
- 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. - 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 encode.
- path string
- Path to where the back-end is mounted within Vault.
- role
Name string - The name of the role.
- batch
Inputs {[key: string]: any}[] - 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.
- batch
Results {[key: string]: any}[] - The result of encoding a batch.
- encoded
Value string - The result of encoding a value.
- namespace string
- 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. - 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 encode.
- 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, Any]] - 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.
- batch_
results Sequence[Mapping[str, Any]] - The result of encoding a batch.
- encoded_
value str - The result of encoding a value.
- namespace str
- 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. - 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 encode.
- path String
- Path to where the back-end is mounted within Vault.
- role
Name String - The name of the role.
- batch
Inputs List<Map<Any>> - 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.
- batch
Results List<Map<Any>> - The result of encoding a batch.
- encoded
Value String - The result of encoding a value.
- namespace String
- 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. - 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 encode.
getEncode Result
The following output properties are available:
- Batch
Results List<ImmutableDictionary<string, object>> - Encoded
Value string - Id string
- The provider-assigned unique ID for this managed resource.
- Path string
- Role
Name string - Batch
Inputs List<ImmutableDictionary<string, object>> - Namespace string
- Transformation string
- Tweak string
- Value string
- Batch
Results []map[string]interface{} - Encoded
Value string - Id string
- The provider-assigned unique ID for this managed resource.
- Path string
- Role
Name string - Batch
Inputs []map[string]interface{} - Namespace string
- Transformation string
- Tweak string
- Value string
- batch
Results List<Map<String,Object>> - encoded
Value String - id String
- The provider-assigned unique ID for this managed resource.
- path String
- role
Name String - batch
Inputs List<Map<String,Object>> - namespace String
- transformation String
- tweak String
- value String
- batch
Results {[key: string]: any}[] - encoded
Value string - id string
- The provider-assigned unique ID for this managed resource.
- path string
- role
Name string - batch
Inputs {[key: string]: any}[] - namespace string
- transformation string
- tweak string
- value string
- batch_
results Sequence[Mapping[str, Any]] - encoded_
value str - id str
- The provider-assigned unique ID for this managed resource.
- path str
- role_
name str - batch_
inputs Sequence[Mapping[str, Any]] - namespace str
- transformation str
- tweak str
- value str
- batch
Results List<Map<Any>> - encoded
Value String - id String
- The provider-assigned unique ID for this managed resource.
- path String
- role
Name String - batch
Inputs List<Map<Any>> - 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
vault
Terraform Provider.