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

com.pulumi.azurenative.apimanagement.AuthorizationServerArgs Maven / Gradle / Ivy

There is a newer version: 2.82.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.azurenative.apimanagement;

import com.pulumi.azurenative.apimanagement.enums.AuthorizationMethod;
import com.pulumi.azurenative.apimanagement.enums.BearerTokenSendingMethod;
import com.pulumi.azurenative.apimanagement.enums.ClientAuthenticationMethod;
import com.pulumi.azurenative.apimanagement.enums.GrantType;
import com.pulumi.azurenative.apimanagement.inputs.TokenBodyParameterContractArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
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 AuthorizationServerArgs extends com.pulumi.resources.ResourceArgs {

    public static final AuthorizationServerArgs Empty = new AuthorizationServerArgs();

    /**
     * OAuth authorization endpoint. See http://tools.ietf.org/html/rfc6749#section-3.2.
     * 
     */
    @Import(name="authorizationEndpoint", required=true)
    private Output authorizationEndpoint;

    /**
     * @return OAuth authorization endpoint. See http://tools.ietf.org/html/rfc6749#section-3.2.
     * 
     */
    public Output authorizationEndpoint() {
        return this.authorizationEndpoint;
    }

    /**
     * HTTP verbs supported by the authorization endpoint. GET must be always present. POST is optional.
     * 
     */
    @Import(name="authorizationMethods")
    private @Nullable Output> authorizationMethods;

    /**
     * @return HTTP verbs supported by the authorization endpoint. GET must be always present. POST is optional.
     * 
     */
    public Optional>> authorizationMethods() {
        return Optional.ofNullable(this.authorizationMethods);
    }

    /**
     * Identifier of the authorization server.
     * 
     */
    @Import(name="authsid")
    private @Nullable Output authsid;

    /**
     * @return Identifier of the authorization server.
     * 
     */
    public Optional> authsid() {
        return Optional.ofNullable(this.authsid);
    }

    /**
     * Specifies the mechanism by which access token is passed to the API.
     * 
     */
    @Import(name="bearerTokenSendingMethods")
    private @Nullable Output>> bearerTokenSendingMethods;

    /**
     * @return Specifies the mechanism by which access token is passed to the API.
     * 
     */
    public Optional>>> bearerTokenSendingMethods() {
        return Optional.ofNullable(this.bearerTokenSendingMethods);
    }

    /**
     * Method of authentication supported by the token endpoint of this authorization server. Possible values are Basic and/or Body. When Body is specified, client credentials and other parameters are passed within the request body in the application/x-www-form-urlencoded format.
     * 
     */
    @Import(name="clientAuthenticationMethod")
    private @Nullable Output>> clientAuthenticationMethod;

    /**
     * @return Method of authentication supported by the token endpoint of this authorization server. Possible values are Basic and/or Body. When Body is specified, client credentials and other parameters are passed within the request body in the application/x-www-form-urlencoded format.
     * 
     */
    public Optional>>> clientAuthenticationMethod() {
        return Optional.ofNullable(this.clientAuthenticationMethod);
    }

    /**
     * Client or app id registered with this authorization server.
     * 
     */
    @Import(name="clientId", required=true)
    private Output clientId;

    /**
     * @return Client or app id registered with this authorization server.
     * 
     */
    public Output clientId() {
        return this.clientId;
    }

    /**
     * Optional reference to a page where client or app registration for this authorization server is performed. Contains absolute URL to entity being referenced.
     * 
     */
    @Import(name="clientRegistrationEndpoint", required=true)
    private Output clientRegistrationEndpoint;

    /**
     * @return Optional reference to a page where client or app registration for this authorization server is performed. Contains absolute URL to entity being referenced.
     * 
     */
    public Output clientRegistrationEndpoint() {
        return this.clientRegistrationEndpoint;
    }

    /**
     * Client or app secret registered with this authorization server. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.
     * 
     */
    @Import(name="clientSecret")
    private @Nullable Output clientSecret;

    /**
     * @return Client or app secret registered with this authorization server. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.
     * 
     */
    public Optional> clientSecret() {
        return Optional.ofNullable(this.clientSecret);
    }

    /**
     * Access token scope that is going to be requested by default. Can be overridden at the API level. Should be provided in the form of a string containing space-delimited values.
     * 
     */
    @Import(name="defaultScope")
    private @Nullable Output defaultScope;

    /**
     * @return Access token scope that is going to be requested by default. Can be overridden at the API level. Should be provided in the form of a string containing space-delimited values.
     * 
     */
    public Optional> defaultScope() {
        return Optional.ofNullable(this.defaultScope);
    }

    /**
     * Description of the authorization server. Can contain HTML formatting tags.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return Description of the authorization server. Can contain HTML formatting tags.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * User-friendly authorization server name.
     * 
     */
    @Import(name="displayName", required=true)
    private Output displayName;

    /**
     * @return User-friendly authorization server name.
     * 
     */
    public Output displayName() {
        return this.displayName;
    }

    /**
     * Form of an authorization grant, which the client uses to request the access token.
     * 
     */
    @Import(name="grantTypes", required=true)
    private Output>> grantTypes;

    /**
     * @return Form of an authorization grant, which the client uses to request the access token.
     * 
     */
    public Output>> grantTypes() {
        return this.grantTypes;
    }

    /**
     * The name of the resource group. The name is case insensitive.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group. The name is case insensitive.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner password.
     * 
     */
    @Import(name="resourceOwnerPassword")
    private @Nullable Output resourceOwnerPassword;

    /**
     * @return Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner password.
     * 
     */
    public Optional> resourceOwnerPassword() {
        return Optional.ofNullable(this.resourceOwnerPassword);
    }

    /**
     * Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner username.
     * 
     */
    @Import(name="resourceOwnerUsername")
    private @Nullable Output resourceOwnerUsername;

    /**
     * @return Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner username.
     * 
     */
    public Optional> resourceOwnerUsername() {
        return Optional.ofNullable(this.resourceOwnerUsername);
    }

    /**
     * The name of the API Management service.
     * 
     */
    @Import(name="serviceName", required=true)
    private Output serviceName;

    /**
     * @return The name of the API Management service.
     * 
     */
    public Output serviceName() {
        return this.serviceName;
    }

    /**
     * If true, authorization server will include state parameter from the authorization request to its response. Client may use state parameter to raise protocol security.
     * 
     */
    @Import(name="supportState")
    private @Nullable Output supportState;

    /**
     * @return If true, authorization server will include state parameter from the authorization request to its response. Client may use state parameter to raise protocol security.
     * 
     */
    public Optional> supportState() {
        return Optional.ofNullable(this.supportState);
    }

    /**
     * Additional parameters required by the token endpoint of this authorization server represented as an array of JSON objects with name and value string properties, i.e. {"name" : "name value", "value": "a value"}.
     * 
     */
    @Import(name="tokenBodyParameters")
    private @Nullable Output> tokenBodyParameters;

    /**
     * @return Additional parameters required by the token endpoint of this authorization server represented as an array of JSON objects with name and value string properties, i.e. {"name" : "name value", "value": "a value"}.
     * 
     */
    public Optional>> tokenBodyParameters() {
        return Optional.ofNullable(this.tokenBodyParameters);
    }

    /**
     * OAuth token endpoint. Contains absolute URI to entity being referenced.
     * 
     */
    @Import(name="tokenEndpoint")
    private @Nullable Output tokenEndpoint;

    /**
     * @return OAuth token endpoint. Contains absolute URI to entity being referenced.
     * 
     */
    public Optional> tokenEndpoint() {
        return Optional.ofNullable(this.tokenEndpoint);
    }

    /**
     * If true, the authorization server will be used in the API documentation in the developer portal. False by default if no value is provided.
     * 
     */
    @Import(name="useInApiDocumentation")
    private @Nullable Output useInApiDocumentation;

    /**
     * @return If true, the authorization server will be used in the API documentation in the developer portal. False by default if no value is provided.
     * 
     */
    public Optional> useInApiDocumentation() {
        return Optional.ofNullable(this.useInApiDocumentation);
    }

    /**
     * If true, the authorization server may be used in the developer portal test console. True by default if no value is provided.
     * 
     */
    @Import(name="useInTestConsole")
    private @Nullable Output useInTestConsole;

    /**
     * @return If true, the authorization server may be used in the developer portal test console. True by default if no value is provided.
     * 
     */
    public Optional> useInTestConsole() {
        return Optional.ofNullable(this.useInTestConsole);
    }

    private AuthorizationServerArgs() {}

    private AuthorizationServerArgs(AuthorizationServerArgs $) {
        this.authorizationEndpoint = $.authorizationEndpoint;
        this.authorizationMethods = $.authorizationMethods;
        this.authsid = $.authsid;
        this.bearerTokenSendingMethods = $.bearerTokenSendingMethods;
        this.clientAuthenticationMethod = $.clientAuthenticationMethod;
        this.clientId = $.clientId;
        this.clientRegistrationEndpoint = $.clientRegistrationEndpoint;
        this.clientSecret = $.clientSecret;
        this.defaultScope = $.defaultScope;
        this.description = $.description;
        this.displayName = $.displayName;
        this.grantTypes = $.grantTypes;
        this.resourceGroupName = $.resourceGroupName;
        this.resourceOwnerPassword = $.resourceOwnerPassword;
        this.resourceOwnerUsername = $.resourceOwnerUsername;
        this.serviceName = $.serviceName;
        this.supportState = $.supportState;
        this.tokenBodyParameters = $.tokenBodyParameters;
        this.tokenEndpoint = $.tokenEndpoint;
        this.useInApiDocumentation = $.useInApiDocumentation;
        this.useInTestConsole = $.useInTestConsole;
    }

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

    public static final class Builder {
        private AuthorizationServerArgs $;

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

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

        /**
         * @param authorizationEndpoint OAuth authorization endpoint. See http://tools.ietf.org/html/rfc6749#section-3.2.
         * 
         * @return builder
         * 
         */
        public Builder authorizationEndpoint(Output authorizationEndpoint) {
            $.authorizationEndpoint = authorizationEndpoint;
            return this;
        }

        /**
         * @param authorizationEndpoint OAuth authorization endpoint. See http://tools.ietf.org/html/rfc6749#section-3.2.
         * 
         * @return builder
         * 
         */
        public Builder authorizationEndpoint(String authorizationEndpoint) {
            return authorizationEndpoint(Output.of(authorizationEndpoint));
        }

        /**
         * @param authorizationMethods HTTP verbs supported by the authorization endpoint. GET must be always present. POST is optional.
         * 
         * @return builder
         * 
         */
        public Builder authorizationMethods(@Nullable Output> authorizationMethods) {
            $.authorizationMethods = authorizationMethods;
            return this;
        }

        /**
         * @param authorizationMethods HTTP verbs supported by the authorization endpoint. GET must be always present. POST is optional.
         * 
         * @return builder
         * 
         */
        public Builder authorizationMethods(List authorizationMethods) {
            return authorizationMethods(Output.of(authorizationMethods));
        }

        /**
         * @param authorizationMethods HTTP verbs supported by the authorization endpoint. GET must be always present. POST is optional.
         * 
         * @return builder
         * 
         */
        public Builder authorizationMethods(AuthorizationMethod... authorizationMethods) {
            return authorizationMethods(List.of(authorizationMethods));
        }

        /**
         * @param authsid Identifier of the authorization server.
         * 
         * @return builder
         * 
         */
        public Builder authsid(@Nullable Output authsid) {
            $.authsid = authsid;
            return this;
        }

        /**
         * @param authsid Identifier of the authorization server.
         * 
         * @return builder
         * 
         */
        public Builder authsid(String authsid) {
            return authsid(Output.of(authsid));
        }

        /**
         * @param bearerTokenSendingMethods Specifies the mechanism by which access token is passed to the API.
         * 
         * @return builder
         * 
         */
        public Builder bearerTokenSendingMethods(@Nullable Output>> bearerTokenSendingMethods) {
            $.bearerTokenSendingMethods = bearerTokenSendingMethods;
            return this;
        }

        /**
         * @param bearerTokenSendingMethods Specifies the mechanism by which access token is passed to the API.
         * 
         * @return builder
         * 
         */
        public Builder bearerTokenSendingMethods(List> bearerTokenSendingMethods) {
            return bearerTokenSendingMethods(Output.of(bearerTokenSendingMethods));
        }

        /**
         * @param bearerTokenSendingMethods Specifies the mechanism by which access token is passed to the API.
         * 
         * @return builder
         * 
         */
        public Builder bearerTokenSendingMethods(Either... bearerTokenSendingMethods) {
            return bearerTokenSendingMethods(List.of(bearerTokenSendingMethods));
        }

        /**
         * @param clientAuthenticationMethod Method of authentication supported by the token endpoint of this authorization server. Possible values are Basic and/or Body. When Body is specified, client credentials and other parameters are passed within the request body in the application/x-www-form-urlencoded format.
         * 
         * @return builder
         * 
         */
        public Builder clientAuthenticationMethod(@Nullable Output>> clientAuthenticationMethod) {
            $.clientAuthenticationMethod = clientAuthenticationMethod;
            return this;
        }

        /**
         * @param clientAuthenticationMethod Method of authentication supported by the token endpoint of this authorization server. Possible values are Basic and/or Body. When Body is specified, client credentials and other parameters are passed within the request body in the application/x-www-form-urlencoded format.
         * 
         * @return builder
         * 
         */
        public Builder clientAuthenticationMethod(List> clientAuthenticationMethod) {
            return clientAuthenticationMethod(Output.of(clientAuthenticationMethod));
        }

        /**
         * @param clientAuthenticationMethod Method of authentication supported by the token endpoint of this authorization server. Possible values are Basic and/or Body. When Body is specified, client credentials and other parameters are passed within the request body in the application/x-www-form-urlencoded format.
         * 
         * @return builder
         * 
         */
        public Builder clientAuthenticationMethod(Either... clientAuthenticationMethod) {
            return clientAuthenticationMethod(List.of(clientAuthenticationMethod));
        }

        /**
         * @param clientId Client or app id registered with this authorization server.
         * 
         * @return builder
         * 
         */
        public Builder clientId(Output clientId) {
            $.clientId = clientId;
            return this;
        }

        /**
         * @param clientId Client or app id registered with this authorization server.
         * 
         * @return builder
         * 
         */
        public Builder clientId(String clientId) {
            return clientId(Output.of(clientId));
        }

        /**
         * @param clientRegistrationEndpoint Optional reference to a page where client or app registration for this authorization server is performed. Contains absolute URL to entity being referenced.
         * 
         * @return builder
         * 
         */
        public Builder clientRegistrationEndpoint(Output clientRegistrationEndpoint) {
            $.clientRegistrationEndpoint = clientRegistrationEndpoint;
            return this;
        }

        /**
         * @param clientRegistrationEndpoint Optional reference to a page where client or app registration for this authorization server is performed. Contains absolute URL to entity being referenced.
         * 
         * @return builder
         * 
         */
        public Builder clientRegistrationEndpoint(String clientRegistrationEndpoint) {
            return clientRegistrationEndpoint(Output.of(clientRegistrationEndpoint));
        }

        /**
         * @param clientSecret Client or app secret registered with this authorization server. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.
         * 
         * @return builder
         * 
         */
        public Builder clientSecret(@Nullable Output clientSecret) {
            $.clientSecret = clientSecret;
            return this;
        }

        /**
         * @param clientSecret Client or app secret registered with this authorization server. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.
         * 
         * @return builder
         * 
         */
        public Builder clientSecret(String clientSecret) {
            return clientSecret(Output.of(clientSecret));
        }

        /**
         * @param defaultScope Access token scope that is going to be requested by default. Can be overridden at the API level. Should be provided in the form of a string containing space-delimited values.
         * 
         * @return builder
         * 
         */
        public Builder defaultScope(@Nullable Output defaultScope) {
            $.defaultScope = defaultScope;
            return this;
        }

        /**
         * @param defaultScope Access token scope that is going to be requested by default. Can be overridden at the API level. Should be provided in the form of a string containing space-delimited values.
         * 
         * @return builder
         * 
         */
        public Builder defaultScope(String defaultScope) {
            return defaultScope(Output.of(defaultScope));
        }

        /**
         * @param description Description of the authorization server. Can contain HTML formatting tags.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description Description of the authorization server. Can contain HTML formatting tags.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param displayName User-friendly authorization server name.
         * 
         * @return builder
         * 
         */
        public Builder displayName(Output displayName) {
            $.displayName = displayName;
            return this;
        }

        /**
         * @param displayName User-friendly authorization server name.
         * 
         * @return builder
         * 
         */
        public Builder displayName(String displayName) {
            return displayName(Output.of(displayName));
        }

        /**
         * @param grantTypes Form of an authorization grant, which the client uses to request the access token.
         * 
         * @return builder
         * 
         */
        public Builder grantTypes(Output>> grantTypes) {
            $.grantTypes = grantTypes;
            return this;
        }

        /**
         * @param grantTypes Form of an authorization grant, which the client uses to request the access token.
         * 
         * @return builder
         * 
         */
        public Builder grantTypes(List> grantTypes) {
            return grantTypes(Output.of(grantTypes));
        }

        /**
         * @param grantTypes Form of an authorization grant, which the client uses to request the access token.
         * 
         * @return builder
         * 
         */
        public Builder grantTypes(Either... grantTypes) {
            return grantTypes(List.of(grantTypes));
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param resourceOwnerPassword Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner password.
         * 
         * @return builder
         * 
         */
        public Builder resourceOwnerPassword(@Nullable Output resourceOwnerPassword) {
            $.resourceOwnerPassword = resourceOwnerPassword;
            return this;
        }

        /**
         * @param resourceOwnerPassword Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner password.
         * 
         * @return builder
         * 
         */
        public Builder resourceOwnerPassword(String resourceOwnerPassword) {
            return resourceOwnerPassword(Output.of(resourceOwnerPassword));
        }

        /**
         * @param resourceOwnerUsername Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner username.
         * 
         * @return builder
         * 
         */
        public Builder resourceOwnerUsername(@Nullable Output resourceOwnerUsername) {
            $.resourceOwnerUsername = resourceOwnerUsername;
            return this;
        }

        /**
         * @param resourceOwnerUsername Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner username.
         * 
         * @return builder
         * 
         */
        public Builder resourceOwnerUsername(String resourceOwnerUsername) {
            return resourceOwnerUsername(Output.of(resourceOwnerUsername));
        }

        /**
         * @param serviceName The name of the API Management service.
         * 
         * @return builder
         * 
         */
        public Builder serviceName(Output serviceName) {
            $.serviceName = serviceName;
            return this;
        }

        /**
         * @param serviceName The name of the API Management service.
         * 
         * @return builder
         * 
         */
        public Builder serviceName(String serviceName) {
            return serviceName(Output.of(serviceName));
        }

        /**
         * @param supportState If true, authorization server will include state parameter from the authorization request to its response. Client may use state parameter to raise protocol security.
         * 
         * @return builder
         * 
         */
        public Builder supportState(@Nullable Output supportState) {
            $.supportState = supportState;
            return this;
        }

        /**
         * @param supportState If true, authorization server will include state parameter from the authorization request to its response. Client may use state parameter to raise protocol security.
         * 
         * @return builder
         * 
         */
        public Builder supportState(Boolean supportState) {
            return supportState(Output.of(supportState));
        }

        /**
         * @param tokenBodyParameters Additional parameters required by the token endpoint of this authorization server represented as an array of JSON objects with name and value string properties, i.e. {"name" : "name value", "value": "a value"}.
         * 
         * @return builder
         * 
         */
        public Builder tokenBodyParameters(@Nullable Output> tokenBodyParameters) {
            $.tokenBodyParameters = tokenBodyParameters;
            return this;
        }

        /**
         * @param tokenBodyParameters Additional parameters required by the token endpoint of this authorization server represented as an array of JSON objects with name and value string properties, i.e. {"name" : "name value", "value": "a value"}.
         * 
         * @return builder
         * 
         */
        public Builder tokenBodyParameters(List tokenBodyParameters) {
            return tokenBodyParameters(Output.of(tokenBodyParameters));
        }

        /**
         * @param tokenBodyParameters Additional parameters required by the token endpoint of this authorization server represented as an array of JSON objects with name and value string properties, i.e. {"name" : "name value", "value": "a value"}.
         * 
         * @return builder
         * 
         */
        public Builder tokenBodyParameters(TokenBodyParameterContractArgs... tokenBodyParameters) {
            return tokenBodyParameters(List.of(tokenBodyParameters));
        }

        /**
         * @param tokenEndpoint OAuth token endpoint. Contains absolute URI to entity being referenced.
         * 
         * @return builder
         * 
         */
        public Builder tokenEndpoint(@Nullable Output tokenEndpoint) {
            $.tokenEndpoint = tokenEndpoint;
            return this;
        }

        /**
         * @param tokenEndpoint OAuth token endpoint. Contains absolute URI to entity being referenced.
         * 
         * @return builder
         * 
         */
        public Builder tokenEndpoint(String tokenEndpoint) {
            return tokenEndpoint(Output.of(tokenEndpoint));
        }

        /**
         * @param useInApiDocumentation If true, the authorization server will be used in the API documentation in the developer portal. False by default if no value is provided.
         * 
         * @return builder
         * 
         */
        public Builder useInApiDocumentation(@Nullable Output useInApiDocumentation) {
            $.useInApiDocumentation = useInApiDocumentation;
            return this;
        }

        /**
         * @param useInApiDocumentation If true, the authorization server will be used in the API documentation in the developer portal. False by default if no value is provided.
         * 
         * @return builder
         * 
         */
        public Builder useInApiDocumentation(Boolean useInApiDocumentation) {
            return useInApiDocumentation(Output.of(useInApiDocumentation));
        }

        /**
         * @param useInTestConsole If true, the authorization server may be used in the developer portal test console. True by default if no value is provided.
         * 
         * @return builder
         * 
         */
        public Builder useInTestConsole(@Nullable Output useInTestConsole) {
            $.useInTestConsole = useInTestConsole;
            return this;
        }

        /**
         * @param useInTestConsole If true, the authorization server may be used in the developer portal test console. True by default if no value is provided.
         * 
         * @return builder
         * 
         */
        public Builder useInTestConsole(Boolean useInTestConsole) {
            return useInTestConsole(Output.of(useInTestConsole));
        }

        public AuthorizationServerArgs build() {
            if ($.authorizationEndpoint == null) {
                throw new MissingRequiredPropertyException("AuthorizationServerArgs", "authorizationEndpoint");
            }
            if ($.clientId == null) {
                throw new MissingRequiredPropertyException("AuthorizationServerArgs", "clientId");
            }
            if ($.clientRegistrationEndpoint == null) {
                throw new MissingRequiredPropertyException("AuthorizationServerArgs", "clientRegistrationEndpoint");
            }
            if ($.displayName == null) {
                throw new MissingRequiredPropertyException("AuthorizationServerArgs", "displayName");
            }
            if ($.grantTypes == null) {
                throw new MissingRequiredPropertyException("AuthorizationServerArgs", "grantTypes");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("AuthorizationServerArgs", "resourceGroupName");
            }
            if ($.serviceName == null) {
                throw new MissingRequiredPropertyException("AuthorizationServerArgs", "serviceName");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy