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

com.pulumi.mongodbatlas.inputs.FederatedSettingsOrgConfigState Maven / Gradle / Ivy

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

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.mongodbatlas.inputs.FederatedSettingsOrgConfigUserConflictArgs;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final FederatedSettingsOrgConfigState Empty = new FederatedSettingsOrgConfigState();

    /**
     * The collection of unique ids representing the identity providers that can be used for data access in this organization.
     * 
     */
    @Import(name="dataAccessIdentityProviderIds")
    private @Nullable Output> dataAccessIdentityProviderIds;

    /**
     * @return The collection of unique ids representing the identity providers that can be used for data access in this organization.
     * 
     */
    public Optional>> dataAccessIdentityProviderIds() {
        return Optional.ofNullable(this.dataAccessIdentityProviderIds);
    }

    /**
     * List that contains the approved domains from which organization users can log in.
     * 
     */
    @Import(name="domainAllowLists")
    private @Nullable Output> domainAllowLists;

    /**
     * @return List that contains the approved domains from which organization users can log in.
     * 
     */
    public Optional>> domainAllowLists() {
        return Optional.ofNullable(this.domainAllowLists);
    }

    /**
     * Flag that indicates whether domain restriction is enabled for the connected organization.
     * 
     */
    @Import(name="domainRestrictionEnabled")
    private @Nullable Output domainRestrictionEnabled;

    /**
     * @return Flag that indicates whether domain restriction is enabled for the connected organization.
     * 
     */
    public Optional> domainRestrictionEnabled() {
        return Optional.ofNullable(this.domainRestrictionEnabled);
    }

    /**
     * Unique 24-hexadecimal digit string that identifies the federated authentication configuration.
     * 
     */
    @Import(name="federationSettingsId")
    private @Nullable Output federationSettingsId;

    /**
     * @return Unique 24-hexadecimal digit string that identifies the federated authentication configuration.
     * 
     */
    public Optional> federationSettingsId() {
        return Optional.ofNullable(this.federationSettingsId);
    }

    /**
     * Legacy 20-hexadecimal digit string that identifies the SAML access identity provider that this connected org config is associated with. Removing the attribute or providing the value `""` will detach/remove the SAML identity provider. This id can be found in two ways:
     * 1. Within the Federation Management UI in Atlas in the Identity Providers tab by clicking the info icon in the IdP ID row of a configured SAML identity provider
     * 2. `okta_idp_id` on the `mongodbatlas.FederatedSettingsIdentityProvider` resource
     * 
     */
    @Import(name="identityProviderId")
    private @Nullable Output identityProviderId;

    /**
     * @return Legacy 20-hexadecimal digit string that identifies the SAML access identity provider that this connected org config is associated with. Removing the attribute or providing the value `""` will detach/remove the SAML identity provider. This id can be found in two ways:
     * 1. Within the Federation Management UI in Atlas in the Identity Providers tab by clicking the info icon in the IdP ID row of a configured SAML identity provider
     * 2. `okta_idp_id` on the `mongodbatlas.FederatedSettingsIdentityProvider` resource
     * 
     */
    public Optional> identityProviderId() {
        return Optional.ofNullable(this.identityProviderId);
    }

    /**
     * Unique 24-hexadecimal digit string that identifies the organization that contains your projects.
     * 
     */
    @Import(name="orgId")
    private @Nullable Output orgId;

    /**
     * @return Unique 24-hexadecimal digit string that identifies the organization that contains your projects.
     * 
     */
    public Optional> orgId() {
        return Optional.ofNullable(this.orgId);
    }

    /**
     * List that contains the default [roles](https://www.mongodb.com/docs/atlas/reference/user-roles/#std-label-organization-roles) granted to users who authenticate through the IdP in a connected organization.
     * 
     */
    @Import(name="postAuthRoleGrants")
    private @Nullable Output> postAuthRoleGrants;

    /**
     * @return List that contains the default [roles](https://www.mongodb.com/docs/atlas/reference/user-roles/#std-label-organization-roles) granted to users who authenticate through the IdP in a connected organization.
     * 
     */
    public Optional>> postAuthRoleGrants() {
        return Optional.ofNullable(this.postAuthRoleGrants);
    }

    /**
     * List that contains the users who have an email address that doesn't match any domain on the allowed list. See below
     * 
     */
    @Import(name="userConflicts")
    private @Nullable Output> userConflicts;

    /**
     * @return List that contains the users who have an email address that doesn't match any domain on the allowed list. See below
     * 
     */
    public Optional>> userConflicts() {
        return Optional.ofNullable(this.userConflicts);
    }

    private FederatedSettingsOrgConfigState() {}

    private FederatedSettingsOrgConfigState(FederatedSettingsOrgConfigState $) {
        this.dataAccessIdentityProviderIds = $.dataAccessIdentityProviderIds;
        this.domainAllowLists = $.domainAllowLists;
        this.domainRestrictionEnabled = $.domainRestrictionEnabled;
        this.federationSettingsId = $.federationSettingsId;
        this.identityProviderId = $.identityProviderId;
        this.orgId = $.orgId;
        this.postAuthRoleGrants = $.postAuthRoleGrants;
        this.userConflicts = $.userConflicts;
    }

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

    public static final class Builder {
        private FederatedSettingsOrgConfigState $;

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

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

        /**
         * @param dataAccessIdentityProviderIds The collection of unique ids representing the identity providers that can be used for data access in this organization.
         * 
         * @return builder
         * 
         */
        public Builder dataAccessIdentityProviderIds(@Nullable Output> dataAccessIdentityProviderIds) {
            $.dataAccessIdentityProviderIds = dataAccessIdentityProviderIds;
            return this;
        }

        /**
         * @param dataAccessIdentityProviderIds The collection of unique ids representing the identity providers that can be used for data access in this organization.
         * 
         * @return builder
         * 
         */
        public Builder dataAccessIdentityProviderIds(List dataAccessIdentityProviderIds) {
            return dataAccessIdentityProviderIds(Output.of(dataAccessIdentityProviderIds));
        }

        /**
         * @param dataAccessIdentityProviderIds The collection of unique ids representing the identity providers that can be used for data access in this organization.
         * 
         * @return builder
         * 
         */
        public Builder dataAccessIdentityProviderIds(String... dataAccessIdentityProviderIds) {
            return dataAccessIdentityProviderIds(List.of(dataAccessIdentityProviderIds));
        }

        /**
         * @param domainAllowLists List that contains the approved domains from which organization users can log in.
         * 
         * @return builder
         * 
         */
        public Builder domainAllowLists(@Nullable Output> domainAllowLists) {
            $.domainAllowLists = domainAllowLists;
            return this;
        }

        /**
         * @param domainAllowLists List that contains the approved domains from which organization users can log in.
         * 
         * @return builder
         * 
         */
        public Builder domainAllowLists(List domainAllowLists) {
            return domainAllowLists(Output.of(domainAllowLists));
        }

        /**
         * @param domainAllowLists List that contains the approved domains from which organization users can log in.
         * 
         * @return builder
         * 
         */
        public Builder domainAllowLists(String... domainAllowLists) {
            return domainAllowLists(List.of(domainAllowLists));
        }

        /**
         * @param domainRestrictionEnabled Flag that indicates whether domain restriction is enabled for the connected organization.
         * 
         * @return builder
         * 
         */
        public Builder domainRestrictionEnabled(@Nullable Output domainRestrictionEnabled) {
            $.domainRestrictionEnabled = domainRestrictionEnabled;
            return this;
        }

        /**
         * @param domainRestrictionEnabled Flag that indicates whether domain restriction is enabled for the connected organization.
         * 
         * @return builder
         * 
         */
        public Builder domainRestrictionEnabled(Boolean domainRestrictionEnabled) {
            return domainRestrictionEnabled(Output.of(domainRestrictionEnabled));
        }

        /**
         * @param federationSettingsId Unique 24-hexadecimal digit string that identifies the federated authentication configuration.
         * 
         * @return builder
         * 
         */
        public Builder federationSettingsId(@Nullable Output federationSettingsId) {
            $.federationSettingsId = federationSettingsId;
            return this;
        }

        /**
         * @param federationSettingsId Unique 24-hexadecimal digit string that identifies the federated authentication configuration.
         * 
         * @return builder
         * 
         */
        public Builder federationSettingsId(String federationSettingsId) {
            return federationSettingsId(Output.of(federationSettingsId));
        }

        /**
         * @param identityProviderId Legacy 20-hexadecimal digit string that identifies the SAML access identity provider that this connected org config is associated with. Removing the attribute or providing the value `""` will detach/remove the SAML identity provider. This id can be found in two ways:
         * 1. Within the Federation Management UI in Atlas in the Identity Providers tab by clicking the info icon in the IdP ID row of a configured SAML identity provider
         * 2. `okta_idp_id` on the `mongodbatlas.FederatedSettingsIdentityProvider` resource
         * 
         * @return builder
         * 
         */
        public Builder identityProviderId(@Nullable Output identityProviderId) {
            $.identityProviderId = identityProviderId;
            return this;
        }

        /**
         * @param identityProviderId Legacy 20-hexadecimal digit string that identifies the SAML access identity provider that this connected org config is associated with. Removing the attribute or providing the value `""` will detach/remove the SAML identity provider. This id can be found in two ways:
         * 1. Within the Federation Management UI in Atlas in the Identity Providers tab by clicking the info icon in the IdP ID row of a configured SAML identity provider
         * 2. `okta_idp_id` on the `mongodbatlas.FederatedSettingsIdentityProvider` resource
         * 
         * @return builder
         * 
         */
        public Builder identityProviderId(String identityProviderId) {
            return identityProviderId(Output.of(identityProviderId));
        }

        /**
         * @param orgId Unique 24-hexadecimal digit string that identifies the organization that contains your projects.
         * 
         * @return builder
         * 
         */
        public Builder orgId(@Nullable Output orgId) {
            $.orgId = orgId;
            return this;
        }

        /**
         * @param orgId Unique 24-hexadecimal digit string that identifies the organization that contains your projects.
         * 
         * @return builder
         * 
         */
        public Builder orgId(String orgId) {
            return orgId(Output.of(orgId));
        }

        /**
         * @param postAuthRoleGrants List that contains the default [roles](https://www.mongodb.com/docs/atlas/reference/user-roles/#std-label-organization-roles) granted to users who authenticate through the IdP in a connected organization.
         * 
         * @return builder
         * 
         */
        public Builder postAuthRoleGrants(@Nullable Output> postAuthRoleGrants) {
            $.postAuthRoleGrants = postAuthRoleGrants;
            return this;
        }

        /**
         * @param postAuthRoleGrants List that contains the default [roles](https://www.mongodb.com/docs/atlas/reference/user-roles/#std-label-organization-roles) granted to users who authenticate through the IdP in a connected organization.
         * 
         * @return builder
         * 
         */
        public Builder postAuthRoleGrants(List postAuthRoleGrants) {
            return postAuthRoleGrants(Output.of(postAuthRoleGrants));
        }

        /**
         * @param postAuthRoleGrants List that contains the default [roles](https://www.mongodb.com/docs/atlas/reference/user-roles/#std-label-organization-roles) granted to users who authenticate through the IdP in a connected organization.
         * 
         * @return builder
         * 
         */
        public Builder postAuthRoleGrants(String... postAuthRoleGrants) {
            return postAuthRoleGrants(List.of(postAuthRoleGrants));
        }

        /**
         * @param userConflicts List that contains the users who have an email address that doesn't match any domain on the allowed list. See below
         * 
         * @return builder
         * 
         */
        public Builder userConflicts(@Nullable Output> userConflicts) {
            $.userConflicts = userConflicts;
            return this;
        }

        /**
         * @param userConflicts List that contains the users who have an email address that doesn't match any domain on the allowed list. See below
         * 
         * @return builder
         * 
         */
        public Builder userConflicts(List userConflicts) {
            return userConflicts(Output.of(userConflicts));
        }

        /**
         * @param userConflicts List that contains the users who have an email address that doesn't match any domain on the allowed list. See below
         * 
         * @return builder
         * 
         */
        public Builder userConflicts(FederatedSettingsOrgConfigUserConflictArgs... userConflicts) {
            return userConflicts(List.of(userConflicts));
        }

        public FederatedSettingsOrgConfigState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy