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

com.oracle.bmc.oda.model.UpdateAuthenticationProviderDetails Maven / Gradle / Ivy

/**
 * Copyright (c) 2016, 2023, Oracle and/or its affiliates.  All rights reserved.
 * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
 */
package com.oracle.bmc.oda.model;

/**
 * Properties to update an Authentication Provider.
 * 
* Note: Objects should always be created or deserialized using the {@link Builder}. This model distinguishes fields * that are {@code null} because they are unset from fields that are explicitly set to {@code null}. This is done in * the setter methods of the {@link Builder}, which maintain a set of all explicitly set fields called * {@link #__explicitlySet__}. The {@link #hashCode()} and {@link #equals(Object)} methods are implemented to take * {@link #__explicitlySet__} into account. The constructor, on the other hand, does not set {@link #__explicitlySet__} * (since the constructor cannot distinguish explicit {@code null} from unset {@code null}). **/ @javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190506") @com.fasterxml.jackson.databind.annotation.JsonDeserialize( builder = UpdateAuthenticationProviderDetails.Builder.class ) @com.fasterxml.jackson.annotation.JsonFilter(com.oracle.bmc.http.internal.ExplicitlySetFilter.NAME) public final class UpdateAuthenticationProviderDetails extends com.oracle.bmc.http.internal.ExplicitlySetBmcModel { @Deprecated @java.beans.ConstructorProperties({ "tokenEndpointUrl", "authorizationEndpointUrl", "shortAuthorizationCodeRequestUrl", "revokeTokenEndpointUrl", "clientId", "clientSecret", "scopes", "subjectClaim", "refreshTokenRetentionPeriodInDays", "redirectUrl", "freeformTags", "definedTags" }) public UpdateAuthenticationProviderDetails( String tokenEndpointUrl, String authorizationEndpointUrl, String shortAuthorizationCodeRequestUrl, String revokeTokenEndpointUrl, String clientId, String clientSecret, String scopes, String subjectClaim, Integer refreshTokenRetentionPeriodInDays, String redirectUrl, java.util.Map freeformTags, java.util.Map> definedTags) { super(); this.tokenEndpointUrl = tokenEndpointUrl; this.authorizationEndpointUrl = authorizationEndpointUrl; this.shortAuthorizationCodeRequestUrl = shortAuthorizationCodeRequestUrl; this.revokeTokenEndpointUrl = revokeTokenEndpointUrl; this.clientId = clientId; this.clientSecret = clientSecret; this.scopes = scopes; this.subjectClaim = subjectClaim; this.refreshTokenRetentionPeriodInDays = refreshTokenRetentionPeriodInDays; this.redirectUrl = redirectUrl; this.freeformTags = freeformTags; this.definedTags = definedTags; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") public static class Builder { /** * The IDPs URL for requesting access tokens. **/ @com.fasterxml.jackson.annotation.JsonProperty("tokenEndpointUrl") private String tokenEndpointUrl; /** * The IDPs URL for requesting access tokens. * @param tokenEndpointUrl the value to set * @return this builder **/ public Builder tokenEndpointUrl(String tokenEndpointUrl) { this.tokenEndpointUrl = tokenEndpointUrl; this.__explicitlySet__.add("tokenEndpointUrl"); return this; } /** * The IDPs URL for the page that users authenticate with by entering the user name and password. **/ @com.fasterxml.jackson.annotation.JsonProperty("authorizationEndpointUrl") private String authorizationEndpointUrl; /** * The IDPs URL for the page that users authenticate with by entering the user name and password. * @param authorizationEndpointUrl the value to set * @return this builder **/ public Builder authorizationEndpointUrl(String authorizationEndpointUrl) { this.authorizationEndpointUrl = authorizationEndpointUrl; this.__explicitlySet__.add("authorizationEndpointUrl"); return this; } /** * A shortened version of the authorization URL, which you can get from a URL shortener service (one that allows * you to send query parameters). You might need this because the generated authorization-code-request URL * could be too long for SMS and older smart phones. * **/ @com.fasterxml.jackson.annotation.JsonProperty("shortAuthorizationCodeRequestUrl") private String shortAuthorizationCodeRequestUrl; /** * A shortened version of the authorization URL, which you can get from a URL shortener service (one that allows * you to send query parameters). You might need this because the generated authorization-code-request URL * could be too long for SMS and older smart phones. * * @param shortAuthorizationCodeRequestUrl the value to set * @return this builder **/ public Builder shortAuthorizationCodeRequestUrl(String shortAuthorizationCodeRequestUrl) { this.shortAuthorizationCodeRequestUrl = shortAuthorizationCodeRequestUrl; this.__explicitlySet__.add("shortAuthorizationCodeRequestUrl"); return this; } /** * If you want to revoke all the refresh tokens and access tokens of the logged-in user from a dialog flow, then * you need the IDP's revoke refresh token URL. If you provide this URL, then you can use the System.OAuth2ResetTokens * component to revoke the user's tokens for this service. * **/ @com.fasterxml.jackson.annotation.JsonProperty("revokeTokenEndpointUrl") private String revokeTokenEndpointUrl; /** * If you want to revoke all the refresh tokens and access tokens of the logged-in user from a dialog flow, then * you need the IDP's revoke refresh token URL. If you provide this URL, then you can use the System.OAuth2ResetTokens * component to revoke the user's tokens for this service. * * @param revokeTokenEndpointUrl the value to set * @return this builder **/ public Builder revokeTokenEndpointUrl(String revokeTokenEndpointUrl) { this.revokeTokenEndpointUrl = revokeTokenEndpointUrl; this.__explicitlySet__.add("revokeTokenEndpointUrl"); return this; } /** * The client ID for the IDP application (OAuth Client) that was registered as described in Identity Provider Registration. * With Microsoft identity platform, use the application ID. * **/ @com.fasterxml.jackson.annotation.JsonProperty("clientId") private String clientId; /** * The client ID for the IDP application (OAuth Client) that was registered as described in Identity Provider Registration. * With Microsoft identity platform, use the application ID. * * @param clientId the value to set * @return this builder **/ public Builder clientId(String clientId) { this.clientId = clientId; this.__explicitlySet__.add("clientId"); return this; } /** * The client secret for the IDP application (OAuth Client) that was registered as described in Identity Provider * Registration. With Microsoft identity platform, use the application secret. * **/ @com.fasterxml.jackson.annotation.JsonProperty("clientSecret") private String clientSecret; /** * The client secret for the IDP application (OAuth Client) that was registered as described in Identity Provider * Registration. With Microsoft identity platform, use the application secret. * * @param clientSecret the value to set * @return this builder **/ public Builder clientSecret(String clientSecret) { this.clientSecret = clientSecret; this.__explicitlySet__.add("clientSecret"); return this; } /** * A space-separated list of the scopes that must be included when Digital Assistant requests an access token from * the provider. Include all the scopes that are required to access the resources. If refresh tokens are enabled, * include the scope that\u2019s necessary to get the refresh token (typically offline_access). * **/ @com.fasterxml.jackson.annotation.JsonProperty("scopes") private String scopes; /** * A space-separated list of the scopes that must be included when Digital Assistant requests an access token from * the provider. Include all the scopes that are required to access the resources. If refresh tokens are enabled, * include the scope that\u2019s necessary to get the refresh token (typically offline_access). * * @param scopes the value to set * @return this builder **/ public Builder scopes(String scopes) { this.scopes = scopes; this.__explicitlySet__.add("scopes"); return this; } /** * The access-token profile claim to use to identify the user. **/ @com.fasterxml.jackson.annotation.JsonProperty("subjectClaim") private String subjectClaim; /** * The access-token profile claim to use to identify the user. * @param subjectClaim the value to set * @return this builder **/ public Builder subjectClaim(String subjectClaim) { this.subjectClaim = subjectClaim; this.__explicitlySet__.add("subjectClaim"); return this; } /** * The number of days to keep the refresh token in the Digital Assistant cache. **/ @com.fasterxml.jackson.annotation.JsonProperty("refreshTokenRetentionPeriodInDays") private Integer refreshTokenRetentionPeriodInDays; /** * The number of days to keep the refresh token in the Digital Assistant cache. * @param refreshTokenRetentionPeriodInDays the value to set * @return this builder **/ public Builder refreshTokenRetentionPeriodInDays( Integer refreshTokenRetentionPeriodInDays) { this.refreshTokenRetentionPeriodInDays = refreshTokenRetentionPeriodInDays; this.__explicitlySet__.add("refreshTokenRetentionPeriodInDays"); return this; } /** * The OAuth Redirect URL. **/ @com.fasterxml.jackson.annotation.JsonProperty("redirectUrl") private String redirectUrl; /** * The OAuth Redirect URL. * @param redirectUrl the value to set * @return this builder **/ public Builder redirectUrl(String redirectUrl) { this.redirectUrl = redirectUrl; this.__explicitlySet__.add("redirectUrl"); return this; } /** * Simple key-value pair that is applied without any predefined name, type, or scope. * Example: {@code {"bar-key": "value"}} * **/ @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") private java.util.Map freeformTags; /** * Simple key-value pair that is applied without any predefined name, type, or scope. * Example: {@code {"bar-key": "value"}} * * @param freeformTags the value to set * @return this builder **/ public Builder freeformTags(java.util.Map freeformTags) { this.freeformTags = freeformTags; this.__explicitlySet__.add("freeformTags"); return this; } /** * Usage of predefined tag keys. These predefined keys are scoped to namespaces. * Example: {@code {"foo-namespace": {"bar-key": "value"}}} * **/ @com.fasterxml.jackson.annotation.JsonProperty("definedTags") private java.util.Map> definedTags; /** * Usage of predefined tag keys. These predefined keys are scoped to namespaces. * Example: {@code {"foo-namespace": {"bar-key": "value"}}} * * @param definedTags the value to set * @return this builder **/ public Builder definedTags( java.util.Map> definedTags) { this.definedTags = definedTags; this.__explicitlySet__.add("definedTags"); return this; } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); public UpdateAuthenticationProviderDetails build() { UpdateAuthenticationProviderDetails model = new UpdateAuthenticationProviderDetails( this.tokenEndpointUrl, this.authorizationEndpointUrl, this.shortAuthorizationCodeRequestUrl, this.revokeTokenEndpointUrl, this.clientId, this.clientSecret, this.scopes, this.subjectClaim, this.refreshTokenRetentionPeriodInDays, this.redirectUrl, this.freeformTags, this.definedTags); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } return model; } @com.fasterxml.jackson.annotation.JsonIgnore public Builder copy(UpdateAuthenticationProviderDetails model) { if (model.wasPropertyExplicitlySet("tokenEndpointUrl")) { this.tokenEndpointUrl(model.getTokenEndpointUrl()); } if (model.wasPropertyExplicitlySet("authorizationEndpointUrl")) { this.authorizationEndpointUrl(model.getAuthorizationEndpointUrl()); } if (model.wasPropertyExplicitlySet("shortAuthorizationCodeRequestUrl")) { this.shortAuthorizationCodeRequestUrl(model.getShortAuthorizationCodeRequestUrl()); } if (model.wasPropertyExplicitlySet("revokeTokenEndpointUrl")) { this.revokeTokenEndpointUrl(model.getRevokeTokenEndpointUrl()); } if (model.wasPropertyExplicitlySet("clientId")) { this.clientId(model.getClientId()); } if (model.wasPropertyExplicitlySet("clientSecret")) { this.clientSecret(model.getClientSecret()); } if (model.wasPropertyExplicitlySet("scopes")) { this.scopes(model.getScopes()); } if (model.wasPropertyExplicitlySet("subjectClaim")) { this.subjectClaim(model.getSubjectClaim()); } if (model.wasPropertyExplicitlySet("refreshTokenRetentionPeriodInDays")) { this.refreshTokenRetentionPeriodInDays( model.getRefreshTokenRetentionPeriodInDays()); } if (model.wasPropertyExplicitlySet("redirectUrl")) { this.redirectUrl(model.getRedirectUrl()); } if (model.wasPropertyExplicitlySet("freeformTags")) { this.freeformTags(model.getFreeformTags()); } if (model.wasPropertyExplicitlySet("definedTags")) { this.definedTags(model.getDefinedTags()); } return this; } } /** * Create a new builder. */ public static Builder builder() { return new Builder(); } public Builder toBuilder() { return new Builder().copy(this); } /** * The IDPs URL for requesting access tokens. **/ @com.fasterxml.jackson.annotation.JsonProperty("tokenEndpointUrl") private final String tokenEndpointUrl; /** * The IDPs URL for requesting access tokens. * @return the value **/ public String getTokenEndpointUrl() { return tokenEndpointUrl; } /** * The IDPs URL for the page that users authenticate with by entering the user name and password. **/ @com.fasterxml.jackson.annotation.JsonProperty("authorizationEndpointUrl") private final String authorizationEndpointUrl; /** * The IDPs URL for the page that users authenticate with by entering the user name and password. * @return the value **/ public String getAuthorizationEndpointUrl() { return authorizationEndpointUrl; } /** * A shortened version of the authorization URL, which you can get from a URL shortener service (one that allows * you to send query parameters). You might need this because the generated authorization-code-request URL * could be too long for SMS and older smart phones. * **/ @com.fasterxml.jackson.annotation.JsonProperty("shortAuthorizationCodeRequestUrl") private final String shortAuthorizationCodeRequestUrl; /** * A shortened version of the authorization URL, which you can get from a URL shortener service (one that allows * you to send query parameters). You might need this because the generated authorization-code-request URL * could be too long for SMS and older smart phones. * * @return the value **/ public String getShortAuthorizationCodeRequestUrl() { return shortAuthorizationCodeRequestUrl; } /** * If you want to revoke all the refresh tokens and access tokens of the logged-in user from a dialog flow, then * you need the IDP's revoke refresh token URL. If you provide this URL, then you can use the System.OAuth2ResetTokens * component to revoke the user's tokens for this service. * **/ @com.fasterxml.jackson.annotation.JsonProperty("revokeTokenEndpointUrl") private final String revokeTokenEndpointUrl; /** * If you want to revoke all the refresh tokens and access tokens of the logged-in user from a dialog flow, then * you need the IDP's revoke refresh token URL. If you provide this URL, then you can use the System.OAuth2ResetTokens * component to revoke the user's tokens for this service. * * @return the value **/ public String getRevokeTokenEndpointUrl() { return revokeTokenEndpointUrl; } /** * The client ID for the IDP application (OAuth Client) that was registered as described in Identity Provider Registration. * With Microsoft identity platform, use the application ID. * **/ @com.fasterxml.jackson.annotation.JsonProperty("clientId") private final String clientId; /** * The client ID for the IDP application (OAuth Client) that was registered as described in Identity Provider Registration. * With Microsoft identity platform, use the application ID. * * @return the value **/ public String getClientId() { return clientId; } /** * The client secret for the IDP application (OAuth Client) that was registered as described in Identity Provider * Registration. With Microsoft identity platform, use the application secret. * **/ @com.fasterxml.jackson.annotation.JsonProperty("clientSecret") private final String clientSecret; /** * The client secret for the IDP application (OAuth Client) that was registered as described in Identity Provider * Registration. With Microsoft identity platform, use the application secret. * * @return the value **/ public String getClientSecret() { return clientSecret; } /** * A space-separated list of the scopes that must be included when Digital Assistant requests an access token from * the provider. Include all the scopes that are required to access the resources. If refresh tokens are enabled, * include the scope that\u2019s necessary to get the refresh token (typically offline_access). * **/ @com.fasterxml.jackson.annotation.JsonProperty("scopes") private final String scopes; /** * A space-separated list of the scopes that must be included when Digital Assistant requests an access token from * the provider. Include all the scopes that are required to access the resources. If refresh tokens are enabled, * include the scope that\u2019s necessary to get the refresh token (typically offline_access). * * @return the value **/ public String getScopes() { return scopes; } /** * The access-token profile claim to use to identify the user. **/ @com.fasterxml.jackson.annotation.JsonProperty("subjectClaim") private final String subjectClaim; /** * The access-token profile claim to use to identify the user. * @return the value **/ public String getSubjectClaim() { return subjectClaim; } /** * The number of days to keep the refresh token in the Digital Assistant cache. **/ @com.fasterxml.jackson.annotation.JsonProperty("refreshTokenRetentionPeriodInDays") private final Integer refreshTokenRetentionPeriodInDays; /** * The number of days to keep the refresh token in the Digital Assistant cache. * @return the value **/ public Integer getRefreshTokenRetentionPeriodInDays() { return refreshTokenRetentionPeriodInDays; } /** * The OAuth Redirect URL. **/ @com.fasterxml.jackson.annotation.JsonProperty("redirectUrl") private final String redirectUrl; /** * The OAuth Redirect URL. * @return the value **/ public String getRedirectUrl() { return redirectUrl; } /** * Simple key-value pair that is applied without any predefined name, type, or scope. * Example: {@code {"bar-key": "value"}} * **/ @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") private final java.util.Map freeformTags; /** * Simple key-value pair that is applied without any predefined name, type, or scope. * Example: {@code {"bar-key": "value"}} * * @return the value **/ public java.util.Map getFreeformTags() { return freeformTags; } /** * Usage of predefined tag keys. These predefined keys are scoped to namespaces. * Example: {@code {"foo-namespace": {"bar-key": "value"}}} * **/ @com.fasterxml.jackson.annotation.JsonProperty("definedTags") private final java.util.Map> definedTags; /** * Usage of predefined tag keys. These predefined keys are scoped to namespaces. * Example: {@code {"foo-namespace": {"bar-key": "value"}}} * * @return the value **/ public java.util.Map> getDefinedTags() { return definedTags; } @Override public String toString() { return this.toString(true); } /** * Return a string representation of the object. * @param includeByteArrayContents true to include the full contents of byte arrays * @return string representation */ public String toString(boolean includeByteArrayContents) { java.lang.StringBuilder sb = new java.lang.StringBuilder(); sb.append("UpdateAuthenticationProviderDetails("); sb.append("super=").append(super.toString()); sb.append("tokenEndpointUrl=").append(String.valueOf(this.tokenEndpointUrl)); sb.append(", authorizationEndpointUrl=") .append(String.valueOf(this.authorizationEndpointUrl)); sb.append(", shortAuthorizationCodeRequestUrl=") .append(String.valueOf(this.shortAuthorizationCodeRequestUrl)); sb.append(", revokeTokenEndpointUrl=").append(String.valueOf(this.revokeTokenEndpointUrl)); sb.append(", clientId=").append(String.valueOf(this.clientId)); sb.append(", clientSecret=").append(""); sb.append(", scopes=").append(String.valueOf(this.scopes)); sb.append(", subjectClaim=").append(String.valueOf(this.subjectClaim)); sb.append(", refreshTokenRetentionPeriodInDays=") .append(String.valueOf(this.refreshTokenRetentionPeriodInDays)); sb.append(", redirectUrl=").append(String.valueOf(this.redirectUrl)); sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); sb.append(", definedTags=").append(String.valueOf(this.definedTags)); sb.append(")"); return sb.toString(); } @Override public boolean equals(Object o) { if (this == o) { return true; } if (!(o instanceof UpdateAuthenticationProviderDetails)) { return false; } UpdateAuthenticationProviderDetails other = (UpdateAuthenticationProviderDetails) o; return java.util.Objects.equals(this.tokenEndpointUrl, other.tokenEndpointUrl) && java.util.Objects.equals( this.authorizationEndpointUrl, other.authorizationEndpointUrl) && java.util.Objects.equals( this.shortAuthorizationCodeRequestUrl, other.shortAuthorizationCodeRequestUrl) && java.util.Objects.equals( this.revokeTokenEndpointUrl, other.revokeTokenEndpointUrl) && java.util.Objects.equals(this.clientId, other.clientId) && java.util.Objects.equals(this.clientSecret, other.clientSecret) && java.util.Objects.equals(this.scopes, other.scopes) && java.util.Objects.equals(this.subjectClaim, other.subjectClaim) && java.util.Objects.equals( this.refreshTokenRetentionPeriodInDays, other.refreshTokenRetentionPeriodInDays) && java.util.Objects.equals(this.redirectUrl, other.redirectUrl) && java.util.Objects.equals(this.freeformTags, other.freeformTags) && java.util.Objects.equals(this.definedTags, other.definedTags) && super.equals(other); } @Override public int hashCode() { final int PRIME = 59; int result = 1; result = (result * PRIME) + (this.tokenEndpointUrl == null ? 43 : this.tokenEndpointUrl.hashCode()); result = (result * PRIME) + (this.authorizationEndpointUrl == null ? 43 : this.authorizationEndpointUrl.hashCode()); result = (result * PRIME) + (this.shortAuthorizationCodeRequestUrl == null ? 43 : this.shortAuthorizationCodeRequestUrl.hashCode()); result = (result * PRIME) + (this.revokeTokenEndpointUrl == null ? 43 : this.revokeTokenEndpointUrl.hashCode()); result = (result * PRIME) + (this.clientId == null ? 43 : this.clientId.hashCode()); result = (result * PRIME) + (this.clientSecret == null ? 43 : this.clientSecret.hashCode()); result = (result * PRIME) + (this.scopes == null ? 43 : this.scopes.hashCode()); result = (result * PRIME) + (this.subjectClaim == null ? 43 : this.subjectClaim.hashCode()); result = (result * PRIME) + (this.refreshTokenRetentionPeriodInDays == null ? 43 : this.refreshTokenRetentionPeriodInDays.hashCode()); result = (result * PRIME) + (this.redirectUrl == null ? 43 : this.redirectUrl.hashCode()); result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy