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

com.pulumi.azurenative.sql.ManagedInstanceAdministratorArgs 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.sql;

import com.pulumi.azurenative.sql.enums.ManagedInstanceAdministratorType;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ManagedInstanceAdministratorArgs Empty = new ManagedInstanceAdministratorArgs();

    @Import(name="administratorName")
    private @Nullable Output administratorName;

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

    /**
     * Type of the managed instance administrator.
     * 
     */
    @Import(name="administratorType", required=true)
    private Output> administratorType;

    /**
     * @return Type of the managed instance administrator.
     * 
     */
    public Output> administratorType() {
        return this.administratorType;
    }

    /**
     * Login name of the managed instance administrator.
     * 
     */
    @Import(name="login", required=true)
    private Output login;

    /**
     * @return Login name of the managed instance administrator.
     * 
     */
    public Output login() {
        return this.login;
    }

    /**
     * The name of the managed instance.
     * 
     */
    @Import(name="managedInstanceName", required=true)
    private Output managedInstanceName;

    /**
     * @return The name of the managed instance.
     * 
     */
    public Output managedInstanceName() {
        return this.managedInstanceName;
    }

    /**
     * The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * SID (object ID) of the managed instance administrator.
     * 
     */
    @Import(name="sid", required=true)
    private Output sid;

    /**
     * @return SID (object ID) of the managed instance administrator.
     * 
     */
    public Output sid() {
        return this.sid;
    }

    /**
     * Tenant ID of the managed instance administrator.
     * 
     */
    @Import(name="tenantId")
    private @Nullable Output tenantId;

    /**
     * @return Tenant ID of the managed instance administrator.
     * 
     */
    public Optional> tenantId() {
        return Optional.ofNullable(this.tenantId);
    }

    private ManagedInstanceAdministratorArgs() {}

    private ManagedInstanceAdministratorArgs(ManagedInstanceAdministratorArgs $) {
        this.administratorName = $.administratorName;
        this.administratorType = $.administratorType;
        this.login = $.login;
        this.managedInstanceName = $.managedInstanceName;
        this.resourceGroupName = $.resourceGroupName;
        this.sid = $.sid;
        this.tenantId = $.tenantId;
    }

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

    public static final class Builder {
        private ManagedInstanceAdministratorArgs $;

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

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

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

        public Builder administratorName(String administratorName) {
            return administratorName(Output.of(administratorName));
        }

        /**
         * @param administratorType Type of the managed instance administrator.
         * 
         * @return builder
         * 
         */
        public Builder administratorType(Output> administratorType) {
            $.administratorType = administratorType;
            return this;
        }

        /**
         * @param administratorType Type of the managed instance administrator.
         * 
         * @return builder
         * 
         */
        public Builder administratorType(Either administratorType) {
            return administratorType(Output.of(administratorType));
        }

        /**
         * @param administratorType Type of the managed instance administrator.
         * 
         * @return builder
         * 
         */
        public Builder administratorType(String administratorType) {
            return administratorType(Either.ofLeft(administratorType));
        }

        /**
         * @param administratorType Type of the managed instance administrator.
         * 
         * @return builder
         * 
         */
        public Builder administratorType(ManagedInstanceAdministratorType administratorType) {
            return administratorType(Either.ofRight(administratorType));
        }

        /**
         * @param login Login name of the managed instance administrator.
         * 
         * @return builder
         * 
         */
        public Builder login(Output login) {
            $.login = login;
            return this;
        }

        /**
         * @param login Login name of the managed instance administrator.
         * 
         * @return builder
         * 
         */
        public Builder login(String login) {
            return login(Output.of(login));
        }

        /**
         * @param managedInstanceName The name of the managed instance.
         * 
         * @return builder
         * 
         */
        public Builder managedInstanceName(Output managedInstanceName) {
            $.managedInstanceName = managedInstanceName;
            return this;
        }

        /**
         * @param managedInstanceName The name of the managed instance.
         * 
         * @return builder
         * 
         */
        public Builder managedInstanceName(String managedInstanceName) {
            return managedInstanceName(Output.of(managedInstanceName));
        }

        /**
         * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param sid SID (object ID) of the managed instance administrator.
         * 
         * @return builder
         * 
         */
        public Builder sid(Output sid) {
            $.sid = sid;
            return this;
        }

        /**
         * @param sid SID (object ID) of the managed instance administrator.
         * 
         * @return builder
         * 
         */
        public Builder sid(String sid) {
            return sid(Output.of(sid));
        }

        /**
         * @param tenantId Tenant ID of the managed instance administrator.
         * 
         * @return builder
         * 
         */
        public Builder tenantId(@Nullable Output tenantId) {
            $.tenantId = tenantId;
            return this;
        }

        /**
         * @param tenantId Tenant ID of the managed instance administrator.
         * 
         * @return builder
         * 
         */
        public Builder tenantId(String tenantId) {
            return tenantId(Output.of(tenantId));
        }

        public ManagedInstanceAdministratorArgs build() {
            if ($.administratorType == null) {
                throw new MissingRequiredPropertyException("ManagedInstanceAdministratorArgs", "administratorType");
            }
            if ($.login == null) {
                throw new MissingRequiredPropertyException("ManagedInstanceAdministratorArgs", "login");
            }
            if ($.managedInstanceName == null) {
                throw new MissingRequiredPropertyException("ManagedInstanceAdministratorArgs", "managedInstanceName");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("ManagedInstanceAdministratorArgs", "resourceGroupName");
            }
            if ($.sid == null) {
                throw new MissingRequiredPropertyException("ManagedInstanceAdministratorArgs", "sid");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy