
com.amazonaws.services.cognitoidp.model.CreateIdentityProviderRequest Maven / Gradle / Ivy
/*
* Copyright 2015-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.cognitoidp.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.AmazonWebServiceRequest;
/**
*
* @see AWS
* API Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class CreateIdentityProviderRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {
/**
*
* The user pool ID.
*
*/
private String userPoolId;
/**
*
* The identity provider name.
*
*/
private String providerName;
/**
*
* The identity provider type.
*
*/
private String providerType;
/**
*
* The identity provider details. The following list describes the provider detail keys for each identity provider
* type.
*
*
* -
*
* For Google, Facebook and Login with Amazon:
*
*
* -
*
* client_id
*
*
* -
*
* client_secret
*
*
* -
*
* authorize_scopes
*
*
*
*
* -
*
* For Sign in with Apple:
*
*
* -
*
* client_id
*
*
* -
*
* team_id
*
*
* -
*
* key_id
*
*
* -
*
* private_key
*
*
* -
*
* authorize_scopes
*
*
*
*
* -
*
* For OIDC providers:
*
*
* -
*
* client_id
*
*
* -
*
* client_secret
*
*
* -
*
* attributes_request_method
*
*
* -
*
* oidc_issuer
*
*
* -
*
* authorize_scopes
*
*
* -
*
* authorize_url if not available from discovery URL specified by oidc_issuer key
*
*
* -
*
* token_url if not available from discovery URL specified by oidc_issuer key
*
*
* -
*
* attributes_url if not available from discovery URL specified by oidc_issuer key
*
*
* -
*
* jwks_uri if not available from discovery URL specified by oidc_issuer key
*
*
* -
*
* authorize_scopes
*
*
*
*
* -
*
* For SAML providers:
*
*
* -
*
* MetadataFile OR MetadataURL
*
*
* -
*
* IDPSignout optional
*
*
*
*
*
*/
private java.util.Map providerDetails;
/**
*
* A mapping of identity provider attributes to standard and custom user pool attributes.
*
*/
private java.util.Map attributeMapping;
/**
*
* A list of identity provider identifiers.
*
*/
private java.util.List idpIdentifiers;
/**
*
* The user pool ID.
*
*
* @param userPoolId
* The user pool ID.
*/
public void setUserPoolId(String userPoolId) {
this.userPoolId = userPoolId;
}
/**
*
* The user pool ID.
*
*
* @return The user pool ID.
*/
public String getUserPoolId() {
return this.userPoolId;
}
/**
*
* The user pool ID.
*
*
* @param userPoolId
* The user pool ID.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateIdentityProviderRequest withUserPoolId(String userPoolId) {
setUserPoolId(userPoolId);
return this;
}
/**
*
* The identity provider name.
*
*
* @param providerName
* The identity provider name.
*/
public void setProviderName(String providerName) {
this.providerName = providerName;
}
/**
*
* The identity provider name.
*
*
* @return The identity provider name.
*/
public String getProviderName() {
return this.providerName;
}
/**
*
* The identity provider name.
*
*
* @param providerName
* The identity provider name.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateIdentityProviderRequest withProviderName(String providerName) {
setProviderName(providerName);
return this;
}
/**
*
* The identity provider type.
*
*
* @param providerType
* The identity provider type.
* @see IdentityProviderTypeType
*/
public void setProviderType(String providerType) {
this.providerType = providerType;
}
/**
*
* The identity provider type.
*
*
* @return The identity provider type.
* @see IdentityProviderTypeType
*/
public String getProviderType() {
return this.providerType;
}
/**
*
* The identity provider type.
*
*
* @param providerType
* The identity provider type.
* @return Returns a reference to this object so that method calls can be chained together.
* @see IdentityProviderTypeType
*/
public CreateIdentityProviderRequest withProviderType(String providerType) {
setProviderType(providerType);
return this;
}
/**
*
* The identity provider type.
*
*
* @param providerType
* The identity provider type.
* @see IdentityProviderTypeType
*/
public void setProviderType(IdentityProviderTypeType providerType) {
withProviderType(providerType);
}
/**
*
* The identity provider type.
*
*
* @param providerType
* The identity provider type.
* @return Returns a reference to this object so that method calls can be chained together.
* @see IdentityProviderTypeType
*/
public CreateIdentityProviderRequest withProviderType(IdentityProviderTypeType providerType) {
this.providerType = providerType.toString();
return this;
}
/**
*
* The identity provider details. The following list describes the provider detail keys for each identity provider
* type.
*
*
* -
*
* For Google, Facebook and Login with Amazon:
*
*
* -
*
* client_id
*
*
* -
*
* client_secret
*
*
* -
*
* authorize_scopes
*
*
*
*
* -
*
* For Sign in with Apple:
*
*
* -
*
* client_id
*
*
* -
*
* team_id
*
*
* -
*
* key_id
*
*
* -
*
* private_key
*
*
* -
*
* authorize_scopes
*
*
*
*
* -
*
* For OIDC providers:
*
*
* -
*
* client_id
*
*
* -
*
* client_secret
*
*
* -
*
* attributes_request_method
*
*
* -
*
* oidc_issuer
*
*
* -
*
* authorize_scopes
*
*
* -
*
* authorize_url if not available from discovery URL specified by oidc_issuer key
*
*
* -
*
* token_url if not available from discovery URL specified by oidc_issuer key
*
*
* -
*
* attributes_url if not available from discovery URL specified by oidc_issuer key
*
*
* -
*
* jwks_uri if not available from discovery URL specified by oidc_issuer key
*
*
* -
*
* authorize_scopes
*
*
*
*
* -
*
* For SAML providers:
*
*
* -
*
* MetadataFile OR MetadataURL
*
*
* -
*
* IDPSignout optional
*
*
*
*
*
*
* @return The identity provider details. The following list describes the provider detail keys for each identity
* provider type.
*
* -
*
* For Google, Facebook and Login with Amazon:
*
*
* -
*
* client_id
*
*
* -
*
* client_secret
*
*
* -
*
* authorize_scopes
*
*
*
*
* -
*
* For Sign in with Apple:
*
*
* -
*
* client_id
*
*
* -
*
* team_id
*
*
* -
*
* key_id
*
*
* -
*
* private_key
*
*
* -
*
* authorize_scopes
*
*
*
*
* -
*
* For OIDC providers:
*
*
* -
*
* client_id
*
*
* -
*
* client_secret
*
*
* -
*
* attributes_request_method
*
*
* -
*
* oidc_issuer
*
*
* -
*
* authorize_scopes
*
*
* -
*
* authorize_url if not available from discovery URL specified by oidc_issuer key
*
*
* -
*
* token_url if not available from discovery URL specified by oidc_issuer key
*
*
* -
*
* attributes_url if not available from discovery URL specified by oidc_issuer key
*
*
* -
*
* jwks_uri if not available from discovery URL specified by oidc_issuer key
*
*
* -
*
* authorize_scopes
*
*
*
*
* -
*
* For SAML providers:
*
*
* -
*
* MetadataFile OR MetadataURL
*
*
* -
*
* IDPSignout optional
*
*
*
*
*/
public java.util.Map getProviderDetails() {
return providerDetails;
}
/**
*
* The identity provider details. The following list describes the provider detail keys for each identity provider
* type.
*
*
* -
*
* For Google, Facebook and Login with Amazon:
*
*
* -
*
* client_id
*
*
* -
*
* client_secret
*
*
* -
*
* authorize_scopes
*
*
*
*
* -
*
* For Sign in with Apple:
*
*
* -
*
* client_id
*
*
* -
*
* team_id
*
*
* -
*
* key_id
*
*
* -
*
* private_key
*
*
* -
*
* authorize_scopes
*
*
*
*
* -
*
* For OIDC providers:
*
*
* -
*
* client_id
*
*
* -
*
* client_secret
*
*
* -
*
* attributes_request_method
*
*
* -
*
* oidc_issuer
*
*
* -
*
* authorize_scopes
*
*
* -
*
* authorize_url if not available from discovery URL specified by oidc_issuer key
*
*
* -
*
* token_url if not available from discovery URL specified by oidc_issuer key
*
*
* -
*
* attributes_url if not available from discovery URL specified by oidc_issuer key
*
*
* -
*
* jwks_uri if not available from discovery URL specified by oidc_issuer key
*
*
* -
*
* authorize_scopes
*
*
*
*
* -
*
* For SAML providers:
*
*
* -
*
* MetadataFile OR MetadataURL
*
*
* -
*
* IDPSignout optional
*
*
*
*
*
*
* @param providerDetails
* The identity provider details. The following list describes the provider detail keys for each identity
* provider type.
*
* -
*
* For Google, Facebook and Login with Amazon:
*
*
* -
*
* client_id
*
*
* -
*
* client_secret
*
*
* -
*
* authorize_scopes
*
*
*
*
* -
*
* For Sign in with Apple:
*
*
* -
*
* client_id
*
*
* -
*
* team_id
*
*
* -
*
* key_id
*
*
* -
*
* private_key
*
*
* -
*
* authorize_scopes
*
*
*
*
* -
*
* For OIDC providers:
*
*
* -
*
* client_id
*
*
* -
*
* client_secret
*
*
* -
*
* attributes_request_method
*
*
* -
*
* oidc_issuer
*
*
* -
*
* authorize_scopes
*
*
* -
*
* authorize_url if not available from discovery URL specified by oidc_issuer key
*
*
* -
*
* token_url if not available from discovery URL specified by oidc_issuer key
*
*
* -
*
* attributes_url if not available from discovery URL specified by oidc_issuer key
*
*
* -
*
* jwks_uri if not available from discovery URL specified by oidc_issuer key
*
*
* -
*
* authorize_scopes
*
*
*
*
* -
*
* For SAML providers:
*
*
* -
*
* MetadataFile OR MetadataURL
*
*
* -
*
* IDPSignout optional
*
*
*
*
*/
public void setProviderDetails(java.util.Map providerDetails) {
this.providerDetails = providerDetails;
}
/**
*
* The identity provider details. The following list describes the provider detail keys for each identity provider
* type.
*
*
* -
*
* For Google, Facebook and Login with Amazon:
*
*
* -
*
* client_id
*
*
* -
*
* client_secret
*
*
* -
*
* authorize_scopes
*
*
*
*
* -
*
* For Sign in with Apple:
*
*
* -
*
* client_id
*
*
* -
*
* team_id
*
*
* -
*
* key_id
*
*
* -
*
* private_key
*
*
* -
*
* authorize_scopes
*
*
*
*
* -
*
* For OIDC providers:
*
*
* -
*
* client_id
*
*
* -
*
* client_secret
*
*
* -
*
* attributes_request_method
*
*
* -
*
* oidc_issuer
*
*
* -
*
* authorize_scopes
*
*
* -
*
* authorize_url if not available from discovery URL specified by oidc_issuer key
*
*
* -
*
* token_url if not available from discovery URL specified by oidc_issuer key
*
*
* -
*
* attributes_url if not available from discovery URL specified by oidc_issuer key
*
*
* -
*
* jwks_uri if not available from discovery URL specified by oidc_issuer key
*
*
* -
*
* authorize_scopes
*
*
*
*
* -
*
* For SAML providers:
*
*
* -
*
* MetadataFile OR MetadataURL
*
*
* -
*
* IDPSignout optional
*
*
*
*
*
*
* @param providerDetails
* The identity provider details. The following list describes the provider detail keys for each identity
* provider type.
*
* -
*
* For Google, Facebook and Login with Amazon:
*
*
* -
*
* client_id
*
*
* -
*
* client_secret
*
*
* -
*
* authorize_scopes
*
*
*
*
* -
*
* For Sign in with Apple:
*
*
* -
*
* client_id
*
*
* -
*
* team_id
*
*
* -
*
* key_id
*
*
* -
*
* private_key
*
*
* -
*
* authorize_scopes
*
*
*
*
* -
*
* For OIDC providers:
*
*
* -
*
* client_id
*
*
* -
*
* client_secret
*
*
* -
*
* attributes_request_method
*
*
* -
*
* oidc_issuer
*
*
* -
*
* authorize_scopes
*
*
* -
*
* authorize_url if not available from discovery URL specified by oidc_issuer key
*
*
* -
*
* token_url if not available from discovery URL specified by oidc_issuer key
*
*
* -
*
* attributes_url if not available from discovery URL specified by oidc_issuer key
*
*
* -
*
* jwks_uri if not available from discovery URL specified by oidc_issuer key
*
*
* -
*
* authorize_scopes
*
*
*
*
* -
*
* For SAML providers:
*
*
* -
*
* MetadataFile OR MetadataURL
*
*
* -
*
* IDPSignout optional
*
*
*
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateIdentityProviderRequest withProviderDetails(java.util.Map providerDetails) {
setProviderDetails(providerDetails);
return this;
}
/**
* Add a single ProviderDetails entry
*
* @see CreateIdentityProviderRequest#withProviderDetails
* @returns a reference to this object so that method calls can be chained together.
*/
public CreateIdentityProviderRequest addProviderDetailsEntry(String key, String value) {
if (null == this.providerDetails) {
this.providerDetails = new java.util.HashMap();
}
if (this.providerDetails.containsKey(key))
throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided.");
this.providerDetails.put(key, value);
return this;
}
/**
* Removes all the entries added into ProviderDetails.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateIdentityProviderRequest clearProviderDetailsEntries() {
this.providerDetails = null;
return this;
}
/**
*
* A mapping of identity provider attributes to standard and custom user pool attributes.
*
*
* @return A mapping of identity provider attributes to standard and custom user pool attributes.
*/
public java.util.Map getAttributeMapping() {
return attributeMapping;
}
/**
*
* A mapping of identity provider attributes to standard and custom user pool attributes.
*
*
* @param attributeMapping
* A mapping of identity provider attributes to standard and custom user pool attributes.
*/
public void setAttributeMapping(java.util.Map attributeMapping) {
this.attributeMapping = attributeMapping;
}
/**
*
* A mapping of identity provider attributes to standard and custom user pool attributes.
*
*
* @param attributeMapping
* A mapping of identity provider attributes to standard and custom user pool attributes.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateIdentityProviderRequest withAttributeMapping(java.util.Map attributeMapping) {
setAttributeMapping(attributeMapping);
return this;
}
/**
* Add a single AttributeMapping entry
*
* @see CreateIdentityProviderRequest#withAttributeMapping
* @returns a reference to this object so that method calls can be chained together.
*/
public CreateIdentityProviderRequest addAttributeMappingEntry(String key, String value) {
if (null == this.attributeMapping) {
this.attributeMapping = new java.util.HashMap();
}
if (this.attributeMapping.containsKey(key))
throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided.");
this.attributeMapping.put(key, value);
return this;
}
/**
* Removes all the entries added into AttributeMapping.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateIdentityProviderRequest clearAttributeMappingEntries() {
this.attributeMapping = null;
return this;
}
/**
*
* A list of identity provider identifiers.
*
*
* @return A list of identity provider identifiers.
*/
public java.util.List getIdpIdentifiers() {
return idpIdentifiers;
}
/**
*
* A list of identity provider identifiers.
*
*
* @param idpIdentifiers
* A list of identity provider identifiers.
*/
public void setIdpIdentifiers(java.util.Collection idpIdentifiers) {
if (idpIdentifiers == null) {
this.idpIdentifiers = null;
return;
}
this.idpIdentifiers = new java.util.ArrayList(idpIdentifiers);
}
/**
*
* A list of identity provider identifiers.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setIdpIdentifiers(java.util.Collection)} or {@link #withIdpIdentifiers(java.util.Collection)} if you want
* to override the existing values.
*
*
* @param idpIdentifiers
* A list of identity provider identifiers.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateIdentityProviderRequest withIdpIdentifiers(String... idpIdentifiers) {
if (this.idpIdentifiers == null) {
setIdpIdentifiers(new java.util.ArrayList(idpIdentifiers.length));
}
for (String ele : idpIdentifiers) {
this.idpIdentifiers.add(ele);
}
return this;
}
/**
*
* A list of identity provider identifiers.
*
*
* @param idpIdentifiers
* A list of identity provider identifiers.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateIdentityProviderRequest withIdpIdentifiers(java.util.Collection idpIdentifiers) {
setIdpIdentifiers(idpIdentifiers);
return this;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getUserPoolId() != null)
sb.append("UserPoolId: ").append(getUserPoolId()).append(",");
if (getProviderName() != null)
sb.append("ProviderName: ").append(getProviderName()).append(",");
if (getProviderType() != null)
sb.append("ProviderType: ").append(getProviderType()).append(",");
if (getProviderDetails() != null)
sb.append("ProviderDetails: ").append(getProviderDetails()).append(",");
if (getAttributeMapping() != null)
sb.append("AttributeMapping: ").append(getAttributeMapping()).append(",");
if (getIdpIdentifiers() != null)
sb.append("IdpIdentifiers: ").append(getIdpIdentifiers());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof CreateIdentityProviderRequest == false)
return false;
CreateIdentityProviderRequest other = (CreateIdentityProviderRequest) obj;
if (other.getUserPoolId() == null ^ this.getUserPoolId() == null)
return false;
if (other.getUserPoolId() != null && other.getUserPoolId().equals(this.getUserPoolId()) == false)
return false;
if (other.getProviderName() == null ^ this.getProviderName() == null)
return false;
if (other.getProviderName() != null && other.getProviderName().equals(this.getProviderName()) == false)
return false;
if (other.getProviderType() == null ^ this.getProviderType() == null)
return false;
if (other.getProviderType() != null && other.getProviderType().equals(this.getProviderType()) == false)
return false;
if (other.getProviderDetails() == null ^ this.getProviderDetails() == null)
return false;
if (other.getProviderDetails() != null && other.getProviderDetails().equals(this.getProviderDetails()) == false)
return false;
if (other.getAttributeMapping() == null ^ this.getAttributeMapping() == null)
return false;
if (other.getAttributeMapping() != null && other.getAttributeMapping().equals(this.getAttributeMapping()) == false)
return false;
if (other.getIdpIdentifiers() == null ^ this.getIdpIdentifiers() == null)
return false;
if (other.getIdpIdentifiers() != null && other.getIdpIdentifiers().equals(this.getIdpIdentifiers()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getUserPoolId() == null) ? 0 : getUserPoolId().hashCode());
hashCode = prime * hashCode + ((getProviderName() == null) ? 0 : getProviderName().hashCode());
hashCode = prime * hashCode + ((getProviderType() == null) ? 0 : getProviderType().hashCode());
hashCode = prime * hashCode + ((getProviderDetails() == null) ? 0 : getProviderDetails().hashCode());
hashCode = prime * hashCode + ((getAttributeMapping() == null) ? 0 : getAttributeMapping().hashCode());
hashCode = prime * hashCode + ((getIdpIdentifiers() == null) ? 0 : getIdpIdentifiers().hashCode());
return hashCode;
}
@Override
public CreateIdentityProviderRequest clone() {
return (CreateIdentityProviderRequest) super.clone();
}
}