1. Packages
  2. HashiCorp Vault Provider
  3. API Docs
  4. transit
  5. getCmac
HashiCorp Vault v7.4.0 published on Wednesday, Nov 5, 2025 by Pulumi

vault.transit.getCmac

Start a Neo task
Explain and create a vault.transit.getCmac resource
vault logo
HashiCorp Vault v7.4.0 published on Wednesday, Nov 5, 2025 by Pulumi

    This is a data source which can be used to generate a CMAC using a Vault Transit key.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as vault from "@pulumi/vault";
    
    const test = vault.transit.getCmac({
        path: "transit",
        name: "test",
        input: "aGVsbG8gd29ybGQ=",
    });
    
    import pulumi
    import pulumi_vault as vault
    
    test = vault.transit.get_cmac(path="transit",
        name="test",
        input="aGVsbG8gd29ybGQ=")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-vault/sdk/v7/go/vault/transit"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := transit.GetCmac(ctx, &transit.GetCmacArgs{
    			Path:  "transit",
    			Name:  "test",
    			Input: pulumi.StringRef("aGVsbG8gd29ybGQ="),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Vault = Pulumi.Vault;
    
    return await Deployment.RunAsync(() => 
    {
        var test = Vault.Transit.GetCmac.Invoke(new()
        {
            Path = "transit",
            Name = "test",
            Input = "aGVsbG8gd29ybGQ=",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.vault.transit.TransitFunctions;
    import com.pulumi.vault.transit.inputs.GetCmacArgs;
    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 test = TransitFunctions.getCmac(GetCmacArgs.builder()
                .path("transit")
                .name("test")
                .input("aGVsbG8gd29ybGQ=")
                .build());
    
        }
    }
    
    variables:
      test:
        fn::invoke:
          function: vault:transit:getCmac
          arguments:
            path: transit
            name: test
            input: aGVsbG8gd29ybGQ=
    

    Using getCmac

    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 getCmac(args: GetCmacArgs, opts?: InvokeOptions): Promise<GetCmacResult>
    function getCmacOutput(args: GetCmacOutputArgs, opts?: InvokeOptions): Output<GetCmacResult>
    def get_cmac(batch_inputs: Optional[Sequence[Mapping[str, str]]] = None,
                 batch_results: Optional[Sequence[Mapping[str, str]]] = None,
                 cmac: Optional[str] = None,
                 input: Optional[str] = None,
                 key_version: Optional[int] = None,
                 mac_length: Optional[int] = None,
                 name: Optional[str] = None,
                 namespace: Optional[str] = None,
                 path: Optional[str] = None,
                 url_mac_length: Optional[int] = None,
                 opts: Optional[InvokeOptions] = None) -> GetCmacResult
    def get_cmac_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,
                 cmac: Optional[pulumi.Input[str]] = None,
                 input: Optional[pulumi.Input[str]] = None,
                 key_version: Optional[pulumi.Input[int]] = None,
                 mac_length: Optional[pulumi.Input[int]] = None,
                 name: Optional[pulumi.Input[str]] = None,
                 namespace: Optional[pulumi.Input[str]] = None,
                 path: Optional[pulumi.Input[str]] = None,
                 url_mac_length: Optional[pulumi.Input[int]] = None,
                 opts: Optional[InvokeOptions] = None) -> Output[GetCmacResult]
    func GetCmac(ctx *Context, args *GetCmacArgs, opts ...InvokeOption) (*GetCmacResult, error)
    func GetCmacOutput(ctx *Context, args *GetCmacOutputArgs, opts ...InvokeOption) GetCmacResultOutput

    > Note: This function is named GetCmac in the Go SDK.

    public static class GetCmac 
    {
        public static Task<GetCmacResult> InvokeAsync(GetCmacArgs args, InvokeOptions? opts = null)
        public static Output<GetCmacResult> Invoke(GetCmacInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetCmacResult> getCmac(GetCmacArgs args, InvokeOptions options)
    public static Output<GetCmacResult> getCmac(GetCmacArgs args, InvokeOptions options)
    
    fn::invoke:
      function: vault:transit/getCmac:getCmac
      arguments:
        # arguments dictionary

    The following arguments are supported:

    Name string
    Path string
    BatchInputs List<ImmutableDictionary<string, string>>
    BatchResults List<ImmutableDictionary<string, string>>
    The results returned from Vault if using batch_input
    Cmac string
    The CMAC returned from Vault if using input
    Input string
    KeyVersion int
    MacLength int
    Namespace string
    UrlMacLength int
    Name string
    Path string
    BatchInputs []map[string]string
    BatchResults []map[string]string
    The results returned from Vault if using batch_input
    Cmac string
    The CMAC returned from Vault if using input
    Input string
    KeyVersion int
    MacLength int
    Namespace string
    UrlMacLength int
    name String
    path String
    batchInputs List<Map<String,String>>
    batchResults List<Map<String,String>>
    The results returned from Vault if using batch_input
    cmac String
    The CMAC returned from Vault if using input
    input String
    keyVersion Integer
    macLength Integer
    namespace String
    urlMacLength Integer
    name string
    path string
    batchInputs {[key: string]: string}[]
    batchResults {[key: string]: string}[]
    The results returned from Vault if using batch_input
    cmac string
    The CMAC returned from Vault if using input
    input string
    keyVersion number
    macLength number
    namespace string
    urlMacLength number
    name str
    path str
    batch_inputs Sequence[Mapping[str, str]]
    batch_results Sequence[Mapping[str, str]]
    The results returned from Vault if using batch_input
    cmac str
    The CMAC returned from Vault if using input
    input str
    key_version int
    mac_length int
    namespace str
    url_mac_length int
    name String
    path String
    batchInputs List<Map<String>>
    batchResults List<Map<String>>
    The results returned from Vault if using batch_input
    cmac String
    The CMAC returned from Vault if using input
    input String
    keyVersion Number
    macLength Number
    namespace String
    urlMacLength Number

    getCmac Result

    The following output properties are available:

    BatchResults List<ImmutableDictionary<string, string>>
    The results returned from Vault if using batch_input
    Cmac string
    The CMAC returned from Vault if using input
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    Path string
    BatchInputs List<ImmutableDictionary<string, string>>
    Input string
    KeyVersion int
    MacLength int
    Namespace string
    UrlMacLength int
    BatchResults []map[string]string
    The results returned from Vault if using batch_input
    Cmac string
    The CMAC returned from Vault if using input
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    Path string
    BatchInputs []map[string]string
    Input string
    KeyVersion int
    MacLength int
    Namespace string
    UrlMacLength int
    batchResults List<Map<String,String>>
    The results returned from Vault if using batch_input
    cmac String
    The CMAC returned from Vault if using input
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    path String
    batchInputs List<Map<String,String>>
    input String
    keyVersion Integer
    macLength Integer
    namespace String
    urlMacLength Integer
    batchResults {[key: string]: string}[]
    The results returned from Vault if using batch_input
    cmac string
    The CMAC returned from Vault if using input
    id string
    The provider-assigned unique ID for this managed resource.
    name string
    path string
    batchInputs {[key: string]: string}[]
    input string
    keyVersion number
    macLength number
    namespace string
    urlMacLength number
    batch_results Sequence[Mapping[str, str]]
    The results returned from Vault if using batch_input
    cmac str
    The CMAC returned from Vault if using input
    id str
    The provider-assigned unique ID for this managed resource.
    name str
    path str
    batch_inputs Sequence[Mapping[str, str]]
    input str
    key_version int
    mac_length int
    namespace str
    url_mac_length int
    batchResults List<Map<String>>
    The results returned from Vault if using batch_input
    cmac String
    The CMAC returned from Vault if using input
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    path String
    batchInputs List<Map<String>>
    input String
    keyVersion Number
    macLength Number
    namespace String
    urlMacLength Number

    Package Details

    Repository
    Vault pulumi/pulumi-vault
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the vault Terraform Provider.
    vault logo
    HashiCorp Vault v7.4.0 published on Wednesday, Nov 5, 2025 by Pulumi
      Meet Neo: Your AI Platform Teammate