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

com.pulumi.azurenative.awsconnector.inputs.AwsIamPasswordPolicyPropertiesArgs Maven / Gradle / Ivy

The 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.azurenative.awsconnector.inputs;

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;


/**
 * Definition of awsIamPasswordPolicy
 * 
 */
public final class AwsIamPasswordPolicyPropertiesArgs extends com.pulumi.resources.ResourceArgs {

    public static final AwsIamPasswordPolicyPropertiesArgs Empty = new AwsIamPasswordPolicyPropertiesArgs();

    /**
     * <p>Specifies whether IAM users are allowed to change their own password. Gives IAM users permissions to <code>iam:ChangePassword</code> for only their user and to the <code>iam:GetAccountPasswordPolicy</code> action. This option does not attach a permissions policy to each user, rather the permissions are applied at the account-level for all users by IAM.</p>
     * 
     */
    @Import(name="allowUsersToChangePassword")
    private @Nullable Output allowUsersToChangePassword;

    /**
     * @return <p>Specifies whether IAM users are allowed to change their own password. Gives IAM users permissions to <code>iam:ChangePassword</code> for only their user and to the <code>iam:GetAccountPasswordPolicy</code> action. This option does not attach a permissions policy to each user, rather the permissions are applied at the account-level for all users by IAM.</p>
     * 
     */
    public Optional> allowUsersToChangePassword() {
        return Optional.ofNullable(this.allowUsersToChangePassword);
    }

    /**
     * <p>Indicates whether passwords in the account expire. Returns true if <code>MaxPasswordAge</code> contains a value greater than 0. Returns false if MaxPasswordAge is 0 or not present.</p>
     * 
     */
    @Import(name="expirePasswords")
    private @Nullable Output expirePasswords;

    /**
     * @return <p>Indicates whether passwords in the account expire. Returns true if <code>MaxPasswordAge</code> contains a value greater than 0. Returns false if MaxPasswordAge is 0 or not present.</p>
     * 
     */
    public Optional> expirePasswords() {
        return Optional.ofNullable(this.expirePasswords);
    }

    /**
     * <p>Specifies whether IAM users are prevented from setting a new password via the Amazon Web Services Management Console after their password has expired. The IAM user cannot access the console until an administrator resets the password. IAM users with <code>iam:ChangePassword</code> permission and active access keys can reset their own expired console password using the CLI or API.</p>
     * 
     */
    @Import(name="hardExpiry")
    private @Nullable Output hardExpiry;

    /**
     * @return <p>Specifies whether IAM users are prevented from setting a new password via the Amazon Web Services Management Console after their password has expired. The IAM user cannot access the console until an administrator resets the password. IAM users with <code>iam:ChangePassword</code> permission and active access keys can reset their own expired console password using the CLI or API.</p>
     * 
     */
    public Optional> hardExpiry() {
        return Optional.ofNullable(this.hardExpiry);
    }

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

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

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

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

    /**
     * <p>Specifies the number of previous passwords that IAM users are prevented from reusing.</p>
     * 
     */
    @Import(name="passwordReusePrevention")
    private @Nullable Output passwordReusePrevention;

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

    /**
     * <p>Specifies whether IAM user passwords must contain at least one lowercase character (a to z).</p>
     * 
     */
    @Import(name="requireLowercaseCharacters")
    private @Nullable Output requireLowercaseCharacters;

    /**
     * @return <p>Specifies whether IAM user passwords must contain at least one lowercase character (a to z).</p>
     * 
     */
    public Optional> requireLowercaseCharacters() {
        return Optional.ofNullable(this.requireLowercaseCharacters);
    }

    /**
     * <p>Specifies whether IAM user passwords must contain at least one numeric character (0 to 9).</p>
     * 
     */
    @Import(name="requireNumbers")
    private @Nullable Output requireNumbers;

    /**
     * @return <p>Specifies whether IAM user passwords must contain at least one numeric character (0 to 9).</p>
     * 
     */
    public Optional> requireNumbers() {
        return Optional.ofNullable(this.requireNumbers);
    }

    /**
     * <p>Specifies whether IAM user passwords must contain at least one of the following symbols:</p> <p>! {@literal @} # $ % ^ &amp; * ( ) _ + - = [ ] { } | '</p>
     * 
     */
    @Import(name="requireSymbols")
    private @Nullable Output requireSymbols;

    /**
     * @return <p>Specifies whether IAM user passwords must contain at least one of the following symbols:</p> <p>! {@literal @} # $ % ^ &amp; * ( ) _ + - = [ ] { } | '</p>
     * 
     */
    public Optional> requireSymbols() {
        return Optional.ofNullable(this.requireSymbols);
    }

    /**
     * <p>Specifies whether IAM user passwords must contain at least one uppercase character (A to Z).</p>
     * 
     */
    @Import(name="requireUppercaseCharacters")
    private @Nullable Output requireUppercaseCharacters;

    /**
     * @return <p>Specifies whether IAM user passwords must contain at least one uppercase character (A to Z).</p>
     * 
     */
    public Optional> requireUppercaseCharacters() {
        return Optional.ofNullable(this.requireUppercaseCharacters);
    }

    private AwsIamPasswordPolicyPropertiesArgs() {}

    private AwsIamPasswordPolicyPropertiesArgs(AwsIamPasswordPolicyPropertiesArgs $) {
        this.allowUsersToChangePassword = $.allowUsersToChangePassword;
        this.expirePasswords = $.expirePasswords;
        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(AwsIamPasswordPolicyPropertiesArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private AwsIamPasswordPolicyPropertiesArgs $;

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

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

        /**
         * @param allowUsersToChangePassword <p>Specifies whether IAM users are allowed to change their own password. Gives IAM users permissions to <code>iam:ChangePassword</code> for only their user and to the <code>iam:GetAccountPasswordPolicy</code> action. This option does not attach a permissions policy to each user, rather the permissions are applied at the account-level for all users by IAM.</p>
         * 
         * @return builder
         * 
         */
        public Builder allowUsersToChangePassword(@Nullable Output allowUsersToChangePassword) {
            $.allowUsersToChangePassword = allowUsersToChangePassword;
            return this;
        }

        /**
         * @param allowUsersToChangePassword <p>Specifies whether IAM users are allowed to change their own password. Gives IAM users permissions to <code>iam:ChangePassword</code> for only their user and to the <code>iam:GetAccountPasswordPolicy</code> action. This option does not attach a permissions policy to each user, rather the permissions are applied at the account-level for all users by IAM.</p>
         * 
         * @return builder
         * 
         */
        public Builder allowUsersToChangePassword(Boolean allowUsersToChangePassword) {
            return allowUsersToChangePassword(Output.of(allowUsersToChangePassword));
        }

        /**
         * @param expirePasswords <p>Indicates whether passwords in the account expire. Returns true if <code>MaxPasswordAge</code> contains a value greater than 0. Returns false if MaxPasswordAge is 0 or not present.</p>
         * 
         * @return builder
         * 
         */
        public Builder expirePasswords(@Nullable Output expirePasswords) {
            $.expirePasswords = expirePasswords;
            return this;
        }

        /**
         * @param expirePasswords <p>Indicates whether passwords in the account expire. Returns true if <code>MaxPasswordAge</code> contains a value greater than 0. Returns false if MaxPasswordAge is 0 or not present.</p>
         * 
         * @return builder
         * 
         */
        public Builder expirePasswords(Boolean expirePasswords) {
            return expirePasswords(Output.of(expirePasswords));
        }

        /**
         * @param hardExpiry <p>Specifies whether IAM users are prevented from setting a new password via the Amazon Web Services Management Console after their password has expired. The IAM user cannot access the console until an administrator resets the password. IAM users with <code>iam:ChangePassword</code> permission and active access keys can reset their own expired console password using the CLI or API.</p>
         * 
         * @return builder
         * 
         */
        public Builder hardExpiry(@Nullable Output hardExpiry) {
            $.hardExpiry = hardExpiry;
            return this;
        }

        /**
         * @param hardExpiry <p>Specifies whether IAM users are prevented from setting a new password via the Amazon Web Services Management Console after their password has expired. The IAM user cannot access the console until an administrator resets the password. IAM users with <code>iam:ChangePassword</code> permission and active access keys can reset their own expired console password using the CLI or API.</p>
         * 
         * @return builder
         * 
         */
        public Builder hardExpiry(Boolean hardExpiry) {
            return hardExpiry(Output.of(hardExpiry));
        }

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

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

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

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

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

        /**
         * @param passwordReusePrevention <p>Specifies the number of previous passwords that IAM users are prevented from reusing.</p>
         * 
         * @return builder
         * 
         */
        public Builder passwordReusePrevention(Integer passwordReusePrevention) {
            return passwordReusePrevention(Output.of(passwordReusePrevention));
        }

        /**
         * @param requireLowercaseCharacters <p>Specifies whether IAM user passwords must contain at least one lowercase character (a to z).</p>
         * 
         * @return builder
         * 
         */
        public Builder requireLowercaseCharacters(@Nullable Output requireLowercaseCharacters) {
            $.requireLowercaseCharacters = requireLowercaseCharacters;
            return this;
        }

        /**
         * @param requireLowercaseCharacters <p>Specifies whether IAM user passwords must contain at least one lowercase character (a to z).</p>
         * 
         * @return builder
         * 
         */
        public Builder requireLowercaseCharacters(Boolean requireLowercaseCharacters) {
            return requireLowercaseCharacters(Output.of(requireLowercaseCharacters));
        }

        /**
         * @param requireNumbers <p>Specifies whether IAM user passwords must contain at least one numeric character (0 to 9).</p>
         * 
         * @return builder
         * 
         */
        public Builder requireNumbers(@Nullable Output requireNumbers) {
            $.requireNumbers = requireNumbers;
            return this;
        }

        /**
         * @param requireNumbers <p>Specifies whether IAM user passwords must contain at least one numeric character (0 to 9).</p>
         * 
         * @return builder
         * 
         */
        public Builder requireNumbers(Boolean requireNumbers) {
            return requireNumbers(Output.of(requireNumbers));
        }

        /**
         * @param requireSymbols <p>Specifies whether IAM user passwords must contain at least one of the following symbols:</p> <p>! {@literal @} # $ % ^ &amp; * ( ) _ + - = [ ] { } | '</p>
         * 
         * @return builder
         * 
         */
        public Builder requireSymbols(@Nullable Output requireSymbols) {
            $.requireSymbols = requireSymbols;
            return this;
        }

        /**
         * @param requireSymbols <p>Specifies whether IAM user passwords must contain at least one of the following symbols:</p> <p>! {@literal @} # $ % ^ &amp; * ( ) _ + - = [ ] { } | '</p>
         * 
         * @return builder
         * 
         */
        public Builder requireSymbols(Boolean requireSymbols) {
            return requireSymbols(Output.of(requireSymbols));
        }

        /**
         * @param requireUppercaseCharacters <p>Specifies whether IAM user passwords must contain at least one uppercase character (A to Z).</p>
         * 
         * @return builder
         * 
         */
        public Builder requireUppercaseCharacters(@Nullable Output requireUppercaseCharacters) {
            $.requireUppercaseCharacters = requireUppercaseCharacters;
            return this;
        }

        /**
         * @param requireUppercaseCharacters <p>Specifies whether IAM user passwords must contain at least one uppercase character (A to Z).</p>
         * 
         * @return builder
         * 
         */
        public Builder requireUppercaseCharacters(Boolean requireUppercaseCharacters) {
            return requireUppercaseCharacters(Output.of(requireUppercaseCharacters));
        }

        public AwsIamPasswordPolicyPropertiesArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy