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

com.pulumi.ns1.inputs.UserState Maven / Gradle / Ivy

There is a newer version: 3.5.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.ns1.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.ns1.inputs.UserDnsRecordsAllowArgs;
import com.pulumi.ns1.inputs.UserDnsRecordsDenyArgs;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final UserState Empty = new UserState();

    /**
     * Whether the user can modify account settings.
     * 
     */
    @Import(name="accountManageAccountSettings")
    private @Nullable Output accountManageAccountSettings;

    /**
     * @return Whether the user can modify account settings.
     * 
     */
    public Optional> accountManageAccountSettings() {
        return Optional.ofNullable(this.accountManageAccountSettings);
    }

    /**
     * Whether the user can modify account apikeys.
     * 
     */
    @Import(name="accountManageApikeys")
    private @Nullable Output accountManageApikeys;

    /**
     * @return Whether the user can modify account apikeys.
     * 
     */
    public Optional> accountManageApikeys() {
        return Optional.ofNullable(this.accountManageApikeys);
    }

    /**
     * Whether the user can manage ip whitelist.
     * 
     */
    @Import(name="accountManageIpWhitelist")
    private @Nullable Output accountManageIpWhitelist;

    /**
     * @return Whether the user can manage ip whitelist.
     * 
     */
    public Optional> accountManageIpWhitelist() {
        return Optional.ofNullable(this.accountManageIpWhitelist);
    }

    /**
     * Whether the user can modify account payment methods.
     * 
     */
    @Import(name="accountManagePaymentMethods")
    private @Nullable Output accountManagePaymentMethods;

    /**
     * @return Whether the user can modify account payment methods.
     * 
     */
    public Optional> accountManagePaymentMethods() {
        return Optional.ofNullable(this.accountManagePaymentMethods);
    }

    /**
     * No longer in use.
     * 
     * @deprecated
     * obsolete, should no longer be used
     * 
     */
    @Deprecated /* obsolete, should no longer be used */
    @Import(name="accountManagePlan")
    private @Nullable Output accountManagePlan;

    /**
     * @return No longer in use.
     * 
     * @deprecated
     * obsolete, should no longer be used
     * 
     */
    @Deprecated /* obsolete, should no longer be used */
    public Optional> accountManagePlan() {
        return Optional.ofNullable(this.accountManagePlan);
    }

    /**
     * Whether the user can modify other teams in the account.
     * 
     */
    @Import(name="accountManageTeams")
    private @Nullable Output accountManageTeams;

    /**
     * @return Whether the user can modify other teams in the account.
     * 
     */
    public Optional> accountManageTeams() {
        return Optional.ofNullable(this.accountManageTeams);
    }

    /**
     * Whether the user can modify account users.
     * 
     */
    @Import(name="accountManageUsers")
    private @Nullable Output accountManageUsers;

    /**
     * @return Whether the user can modify account users.
     * 
     */
    public Optional> accountManageUsers() {
        return Optional.ofNullable(this.accountManageUsers);
    }

    /**
     * Whether the user can view activity logs.
     * 
     */
    @Import(name="accountViewActivityLog")
    private @Nullable Output accountViewActivityLog;

    /**
     * @return Whether the user can view activity logs.
     * 
     */
    public Optional> accountViewActivityLog() {
        return Optional.ofNullable(this.accountViewActivityLog);
    }

    /**
     * Whether the user can view invoices.
     * 
     */
    @Import(name="accountViewInvoices")
    private @Nullable Output accountViewInvoices;

    /**
     * @return Whether the user can view invoices.
     * 
     */
    public Optional> accountViewInvoices() {
        return Optional.ofNullable(this.accountViewInvoices);
    }

    /**
     * Whether the user can modify data feeds.
     * 
     */
    @Import(name="dataManageDatafeeds")
    private @Nullable Output dataManageDatafeeds;

    /**
     * @return Whether the user can modify data feeds.
     * 
     */
    public Optional> dataManageDatafeeds() {
        return Optional.ofNullable(this.dataManageDatafeeds);
    }

    /**
     * Whether the user can modify data sources.
     * 
     */
    @Import(name="dataManageDatasources")
    private @Nullable Output dataManageDatasources;

    /**
     * @return Whether the user can modify data sources.
     * 
     */
    public Optional> dataManageDatasources() {
        return Optional.ofNullable(this.dataManageDatasources);
    }

    /**
     * Whether the user can publish to data feeds.
     * 
     */
    @Import(name="dataPushToDatafeeds")
    private @Nullable Output dataPushToDatafeeds;

    /**
     * @return Whether the user can publish to data feeds.
     * 
     */
    public Optional> dataPushToDatafeeds() {
        return Optional.ofNullable(this.dataPushToDatafeeds);
    }

    /**
     * Whether the user can modify the accounts zones.
     * 
     */
    @Import(name="dnsManageZones")
    private @Nullable Output dnsManageZones;

    /**
     * @return Whether the user can modify the accounts zones.
     * 
     */
    public Optional> dnsManageZones() {
        return Optional.ofNullable(this.dnsManageZones);
    }

    @Import(name="dnsRecordsAllows")
    private @Nullable Output> dnsRecordsAllows;

    public Optional>> dnsRecordsAllows() {
        return Optional.ofNullable(this.dnsRecordsAllows);
    }

    @Import(name="dnsRecordsDenies")
    private @Nullable Output> dnsRecordsDenies;

    public Optional>> dnsRecordsDenies() {
        return Optional.ofNullable(this.dnsRecordsDenies);
    }

    /**
     * Whether the user can view the accounts zones.
     * 
     */
    @Import(name="dnsViewZones")
    private @Nullable Output dnsViewZones;

    /**
     * @return Whether the user can view the accounts zones.
     * 
     */
    public Optional> dnsViewZones() {
        return Optional.ofNullable(this.dnsViewZones);
    }

    /**
     * If true, enable the `dns_zones_allow` list, otherwise enable the `dns_zones_deny` list.
     * 
     */
    @Import(name="dnsZonesAllowByDefault")
    private @Nullable Output dnsZonesAllowByDefault;

    /**
     * @return If true, enable the `dns_zones_allow` list, otherwise enable the `dns_zones_deny` list.
     * 
     */
    public Optional> dnsZonesAllowByDefault() {
        return Optional.ofNullable(this.dnsZonesAllowByDefault);
    }

    /**
     * List of zones that the user may access.
     * 
     */
    @Import(name="dnsZonesAllows")
    private @Nullable Output> dnsZonesAllows;

    /**
     * @return List of zones that the user may access.
     * 
     */
    public Optional>> dnsZonesAllows() {
        return Optional.ofNullable(this.dnsZonesAllows);
    }

    /**
     * List of zones that the user may not access.
     * 
     */
    @Import(name="dnsZonesDenies")
    private @Nullable Output> dnsZonesDenies;

    /**
     * @return List of zones that the user may not access.
     * 
     */
    public Optional>> dnsZonesDenies() {
        return Optional.ofNullable(this.dnsZonesDenies);
    }

    /**
     * The email address of the user.
     * 
     */
    @Import(name="email")
    private @Nullable Output email;

    /**
     * @return The email address of the user.
     * 
     */
    public Optional> email() {
        return Optional.ofNullable(this.email);
    }

    /**
     * Set to true to restrict access to only those IP addresses and networks listed in the **ip_whitelist** field.
     * 
     */
    @Import(name="ipWhitelistStrict")
    private @Nullable Output ipWhitelistStrict;

    /**
     * @return Set to true to restrict access to only those IP addresses and networks listed in the **ip_whitelist** field.
     * 
     */
    public Optional> ipWhitelistStrict() {
        return Optional.ofNullable(this.ipWhitelistStrict);
    }

    /**
     * Array of IP addresses/networks to which to grant the user access.
     * 
     */
    @Import(name="ipWhitelists")
    private @Nullable Output> ipWhitelists;

    /**
     * @return Array of IP addresses/networks to which to grant the user access.
     * 
     */
    public Optional>> ipWhitelists() {
        return Optional.ofNullable(this.ipWhitelists);
    }

    /**
     * Whether the user can create monitoring jobs when manage_jobs is not set to true.
     * 
     */
    @Import(name="monitoringCreateJobs")
    private @Nullable Output monitoringCreateJobs;

    /**
     * @return Whether the user can create monitoring jobs when manage_jobs is not set to true.
     * 
     */
    public Optional> monitoringCreateJobs() {
        return Optional.ofNullable(this.monitoringCreateJobs);
    }

    /**
     * Whether the user can delete monitoring jobs when manage_jobs is not set to true.
     * 
     */
    @Import(name="monitoringDeleteJobs")
    private @Nullable Output monitoringDeleteJobs;

    /**
     * @return Whether the user can delete monitoring jobs when manage_jobs is not set to true.
     * 
     */
    public Optional> monitoringDeleteJobs() {
        return Optional.ofNullable(this.monitoringDeleteJobs);
    }

    /**
     * Whether the user can create, update, and delete monitoring jobs.
     * 
     */
    @Import(name="monitoringManageJobs")
    private @Nullable Output monitoringManageJobs;

    /**
     * @return Whether the user can create, update, and delete monitoring jobs.
     * 
     */
    public Optional> monitoringManageJobs() {
        return Optional.ofNullable(this.monitoringManageJobs);
    }

    /**
     * Whether the user can modify notification lists.
     * 
     */
    @Import(name="monitoringManageLists")
    private @Nullable Output monitoringManageLists;

    /**
     * @return Whether the user can modify notification lists.
     * 
     */
    public Optional> monitoringManageLists() {
        return Optional.ofNullable(this.monitoringManageLists);
    }

    /**
     * Whether the user can update monitoring jobs when manage_jobs is not set to true.
     * 
     */
    @Import(name="monitoringUpdateJobs")
    private @Nullable Output monitoringUpdateJobs;

    /**
     * @return Whether the user can update monitoring jobs when manage_jobs is not set to true.
     * 
     */
    public Optional> monitoringUpdateJobs() {
        return Optional.ofNullable(this.monitoringUpdateJobs);
    }

    /**
     * Whether the user can view monitoring jobs.
     * 
     */
    @Import(name="monitoringViewJobs")
    private @Nullable Output monitoringViewJobs;

    /**
     * @return Whether the user can view monitoring jobs.
     * 
     */
    public Optional> monitoringViewJobs() {
        return Optional.ofNullable(this.monitoringViewJobs);
    }

    /**
     * The free form name of the user.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return The free form name of the user.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * Whether or not to notify the user of specified events. Only `billing` is available currently.
     * 
     */
    @Import(name="notify")
    private @Nullable Output> notify;

    /**
     * @return Whether or not to notify the user of specified events. Only `billing` is available currently.
     * 
     */
    public Optional>> notify_() {
        return Optional.ofNullable(this.notify);
    }

    /**
     * Whether the user can manage global active directory.
     * Only relevant for the DDI product.
     * 
     */
    @Import(name="securityManageActiveDirectory")
    private @Nullable Output securityManageActiveDirectory;

    /**
     * @return Whether the user can manage global active directory.
     * Only relevant for the DDI product.
     * 
     */
    public Optional> securityManageActiveDirectory() {
        return Optional.ofNullable(this.securityManageActiveDirectory);
    }

    /**
     * Whether the user can manage global two factor authentication.
     * 
     */
    @Import(name="securityManageGlobal2fa")
    private @Nullable Output securityManageGlobal2fa;

    /**
     * @return Whether the user can manage global two factor authentication.
     * 
     */
    public Optional> securityManageGlobal2fa() {
        return Optional.ofNullable(this.securityManageGlobal2fa);
    }

    /**
     * The teams that the user belongs to.
     * 
     */
    @Import(name="teams")
    private @Nullable Output> teams;

    /**
     * @return The teams that the user belongs to.
     * 
     */
    public Optional>> teams() {
        return Optional.ofNullable(this.teams);
    }

    /**
     * The users login name.
     * 
     */
    @Import(name="username")
    private @Nullable Output username;

    /**
     * @return The users login name.
     * 
     */
    public Optional> username() {
        return Optional.ofNullable(this.username);
    }

    private UserState() {}

    private UserState(UserState $) {
        this.accountManageAccountSettings = $.accountManageAccountSettings;
        this.accountManageApikeys = $.accountManageApikeys;
        this.accountManageIpWhitelist = $.accountManageIpWhitelist;
        this.accountManagePaymentMethods = $.accountManagePaymentMethods;
        this.accountManagePlan = $.accountManagePlan;
        this.accountManageTeams = $.accountManageTeams;
        this.accountManageUsers = $.accountManageUsers;
        this.accountViewActivityLog = $.accountViewActivityLog;
        this.accountViewInvoices = $.accountViewInvoices;
        this.dataManageDatafeeds = $.dataManageDatafeeds;
        this.dataManageDatasources = $.dataManageDatasources;
        this.dataPushToDatafeeds = $.dataPushToDatafeeds;
        this.dnsManageZones = $.dnsManageZones;
        this.dnsRecordsAllows = $.dnsRecordsAllows;
        this.dnsRecordsDenies = $.dnsRecordsDenies;
        this.dnsViewZones = $.dnsViewZones;
        this.dnsZonesAllowByDefault = $.dnsZonesAllowByDefault;
        this.dnsZonesAllows = $.dnsZonesAllows;
        this.dnsZonesDenies = $.dnsZonesDenies;
        this.email = $.email;
        this.ipWhitelistStrict = $.ipWhitelistStrict;
        this.ipWhitelists = $.ipWhitelists;
        this.monitoringCreateJobs = $.monitoringCreateJobs;
        this.monitoringDeleteJobs = $.monitoringDeleteJobs;
        this.monitoringManageJobs = $.monitoringManageJobs;
        this.monitoringManageLists = $.monitoringManageLists;
        this.monitoringUpdateJobs = $.monitoringUpdateJobs;
        this.monitoringViewJobs = $.monitoringViewJobs;
        this.name = $.name;
        this.notify = $.notify;
        this.securityManageActiveDirectory = $.securityManageActiveDirectory;
        this.securityManageGlobal2fa = $.securityManageGlobal2fa;
        this.teams = $.teams;
        this.username = $.username;
    }

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

    public static final class Builder {
        private UserState $;

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

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

        /**
         * @param accountManageAccountSettings Whether the user can modify account settings.
         * 
         * @return builder
         * 
         */
        public Builder accountManageAccountSettings(@Nullable Output accountManageAccountSettings) {
            $.accountManageAccountSettings = accountManageAccountSettings;
            return this;
        }

        /**
         * @param accountManageAccountSettings Whether the user can modify account settings.
         * 
         * @return builder
         * 
         */
        public Builder accountManageAccountSettings(Boolean accountManageAccountSettings) {
            return accountManageAccountSettings(Output.of(accountManageAccountSettings));
        }

        /**
         * @param accountManageApikeys Whether the user can modify account apikeys.
         * 
         * @return builder
         * 
         */
        public Builder accountManageApikeys(@Nullable Output accountManageApikeys) {
            $.accountManageApikeys = accountManageApikeys;
            return this;
        }

        /**
         * @param accountManageApikeys Whether the user can modify account apikeys.
         * 
         * @return builder
         * 
         */
        public Builder accountManageApikeys(Boolean accountManageApikeys) {
            return accountManageApikeys(Output.of(accountManageApikeys));
        }

        /**
         * @param accountManageIpWhitelist Whether the user can manage ip whitelist.
         * 
         * @return builder
         * 
         */
        public Builder accountManageIpWhitelist(@Nullable Output accountManageIpWhitelist) {
            $.accountManageIpWhitelist = accountManageIpWhitelist;
            return this;
        }

        /**
         * @param accountManageIpWhitelist Whether the user can manage ip whitelist.
         * 
         * @return builder
         * 
         */
        public Builder accountManageIpWhitelist(Boolean accountManageIpWhitelist) {
            return accountManageIpWhitelist(Output.of(accountManageIpWhitelist));
        }

        /**
         * @param accountManagePaymentMethods Whether the user can modify account payment methods.
         * 
         * @return builder
         * 
         */
        public Builder accountManagePaymentMethods(@Nullable Output accountManagePaymentMethods) {
            $.accountManagePaymentMethods = accountManagePaymentMethods;
            return this;
        }

        /**
         * @param accountManagePaymentMethods Whether the user can modify account payment methods.
         * 
         * @return builder
         * 
         */
        public Builder accountManagePaymentMethods(Boolean accountManagePaymentMethods) {
            return accountManagePaymentMethods(Output.of(accountManagePaymentMethods));
        }

        /**
         * @param accountManagePlan No longer in use.
         * 
         * @return builder
         * 
         * @deprecated
         * obsolete, should no longer be used
         * 
         */
        @Deprecated /* obsolete, should no longer be used */
        public Builder accountManagePlan(@Nullable Output accountManagePlan) {
            $.accountManagePlan = accountManagePlan;
            return this;
        }

        /**
         * @param accountManagePlan No longer in use.
         * 
         * @return builder
         * 
         * @deprecated
         * obsolete, should no longer be used
         * 
         */
        @Deprecated /* obsolete, should no longer be used */
        public Builder accountManagePlan(Boolean accountManagePlan) {
            return accountManagePlan(Output.of(accountManagePlan));
        }

        /**
         * @param accountManageTeams Whether the user can modify other teams in the account.
         * 
         * @return builder
         * 
         */
        public Builder accountManageTeams(@Nullable Output accountManageTeams) {
            $.accountManageTeams = accountManageTeams;
            return this;
        }

        /**
         * @param accountManageTeams Whether the user can modify other teams in the account.
         * 
         * @return builder
         * 
         */
        public Builder accountManageTeams(Boolean accountManageTeams) {
            return accountManageTeams(Output.of(accountManageTeams));
        }

        /**
         * @param accountManageUsers Whether the user can modify account users.
         * 
         * @return builder
         * 
         */
        public Builder accountManageUsers(@Nullable Output accountManageUsers) {
            $.accountManageUsers = accountManageUsers;
            return this;
        }

        /**
         * @param accountManageUsers Whether the user can modify account users.
         * 
         * @return builder
         * 
         */
        public Builder accountManageUsers(Boolean accountManageUsers) {
            return accountManageUsers(Output.of(accountManageUsers));
        }

        /**
         * @param accountViewActivityLog Whether the user can view activity logs.
         * 
         * @return builder
         * 
         */
        public Builder accountViewActivityLog(@Nullable Output accountViewActivityLog) {
            $.accountViewActivityLog = accountViewActivityLog;
            return this;
        }

        /**
         * @param accountViewActivityLog Whether the user can view activity logs.
         * 
         * @return builder
         * 
         */
        public Builder accountViewActivityLog(Boolean accountViewActivityLog) {
            return accountViewActivityLog(Output.of(accountViewActivityLog));
        }

        /**
         * @param accountViewInvoices Whether the user can view invoices.
         * 
         * @return builder
         * 
         */
        public Builder accountViewInvoices(@Nullable Output accountViewInvoices) {
            $.accountViewInvoices = accountViewInvoices;
            return this;
        }

        /**
         * @param accountViewInvoices Whether the user can view invoices.
         * 
         * @return builder
         * 
         */
        public Builder accountViewInvoices(Boolean accountViewInvoices) {
            return accountViewInvoices(Output.of(accountViewInvoices));
        }

        /**
         * @param dataManageDatafeeds Whether the user can modify data feeds.
         * 
         * @return builder
         * 
         */
        public Builder dataManageDatafeeds(@Nullable Output dataManageDatafeeds) {
            $.dataManageDatafeeds = dataManageDatafeeds;
            return this;
        }

        /**
         * @param dataManageDatafeeds Whether the user can modify data feeds.
         * 
         * @return builder
         * 
         */
        public Builder dataManageDatafeeds(Boolean dataManageDatafeeds) {
            return dataManageDatafeeds(Output.of(dataManageDatafeeds));
        }

        /**
         * @param dataManageDatasources Whether the user can modify data sources.
         * 
         * @return builder
         * 
         */
        public Builder dataManageDatasources(@Nullable Output dataManageDatasources) {
            $.dataManageDatasources = dataManageDatasources;
            return this;
        }

        /**
         * @param dataManageDatasources Whether the user can modify data sources.
         * 
         * @return builder
         * 
         */
        public Builder dataManageDatasources(Boolean dataManageDatasources) {
            return dataManageDatasources(Output.of(dataManageDatasources));
        }

        /**
         * @param dataPushToDatafeeds Whether the user can publish to data feeds.
         * 
         * @return builder
         * 
         */
        public Builder dataPushToDatafeeds(@Nullable Output dataPushToDatafeeds) {
            $.dataPushToDatafeeds = dataPushToDatafeeds;
            return this;
        }

        /**
         * @param dataPushToDatafeeds Whether the user can publish to data feeds.
         * 
         * @return builder
         * 
         */
        public Builder dataPushToDatafeeds(Boolean dataPushToDatafeeds) {
            return dataPushToDatafeeds(Output.of(dataPushToDatafeeds));
        }

        /**
         * @param dnsManageZones Whether the user can modify the accounts zones.
         * 
         * @return builder
         * 
         */
        public Builder dnsManageZones(@Nullable Output dnsManageZones) {
            $.dnsManageZones = dnsManageZones;
            return this;
        }

        /**
         * @param dnsManageZones Whether the user can modify the accounts zones.
         * 
         * @return builder
         * 
         */
        public Builder dnsManageZones(Boolean dnsManageZones) {
            return dnsManageZones(Output.of(dnsManageZones));
        }

        public Builder dnsRecordsAllows(@Nullable Output> dnsRecordsAllows) {
            $.dnsRecordsAllows = dnsRecordsAllows;
            return this;
        }

        public Builder dnsRecordsAllows(List dnsRecordsAllows) {
            return dnsRecordsAllows(Output.of(dnsRecordsAllows));
        }

        public Builder dnsRecordsAllows(UserDnsRecordsAllowArgs... dnsRecordsAllows) {
            return dnsRecordsAllows(List.of(dnsRecordsAllows));
        }

        public Builder dnsRecordsDenies(@Nullable Output> dnsRecordsDenies) {
            $.dnsRecordsDenies = dnsRecordsDenies;
            return this;
        }

        public Builder dnsRecordsDenies(List dnsRecordsDenies) {
            return dnsRecordsDenies(Output.of(dnsRecordsDenies));
        }

        public Builder dnsRecordsDenies(UserDnsRecordsDenyArgs... dnsRecordsDenies) {
            return dnsRecordsDenies(List.of(dnsRecordsDenies));
        }

        /**
         * @param dnsViewZones Whether the user can view the accounts zones.
         * 
         * @return builder
         * 
         */
        public Builder dnsViewZones(@Nullable Output dnsViewZones) {
            $.dnsViewZones = dnsViewZones;
            return this;
        }

        /**
         * @param dnsViewZones Whether the user can view the accounts zones.
         * 
         * @return builder
         * 
         */
        public Builder dnsViewZones(Boolean dnsViewZones) {
            return dnsViewZones(Output.of(dnsViewZones));
        }

        /**
         * @param dnsZonesAllowByDefault If true, enable the `dns_zones_allow` list, otherwise enable the `dns_zones_deny` list.
         * 
         * @return builder
         * 
         */
        public Builder dnsZonesAllowByDefault(@Nullable Output dnsZonesAllowByDefault) {
            $.dnsZonesAllowByDefault = dnsZonesAllowByDefault;
            return this;
        }

        /**
         * @param dnsZonesAllowByDefault If true, enable the `dns_zones_allow` list, otherwise enable the `dns_zones_deny` list.
         * 
         * @return builder
         * 
         */
        public Builder dnsZonesAllowByDefault(Boolean dnsZonesAllowByDefault) {
            return dnsZonesAllowByDefault(Output.of(dnsZonesAllowByDefault));
        }

        /**
         * @param dnsZonesAllows List of zones that the user may access.
         * 
         * @return builder
         * 
         */
        public Builder dnsZonesAllows(@Nullable Output> dnsZonesAllows) {
            $.dnsZonesAllows = dnsZonesAllows;
            return this;
        }

        /**
         * @param dnsZonesAllows List of zones that the user may access.
         * 
         * @return builder
         * 
         */
        public Builder dnsZonesAllows(List dnsZonesAllows) {
            return dnsZonesAllows(Output.of(dnsZonesAllows));
        }

        /**
         * @param dnsZonesAllows List of zones that the user may access.
         * 
         * @return builder
         * 
         */
        public Builder dnsZonesAllows(String... dnsZonesAllows) {
            return dnsZonesAllows(List.of(dnsZonesAllows));
        }

        /**
         * @param dnsZonesDenies List of zones that the user may not access.
         * 
         * @return builder
         * 
         */
        public Builder dnsZonesDenies(@Nullable Output> dnsZonesDenies) {
            $.dnsZonesDenies = dnsZonesDenies;
            return this;
        }

        /**
         * @param dnsZonesDenies List of zones that the user may not access.
         * 
         * @return builder
         * 
         */
        public Builder dnsZonesDenies(List dnsZonesDenies) {
            return dnsZonesDenies(Output.of(dnsZonesDenies));
        }

        /**
         * @param dnsZonesDenies List of zones that the user may not access.
         * 
         * @return builder
         * 
         */
        public Builder dnsZonesDenies(String... dnsZonesDenies) {
            return dnsZonesDenies(List.of(dnsZonesDenies));
        }

        /**
         * @param email The email address of the user.
         * 
         * @return builder
         * 
         */
        public Builder email(@Nullable Output email) {
            $.email = email;
            return this;
        }

        /**
         * @param email The email address of the user.
         * 
         * @return builder
         * 
         */
        public Builder email(String email) {
            return email(Output.of(email));
        }

        /**
         * @param ipWhitelistStrict Set to true to restrict access to only those IP addresses and networks listed in the **ip_whitelist** field.
         * 
         * @return builder
         * 
         */
        public Builder ipWhitelistStrict(@Nullable Output ipWhitelistStrict) {
            $.ipWhitelistStrict = ipWhitelistStrict;
            return this;
        }

        /**
         * @param ipWhitelistStrict Set to true to restrict access to only those IP addresses and networks listed in the **ip_whitelist** field.
         * 
         * @return builder
         * 
         */
        public Builder ipWhitelistStrict(Boolean ipWhitelistStrict) {
            return ipWhitelistStrict(Output.of(ipWhitelistStrict));
        }

        /**
         * @param ipWhitelists Array of IP addresses/networks to which to grant the user access.
         * 
         * @return builder
         * 
         */
        public Builder ipWhitelists(@Nullable Output> ipWhitelists) {
            $.ipWhitelists = ipWhitelists;
            return this;
        }

        /**
         * @param ipWhitelists Array of IP addresses/networks to which to grant the user access.
         * 
         * @return builder
         * 
         */
        public Builder ipWhitelists(List ipWhitelists) {
            return ipWhitelists(Output.of(ipWhitelists));
        }

        /**
         * @param ipWhitelists Array of IP addresses/networks to which to grant the user access.
         * 
         * @return builder
         * 
         */
        public Builder ipWhitelists(String... ipWhitelists) {
            return ipWhitelists(List.of(ipWhitelists));
        }

        /**
         * @param monitoringCreateJobs Whether the user can create monitoring jobs when manage_jobs is not set to true.
         * 
         * @return builder
         * 
         */
        public Builder monitoringCreateJobs(@Nullable Output monitoringCreateJobs) {
            $.monitoringCreateJobs = monitoringCreateJobs;
            return this;
        }

        /**
         * @param monitoringCreateJobs Whether the user can create monitoring jobs when manage_jobs is not set to true.
         * 
         * @return builder
         * 
         */
        public Builder monitoringCreateJobs(Boolean monitoringCreateJobs) {
            return monitoringCreateJobs(Output.of(monitoringCreateJobs));
        }

        /**
         * @param monitoringDeleteJobs Whether the user can delete monitoring jobs when manage_jobs is not set to true.
         * 
         * @return builder
         * 
         */
        public Builder monitoringDeleteJobs(@Nullable Output monitoringDeleteJobs) {
            $.monitoringDeleteJobs = monitoringDeleteJobs;
            return this;
        }

        /**
         * @param monitoringDeleteJobs Whether the user can delete monitoring jobs when manage_jobs is not set to true.
         * 
         * @return builder
         * 
         */
        public Builder monitoringDeleteJobs(Boolean monitoringDeleteJobs) {
            return monitoringDeleteJobs(Output.of(monitoringDeleteJobs));
        }

        /**
         * @param monitoringManageJobs Whether the user can create, update, and delete monitoring jobs.
         * 
         * @return builder
         * 
         */
        public Builder monitoringManageJobs(@Nullable Output monitoringManageJobs) {
            $.monitoringManageJobs = monitoringManageJobs;
            return this;
        }

        /**
         * @param monitoringManageJobs Whether the user can create, update, and delete monitoring jobs.
         * 
         * @return builder
         * 
         */
        public Builder monitoringManageJobs(Boolean monitoringManageJobs) {
            return monitoringManageJobs(Output.of(monitoringManageJobs));
        }

        /**
         * @param monitoringManageLists Whether the user can modify notification lists.
         * 
         * @return builder
         * 
         */
        public Builder monitoringManageLists(@Nullable Output monitoringManageLists) {
            $.monitoringManageLists = monitoringManageLists;
            return this;
        }

        /**
         * @param monitoringManageLists Whether the user can modify notification lists.
         * 
         * @return builder
         * 
         */
        public Builder monitoringManageLists(Boolean monitoringManageLists) {
            return monitoringManageLists(Output.of(monitoringManageLists));
        }

        /**
         * @param monitoringUpdateJobs Whether the user can update monitoring jobs when manage_jobs is not set to true.
         * 
         * @return builder
         * 
         */
        public Builder monitoringUpdateJobs(@Nullable Output monitoringUpdateJobs) {
            $.monitoringUpdateJobs = monitoringUpdateJobs;
            return this;
        }

        /**
         * @param monitoringUpdateJobs Whether the user can update monitoring jobs when manage_jobs is not set to true.
         * 
         * @return builder
         * 
         */
        public Builder monitoringUpdateJobs(Boolean monitoringUpdateJobs) {
            return monitoringUpdateJobs(Output.of(monitoringUpdateJobs));
        }

        /**
         * @param monitoringViewJobs Whether the user can view monitoring jobs.
         * 
         * @return builder
         * 
         */
        public Builder monitoringViewJobs(@Nullable Output monitoringViewJobs) {
            $.monitoringViewJobs = monitoringViewJobs;
            return this;
        }

        /**
         * @param monitoringViewJobs Whether the user can view monitoring jobs.
         * 
         * @return builder
         * 
         */
        public Builder monitoringViewJobs(Boolean monitoringViewJobs) {
            return monitoringViewJobs(Output.of(monitoringViewJobs));
        }

        /**
         * @param name The free form name of the user.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name The free form name of the user.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param notify Whether or not to notify the user of specified events. Only `billing` is available currently.
         * 
         * @return builder
         * 
         */
        public Builder notify_(@Nullable Output> notify) {
            $.notify = notify;
            return this;
        }

        /**
         * @param notify Whether or not to notify the user of specified events. Only `billing` is available currently.
         * 
         * @return builder
         * 
         */
        public Builder notify_(Map notify) {
            return notify_(Output.of(notify));
        }

        /**
         * @param securityManageActiveDirectory Whether the user can manage global active directory.
         * Only relevant for the DDI product.
         * 
         * @return builder
         * 
         */
        public Builder securityManageActiveDirectory(@Nullable Output securityManageActiveDirectory) {
            $.securityManageActiveDirectory = securityManageActiveDirectory;
            return this;
        }

        /**
         * @param securityManageActiveDirectory Whether the user can manage global active directory.
         * Only relevant for the DDI product.
         * 
         * @return builder
         * 
         */
        public Builder securityManageActiveDirectory(Boolean securityManageActiveDirectory) {
            return securityManageActiveDirectory(Output.of(securityManageActiveDirectory));
        }

        /**
         * @param securityManageGlobal2fa Whether the user can manage global two factor authentication.
         * 
         * @return builder
         * 
         */
        public Builder securityManageGlobal2fa(@Nullable Output securityManageGlobal2fa) {
            $.securityManageGlobal2fa = securityManageGlobal2fa;
            return this;
        }

        /**
         * @param securityManageGlobal2fa Whether the user can manage global two factor authentication.
         * 
         * @return builder
         * 
         */
        public Builder securityManageGlobal2fa(Boolean securityManageGlobal2fa) {
            return securityManageGlobal2fa(Output.of(securityManageGlobal2fa));
        }

        /**
         * @param teams The teams that the user belongs to.
         * 
         * @return builder
         * 
         */
        public Builder teams(@Nullable Output> teams) {
            $.teams = teams;
            return this;
        }

        /**
         * @param teams The teams that the user belongs to.
         * 
         * @return builder
         * 
         */
        public Builder teams(List teams) {
            return teams(Output.of(teams));
        }

        /**
         * @param teams The teams that the user belongs to.
         * 
         * @return builder
         * 
         */
        public Builder teams(String... teams) {
            return teams(List.of(teams));
        }

        /**
         * @param username The users login name.
         * 
         * @return builder
         * 
         */
        public Builder username(@Nullable Output username) {
            $.username = username;
            return this;
        }

        /**
         * @param username The users login name.
         * 
         * @return builder
         * 
         */
        public Builder username(String username) {
            return username(Output.of(username));
        }

        public UserState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy