com.amazonaws.services.cognitoidp.model.AdminLinkProviderForUserRequest Maven / Gradle / Ivy
Show all versions of aws-java-sdk-cognitoidp Show documentation
/*
* Copyright 2019-2024 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 that you want to assign to the external IdP user account. This user can be a
* local (Username + Password) Amazon Cognito user pools user or a federated user (for example, a SAML or Facebook
* user). If the user doesn't exist, Amazon Cognito generates an exception. Amazon Cognito returns this user when
* the new user (with the linked IdP 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.
*
*
*
* All attributes in the DestinationUser profile must be mutable. If you have assigned the user any immutable custom
* attributes, the operation won't succeed.
*
*
*/
private ProviderUserIdentifierType destinationUser;
/**
*
* An external IdP account for a user who doesn't 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 using a federated social IdP, such as Facebook, Google, or Login with Amazon,
* you must set the ProviderAttributeName
to Cognito_Subject
. For social IdPs, the
* ProviderName
will be Facebook
, Google
, or LoginWithAmazon
,
* and Amazon 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 IdP token.
*
*
*
* For OIDC, the ProviderAttributeName
can be any value that matches a claim in the ID token, or that
* your app retrieves from the userInfo
endpoint. You must map the claim to a user pool attribute in
* your IdP configuration, and set the user pool attribute name as the value of ProviderAttributeName
* in your AdminLinkProviderForUser
request.
*
*
* For SAML, the ProviderAttributeName
can be any value that matches a claim in the SAML assertion. To
* link SAML users based on the subject of the SAML assertion, map the subject to a claim through the SAML IdP and
* set that claim name as the value of ProviderAttributeName
in your
* AdminLinkProviderForUser
request.
*
*
* For both OIDC and SAML users, when you set ProviderAttributeName
to Cognito_Subject
,
* Amazon Cognito will automatically parse the default unique identifier found in the subject from the IdP 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 that you want to assign to the external IdP user account. This user can be a
* local (Username + Password) Amazon Cognito user pools user or a federated user (for example, a SAML or Facebook
* user). If the user doesn't exist, Amazon Cognito generates an exception. Amazon Cognito returns this user when
* the new user (with the linked IdP 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.
*
*
*
* All attributes in the DestinationUser profile must be mutable. If you have assigned the user any immutable custom
* attributes, the operation won't succeed.
*
*
*
* @param destinationUser
* The existing user in the user pool that you want to assign to the external IdP user account. This user can
* be a local (Username + Password) Amazon Cognito user pools user or a federated user (for example, a SAML
* or Facebook user). If the user doesn't exist, Amazon Cognito generates an exception. Amazon Cognito
* returns this user when the new user (with the linked IdP 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.
*
*
*
* All attributes in the DestinationUser profile must be mutable. If you have assigned the user any immutable
* custom attributes, the operation won't succeed.
*
*/
public void setDestinationUser(ProviderUserIdentifierType destinationUser) {
this.destinationUser = destinationUser;
}
/**
*
* The existing user in the user pool that you want to assign to the external IdP user account. This user can be a
* local (Username + Password) Amazon Cognito user pools user or a federated user (for example, a SAML or Facebook
* user). If the user doesn't exist, Amazon Cognito generates an exception. Amazon Cognito returns this user when
* the new user (with the linked IdP 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.
*
*
*
* All attributes in the DestinationUser profile must be mutable. If you have assigned the user any immutable custom
* attributes, the operation won't succeed.
*
*
*
* @return The existing user in the user pool that you want to assign to the external IdP user account. This user
* can be a local (Username + Password) Amazon Cognito user pools user or a federated user (for example, a
* SAML or Facebook user). If the user doesn't exist, Amazon Cognito generates an exception. Amazon Cognito
* returns this user when the new user (with the linked IdP 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.
*
*
*
* All attributes in the DestinationUser profile must be mutable. If you have assigned the user any
* immutable custom attributes, the operation won't succeed.
*
*/
public ProviderUserIdentifierType getDestinationUser() {
return this.destinationUser;
}
/**
*
* The existing user in the user pool that you want to assign to the external IdP user account. This user can be a
* local (Username + Password) Amazon Cognito user pools user or a federated user (for example, a SAML or Facebook
* user). If the user doesn't exist, Amazon Cognito generates an exception. Amazon Cognito returns this user when
* the new user (with the linked IdP 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.
*
*
*
* All attributes in the DestinationUser profile must be mutable. If you have assigned the user any immutable custom
* attributes, the operation won't succeed.
*
*
*
* @param destinationUser
* The existing user in the user pool that you want to assign to the external IdP user account. This user can
* be a local (Username + Password) Amazon Cognito user pools user or a federated user (for example, a SAML
* or Facebook user). If the user doesn't exist, Amazon Cognito generates an exception. Amazon Cognito
* returns this user when the new user (with the linked IdP 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.
*
*
*
* All attributes in the DestinationUser profile must be mutable. If you have assigned the user any immutable
* custom attributes, the operation won't succeed.
*
* @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 IdP account for a user who doesn't 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 using a federated social IdP, such as Facebook, Google, or Login with Amazon,
* you must set the ProviderAttributeName
to Cognito_Subject
. For social IdPs, the
* ProviderName
will be Facebook
, Google
, or LoginWithAmazon
,
* and Amazon 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 IdP token.
*
*
*
* For OIDC, the ProviderAttributeName
can be any value that matches a claim in the ID token, or that
* your app retrieves from the userInfo
endpoint. You must map the claim to a user pool attribute in
* your IdP configuration, and set the user pool attribute name as the value of ProviderAttributeName
* in your AdminLinkProviderForUser
request.
*
*
* For SAML, the ProviderAttributeName
can be any value that matches a claim in the SAML assertion. To
* link SAML users based on the subject of the SAML assertion, map the subject to a claim through the SAML IdP and
* set that claim name as the value of ProviderAttributeName
in your
* AdminLinkProviderForUser
request.
*
*
* For both OIDC and SAML users, when you set ProviderAttributeName
to Cognito_Subject
,
* Amazon Cognito will automatically parse the default unique identifier found in the subject from the IdP token.
*
*
* @param sourceUser
* An external IdP account for a user who doesn't 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 using a federated social IdP, such as Facebook, Google, or Login with
* Amazon, you must set the ProviderAttributeName
to Cognito_Subject
. For social
* IdPs, the ProviderName
will be Facebook
, Google
, or
* LoginWithAmazon
, and Amazon 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 IdP token.
*
*
*
* For OIDC, the ProviderAttributeName
can be any value that matches a claim in the ID token, or
* that your app retrieves from the userInfo
endpoint. You must map the claim to a user pool
* attribute in your IdP configuration, and set the user pool attribute name as the value of
* ProviderAttributeName
in your AdminLinkProviderForUser
request.
*
*
* For SAML, the ProviderAttributeName
can be any value that matches a claim in the SAML
* assertion. To link SAML users based on the subject of the SAML assertion, map the subject to a claim
* through the SAML IdP and set that claim name as the value of ProviderAttributeName
in your
* AdminLinkProviderForUser
request.
*
*
* For both OIDC and SAML users, when you set ProviderAttributeName
to
* Cognito_Subject
, Amazon Cognito will automatically parse the default unique identifier found
* in the subject from the IdP token.
*/
public void setSourceUser(ProviderUserIdentifierType sourceUser) {
this.sourceUser = sourceUser;
}
/**
*
* An external IdP account for a user who doesn't 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 using a federated social IdP, such as Facebook, Google, or Login with Amazon,
* you must set the ProviderAttributeName
to Cognito_Subject
. For social IdPs, the
* ProviderName
will be Facebook
, Google
, or LoginWithAmazon
,
* and Amazon 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 IdP token.
*
*
*
* For OIDC, the ProviderAttributeName
can be any value that matches a claim in the ID token, or that
* your app retrieves from the userInfo
endpoint. You must map the claim to a user pool attribute in
* your IdP configuration, and set the user pool attribute name as the value of ProviderAttributeName
* in your AdminLinkProviderForUser
request.
*
*
* For SAML, the ProviderAttributeName
can be any value that matches a claim in the SAML assertion. To
* link SAML users based on the subject of the SAML assertion, map the subject to a claim through the SAML IdP and
* set that claim name as the value of ProviderAttributeName
in your
* AdminLinkProviderForUser
request.
*
*
* For both OIDC and SAML users, when you set ProviderAttributeName
to Cognito_Subject
,
* Amazon Cognito will automatically parse the default unique identifier found in the subject from the IdP token.
*
*
* @return An external IdP account for a user who doesn't 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 using a federated social IdP, such as Facebook, Google, or Login with
* Amazon, you must set the ProviderAttributeName
to Cognito_Subject
. For social
* IdPs, the ProviderName
will be Facebook
, Google
, or
* LoginWithAmazon
, and Amazon 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 IdP token.
*
*
*
* For OIDC, the ProviderAttributeName
can be any value that matches a claim in the ID token,
* or that your app retrieves from the userInfo
endpoint. You must map the claim to a user pool
* attribute in your IdP configuration, and set the user pool attribute name as the value of
* ProviderAttributeName
in your AdminLinkProviderForUser
request.
*
*
* For SAML, the ProviderAttributeName
can be any value that matches a claim in the SAML
* assertion. To link SAML users based on the subject of the SAML assertion, map the subject to a claim
* through the SAML IdP and set that claim name as the value of ProviderAttributeName
in your
* AdminLinkProviderForUser
request.
*
*
* For both OIDC and SAML users, when you set ProviderAttributeName
to
* Cognito_Subject
, Amazon Cognito will automatically parse the default unique identifier found
* in the subject from the IdP token.
*/
public ProviderUserIdentifierType getSourceUser() {
return this.sourceUser;
}
/**
*
* An external IdP account for a user who doesn't 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 using a federated social IdP, such as Facebook, Google, or Login with Amazon,
* you must set the ProviderAttributeName
to Cognito_Subject
. For social IdPs, the
* ProviderName
will be Facebook
, Google
, or LoginWithAmazon
,
* and Amazon 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 IdP token.
*
*
*
* For OIDC, the ProviderAttributeName
can be any value that matches a claim in the ID token, or that
* your app retrieves from the userInfo
endpoint. You must map the claim to a user pool attribute in
* your IdP configuration, and set the user pool attribute name as the value of ProviderAttributeName
* in your AdminLinkProviderForUser
request.
*
*
* For SAML, the ProviderAttributeName
can be any value that matches a claim in the SAML assertion. To
* link SAML users based on the subject of the SAML assertion, map the subject to a claim through the SAML IdP and
* set that claim name as the value of ProviderAttributeName
in your
* AdminLinkProviderForUser
request.
*
*
* For both OIDC and SAML users, when you set ProviderAttributeName
to Cognito_Subject
,
* Amazon Cognito will automatically parse the default unique identifier found in the subject from the IdP token.
*
*
* @param sourceUser
* An external IdP account for a user who doesn't 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 using a federated social IdP, such as Facebook, Google, or Login with
* Amazon, you must set the ProviderAttributeName
to Cognito_Subject
. For social
* IdPs, the ProviderName
will be Facebook
, Google
, or
* LoginWithAmazon
, and Amazon 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 IdP token.
*
*
*
* For OIDC, the ProviderAttributeName
can be any value that matches a claim in the ID token, or
* that your app retrieves from the userInfo
endpoint. You must map the claim to a user pool
* attribute in your IdP configuration, and set the user pool attribute name as the value of
* ProviderAttributeName
in your AdminLinkProviderForUser
request.
*
*
* For SAML, the ProviderAttributeName
can be any value that matches a claim in the SAML
* assertion. To link SAML users based on the subject of the SAML assertion, map the subject to a claim
* through the SAML IdP and set that claim name as the value of ProviderAttributeName
in your
* AdminLinkProviderForUser
request.
*
*
* For both OIDC and SAML users, when you set ProviderAttributeName
to
* Cognito_Subject
, Amazon Cognito will automatically parse the default unique identifier found
* in the subject from the IdP 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();
}
}