All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.aws.iam.AccountPasswordPolicyArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

There is a newer version: 6.72.0
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.aws.iam;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Integer;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class AccountPasswordPolicyArgs extends com.pulumi.resources.ResourceArgs {

    public static final AccountPasswordPolicyArgs Empty = new AccountPasswordPolicyArgs();

    /**
     * Whether to allow users to change their own password
     * 
     */
    @Import(name="allowUsersToChangePassword")
    private @Nullable Output allowUsersToChangePassword;

    /**
     * @return Whether to allow users to change their own password
     * 
     */
    public Optional> allowUsersToChangePassword() {
        return Optional.ofNullable(this.allowUsersToChangePassword);
    }

    /**
     * Whether users are prevented from setting a new password after their password has expired (i.e., require administrator reset)
     * 
     */
    @Import(name="hardExpiry")
    private @Nullable Output hardExpiry;

    /**
     * @return Whether users are prevented from setting a new password after their password has expired (i.e., require administrator reset)
     * 
     */
    public Optional> hardExpiry() {
        return Optional.ofNullable(this.hardExpiry);
    }

    /**
     * The number of days that an user password is valid.
     * 
     */
    @Import(name="maxPasswordAge")
    private @Nullable Output maxPasswordAge;

    /**
     * @return The number of days that an user password is valid.
     * 
     */
    public Optional> maxPasswordAge() {
        return Optional.ofNullable(this.maxPasswordAge);
    }

    /**
     * Minimum length to require for user passwords.
     * 
     */
    @Import(name="minimumPasswordLength")
    private @Nullable Output minimumPasswordLength;

    /**
     * @return Minimum length to require for user passwords.
     * 
     */
    public Optional> minimumPasswordLength() {
        return Optional.ofNullable(this.minimumPasswordLength);
    }

    /**
     * The number of previous passwords that users are prevented from reusing.
     * 
     */
    @Import(name="passwordReusePrevention")
    private @Nullable Output passwordReusePrevention;

    /**
     * @return The number of previous passwords that users are prevented from reusing.
     * 
     */
    public Optional> passwordReusePrevention() {
        return Optional.ofNullable(this.passwordReusePrevention);
    }

    /**
     * Whether to require lowercase characters for user passwords.
     * 
     */
    @Import(name="requireLowercaseCharacters")
    private @Nullable Output requireLowercaseCharacters;

    /**
     * @return Whether to require lowercase characters for user passwords.
     * 
     */
    public Optional> requireLowercaseCharacters() {
        return Optional.ofNullable(this.requireLowercaseCharacters);
    }

    /**
     * Whether to require numbers for user passwords.
     * 
     */
    @Import(name="requireNumbers")
    private @Nullable Output requireNumbers;

    /**
     * @return Whether to require numbers for user passwords.
     * 
     */
    public Optional> requireNumbers() {
        return Optional.ofNullable(this.requireNumbers);
    }

    /**
     * Whether to require symbols for user passwords.
     * 
     */
    @Import(name="requireSymbols")
    private @Nullable Output requireSymbols;

    /**
     * @return Whether to require symbols for user passwords.
     * 
     */
    public Optional> requireSymbols() {
        return Optional.ofNullable(this.requireSymbols);
    }

    /**
     * Whether to require uppercase characters for user passwords.
     * 
     */
    @Import(name="requireUppercaseCharacters")
    private @Nullable Output requireUppercaseCharacters;

    /**
     * @return Whether to require uppercase characters for user passwords.
     * 
     */
    public Optional> requireUppercaseCharacters() {
        return Optional.ofNullable(this.requireUppercaseCharacters);
    }

    private AccountPasswordPolicyArgs() {}

    private AccountPasswordPolicyArgs(AccountPasswordPolicyArgs $) {
        this.allowUsersToChangePassword = $.allowUsersToChangePassword;
        this.hardExpiry = $.hardExpiry;
        this.maxPasswordAge = $.maxPasswordAge;
        this.minimumPasswordLength = $.minimumPasswordLength;
        this.passwordReusePrevention = $.passwordReusePrevention;
        this.requireLowercaseCharacters = $.requireLowercaseCharacters;
        this.requireNumbers = $.requireNumbers;
        this.requireSymbols = $.requireSymbols;
        this.requireUppercaseCharacters = $.requireUppercaseCharacters;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(AccountPasswordPolicyArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private AccountPasswordPolicyArgs $;

        public Builder() {
            $ = new AccountPasswordPolicyArgs();
        }

        public Builder(AccountPasswordPolicyArgs defaults) {
            $ = new AccountPasswordPolicyArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param allowUsersToChangePassword Whether to allow users to change their own password
         * 
         * @return builder
         * 
         */
        public Builder allowUsersToChangePassword(@Nullable Output allowUsersToChangePassword) {
            $.allowUsersToChangePassword = allowUsersToChangePassword;
            return this;
        }

        /**
         * @param allowUsersToChangePassword Whether to allow users to change their own password
         * 
         * @return builder
         * 
         */
        public Builder allowUsersToChangePassword(Boolean allowUsersToChangePassword) {
            return allowUsersToChangePassword(Output.of(allowUsersToChangePassword));
        }

        /**
         * @param hardExpiry Whether users are prevented from setting a new password after their password has expired (i.e., require administrator reset)
         * 
         * @return builder
         * 
         */
        public Builder hardExpiry(@Nullable Output hardExpiry) {
            $.hardExpiry = hardExpiry;
            return this;
        }

        /**
         * @param hardExpiry Whether users are prevented from setting a new password after their password has expired (i.e., require administrator reset)
         * 
         * @return builder
         * 
         */
        public Builder hardExpiry(Boolean hardExpiry) {
            return hardExpiry(Output.of(hardExpiry));
        }

        /**
         * @param maxPasswordAge The number of days that an user password is valid.
         * 
         * @return builder
         * 
         */
        public Builder maxPasswordAge(@Nullable Output maxPasswordAge) {
            $.maxPasswordAge = maxPasswordAge;
            return this;
        }

        /**
         * @param maxPasswordAge The number of days that an user password is valid.
         * 
         * @return builder
         * 
         */
        public Builder maxPasswordAge(Integer maxPasswordAge) {
            return maxPasswordAge(Output.of(maxPasswordAge));
        }

        /**
         * @param minimumPasswordLength Minimum length to require for user passwords.
         * 
         * @return builder
         * 
         */
        public Builder minimumPasswordLength(@Nullable Output minimumPasswordLength) {
            $.minimumPasswordLength = minimumPasswordLength;
            return this;
        }

        /**
         * @param minimumPasswordLength Minimum length to require for user passwords.
         * 
         * @return builder
         * 
         */
        public Builder minimumPasswordLength(Integer minimumPasswordLength) {
            return minimumPasswordLength(Output.of(minimumPasswordLength));
        }

        /**
         * @param passwordReusePrevention The number of previous passwords that users are prevented from reusing.
         * 
         * @return builder
         * 
         */
        public Builder passwordReusePrevention(@Nullable Output passwordReusePrevention) {
            $.passwordReusePrevention = passwordReusePrevention;
            return this;
        }

        /**
         * @param passwordReusePrevention The number of previous passwords that users are prevented from reusing.
         * 
         * @return builder
         * 
         */
        public Builder passwordReusePrevention(Integer passwordReusePrevention) {
            return passwordReusePrevention(Output.of(passwordReusePrevention));
        }

        /**
         * @param requireLowercaseCharacters Whether to require lowercase characters for user passwords.
         * 
         * @return builder
         * 
         */
        public Builder requireLowercaseCharacters(@Nullable Output requireLowercaseCharacters) {
            $.requireLowercaseCharacters = requireLowercaseCharacters;
            return this;
        }

        /**
         * @param requireLowercaseCharacters Whether to require lowercase characters for user passwords.
         * 
         * @return builder
         * 
         */
        public Builder requireLowercaseCharacters(Boolean requireLowercaseCharacters) {
            return requireLowercaseCharacters(Output.of(requireLowercaseCharacters));
        }

        /**
         * @param requireNumbers Whether to require numbers for user passwords.
         * 
         * @return builder
         * 
         */
        public Builder requireNumbers(@Nullable Output requireNumbers) {
            $.requireNumbers = requireNumbers;
            return this;
        }

        /**
         * @param requireNumbers Whether to require numbers for user passwords.
         * 
         * @return builder
         * 
         */
        public Builder requireNumbers(Boolean requireNumbers) {
            return requireNumbers(Output.of(requireNumbers));
        }

        /**
         * @param requireSymbols Whether to require symbols for user passwords.
         * 
         * @return builder
         * 
         */
        public Builder requireSymbols(@Nullable Output requireSymbols) {
            $.requireSymbols = requireSymbols;
            return this;
        }

        /**
         * @param requireSymbols Whether to require symbols for user passwords.
         * 
         * @return builder
         * 
         */
        public Builder requireSymbols(Boolean requireSymbols) {
            return requireSymbols(Output.of(requireSymbols));
        }

        /**
         * @param requireUppercaseCharacters Whether to require uppercase characters for user passwords.
         * 
         * @return builder
         * 
         */
        public Builder requireUppercaseCharacters(@Nullable Output requireUppercaseCharacters) {
            $.requireUppercaseCharacters = requireUppercaseCharacters;
            return this;
        }

        /**
         * @param requireUppercaseCharacters Whether to require uppercase characters for user passwords.
         * 
         * @return builder
         * 
         */
        public Builder requireUppercaseCharacters(Boolean requireUppercaseCharacters) {
            return requireUppercaseCharacters(Output.of(requireUppercaseCharacters));
        }

        public AccountPasswordPolicyArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy