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

com.pulumi.azure.apimanagement.inputs.AuthorizationServerState Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.

There is a newer version: 6.10.0-alpha.1731737215
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.azure.apimanagement.inputs;

import com.pulumi.azure.apimanagement.inputs.AuthorizationServerTokenBodyParameterArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
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 AuthorizationServerState extends com.pulumi.resources.ResourceArgs {

    public static final AuthorizationServerState Empty = new AuthorizationServerState();

    /**
     * The name of the API Management Service in which this Authorization Server should be created. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="apiManagementName")
    private @Nullable Output apiManagementName;

    /**
     * @return The name of the API Management Service in which this Authorization Server should be created. Changing this forces a new resource to be created.
     * 
     */
    public Optional> apiManagementName() {
        return Optional.ofNullable(this.apiManagementName);
    }

    /**
     * The OAUTH Authorization Endpoint.
     * 
     */
    @Import(name="authorizationEndpoint")
    private @Nullable Output authorizationEndpoint;

    /**
     * @return The OAUTH Authorization Endpoint.
     * 
     */
    public Optional> authorizationEndpoint() {
        return Optional.ofNullable(this.authorizationEndpoint);
    }

    /**
     * The HTTP Verbs supported by the Authorization Endpoint. Possible values are `DELETE`, `GET`, `HEAD`, `OPTIONS`, `PATCH`, `POST`, `PUT` and `TRACE`.
     * 
     * > **NOTE:** `GET` must always be present.
     * 
     */
    @Import(name="authorizationMethods")
    private @Nullable Output> authorizationMethods;

    /**
     * @return The HTTP Verbs supported by the Authorization Endpoint. Possible values are `DELETE`, `GET`, `HEAD`, `OPTIONS`, `PATCH`, `POST`, `PUT` and `TRACE`.
     * 
     * > **NOTE:** `GET` must always be present.
     * 
     */
    public Optional>> authorizationMethods() {
        return Optional.ofNullable(this.authorizationMethods);
    }

    /**
     * The mechanism by which Access Tokens are passed to the API. Possible values are `authorizationHeader` and `query`.
     * 
     */
    @Import(name="bearerTokenSendingMethods")
    private @Nullable Output> bearerTokenSendingMethods;

    /**
     * @return The mechanism by which Access Tokens are passed to the API. Possible values are `authorizationHeader` and `query`.
     * 
     */
    public Optional>> bearerTokenSendingMethods() {
        return Optional.ofNullable(this.bearerTokenSendingMethods);
    }

    /**
     * The Authentication Methods supported by the Token endpoint of this Authorization Server.. Possible values are `Basic` and `Body`.
     * 
     */
    @Import(name="clientAuthenticationMethods")
    private @Nullable Output> clientAuthenticationMethods;

    /**
     * @return The Authentication Methods supported by the Token endpoint of this Authorization Server.. Possible values are `Basic` and `Body`.
     * 
     */
    public Optional>> clientAuthenticationMethods() {
        return Optional.ofNullable(this.clientAuthenticationMethods);
    }

    /**
     * The Client/App ID registered with this Authorization Server.
     * 
     */
    @Import(name="clientId")
    private @Nullable Output clientId;

    /**
     * @return The Client/App ID registered with this Authorization Server.
     * 
     */
    public Optional> clientId() {
        return Optional.ofNullable(this.clientId);
    }

    /**
     * The URI of page where Client/App Registration is performed for this Authorization Server.
     * 
     */
    @Import(name="clientRegistrationEndpoint")
    private @Nullable Output clientRegistrationEndpoint;

    /**
     * @return The URI of page where Client/App Registration is performed for this Authorization Server.
     * 
     */
    public Optional> clientRegistrationEndpoint() {
        return Optional.ofNullable(this.clientRegistrationEndpoint);
    }

    /**
     * The Client/App Secret registered with this Authorization Server.
     * 
     */
    @Import(name="clientSecret")
    private @Nullable Output clientSecret;

    /**
     * @return The Client/App Secret registered with this Authorization Server.
     * 
     */
    public Optional> clientSecret() {
        return Optional.ofNullable(this.clientSecret);
    }

    /**
     * The Default Scope used when requesting an Access Token, specified as a string containing space-delimited values.
     * 
     */
    @Import(name="defaultScope")
    private @Nullable Output defaultScope;

    /**
     * @return The Default Scope used when requesting an Access Token, specified as a string containing space-delimited values.
     * 
     */
    public Optional> defaultScope() {
        return Optional.ofNullable(this.defaultScope);
    }

    /**
     * A description of the Authorization Server, which may contain HTML formatting tags.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return A description of the Authorization Server, which may contain HTML formatting tags.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * The user-friendly name of this Authorization Server.
     * 
     */
    @Import(name="displayName")
    private @Nullable Output displayName;

    /**
     * @return The user-friendly name of this Authorization Server.
     * 
     */
    public Optional> displayName() {
        return Optional.ofNullable(this.displayName);
    }

    /**
     * Form of Authorization Grants required when requesting an Access Token. Possible values are `authorizationCode`, `clientCredentials`, `implicit` and `resourceOwnerPassword`.
     * 
     */
    @Import(name="grantTypes")
    private @Nullable Output> grantTypes;

    /**
     * @return Form of Authorization Grants required when requesting an Access Token. Possible values are `authorizationCode`, `clientCredentials`, `implicit` and `resourceOwnerPassword`.
     * 
     */
    public Optional>> grantTypes() {
        return Optional.ofNullable(this.grantTypes);
    }

    /**
     * The name of this Authorization Server. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return The name of this Authorization Server. Changing this forces a new resource to be created.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="resourceGroupName")
    private @Nullable Output resourceGroupName;

    /**
     * @return The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.
     * 
     */
    public Optional> resourceGroupName() {
        return Optional.ofNullable(this.resourceGroupName);
    }

    /**
     * The password associated with the Resource Owner.
     * 
     * > **NOTE:** This can only be specified when `grant_type` includes `resourceOwnerPassword`.
     * 
     */
    @Import(name="resourceOwnerPassword")
    private @Nullable Output resourceOwnerPassword;

    /**
     * @return The password associated with the Resource Owner.
     * 
     * > **NOTE:** This can only be specified when `grant_type` includes `resourceOwnerPassword`.
     * 
     */
    public Optional> resourceOwnerPassword() {
        return Optional.ofNullable(this.resourceOwnerPassword);
    }

    /**
     * The username associated with the Resource Owner.
     * 
     * > **NOTE:** This can only be specified when `grant_type` includes `resourceOwnerPassword`.
     * 
     */
    @Import(name="resourceOwnerUsername")
    private @Nullable Output resourceOwnerUsername;

    /**
     * @return The username associated with the Resource Owner.
     * 
     * > **NOTE:** This can only be specified when `grant_type` includes `resourceOwnerPassword`.
     * 
     */
    public Optional> resourceOwnerUsername() {
        return Optional.ofNullable(this.resourceOwnerUsername);
    }

    /**
     * Does this Authorization Server support State? If this is set to `true` the client may use the state parameter to raise protocol security.
     * 
     */
    @Import(name="supportState")
    private @Nullable Output supportState;

    /**
     * @return Does this Authorization Server support State? If this is set to `true` the client may use the state parameter to raise protocol security.
     * 
     */
    public Optional> supportState() {
        return Optional.ofNullable(this.supportState);
    }

    /**
     * A `token_body_parameter` block as defined below.
     * 
     */
    @Import(name="tokenBodyParameters")
    private @Nullable Output> tokenBodyParameters;

    /**
     * @return A `token_body_parameter` block as defined below.
     * 
     */
    public Optional>> tokenBodyParameters() {
        return Optional.ofNullable(this.tokenBodyParameters);
    }

    /**
     * The OAUTH Token Endpoint.
     * 
     */
    @Import(name="tokenEndpoint")
    private @Nullable Output tokenEndpoint;

    /**
     * @return The OAUTH Token Endpoint.
     * 
     */
    public Optional> tokenEndpoint() {
        return Optional.ofNullable(this.tokenEndpoint);
    }

    private AuthorizationServerState() {}

    private AuthorizationServerState(AuthorizationServerState $) {
        this.apiManagementName = $.apiManagementName;
        this.authorizationEndpoint = $.authorizationEndpoint;
        this.authorizationMethods = $.authorizationMethods;
        this.bearerTokenSendingMethods = $.bearerTokenSendingMethods;
        this.clientAuthenticationMethods = $.clientAuthenticationMethods;
        this.clientId = $.clientId;
        this.clientRegistrationEndpoint = $.clientRegistrationEndpoint;
        this.clientSecret = $.clientSecret;
        this.defaultScope = $.defaultScope;
        this.description = $.description;
        this.displayName = $.displayName;
        this.grantTypes = $.grantTypes;
        this.name = $.name;
        this.resourceGroupName = $.resourceGroupName;
        this.resourceOwnerPassword = $.resourceOwnerPassword;
        this.resourceOwnerUsername = $.resourceOwnerUsername;
        this.supportState = $.supportState;
        this.tokenBodyParameters = $.tokenBodyParameters;
        this.tokenEndpoint = $.tokenEndpoint;
    }

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

    public static final class Builder {
        private AuthorizationServerState $;

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

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

        /**
         * @param apiManagementName The name of the API Management Service in which this Authorization Server should be created. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder apiManagementName(@Nullable Output apiManagementName) {
            $.apiManagementName = apiManagementName;
            return this;
        }

        /**
         * @param apiManagementName The name of the API Management Service in which this Authorization Server should be created. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder apiManagementName(String apiManagementName) {
            return apiManagementName(Output.of(apiManagementName));
        }

        /**
         * @param authorizationEndpoint The OAUTH Authorization Endpoint.
         * 
         * @return builder
         * 
         */
        public Builder authorizationEndpoint(@Nullable Output authorizationEndpoint) {
            $.authorizationEndpoint = authorizationEndpoint;
            return this;
        }

        /**
         * @param authorizationEndpoint The OAUTH Authorization Endpoint.
         * 
         * @return builder
         * 
         */
        public Builder authorizationEndpoint(String authorizationEndpoint) {
            return authorizationEndpoint(Output.of(authorizationEndpoint));
        }

        /**
         * @param authorizationMethods The HTTP Verbs supported by the Authorization Endpoint. Possible values are `DELETE`, `GET`, `HEAD`, `OPTIONS`, `PATCH`, `POST`, `PUT` and `TRACE`.
         * 
         * > **NOTE:** `GET` must always be present.
         * 
         * @return builder
         * 
         */
        public Builder authorizationMethods(@Nullable Output> authorizationMethods) {
            $.authorizationMethods = authorizationMethods;
            return this;
        }

        /**
         * @param authorizationMethods The HTTP Verbs supported by the Authorization Endpoint. Possible values are `DELETE`, `GET`, `HEAD`, `OPTIONS`, `PATCH`, `POST`, `PUT` and `TRACE`.
         * 
         * > **NOTE:** `GET` must always be present.
         * 
         * @return builder
         * 
         */
        public Builder authorizationMethods(List authorizationMethods) {
            return authorizationMethods(Output.of(authorizationMethods));
        }

        /**
         * @param authorizationMethods The HTTP Verbs supported by the Authorization Endpoint. Possible values are `DELETE`, `GET`, `HEAD`, `OPTIONS`, `PATCH`, `POST`, `PUT` and `TRACE`.
         * 
         * > **NOTE:** `GET` must always be present.
         * 
         * @return builder
         * 
         */
        public Builder authorizationMethods(String... authorizationMethods) {
            return authorizationMethods(List.of(authorizationMethods));
        }

        /**
         * @param bearerTokenSendingMethods The mechanism by which Access Tokens are passed to the API. Possible values are `authorizationHeader` and `query`.
         * 
         * @return builder
         * 
         */
        public Builder bearerTokenSendingMethods(@Nullable Output> bearerTokenSendingMethods) {
            $.bearerTokenSendingMethods = bearerTokenSendingMethods;
            return this;
        }

        /**
         * @param bearerTokenSendingMethods The mechanism by which Access Tokens are passed to the API. Possible values are `authorizationHeader` and `query`.
         * 
         * @return builder
         * 
         */
        public Builder bearerTokenSendingMethods(List bearerTokenSendingMethods) {
            return bearerTokenSendingMethods(Output.of(bearerTokenSendingMethods));
        }

        /**
         * @param bearerTokenSendingMethods The mechanism by which Access Tokens are passed to the API. Possible values are `authorizationHeader` and `query`.
         * 
         * @return builder
         * 
         */
        public Builder bearerTokenSendingMethods(String... bearerTokenSendingMethods) {
            return bearerTokenSendingMethods(List.of(bearerTokenSendingMethods));
        }

        /**
         * @param clientAuthenticationMethods The Authentication Methods supported by the Token endpoint of this Authorization Server.. Possible values are `Basic` and `Body`.
         * 
         * @return builder
         * 
         */
        public Builder clientAuthenticationMethods(@Nullable Output> clientAuthenticationMethods) {
            $.clientAuthenticationMethods = clientAuthenticationMethods;
            return this;
        }

        /**
         * @param clientAuthenticationMethods The Authentication Methods supported by the Token endpoint of this Authorization Server.. Possible values are `Basic` and `Body`.
         * 
         * @return builder
         * 
         */
        public Builder clientAuthenticationMethods(List clientAuthenticationMethods) {
            return clientAuthenticationMethods(Output.of(clientAuthenticationMethods));
        }

        /**
         * @param clientAuthenticationMethods The Authentication Methods supported by the Token endpoint of this Authorization Server.. Possible values are `Basic` and `Body`.
         * 
         * @return builder
         * 
         */
        public Builder clientAuthenticationMethods(String... clientAuthenticationMethods) {
            return clientAuthenticationMethods(List.of(clientAuthenticationMethods));
        }

        /**
         * @param clientId The Client/App ID registered with this Authorization Server.
         * 
         * @return builder
         * 
         */
        public Builder clientId(@Nullable Output clientId) {
            $.clientId = clientId;
            return this;
        }

        /**
         * @param clientId The Client/App ID registered with this Authorization Server.
         * 
         * @return builder
         * 
         */
        public Builder clientId(String clientId) {
            return clientId(Output.of(clientId));
        }

        /**
         * @param clientRegistrationEndpoint The URI of page where Client/App Registration is performed for this Authorization Server.
         * 
         * @return builder
         * 
         */
        public Builder clientRegistrationEndpoint(@Nullable Output clientRegistrationEndpoint) {
            $.clientRegistrationEndpoint = clientRegistrationEndpoint;
            return this;
        }

        /**
         * @param clientRegistrationEndpoint The URI of page where Client/App Registration is performed for this Authorization Server.
         * 
         * @return builder
         * 
         */
        public Builder clientRegistrationEndpoint(String clientRegistrationEndpoint) {
            return clientRegistrationEndpoint(Output.of(clientRegistrationEndpoint));
        }

        /**
         * @param clientSecret The Client/App Secret registered with this Authorization Server.
         * 
         * @return builder
         * 
         */
        public Builder clientSecret(@Nullable Output clientSecret) {
            $.clientSecret = clientSecret;
            return this;
        }

        /**
         * @param clientSecret The Client/App Secret registered with this Authorization Server.
         * 
         * @return builder
         * 
         */
        public Builder clientSecret(String clientSecret) {
            return clientSecret(Output.of(clientSecret));
        }

        /**
         * @param defaultScope The Default Scope used when requesting an Access Token, specified as a string containing space-delimited values.
         * 
         * @return builder
         * 
         */
        public Builder defaultScope(@Nullable Output defaultScope) {
            $.defaultScope = defaultScope;
            return this;
        }

        /**
         * @param defaultScope The Default Scope used when requesting an Access Token, specified as a string containing space-delimited values.
         * 
         * @return builder
         * 
         */
        public Builder defaultScope(String defaultScope) {
            return defaultScope(Output.of(defaultScope));
        }

        /**
         * @param description A description of the Authorization Server, which may contain HTML formatting tags.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description A description of the Authorization Server, which may contain HTML formatting tags.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param displayName The user-friendly name of this Authorization Server.
         * 
         * @return builder
         * 
         */
        public Builder displayName(@Nullable Output displayName) {
            $.displayName = displayName;
            return this;
        }

        /**
         * @param displayName The user-friendly name of this Authorization Server.
         * 
         * @return builder
         * 
         */
        public Builder displayName(String displayName) {
            return displayName(Output.of(displayName));
        }

        /**
         * @param grantTypes Form of Authorization Grants required when requesting an Access Token. Possible values are `authorizationCode`, `clientCredentials`, `implicit` and `resourceOwnerPassword`.
         * 
         * @return builder
         * 
         */
        public Builder grantTypes(@Nullable Output> grantTypes) {
            $.grantTypes = grantTypes;
            return this;
        }

        /**
         * @param grantTypes Form of Authorization Grants required when requesting an Access Token. Possible values are `authorizationCode`, `clientCredentials`, `implicit` and `resourceOwnerPassword`.
         * 
         * @return builder
         * 
         */
        public Builder grantTypes(List grantTypes) {
            return grantTypes(Output.of(grantTypes));
        }

        /**
         * @param grantTypes Form of Authorization Grants required when requesting an Access Token. Possible values are `authorizationCode`, `clientCredentials`, `implicit` and `resourceOwnerPassword`.
         * 
         * @return builder
         * 
         */
        public Builder grantTypes(String... grantTypes) {
            return grantTypes(List.of(grantTypes));
        }

        /**
         * @param name The name of this Authorization Server. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name The name of this Authorization Server. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param resourceGroupName The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(@Nullable Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the Resource Group in which the API Management Service exists. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param resourceOwnerPassword The password associated with the Resource Owner.
         * 
         * > **NOTE:** This can only be specified when `grant_type` includes `resourceOwnerPassword`.
         * 
         * @return builder
         * 
         */
        public Builder resourceOwnerPassword(@Nullable Output resourceOwnerPassword) {
            $.resourceOwnerPassword = resourceOwnerPassword;
            return this;
        }

        /**
         * @param resourceOwnerPassword The password associated with the Resource Owner.
         * 
         * > **NOTE:** This can only be specified when `grant_type` includes `resourceOwnerPassword`.
         * 
         * @return builder
         * 
         */
        public Builder resourceOwnerPassword(String resourceOwnerPassword) {
            return resourceOwnerPassword(Output.of(resourceOwnerPassword));
        }

        /**
         * @param resourceOwnerUsername The username associated with the Resource Owner.
         * 
         * > **NOTE:** This can only be specified when `grant_type` includes `resourceOwnerPassword`.
         * 
         * @return builder
         * 
         */
        public Builder resourceOwnerUsername(@Nullable Output resourceOwnerUsername) {
            $.resourceOwnerUsername = resourceOwnerUsername;
            return this;
        }

        /**
         * @param resourceOwnerUsername The username associated with the Resource Owner.
         * 
         * > **NOTE:** This can only be specified when `grant_type` includes `resourceOwnerPassword`.
         * 
         * @return builder
         * 
         */
        public Builder resourceOwnerUsername(String resourceOwnerUsername) {
            return resourceOwnerUsername(Output.of(resourceOwnerUsername));
        }

        /**
         * @param supportState Does this Authorization Server support State? If this is set to `true` the client may use the state parameter to raise protocol security.
         * 
         * @return builder
         * 
         */
        public Builder supportState(@Nullable Output supportState) {
            $.supportState = supportState;
            return this;
        }

        /**
         * @param supportState Does this Authorization Server support State? If this is set to `true` the client may use the state parameter to raise protocol security.
         * 
         * @return builder
         * 
         */
        public Builder supportState(Boolean supportState) {
            return supportState(Output.of(supportState));
        }

        /**
         * @param tokenBodyParameters A `token_body_parameter` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder tokenBodyParameters(@Nullable Output> tokenBodyParameters) {
            $.tokenBodyParameters = tokenBodyParameters;
            return this;
        }

        /**
         * @param tokenBodyParameters A `token_body_parameter` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder tokenBodyParameters(List tokenBodyParameters) {
            return tokenBodyParameters(Output.of(tokenBodyParameters));
        }

        /**
         * @param tokenBodyParameters A `token_body_parameter` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder tokenBodyParameters(AuthorizationServerTokenBodyParameterArgs... tokenBodyParameters) {
            return tokenBodyParameters(List.of(tokenBodyParameters));
        }

        /**
         * @param tokenEndpoint The OAUTH Token Endpoint.
         * 
         * @return builder
         * 
         */
        public Builder tokenEndpoint(@Nullable Output tokenEndpoint) {
            $.tokenEndpoint = tokenEndpoint;
            return this;
        }

        /**
         * @param tokenEndpoint The OAUTH Token Endpoint.
         * 
         * @return builder
         * 
         */
        public Builder tokenEndpoint(String tokenEndpoint) {
            return tokenEndpoint(Output.of(tokenEndpoint));
        }

        public AuthorizationServerState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy