1. Packages
  2. HashiCorp Vault
  3. API Docs
  4. PasswordPolicy
HashiCorp Vault v6.3.0 published on Thursday, Aug 8, 2024 by Pulumi

vault.PasswordPolicy

Explore with Pulumi AI

vault logo
HashiCorp Vault v6.3.0 published on Thursday, Aug 8, 2024 by Pulumi

    Provides a resource to manage Password Policies

    Note this feature is available only Vault 1.5+

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as vault from "@pulumi/vault";
    
    const alphanumeric = new vault.PasswordPolicy("alphanumeric", {
        name: "alphanumeric",
        policy: `    length = 20
        rule "charset" {
          charset = "abcdefghijklmnopqrstuvwxyz0123456789"
        }
    `,
    });
    
    import pulumi
    import pulumi_vault as vault
    
    alphanumeric = vault.PasswordPolicy("alphanumeric",
        name="alphanumeric",
        policy="""    length = 20
        rule "charset" {
          charset = "abcdefghijklmnopqrstuvwxyz0123456789"
        }
    """)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-vault/sdk/v6/go/vault"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := vault.NewPasswordPolicy(ctx, "alphanumeric", &vault.PasswordPolicyArgs{
    			Name:   pulumi.String("alphanumeric"),
    			Policy: pulumi.String("    length = 20\n    rule \"charset\" {\n      charset = \"abcdefghijklmnopqrstuvwxyz0123456789\"\n    }\n"),
    		})
    		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 alphanumeric = new Vault.PasswordPolicy("alphanumeric", new()
        {
            Name = "alphanumeric",
            Policy = @"    length = 20
        rule ""charset"" {
          charset = ""abcdefghijklmnopqrstuvwxyz0123456789""
        }
    ",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.vault.PasswordPolicy;
    import com.pulumi.vault.PasswordPolicyArgs;
    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 alphanumeric = new PasswordPolicy("alphanumeric", PasswordPolicyArgs.builder()
                .name("alphanumeric")
                .policy("""
        length = 20
        rule "charset" {
          charset = "abcdefghijklmnopqrstuvwxyz0123456789"
        }
                """)
                .build());
    
        }
    }
    
    resources:
      alphanumeric:
        type: vault:PasswordPolicy
        properties:
          name: alphanumeric
          policy: |2
                length = 20
                rule "charset" {
                  charset = "abcdefghijklmnopqrstuvwxyz0123456789"
                }
    

    Create PasswordPolicy Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new PasswordPolicy(name: string, args: PasswordPolicyArgs, opts?: CustomResourceOptions);
    @overload
    def PasswordPolicy(resource_name: str,
                       args: PasswordPolicyArgs,
                       opts: Optional[ResourceOptions] = None)
    
    @overload
    def PasswordPolicy(resource_name: str,
                       opts: Optional[ResourceOptions] = None,
                       policy: Optional[str] = None,
                       name: Optional[str] = None,
                       namespace: Optional[str] = None)
    func NewPasswordPolicy(ctx *Context, name string, args PasswordPolicyArgs, opts ...ResourceOption) (*PasswordPolicy, error)
    public PasswordPolicy(string name, PasswordPolicyArgs args, CustomResourceOptions? opts = null)
    public PasswordPolicy(String name, PasswordPolicyArgs args)
    public PasswordPolicy(String name, PasswordPolicyArgs args, CustomResourceOptions options)
    
    type: vault:PasswordPolicy
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args PasswordPolicyArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args PasswordPolicyArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args PasswordPolicyArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args PasswordPolicyArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args PasswordPolicyArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var passwordPolicyResource = new Vault.PasswordPolicy("passwordPolicyResource", new()
    {
        Policy = "string",
        Name = "string",
        Namespace = "string",
    });
    
    example, err := vault.NewPasswordPolicy(ctx, "passwordPolicyResource", &vault.PasswordPolicyArgs{
    	Policy:    pulumi.String("string"),
    	Name:      pulumi.String("string"),
    	Namespace: pulumi.String("string"),
    })
    
    var passwordPolicyResource = new PasswordPolicy("passwordPolicyResource", PasswordPolicyArgs.builder()
        .policy("string")
        .name("string")
        .namespace("string")
        .build());
    
    password_policy_resource = vault.PasswordPolicy("passwordPolicyResource",
        policy="string",
        name="string",
        namespace="string")
    
    const passwordPolicyResource = new vault.PasswordPolicy("passwordPolicyResource", {
        policy: "string",
        name: "string",
        namespace: "string",
    });
    
    type: vault:PasswordPolicy
    properties:
        name: string
        namespace: string
        policy: string
    

    PasswordPolicy Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The PasswordPolicy resource accepts the following input properties:

    Policy string
    String containing a password policy.
    Name string
    The name of the password policy.
    Namespace string
    The namespace to provision the resource in. 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.
    Policy string
    String containing a password policy.
    Name string
    The name of the password policy.
    Namespace string
    The namespace to provision the resource in. 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.
    policy String
    String containing a password policy.
    name String
    The name of the password policy.
    namespace String
    The namespace to provision the resource in. 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.
    policy string
    String containing a password policy.
    name string
    The name of the password policy.
    namespace string
    The namespace to provision the resource in. 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.
    policy str
    String containing a password policy.
    name str
    The name of the password policy.
    namespace str
    The namespace to provision the resource in. 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.
    policy String
    String containing a password policy.
    name String
    The name of the password policy.
    namespace String
    The namespace to provision the resource in. 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.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the PasswordPolicy resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing PasswordPolicy Resource

    Get an existing PasswordPolicy resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: PasswordPolicyState, opts?: CustomResourceOptions): PasswordPolicy
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            name: Optional[str] = None,
            namespace: Optional[str] = None,
            policy: Optional[str] = None) -> PasswordPolicy
    func GetPasswordPolicy(ctx *Context, name string, id IDInput, state *PasswordPolicyState, opts ...ResourceOption) (*PasswordPolicy, error)
    public static PasswordPolicy Get(string name, Input<string> id, PasswordPolicyState? state, CustomResourceOptions? opts = null)
    public static PasswordPolicy get(String name, Output<String> id, PasswordPolicyState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Name string
    The name of the password policy.
    Namespace string
    The namespace to provision the resource in. 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.
    Policy string
    String containing a password policy.
    Name string
    The name of the password policy.
    Namespace string
    The namespace to provision the resource in. 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.
    Policy string
    String containing a password policy.
    name String
    The name of the password policy.
    namespace String
    The namespace to provision the resource in. 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.
    policy String
    String containing a password policy.
    name string
    The name of the password policy.
    namespace string
    The namespace to provision the resource in. 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.
    policy string
    String containing a password policy.
    name str
    The name of the password policy.
    namespace str
    The namespace to provision the resource in. 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.
    policy str
    String containing a password policy.
    name String
    The name of the password policy.
    namespace String
    The namespace to provision the resource in. 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.
    policy String
    String containing a password policy.

    Import

    Password policies can be imported using the name, e.g.

    $ pulumi import vault:index/passwordPolicy:PasswordPolicy alphanumeric alphanumeric
    

    To learn more about importing existing cloud resources, see Importing resources.

    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 v6.3.0 published on Thursday, Aug 8, 2024 by Pulumi