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

com.amazonaws.services.securitytoken.model.AssumeRoleWithWebIdentityResult Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS STS module holds the client classes that are used for communicating with AWS Security Token Service

There is a newer version: 1.12.772
Show newest version
/*
 * Copyright 2017-2022 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.securitytoken.model;

import java.io.Serializable;
import javax.annotation.Generated;

/**
 * 

* Contains the response to a successful AssumeRoleWithWebIdentity request, including temporary Amazon Web * Services credentials that can be used to make Amazon Web Services requests. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class AssumeRoleWithWebIdentityResult extends com.amazonaws.AmazonWebServiceResult implements Serializable, Cloneable { /** *

* The temporary security credentials, which include an access key ID, a secret access key, and a security token. *

* *

* The size of the security token that STS API operations return is not fixed. We strongly recommend that you make * no assumptions about the maximum size. *

*
*/ private Credentials credentials; /** *

* The unique user identifier that is returned by the identity provider. This identifier is associated with the * WebIdentityToken that was submitted with the AssumeRoleWithWebIdentity call. The * identifier is typically unique to the user and the application that acquired the WebIdentityToken * (pairwise identifier). For OpenID Connect ID tokens, this field contains the value returned by the identity * provider as the token's sub (Subject) claim. *

*/ private String subjectFromWebIdentityToken; /** *

* The Amazon Resource Name (ARN) and the assumed role ID, which are identifiers that you can use to refer to the * resulting temporary security credentials. For example, you can reference these credentials as a principal in a * resource-based policy by using the ARN or assumed role ID. The ARN and ID include the * RoleSessionName that you specified when you called AssumeRole. *

*/ private AssumedRoleUser assumedRoleUser; /** *

* A percentage value that indicates the packed size of the session policies and session tags combined passed in the * request. The request fails if the packed size is greater than 100 percent, which means the policies and tags * exceeded the allowed space. *

*/ private Integer packedPolicySize; /** *

* The issuing authority of the web identity token presented. For OpenID Connect ID tokens, this contains the value * of the iss field. For OAuth 2.0 access tokens, this contains the value of the * ProviderId parameter that was passed in the AssumeRoleWithWebIdentity request. *

*/ private String provider; /** *

* The intended audience (also known as client ID) of the web identity token. This is traditionally the client * identifier issued to the application that requested the web identity token. *

*/ private String audience; /** *

* The value of the source identity that is returned in the JSON web token (JWT) from the identity provider. *

*

* You can require users to set a source identity value when they assume a role. You do this by using the * sts:SourceIdentity condition key in a role trust policy. That way, actions that are taken with the * role are associated with that user. After the source identity is set, the value cannot be changed. It is present * in the request for all actions that are taken by the role and persists across chained role sessions. You can configure your identity provider to use an attribute associated with your * users, like user name or email, as the source identity when calling AssumeRoleWithWebIdentity. You * do this by adding a claim to the JSON web token. To learn more about OIDC tokens and claims, see Using Tokens with User Pools in the Amazon Cognito Developer Guide. For more information about using * source identity, see Monitor * and control actions taken with assumed roles in the IAM User Guide. *

*

* The regex used to validate this parameter is a string of characters consisting of upper- and lower-case * alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@- *

*/ private String sourceIdentity; /** *

* The temporary security credentials, which include an access key ID, a secret access key, and a security token. *

* *

* The size of the security token that STS API operations return is not fixed. We strongly recommend that you make * no assumptions about the maximum size. *

*
* * @param credentials * The temporary security credentials, which include an access key ID, a secret access key, and a security * token.

*

* The size of the security token that STS API operations return is not fixed. We strongly recommend that you * make no assumptions about the maximum size. *

*/ public void setCredentials(Credentials credentials) { this.credentials = credentials; } /** *

* The temporary security credentials, which include an access key ID, a secret access key, and a security token. *

* *

* The size of the security token that STS API operations return is not fixed. We strongly recommend that you make * no assumptions about the maximum size. *

*
* * @return The temporary security credentials, which include an access key ID, a secret access key, and a security * token.

*

* The size of the security token that STS API operations return is not fixed. We strongly recommend that * you make no assumptions about the maximum size. *

*/ public Credentials getCredentials() { return this.credentials; } /** *

* The temporary security credentials, which include an access key ID, a secret access key, and a security token. *

* *

* The size of the security token that STS API operations return is not fixed. We strongly recommend that you make * no assumptions about the maximum size. *

*
* * @param credentials * The temporary security credentials, which include an access key ID, a secret access key, and a security * token.

*

* The size of the security token that STS API operations return is not fixed. We strongly recommend that you * make no assumptions about the maximum size. *

* @return Returns a reference to this object so that method calls can be chained together. */ public AssumeRoleWithWebIdentityResult withCredentials(Credentials credentials) { setCredentials(credentials); return this; } /** *

* The unique user identifier that is returned by the identity provider. This identifier is associated with the * WebIdentityToken that was submitted with the AssumeRoleWithWebIdentity call. The * identifier is typically unique to the user and the application that acquired the WebIdentityToken * (pairwise identifier). For OpenID Connect ID tokens, this field contains the value returned by the identity * provider as the token's sub (Subject) claim. *

* * @param subjectFromWebIdentityToken * The unique user identifier that is returned by the identity provider. This identifier is associated with * the WebIdentityToken that was submitted with the AssumeRoleWithWebIdentity call. * The identifier is typically unique to the user and the application that acquired the * WebIdentityToken (pairwise identifier). For OpenID Connect ID tokens, this field contains the * value returned by the identity provider as the token's sub (Subject) claim. */ public void setSubjectFromWebIdentityToken(String subjectFromWebIdentityToken) { this.subjectFromWebIdentityToken = subjectFromWebIdentityToken; } /** *

* The unique user identifier that is returned by the identity provider. This identifier is associated with the * WebIdentityToken that was submitted with the AssumeRoleWithWebIdentity call. The * identifier is typically unique to the user and the application that acquired the WebIdentityToken * (pairwise identifier). For OpenID Connect ID tokens, this field contains the value returned by the identity * provider as the token's sub (Subject) claim. *

* * @return The unique user identifier that is returned by the identity provider. This identifier is associated with * the WebIdentityToken that was submitted with the AssumeRoleWithWebIdentity * call. The identifier is typically unique to the user and the application that acquired the * WebIdentityToken (pairwise identifier). For OpenID Connect ID tokens, this field contains * the value returned by the identity provider as the token's sub (Subject) claim. */ public String getSubjectFromWebIdentityToken() { return this.subjectFromWebIdentityToken; } /** *

* The unique user identifier that is returned by the identity provider. This identifier is associated with the * WebIdentityToken that was submitted with the AssumeRoleWithWebIdentity call. The * identifier is typically unique to the user and the application that acquired the WebIdentityToken * (pairwise identifier). For OpenID Connect ID tokens, this field contains the value returned by the identity * provider as the token's sub (Subject) claim. *

* * @param subjectFromWebIdentityToken * The unique user identifier that is returned by the identity provider. This identifier is associated with * the WebIdentityToken that was submitted with the AssumeRoleWithWebIdentity call. * The identifier is typically unique to the user and the application that acquired the * WebIdentityToken (pairwise identifier). For OpenID Connect ID tokens, this field contains the * value returned by the identity provider as the token's sub (Subject) claim. * @return Returns a reference to this object so that method calls can be chained together. */ public AssumeRoleWithWebIdentityResult withSubjectFromWebIdentityToken(String subjectFromWebIdentityToken) { setSubjectFromWebIdentityToken(subjectFromWebIdentityToken); return this; } /** *

* The Amazon Resource Name (ARN) and the assumed role ID, which are identifiers that you can use to refer to the * resulting temporary security credentials. For example, you can reference these credentials as a principal in a * resource-based policy by using the ARN or assumed role ID. The ARN and ID include the * RoleSessionName that you specified when you called AssumeRole. *

* * @param assumedRoleUser * The Amazon Resource Name (ARN) and the assumed role ID, which are identifiers that you can use to refer to * the resulting temporary security credentials. For example, you can reference these credentials as a * principal in a resource-based policy by using the ARN or assumed role ID. The ARN and ID include the * RoleSessionName that you specified when you called AssumeRole. */ public void setAssumedRoleUser(AssumedRoleUser assumedRoleUser) { this.assumedRoleUser = assumedRoleUser; } /** *

* The Amazon Resource Name (ARN) and the assumed role ID, which are identifiers that you can use to refer to the * resulting temporary security credentials. For example, you can reference these credentials as a principal in a * resource-based policy by using the ARN or assumed role ID. The ARN and ID include the * RoleSessionName that you specified when you called AssumeRole. *

* * @return The Amazon Resource Name (ARN) and the assumed role ID, which are identifiers that you can use to refer * to the resulting temporary security credentials. For example, you can reference these credentials as a * principal in a resource-based policy by using the ARN or assumed role ID. The ARN and ID include the * RoleSessionName that you specified when you called AssumeRole. */ public AssumedRoleUser getAssumedRoleUser() { return this.assumedRoleUser; } /** *

* The Amazon Resource Name (ARN) and the assumed role ID, which are identifiers that you can use to refer to the * resulting temporary security credentials. For example, you can reference these credentials as a principal in a * resource-based policy by using the ARN or assumed role ID. The ARN and ID include the * RoleSessionName that you specified when you called AssumeRole. *

* * @param assumedRoleUser * The Amazon Resource Name (ARN) and the assumed role ID, which are identifiers that you can use to refer to * the resulting temporary security credentials. For example, you can reference these credentials as a * principal in a resource-based policy by using the ARN or assumed role ID. The ARN and ID include the * RoleSessionName that you specified when you called AssumeRole. * @return Returns a reference to this object so that method calls can be chained together. */ public AssumeRoleWithWebIdentityResult withAssumedRoleUser(AssumedRoleUser assumedRoleUser) { setAssumedRoleUser(assumedRoleUser); return this; } /** *

* A percentage value that indicates the packed size of the session policies and session tags combined passed in the * request. The request fails if the packed size is greater than 100 percent, which means the policies and tags * exceeded the allowed space. *

* * @param packedPolicySize * A percentage value that indicates the packed size of the session policies and session tags combined passed * in the request. The request fails if the packed size is greater than 100 percent, which means the policies * and tags exceeded the allowed space. */ public void setPackedPolicySize(Integer packedPolicySize) { this.packedPolicySize = packedPolicySize; } /** *

* A percentage value that indicates the packed size of the session policies and session tags combined passed in the * request. The request fails if the packed size is greater than 100 percent, which means the policies and tags * exceeded the allowed space. *

* * @return A percentage value that indicates the packed size of the session policies and session tags combined * passed in the request. The request fails if the packed size is greater than 100 percent, which means the * policies and tags exceeded the allowed space. */ public Integer getPackedPolicySize() { return this.packedPolicySize; } /** *

* A percentage value that indicates the packed size of the session policies and session tags combined passed in the * request. The request fails if the packed size is greater than 100 percent, which means the policies and tags * exceeded the allowed space. *

* * @param packedPolicySize * A percentage value that indicates the packed size of the session policies and session tags combined passed * in the request. The request fails if the packed size is greater than 100 percent, which means the policies * and tags exceeded the allowed space. * @return Returns a reference to this object so that method calls can be chained together. */ public AssumeRoleWithWebIdentityResult withPackedPolicySize(Integer packedPolicySize) { setPackedPolicySize(packedPolicySize); return this; } /** *

* The issuing authority of the web identity token presented. For OpenID Connect ID tokens, this contains the value * of the iss field. For OAuth 2.0 access tokens, this contains the value of the * ProviderId parameter that was passed in the AssumeRoleWithWebIdentity request. *

* * @param provider * The issuing authority of the web identity token presented. For OpenID Connect ID tokens, this contains the * value of the iss field. For OAuth 2.0 access tokens, this contains the value of the * ProviderId parameter that was passed in the AssumeRoleWithWebIdentity request. */ public void setProvider(String provider) { this.provider = provider; } /** *

* The issuing authority of the web identity token presented. For OpenID Connect ID tokens, this contains the value * of the iss field. For OAuth 2.0 access tokens, this contains the value of the * ProviderId parameter that was passed in the AssumeRoleWithWebIdentity request. *

* * @return The issuing authority of the web identity token presented. For OpenID Connect ID tokens, this contains * the value of the iss field. For OAuth 2.0 access tokens, this contains the value of the * ProviderId parameter that was passed in the AssumeRoleWithWebIdentity request. */ public String getProvider() { return this.provider; } /** *

* The issuing authority of the web identity token presented. For OpenID Connect ID tokens, this contains the value * of the iss field. For OAuth 2.0 access tokens, this contains the value of the * ProviderId parameter that was passed in the AssumeRoleWithWebIdentity request. *

* * @param provider * The issuing authority of the web identity token presented. For OpenID Connect ID tokens, this contains the * value of the iss field. For OAuth 2.0 access tokens, this contains the value of the * ProviderId parameter that was passed in the AssumeRoleWithWebIdentity request. * @return Returns a reference to this object so that method calls can be chained together. */ public AssumeRoleWithWebIdentityResult withProvider(String provider) { setProvider(provider); return this; } /** *

* The intended audience (also known as client ID) of the web identity token. This is traditionally the client * identifier issued to the application that requested the web identity token. *

* * @param audience * The intended audience (also known as client ID) of the web identity token. This is traditionally the * client identifier issued to the application that requested the web identity token. */ public void setAudience(String audience) { this.audience = audience; } /** *

* The intended audience (also known as client ID) of the web identity token. This is traditionally the client * identifier issued to the application that requested the web identity token. *

* * @return The intended audience (also known as client ID) of the web identity token. This is traditionally the * client identifier issued to the application that requested the web identity token. */ public String getAudience() { return this.audience; } /** *

* The intended audience (also known as client ID) of the web identity token. This is traditionally the client * identifier issued to the application that requested the web identity token. *

* * @param audience * The intended audience (also known as client ID) of the web identity token. This is traditionally the * client identifier issued to the application that requested the web identity token. * @return Returns a reference to this object so that method calls can be chained together. */ public AssumeRoleWithWebIdentityResult withAudience(String audience) { setAudience(audience); return this; } /** *

* The value of the source identity that is returned in the JSON web token (JWT) from the identity provider. *

*

* You can require users to set a source identity value when they assume a role. You do this by using the * sts:SourceIdentity condition key in a role trust policy. That way, actions that are taken with the * role are associated with that user. After the source identity is set, the value cannot be changed. It is present * in the request for all actions that are taken by the role and persists across chained role sessions. You can configure your identity provider to use an attribute associated with your * users, like user name or email, as the source identity when calling AssumeRoleWithWebIdentity. You * do this by adding a claim to the JSON web token. To learn more about OIDC tokens and claims, see Using Tokens with User Pools in the Amazon Cognito Developer Guide. For more information about using * source identity, see Monitor * and control actions taken with assumed roles in the IAM User Guide. *

*

* The regex used to validate this parameter is a string of characters consisting of upper- and lower-case * alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@- *

* * @param sourceIdentity * The value of the source identity that is returned in the JSON web token (JWT) from the identity * provider.

*

* You can require users to set a source identity value when they assume a role. You do this by using the * sts:SourceIdentity condition key in a role trust policy. That way, actions that are taken * with the role are associated with that user. After the source identity is set, the value cannot be * changed. It is present in the request for all actions that are taken by the role and persists across * chained role sessions. You can configure your identity provider to use an attribute associated with * your users, like user name or email, as the source identity when calling * AssumeRoleWithWebIdentity. You do this by adding a claim to the JSON web token. To learn more * about OIDC tokens and claims, see Using Tokens with User Pools in the Amazon Cognito Developer Guide. For more information about * using source identity, see Monitor and control actions taken with assumed roles in the IAM User Guide. *

*

* The regex used to validate this parameter is a string of characters consisting of upper- and lower-case * alphanumeric characters with no spaces. You can also include underscores or any of the following * characters: =,.@- */ public void setSourceIdentity(String sourceIdentity) { this.sourceIdentity = sourceIdentity; } /** *

* The value of the source identity that is returned in the JSON web token (JWT) from the identity provider. *

*

* You can require users to set a source identity value when they assume a role. You do this by using the * sts:SourceIdentity condition key in a role trust policy. That way, actions that are taken with the * role are associated with that user. After the source identity is set, the value cannot be changed. It is present * in the request for all actions that are taken by the role and persists across chained role sessions. You can configure your identity provider to use an attribute associated with your * users, like user name or email, as the source identity when calling AssumeRoleWithWebIdentity. You * do this by adding a claim to the JSON web token. To learn more about OIDC tokens and claims, see Using Tokens with User Pools in the Amazon Cognito Developer Guide. For more information about using * source identity, see Monitor * and control actions taken with assumed roles in the IAM User Guide. *

*

* The regex used to validate this parameter is a string of characters consisting of upper- and lower-case * alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@- *

* * @return The value of the source identity that is returned in the JSON web token (JWT) from the identity * provider.

*

* You can require users to set a source identity value when they assume a role. You do this by using the * sts:SourceIdentity condition key in a role trust policy. That way, actions that are taken * with the role are associated with that user. After the source identity is set, the value cannot be * changed. It is present in the request for all actions that are taken by the role and persists across chained role sessions. You can configure your identity provider to use an attribute associated with * your users, like user name or email, as the source identity when calling * AssumeRoleWithWebIdentity. You do this by adding a claim to the JSON web token. To learn * more about OIDC tokens and claims, see Using Tokens with User Pools in the Amazon Cognito Developer Guide. For more information * about using source identity, see Monitor and control actions taken with assumed roles in the IAM User Guide. *

*

* The regex used to validate this parameter is a string of characters consisting of upper- and lower-case * alphanumeric characters with no spaces. You can also include underscores or any of the following * characters: =,.@- */ public String getSourceIdentity() { return this.sourceIdentity; } /** *

* The value of the source identity that is returned in the JSON web token (JWT) from the identity provider. *

*

* You can require users to set a source identity value when they assume a role. You do this by using the * sts:SourceIdentity condition key in a role trust policy. That way, actions that are taken with the * role are associated with that user. After the source identity is set, the value cannot be changed. It is present * in the request for all actions that are taken by the role and persists across chained role sessions. You can configure your identity provider to use an attribute associated with your * users, like user name or email, as the source identity when calling AssumeRoleWithWebIdentity. You * do this by adding a claim to the JSON web token. To learn more about OIDC tokens and claims, see Using Tokens with User Pools in the Amazon Cognito Developer Guide. For more information about using * source identity, see Monitor * and control actions taken with assumed roles in the IAM User Guide. *

*

* The regex used to validate this parameter is a string of characters consisting of upper- and lower-case * alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@- *

* * @param sourceIdentity * The value of the source identity that is returned in the JSON web token (JWT) from the identity * provider.

*

* You can require users to set a source identity value when they assume a role. You do this by using the * sts:SourceIdentity condition key in a role trust policy. That way, actions that are taken * with the role are associated with that user. After the source identity is set, the value cannot be * changed. It is present in the request for all actions that are taken by the role and persists across * chained role sessions. You can configure your identity provider to use an attribute associated with * your users, like user name or email, as the source identity when calling * AssumeRoleWithWebIdentity. You do this by adding a claim to the JSON web token. To learn more * about OIDC tokens and claims, see Using Tokens with User Pools in the Amazon Cognito Developer Guide. For more information about * using source identity, see Monitor and control actions taken with assumed roles in the IAM User Guide. *

*

* The regex used to validate this parameter is a string of characters consisting of upper- and lower-case * alphanumeric characters with no spaces. You can also include underscores or any of the following * characters: =,.@- * @return Returns a reference to this object so that method calls can be chained together. */ public AssumeRoleWithWebIdentityResult withSourceIdentity(String sourceIdentity) { setSourceIdentity(sourceIdentity); 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 (getCredentials() != null) sb.append("Credentials: ").append(getCredentials()).append(","); if (getSubjectFromWebIdentityToken() != null) sb.append("SubjectFromWebIdentityToken: ").append(getSubjectFromWebIdentityToken()).append(","); if (getAssumedRoleUser() != null) sb.append("AssumedRoleUser: ").append(getAssumedRoleUser()).append(","); if (getPackedPolicySize() != null) sb.append("PackedPolicySize: ").append(getPackedPolicySize()).append(","); if (getProvider() != null) sb.append("Provider: ").append(getProvider()).append(","); if (getAudience() != null) sb.append("Audience: ").append(getAudience()).append(","); if (getSourceIdentity() != null) sb.append("SourceIdentity: ").append(getSourceIdentity()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof AssumeRoleWithWebIdentityResult == false) return false; AssumeRoleWithWebIdentityResult other = (AssumeRoleWithWebIdentityResult) obj; if (other.getCredentials() == null ^ this.getCredentials() == null) return false; if (other.getCredentials() != null && other.getCredentials().equals(this.getCredentials()) == false) return false; if (other.getSubjectFromWebIdentityToken() == null ^ this.getSubjectFromWebIdentityToken() == null) return false; if (other.getSubjectFromWebIdentityToken() != null && other.getSubjectFromWebIdentityToken().equals(this.getSubjectFromWebIdentityToken()) == false) return false; if (other.getAssumedRoleUser() == null ^ this.getAssumedRoleUser() == null) return false; if (other.getAssumedRoleUser() != null && other.getAssumedRoleUser().equals(this.getAssumedRoleUser()) == false) return false; if (other.getPackedPolicySize() == null ^ this.getPackedPolicySize() == null) return false; if (other.getPackedPolicySize() != null && other.getPackedPolicySize().equals(this.getPackedPolicySize()) == false) return false; if (other.getProvider() == null ^ this.getProvider() == null) return false; if (other.getProvider() != null && other.getProvider().equals(this.getProvider()) == false) return false; if (other.getAudience() == null ^ this.getAudience() == null) return false; if (other.getAudience() != null && other.getAudience().equals(this.getAudience()) == false) return false; if (other.getSourceIdentity() == null ^ this.getSourceIdentity() == null) return false; if (other.getSourceIdentity() != null && other.getSourceIdentity().equals(this.getSourceIdentity()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getCredentials() == null) ? 0 : getCredentials().hashCode()); hashCode = prime * hashCode + ((getSubjectFromWebIdentityToken() == null) ? 0 : getSubjectFromWebIdentityToken().hashCode()); hashCode = prime * hashCode + ((getAssumedRoleUser() == null) ? 0 : getAssumedRoleUser().hashCode()); hashCode = prime * hashCode + ((getPackedPolicySize() == null) ? 0 : getPackedPolicySize().hashCode()); hashCode = prime * hashCode + ((getProvider() == null) ? 0 : getProvider().hashCode()); hashCode = prime * hashCode + ((getAudience() == null) ? 0 : getAudience().hashCode()); hashCode = prime * hashCode + ((getSourceIdentity() == null) ? 0 : getSourceIdentity().hashCode()); return hashCode; } @Override public AssumeRoleWithWebIdentityResult clone() { try { return (AssumeRoleWithWebIdentityResult) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy