Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.azurenative.apimanagement.AuthorizationServerArgs Maven / Gradle / Ivy
Go to download
A native Pulumi package for creating and managing Azure resources.
// *** 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 $;
}
}
}