
com.amazonaws.services.cognitoidp.model.AdminLinkProviderForUserRequest Maven / Gradle / Ivy
/*
* Copyright 2016-2021 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 AdminLinkProviderForUserRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {
/**
*
* The user pool ID for the user pool.
*
*/
private String userPoolId;
/**
*
* The existing user in the user pool to be linked to the external identity provider user account. Can be a native
* (Username + Password) Cognito User Pools user or a federated user (for example, a SAML or Facebook user). If the
* user doesn't exist, an exception is thrown. This is the user that is returned when the new user (with the linked
* identity provider attribute) signs in.
*
*
* For a native username + password user, the ProviderAttributeValue
for the
* DestinationUser
should be the username in the user pool. For a federated user, it should be the
* provider-specific user_id
.
*
*
* The ProviderAttributeName
of the DestinationUser
is ignored.
*
*
* The ProviderName
should be set to Cognito
for users in Cognito user pools.
*
*/
private ProviderUserIdentifierType destinationUser;
/**
*
* An external identity provider account for a user who does not currently exist yet in the user pool. This user
* must be a federated user (for example, a SAML or Facebook user), not another native user.
*
*
* If the SourceUser
is a federated social identity provider user (Facebook, Google, or Login with
* Amazon), you must set the ProviderAttributeName
to Cognito_Subject
. For social identity
* providers, the ProviderName
will be Facebook
, Google
, or
* LoginWithAmazon
, and Cognito will automatically parse the Facebook, Google, and Login with Amazon
* tokens for id
, sub
, and user_id
, respectively. The
* ProviderAttributeValue
for the user must be the same value as the id
, sub
,
* or user_id
value found in the social identity provider token.
*
*
*
* For SAML, the ProviderAttributeName
can be any value that matches a claim in the SAML assertion. If
* you wish to link SAML users based on the subject of the SAML assertion, you should map the subject to a claim
* through the SAML identity provider and submit that claim name as the ProviderAttributeName
. If you
* set ProviderAttributeName
to Cognito_Subject
, Cognito will automatically parse the
* default unique identifier found in the subject from the SAML token.
*
*/
private ProviderUserIdentifierType sourceUser;
/**
*
* The user pool ID for the user pool.
*
*
* @param userPoolId
* The user pool ID for the user pool.
*/
public void setUserPoolId(String userPoolId) {
this.userPoolId = userPoolId;
}
/**
*
* The user pool ID for the user pool.
*
*
* @return The user pool ID for the user pool.
*/
public String getUserPoolId() {
return this.userPoolId;
}
/**
*
* The user pool ID for the user pool.
*
*
* @param userPoolId
* The user pool ID for the user pool.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AdminLinkProviderForUserRequest withUserPoolId(String userPoolId) {
setUserPoolId(userPoolId);
return this;
}
/**
*
* The existing user in the user pool to be linked to the external identity provider user account. Can be a native
* (Username + Password) Cognito User Pools user or a federated user (for example, a SAML or Facebook user). If the
* user doesn't exist, an exception is thrown. This is the user that is returned when the new user (with the linked
* identity provider attribute) signs in.
*
*
* For a native username + password user, the ProviderAttributeValue
for the
* DestinationUser
should be the username in the user pool. For a federated user, it should be the
* provider-specific user_id
.
*
*
* The ProviderAttributeName
of the DestinationUser
is ignored.
*
*
* The ProviderName
should be set to Cognito
for users in Cognito user pools.
*
*
* @param destinationUser
* The existing user in the user pool to be linked to the external identity provider user account. Can be a
* native (Username + Password) Cognito User Pools user or a federated user (for example, a SAML or Facebook
* user). If the user doesn't exist, an exception is thrown. This is the user that is returned when the new
* user (with the linked identity provider attribute) signs in.
*
* For a native username + password user, the ProviderAttributeValue
for the
* DestinationUser
should be the username in the user pool. For a federated user, it should be
* the provider-specific user_id
.
*
*
* The ProviderAttributeName
of the DestinationUser
is ignored.
*
*
* The ProviderName
should be set to Cognito
for users in Cognito user pools.
*/
public void setDestinationUser(ProviderUserIdentifierType destinationUser) {
this.destinationUser = destinationUser;
}
/**
*
* The existing user in the user pool to be linked to the external identity provider user account. Can be a native
* (Username + Password) Cognito User Pools user or a federated user (for example, a SAML or Facebook user). If the
* user doesn't exist, an exception is thrown. This is the user that is returned when the new user (with the linked
* identity provider attribute) signs in.
*
*
* For a native username + password user, the ProviderAttributeValue
for the
* DestinationUser
should be the username in the user pool. For a federated user, it should be the
* provider-specific user_id
.
*
*
* The ProviderAttributeName
of the DestinationUser
is ignored.
*
*
* The ProviderName
should be set to Cognito
for users in Cognito user pools.
*
*
* @return The existing user in the user pool to be linked to the external identity provider user account. Can be a
* native (Username + Password) Cognito User Pools user or a federated user (for example, a SAML or Facebook
* user). If the user doesn't exist, an exception is thrown. This is the user that is returned when the new
* user (with the linked identity provider attribute) signs in.
*
* For a native username + password user, the ProviderAttributeValue
for the
* DestinationUser
should be the username in the user pool. For a federated user, it should be
* the provider-specific user_id
.
*
*
* The ProviderAttributeName
of the DestinationUser
is ignored.
*
*
* The ProviderName
should be set to Cognito
for users in Cognito user pools.
*/
public ProviderUserIdentifierType getDestinationUser() {
return this.destinationUser;
}
/**
*
* The existing user in the user pool to be linked to the external identity provider user account. Can be a native
* (Username + Password) Cognito User Pools user or a federated user (for example, a SAML or Facebook user). If the
* user doesn't exist, an exception is thrown. This is the user that is returned when the new user (with the linked
* identity provider attribute) signs in.
*
*
* For a native username + password user, the ProviderAttributeValue
for the
* DestinationUser
should be the username in the user pool. For a federated user, it should be the
* provider-specific user_id
.
*
*
* The ProviderAttributeName
of the DestinationUser
is ignored.
*
*
* The ProviderName
should be set to Cognito
for users in Cognito user pools.
*
*
* @param destinationUser
* The existing user in the user pool to be linked to the external identity provider user account. Can be a
* native (Username + Password) Cognito User Pools user or a federated user (for example, a SAML or Facebook
* user). If the user doesn't exist, an exception is thrown. This is the user that is returned when the new
* user (with the linked identity provider attribute) signs in.
*
* For a native username + password user, the ProviderAttributeValue
for the
* DestinationUser
should be the username in the user pool. For a federated user, it should be
* the provider-specific user_id
.
*
*
* The ProviderAttributeName
of the DestinationUser
is ignored.
*
*
* The ProviderName
should be set to Cognito
for users in Cognito user pools.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AdminLinkProviderForUserRequest withDestinationUser(ProviderUserIdentifierType destinationUser) {
setDestinationUser(destinationUser);
return this;
}
/**
*
* An external identity provider account for a user who does not currently exist yet in the user pool. This user
* must be a federated user (for example, a SAML or Facebook user), not another native user.
*
*
* If the SourceUser
is a federated social identity provider user (Facebook, Google, or Login with
* Amazon), you must set the ProviderAttributeName
to Cognito_Subject
. For social identity
* providers, the ProviderName
will be Facebook
, Google
, or
* LoginWithAmazon
, and Cognito will automatically parse the Facebook, Google, and Login with Amazon
* tokens for id
, sub
, and user_id
, respectively. The
* ProviderAttributeValue
for the user must be the same value as the id
, sub
,
* or user_id
value found in the social identity provider token.
*
*
*
* For SAML, the ProviderAttributeName
can be any value that matches a claim in the SAML assertion. If
* you wish to link SAML users based on the subject of the SAML assertion, you should map the subject to a claim
* through the SAML identity provider and submit that claim name as the ProviderAttributeName
. If you
* set ProviderAttributeName
to Cognito_Subject
, Cognito will automatically parse the
* default unique identifier found in the subject from the SAML token.
*
*
* @param sourceUser
* An external identity provider account for a user who does not currently exist yet in the user pool. This
* user must be a federated user (for example, a SAML or Facebook user), not another native user.
*
* If the SourceUser
is a federated social identity provider user (Facebook, Google, or Login
* with Amazon), you must set the ProviderAttributeName
to Cognito_Subject
. For
* social identity providers, the ProviderName
will be Facebook
,
* Google
, or LoginWithAmazon
, and Cognito will automatically parse the Facebook,
* Google, and Login with Amazon tokens for id
, sub
, and user_id
,
* respectively. The ProviderAttributeValue
for the user must be the same value as the
* id
, sub
, or user_id
value found in the social identity provider
* token.
*
*
*
* For SAML, the ProviderAttributeName
can be any value that matches a claim in the SAML
* assertion. If you wish to link SAML users based on the subject of the SAML assertion, you should map the
* subject to a claim through the SAML identity provider and submit that claim name as the
* ProviderAttributeName
. If you set ProviderAttributeName
to
* Cognito_Subject
, Cognito will automatically parse the default unique identifier found in the
* subject from the SAML token.
*/
public void setSourceUser(ProviderUserIdentifierType sourceUser) {
this.sourceUser = sourceUser;
}
/**
*
* An external identity provider account for a user who does not currently exist yet in the user pool. This user
* must be a federated user (for example, a SAML or Facebook user), not another native user.
*
*
* If the SourceUser
is a federated social identity provider user (Facebook, Google, or Login with
* Amazon), you must set the ProviderAttributeName
to Cognito_Subject
. For social identity
* providers, the ProviderName
will be Facebook
, Google
, or
* LoginWithAmazon
, and Cognito will automatically parse the Facebook, Google, and Login with Amazon
* tokens for id
, sub
, and user_id
, respectively. The
* ProviderAttributeValue
for the user must be the same value as the id
, sub
,
* or user_id
value found in the social identity provider token.
*
*
*
* For SAML, the ProviderAttributeName
can be any value that matches a claim in the SAML assertion. If
* you wish to link SAML users based on the subject of the SAML assertion, you should map the subject to a claim
* through the SAML identity provider and submit that claim name as the ProviderAttributeName
. If you
* set ProviderAttributeName
to Cognito_Subject
, Cognito will automatically parse the
* default unique identifier found in the subject from the SAML token.
*
*
* @return An external identity provider account for a user who does not currently exist yet in the user pool. This
* user must be a federated user (for example, a SAML or Facebook user), not another native user.
*
* If the SourceUser
is a federated social identity provider user (Facebook, Google, or Login
* with Amazon), you must set the ProviderAttributeName
to Cognito_Subject
. For
* social identity providers, the ProviderName
will be Facebook
,
* Google
, or LoginWithAmazon
, and Cognito will automatically parse the Facebook,
* Google, and Login with Amazon tokens for id
, sub
, and user_id
,
* respectively. The ProviderAttributeValue
for the user must be the same value as the
* id
, sub
, or user_id
value found in the social identity provider
* token.
*
*
*
* For SAML, the ProviderAttributeName
can be any value that matches a claim in the SAML
* assertion. If you wish to link SAML users based on the subject of the SAML assertion, you should map the
* subject to a claim through the SAML identity provider and submit that claim name as the
* ProviderAttributeName
. If you set ProviderAttributeName
to
* Cognito_Subject
, Cognito will automatically parse the default unique identifier found in the
* subject from the SAML token.
*/
public ProviderUserIdentifierType getSourceUser() {
return this.sourceUser;
}
/**
*
* An external identity provider account for a user who does not currently exist yet in the user pool. This user
* must be a federated user (for example, a SAML or Facebook user), not another native user.
*
*
* If the SourceUser
is a federated social identity provider user (Facebook, Google, or Login with
* Amazon), you must set the ProviderAttributeName
to Cognito_Subject
. For social identity
* providers, the ProviderName
will be Facebook
, Google
, or
* LoginWithAmazon
, and Cognito will automatically parse the Facebook, Google, and Login with Amazon
* tokens for id
, sub
, and user_id
, respectively. The
* ProviderAttributeValue
for the user must be the same value as the id
, sub
,
* or user_id
value found in the social identity provider token.
*
*
*
* For SAML, the ProviderAttributeName
can be any value that matches a claim in the SAML assertion. If
* you wish to link SAML users based on the subject of the SAML assertion, you should map the subject to a claim
* through the SAML identity provider and submit that claim name as the ProviderAttributeName
. If you
* set ProviderAttributeName
to Cognito_Subject
, Cognito will automatically parse the
* default unique identifier found in the subject from the SAML token.
*
*
* @param sourceUser
* An external identity provider account for a user who does not currently exist yet in the user pool. This
* user must be a federated user (for example, a SAML or Facebook user), not another native user.
*
* If the SourceUser
is a federated social identity provider user (Facebook, Google, or Login
* with Amazon), you must set the ProviderAttributeName
to Cognito_Subject
. For
* social identity providers, the ProviderName
will be Facebook
,
* Google
, or LoginWithAmazon
, and Cognito will automatically parse the Facebook,
* Google, and Login with Amazon tokens for id
, sub
, and user_id
,
* respectively. The ProviderAttributeValue
for the user must be the same value as the
* id
, sub
, or user_id
value found in the social identity provider
* token.
*
*
*
* For SAML, the ProviderAttributeName
can be any value that matches a claim in the SAML
* assertion. If you wish to link SAML users based on the subject of the SAML assertion, you should map the
* subject to a claim through the SAML identity provider and submit that claim name as the
* ProviderAttributeName
. If you set ProviderAttributeName
to
* Cognito_Subject
, Cognito will automatically parse the default unique identifier found in the
* subject from the SAML token.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AdminLinkProviderForUserRequest withSourceUser(ProviderUserIdentifierType sourceUser) {
setSourceUser(sourceUser);
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 (getDestinationUser() != null)
sb.append("DestinationUser: ").append(getDestinationUser()).append(",");
if (getSourceUser() != null)
sb.append("SourceUser: ").append(getSourceUser());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof AdminLinkProviderForUserRequest == false)
return false;
AdminLinkProviderForUserRequest other = (AdminLinkProviderForUserRequest) obj;
if (other.getUserPoolId() == null ^ this.getUserPoolId() == null)
return false;
if (other.getUserPoolId() != null && other.getUserPoolId().equals(this.getUserPoolId()) == false)
return false;
if (other.getDestinationUser() == null ^ this.getDestinationUser() == null)
return false;
if (other.getDestinationUser() != null && other.getDestinationUser().equals(this.getDestinationUser()) == false)
return false;
if (other.getSourceUser() == null ^ this.getSourceUser() == null)
return false;
if (other.getSourceUser() != null && other.getSourceUser().equals(this.getSourceUser()) == 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 + ((getDestinationUser() == null) ? 0 : getDestinationUser().hashCode());
hashCode = prime * hashCode + ((getSourceUser() == null) ? 0 : getSourceUser().hashCode());
return hashCode;
}
@Override
public AdminLinkProviderForUserRequest clone() {
return (AdminLinkProviderForUserRequest) super.clone();
}
}