// *** 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.cognito.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.Objects;


public final class GetUserPoolsArgs extends com.pulumi.resources.InvokeArgs {

    public static final GetUserPoolsArgs Empty = new GetUserPoolsArgs();

    /**
     * Name of the cognito user pools. Name is not a unique attribute for cognito user pool, so multiple pools might be returned with given name. If the pool name is expected to be unique, you can reference the pool id via ```tolist(data.aws_cognito_user_pools.selected.ids)[0]```
     * 
     */
    @Import(name="name", required=true)
    private Output<String> name;

    /**
     * @return Name of the cognito user pools. Name is not a unique attribute for cognito user pool, so multiple pools might be returned with given name. If the pool name is expected to be unique, you can reference the pool id via ```tolist(data.aws_cognito_user_pools.selected.ids)[0]```
     * 
     */
    public Output<String> name() {
        return this.name;
    }

    private GetUserPoolsArgs() {}

    private GetUserPoolsArgs(GetUserPoolsArgs $) {
        this.name = $.name;
    }

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

    public static final class Builder {
        private GetUserPoolsArgs $;

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

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

        /**
         * @param name Name of the cognito user pools. Name is not a unique attribute for cognito user pool, so multiple pools might be returned with given name. If the pool name is expected to be unique, you can reference the pool id via ```tolist(data.aws_cognito_user_pools.selected.ids)[0]```
         * 
         * @return builder
         * 
         */
        public Builder name(Output<String> name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Name of the cognito user pools. Name is not a unique attribute for cognito user pool, so multiple pools might be returned with given name. If the pool name is expected to be unique, you can reference the pool id via ```tolist(data.aws_cognito_user_pools.selected.ids)[0]```
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        public GetUserPoolsArgs build() {
            $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null");
            return $;
        }
    }

}
