/* * Copyright 2018-2023 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 AssumeRole 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 AssumeRoleResult extends com.amazonaws.AmazonWebServiceResult* The temporary security credentials, which include an access key ID, a secret access key, and a security (or * session) 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. *
*
* 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
.
*
* 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 source identity specified by the principal that is calling the AssumeRole
operation.
*
* You can require users to specify a source identity when they assume a role. You do this by using the
* sts:SourceIdentity
condition key in a role trust policy. You can use source identity information in
* CloudTrail logs to determine who took actions with a role. You can use the aws:SourceIdentity
* condition key to further control access to Amazon Web Services resources based on the value of source identity.
* 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 (or * session) 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. *
** 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 (or * session) 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. *
** 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 (or * session) 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. *
** 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 AssumeRoleResult withCredentials(Credentials credentials) { setCredentials(credentials); 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
.
*
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
.
*
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
.
*
RoleSessionName
that you specified when you called AssumeRole
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AssumeRoleResult 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 AssumeRoleResult withPackedPolicySize(Integer packedPolicySize) { setPackedPolicySize(packedPolicySize); return this; } /** *
* The source identity specified by the principal that is calling the AssumeRole
operation.
*
* You can require users to specify a source identity when they assume a role. You do this by using the
* sts:SourceIdentity
condition key in a role trust policy. You can use source identity information in
* CloudTrail logs to determine who took actions with a role. You can use the aws:SourceIdentity
* condition key to further control access to Amazon Web Services resources based on the value of source identity.
* 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 source identity specified by the principal that is calling theAssumeRole
operation.
*
* You can require users to specify a source identity when they assume a role. You do this by using the
* sts:SourceIdentity
condition key in a role trust policy. You can use source identity
* information in CloudTrail logs to determine who took actions with a role. You can use the
* aws:SourceIdentity
condition key to further control access to Amazon Web Services resources
* based on the value of source identity. 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 source identity specified by the principal that is calling the AssumeRole
operation.
*
* You can require users to specify a source identity when they assume a role. You do this by using the
* sts:SourceIdentity
condition key in a role trust policy. You can use source identity information in
* CloudTrail logs to determine who took actions with a role. You can use the aws:SourceIdentity
* condition key to further control access to Amazon Web Services resources based on the value of source identity.
* 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 source identity specified by the principal that is calling theAssumeRole
operation.
*
* You can require users to specify a source identity when they assume a role. You do this by using the
* sts:SourceIdentity
condition key in a role trust policy. You can use source identity
* information in CloudTrail logs to determine who took actions with a role. You can use the
* aws:SourceIdentity
condition key to further control access to Amazon Web Services resources
* based on the value of source identity. 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 source identity specified by the principal that is calling the AssumeRole
operation.
*
* You can require users to specify a source identity when they assume a role. You do this by using the
* sts:SourceIdentity
condition key in a role trust policy. You can use source identity information in
* CloudTrail logs to determine who took actions with a role. You can use the aws:SourceIdentity
* condition key to further control access to Amazon Web Services resources based on the value of source identity.
* 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 source identity specified by the principal that is calling theAssumeRole
operation.
*
* You can require users to specify a source identity when they assume a role. You do this by using the
* sts:SourceIdentity
condition key in a role trust policy. You can use source identity
* information in CloudTrail logs to determine who took actions with a role. You can use the
* aws:SourceIdentity
condition key to further control access to Amazon Web Services resources
* based on the value of source identity. 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 AssumeRoleResult 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 (getAssumedRoleUser() != null) sb.append("AssumedRoleUser: ").append(getAssumedRoleUser()).append(","); if (getPackedPolicySize() != null) sb.append("PackedPolicySize: ").append(getPackedPolicySize()).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 AssumeRoleResult == false) return false; AssumeRoleResult other = (AssumeRoleResult) obj; if (other.getCredentials() == null ^ this.getCredentials() == null) return false; if (other.getCredentials() != null && other.getCredentials().equals(this.getCredentials()) == 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.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 + ((getAssumedRoleUser() == null) ? 0 : getAssumedRoleUser().hashCode()); hashCode = prime * hashCode + ((getPackedPolicySize() == null) ? 0 : getPackedPolicySize().hashCode()); hashCode = prime * hashCode + ((getSourceIdentity() == null) ? 0 : getSourceIdentity().hashCode()); return hashCode; } @Override public AssumeRoleResult clone() { try { return (AssumeRoleResult) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }