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

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

Go to download

The AWS SDK for Java Mobile - Core module holds the classes that is used by the individual service clients to interact with Amazon Web Services. Users need to depend on aws-java-sdk artifact for accessing individual client classes.

There is a newer version: 2.6.19
Show newest version
/*
 * Copyright 2010-2018 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 com.amazonaws.AmazonWebServiceRequest;

/**
 * 

* Returns a set of temporary security credentials (consisting of an access key * ID, a secret access key, and a security token) that you can use to access AWS * resources that you might not normally have access to. Typically, you use * AssumeRole for cross-account access or federation. For a * comparison of AssumeRole with the other APIs that produce * temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide. *

*

* Important: You cannot call AssumeRole by using AWS root * account credentials; access is denied. You must use credentials for an IAM * user or an IAM role to call AssumeRole. *

*

* For cross-account access, imagine that you own multiple accounts and need to * access resources in each account. You could create long-term credentials in * each account to access those resources. However, managing all those * credentials and remembering which one can access which account can be time * consuming. Instead, you can create one set of long-term credentials in one * account and then use temporary security credentials to access all the other * accounts by assuming roles in those accounts. For more information about * roles, see IAM Roles (Delegation and Federation) in the IAM User Guide. *

*

* For federation, you can, for example, grant single sign-on access to the AWS * Management Console. If you already have an identity and authentication system * in your corporate network, you don't have to recreate user identities in AWS * in order to grant those user identities access to AWS. Instead, after a user * has been authenticated, you call AssumeRole (and specify the * role with the appropriate permissions) to get temporary security credentials * for that user. With those temporary security credentials, you construct a * sign-in URL that users can use to access the console. For more information, * see Common Scenarios for Temporary Credentials in the IAM User Guide. *

*

* The temporary security credentials are valid for the duration that you * specified when calling AssumeRole, which can be from 900 seconds * (15 minutes) to a maximum of 3600 seconds (1 hour). The default is 1 hour. *

*

* The temporary security credentials created by AssumeRole can be * used to make API calls to any AWS service with the following exception: you * cannot call the STS service's GetFederationToken or * GetSessionToken APIs. *

*

* Optionally, you can pass an IAM access policy to this operation. If you * choose not to pass a policy, the temporary security credentials that are * returned by the operation have the permissions that are defined in the access * policy of the role that is being assumed. If you pass a policy to this * operation, the temporary security credentials that are returned by the * operation have the permissions that are allowed by both the access policy of * the role that is being assumed, and the policy that you pass. * This gives you a way to further restrict the permissions for the resulting * temporary security credentials. You cannot use the passed policy to grant * permissions that are in excess of those allowed by the access policy of the * role that is being assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and * AssumeRoleWithWebIdentity in the IAM User Guide. *

*

* To assume a role, your AWS account must be trusted by the role. The trust * relationship is defined in the role's trust policy when the role is created. * That trust policy states which accounts are allowed to delegate access to * this account's role. *

*

* The user who wants to access the role must also have permissions delegated * from the role's administrator. If the user is in a different account than the * role, then the user's administrator must attach a policy that allows the user * to call AssumeRole on the ARN of the role in the other account. If the user * is in the same account as the role, then you can either attach a policy to * the user (identical to the previous different account user), or you can add * the user as a principal directly in the role's trust policy *

*

* Using MFA with AssumeRole *

*

* You can optionally include multi-factor authentication (MFA) information when * you call AssumeRole. This is useful for cross-account scenarios * in which you want to make sure that the user who is assuming the role has * been authenticated using an AWS MFA device. In that scenario, the trust * policy of the role being assumed includes a condition that tests for MFA * authentication; if the caller does not include valid MFA information, the * request to assume the role is denied. The condition in a trust policy that * tests for MFA authentication might look like the following example. *

*

* "Condition": {"Bool": {"aws:MultiFactorAuthPresent": true}} *

*

* For more information, see Configuring MFA-Protected API Access in the IAM User Guide guide. *

*

* To use MFA with AssumeRole, you pass values for the * SerialNumber and TokenCode parameters. The * SerialNumber value identifies the user's hardware or virtual MFA * device. The TokenCode is the time-based one-time password (TOTP) * that the MFA devices produces. *

*/ public class AssumeRoleRequest extends AmazonWebServiceRequest implements Serializable { /** *

* The Amazon Resource Name (ARN) of the role to assume. *

*

* Constraints:
* Length: 20 - 2048
* Pattern: [ * -\u007E\u0085\u00A0-\uD7FF\uE000-\uFFFD\u10000-\u10FFFF]+
*/ private String roleArn; /** *

* An identifier for the assumed role session. *

*

* Use the role session name to uniquely identify a session when the same * role is assumed by different principals or for different reasons. In * cross-account scenarios, the role session name is visible to, and can be * logged by the account that owns the role. The role session name is also * used in the ARN of the assumed role principal. This means that subsequent * cross-account API requests using the temporary security credentials will * expose the role session name to the external account in their CloudTrail * logs. *

*

* The format for this parameter, as described by its regex pattern, is a * string of characters consisting of upper- and lower-case alphanumeric * characters with no spaces. You can also include any of the following * characters: =,.@- *

*

* Constraints:
* Length: 2 - 64
* Pattern: [\w+=,.@-]*
*/ private String roleSessionName; /** *

* An IAM policy in JSON format. *

*

* This parameter is optional. If you pass a policy, the temporary security * credentials that are returned by the operation have the permissions that * are allowed by both (the intersection of) the access policy of the role * that is being assumed, and the policy that you pass. This gives * you a way to further restrict the permissions for the resulting temporary * security credentials. You cannot use the passed policy to grant * permissions that are in excess of those allowed by the access policy of * the role that is being assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and * AssumeRoleWithWebIdentity in the IAM User Guide. *

*

* The format for this parameter, as described by its regex pattern, is a * string of characters up to 2048 characters in length. The characters can * be any ASCII character from the space character to the end of the valid * character list ( -\u00FF). It can also include the tab ( ), linefeed ( ), * and carriage return ( ) characters. *

* *

* The policy plain text must be 2048 bytes or shorter. However, an internal * conversion compresses it into a packed binary format with a separate * limit. The PackedPolicySize response element indicates by percentage how * close to the upper size limit the policy is, with 100% equaling the * maximum allowed size. *

*
*

* Constraints:
* Length: 1 - 2048
* Pattern: [ -\u00FF]+
*/ private String policy; /** *

* The duration, in seconds, of the role session. The value can range from * 900 seconds (15 minutes) to 3600 seconds (1 hour). By default, the value * is set to 3600 seconds. *

*

* Constraints:
* Range: 900 - 3600
*/ private Integer durationSeconds; /** *

* A unique identifier that is used by third parties when assuming roles in * their customers' accounts. For each role that the third party can assume, * they should instruct their customers to ensure the role's trust policy * checks for the external ID that the third party generated. Each time the * third party assumes the role, they should pass the customer's external * ID. The external ID is useful in order to help third parties bind a role * to the customer who created it. For more information about the external * ID, see How to Use an External ID When Granting Access to Your AWS Resources to * a Third Party in the IAM User Guide. *

*

* The format for this parameter, as described by its regex pattern, is a * string of characters consisting of upper- and lower-case alphanumeric * characters with no spaces. You can also include any of the following * characters: =,.@:\/- *

*

* Constraints:
* Length: 2 - 1224
* Pattern: [\w+=,.@:\/-]*
*/ private String externalId; /** *

* The identification number of the MFA device that is associated with the * user who is making the AssumeRole call. Specify this value * if the trust policy of the role being assumed includes a condition that * requires MFA authentication. The value is either the serial number for a * hardware device (such as GAHT12345678) or an Amazon Resource * Name (ARN) for a virtual device (such as * arn:aws:iam::123456789012:mfa/user). *

*

* The format for this parameter, as described by its regex pattern, is a * string of characters consisting of upper- and lower-case alphanumeric * characters with no spaces. You can also include any of the following * characters: =,.@- *

*

* Constraints:
* Length: 9 - 256
* Pattern: [\w+=/:,.@-]*
*/ private String serialNumber; /** *

* The value provided by the MFA device, if the trust policy of the role * being assumed requires MFA (that is, if the policy includes a condition * that tests for MFA). If the role being assumed requires MFA and if the * TokenCode value is missing or expired, the * AssumeRole call returns an "access denied" error. *

*

* The format for this parameter, as described by its regex pattern, is a * sequence of six numeric digits. *

*

* Constraints:
* Length: 6 - 6
* Pattern: [\d]*
*/ private String tokenCode; /** *

* The Amazon Resource Name (ARN) of the role to assume. *

*

* Constraints:
* Length: 20 - 2048
* Pattern: [ * -\u007E\u0085\u00A0-\uD7FF\uE000-\uFFFD\u10000-\u10FFFF]+
* * @return

* The Amazon Resource Name (ARN) of the role to assume. *

*/ public String getRoleArn() { return roleArn; } /** *

* The Amazon Resource Name (ARN) of the role to assume. *

*

* Constraints:
* Length: 20 - 2048
* Pattern: [ * -\u007E\u0085\u00A0-\uD7FF\uE000-\uFFFD\u10000-\u10FFFF]+
* * @param roleArn

* The Amazon Resource Name (ARN) of the role to assume. *

*/ public void setRoleArn(String roleArn) { this.roleArn = roleArn; } /** *

* The Amazon Resource Name (ARN) of the role to assume. *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Length: 20 - 2048
* Pattern: [ * -\u007E\u0085\u00A0-\uD7FF\uE000-\uFFFD\u10000-\u10FFFF]+
* * @param roleArn

* The Amazon Resource Name (ARN) of the role to assume. *

* @return A reference to this updated object so that method calls can be * chained together. */ public AssumeRoleRequest withRoleArn(String roleArn) { this.roleArn = roleArn; return this; } /** *

* An identifier for the assumed role session. *

*

* Use the role session name to uniquely identify a session when the same * role is assumed by different principals or for different reasons. In * cross-account scenarios, the role session name is visible to, and can be * logged by the account that owns the role. The role session name is also * used in the ARN of the assumed role principal. This means that subsequent * cross-account API requests using the temporary security credentials will * expose the role session name to the external account in their CloudTrail * logs. *

*

* The format for this parameter, as described by its regex pattern, is a * string of characters consisting of upper- and lower-case alphanumeric * characters with no spaces. You can also include any of the following * characters: =,.@- *

*

* Constraints:
* Length: 2 - 64
* Pattern: [\w+=,.@-]*
* * @return

* An identifier for the assumed role session. *

*

* Use the role session name to uniquely identify a session when the * same role is assumed by different principals or for different * reasons. In cross-account scenarios, the role session name is * visible to, and can be logged by the account that owns the role. * The role session name is also used in the ARN of the assumed role * principal. This means that subsequent cross-account API requests * using the temporary security credentials will expose the role * session name to the external account in their CloudTrail logs. *

*

* The format for this parameter, as described by its regex pattern, * is a string of characters consisting of upper- and lower-case * alphanumeric characters with no spaces. You can also include any * of the following characters: =,.@- *

*/ public String getRoleSessionName() { return roleSessionName; } /** *

* An identifier for the assumed role session. *

*

* Use the role session name to uniquely identify a session when the same * role is assumed by different principals or for different reasons. In * cross-account scenarios, the role session name is visible to, and can be * logged by the account that owns the role. The role session name is also * used in the ARN of the assumed role principal. This means that subsequent * cross-account API requests using the temporary security credentials will * expose the role session name to the external account in their CloudTrail * logs. *

*

* The format for this parameter, as described by its regex pattern, is a * string of characters consisting of upper- and lower-case alphanumeric * characters with no spaces. You can also include any of the following * characters: =,.@- *

*

* Constraints:
* Length: 2 - 64
* Pattern: [\w+=,.@-]*
* * @param roleSessionName

* An identifier for the assumed role session. *

*

* Use the role session name to uniquely identify a session when * the same role is assumed by different principals or for * different reasons. In cross-account scenarios, the role * session name is visible to, and can be logged by the account * that owns the role. The role session name is also used in the * ARN of the assumed role principal. This means that subsequent * cross-account API requests using the temporary security * credentials will expose the role session name to the external * account in their CloudTrail logs. *

*

* The format for this parameter, as described by its regex * pattern, is a string of characters consisting of upper- and * lower-case alphanumeric characters with no spaces. You can * also include any of the following characters: =,.@- *

*/ public void setRoleSessionName(String roleSessionName) { this.roleSessionName = roleSessionName; } /** *

* An identifier for the assumed role session. *

*

* Use the role session name to uniquely identify a session when the same * role is assumed by different principals or for different reasons. In * cross-account scenarios, the role session name is visible to, and can be * logged by the account that owns the role. The role session name is also * used in the ARN of the assumed role principal. This means that subsequent * cross-account API requests using the temporary security credentials will * expose the role session name to the external account in their CloudTrail * logs. *

*

* The format for this parameter, as described by its regex pattern, is a * string of characters consisting of upper- and lower-case alphanumeric * characters with no spaces. You can also include any of the following * characters: =,.@- *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Length: 2 - 64
* Pattern: [\w+=,.@-]*
* * @param roleSessionName

* An identifier for the assumed role session. *

*

* Use the role session name to uniquely identify a session when * the same role is assumed by different principals or for * different reasons. In cross-account scenarios, the role * session name is visible to, and can be logged by the account * that owns the role. The role session name is also used in the * ARN of the assumed role principal. This means that subsequent * cross-account API requests using the temporary security * credentials will expose the role session name to the external * account in their CloudTrail logs. *

*

* The format for this parameter, as described by its regex * pattern, is a string of characters consisting of upper- and * lower-case alphanumeric characters with no spaces. You can * also include any of the following characters: =,.@- *

* @return A reference to this updated object so that method calls can be * chained together. */ public AssumeRoleRequest withRoleSessionName(String roleSessionName) { this.roleSessionName = roleSessionName; return this; } /** *

* An IAM policy in JSON format. *

*

* This parameter is optional. If you pass a policy, the temporary security * credentials that are returned by the operation have the permissions that * are allowed by both (the intersection of) the access policy of the role * that is being assumed, and the policy that you pass. This gives * you a way to further restrict the permissions for the resulting temporary * security credentials. You cannot use the passed policy to grant * permissions that are in excess of those allowed by the access policy of * the role that is being assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and * AssumeRoleWithWebIdentity in the IAM User Guide. *

*

* The format for this parameter, as described by its regex pattern, is a * string of characters up to 2048 characters in length. The characters can * be any ASCII character from the space character to the end of the valid * character list ( -\u00FF). It can also include the tab ( ), linefeed ( ), * and carriage return ( ) characters. *

* *

* The policy plain text must be 2048 bytes or shorter. However, an internal * conversion compresses it into a packed binary format with a separate * limit. The PackedPolicySize response element indicates by percentage how * close to the upper size limit the policy is, with 100% equaling the * maximum allowed size. *

*
*

* Constraints:
* Length: 1 - 2048
* Pattern: [ -\u00FF]+
* * @return

* An IAM policy in JSON format. *

*

* This parameter is optional. If you pass a policy, the temporary * security credentials that are returned by the operation have the * permissions that are allowed by both (the intersection of) the * access policy of the role that is being assumed, and the * policy that you pass. This gives you a way to further restrict * the permissions for the resulting temporary security credentials. * You cannot use the passed policy to grant permissions that are in * excess of those allowed by the access policy of the role that is * being assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and * AssumeRoleWithWebIdentity in the IAM User Guide. *

*

* The format for this parameter, as described by its regex pattern, * is a string of characters up to 2048 characters in length. The * characters can be any ASCII character from the space character to * the end of the valid character list ( -\u00FF). It can also * include the tab ( ), linefeed ( ), and carriage return ( ) * characters. *

* *

* The policy plain text must be 2048 bytes or shorter. However, an * internal conversion compresses it into a packed binary format * with a separate limit. The PackedPolicySize response element * indicates by percentage how close to the upper size limit the * policy is, with 100% equaling the maximum allowed size. *

*
*/ public String getPolicy() { return policy; } /** *

* An IAM policy in JSON format. *

*

* This parameter is optional. If you pass a policy, the temporary security * credentials that are returned by the operation have the permissions that * are allowed by both (the intersection of) the access policy of the role * that is being assumed, and the policy that you pass. This gives * you a way to further restrict the permissions for the resulting temporary * security credentials. You cannot use the passed policy to grant * permissions that are in excess of those allowed by the access policy of * the role that is being assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and * AssumeRoleWithWebIdentity in the IAM User Guide. *

*

* The format for this parameter, as described by its regex pattern, is a * string of characters up to 2048 characters in length. The characters can * be any ASCII character from the space character to the end of the valid * character list ( -\u00FF). It can also include the tab ( ), linefeed ( ), * and carriage return ( ) characters. *

* *

* The policy plain text must be 2048 bytes or shorter. However, an internal * conversion compresses it into a packed binary format with a separate * limit. The PackedPolicySize response element indicates by percentage how * close to the upper size limit the policy is, with 100% equaling the * maximum allowed size. *

*
*

* Constraints:
* Length: 1 - 2048
* Pattern: [ -\u00FF]+
* * @param policy

* An IAM policy in JSON format. *

*

* This parameter is optional. If you pass a policy, the * temporary security credentials that are returned by the * operation have the permissions that are allowed by both (the * intersection of) the access policy of the role that is being * assumed, and the policy that you pass. This gives you a * way to further restrict the permissions for the resulting * temporary security credentials. You cannot use the passed * policy to grant permissions that are in excess of those * allowed by the access policy of the role that is being * assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and * AssumeRoleWithWebIdentity in the IAM User Guide. *

*

* The format for this parameter, as described by its regex * pattern, is a string of characters up to 2048 characters in * length. The characters can be any ASCII character from the * space character to the end of the valid character list ( * -\u00FF). It can also include the tab ( ), linefeed ( ), and * carriage return ( ) characters. *

* *

* The policy plain text must be 2048 bytes or shorter. However, * an internal conversion compresses it into a packed binary * format with a separate limit. The PackedPolicySize response * element indicates by percentage how close to the upper size * limit the policy is, with 100% equaling the maximum allowed * size. *

*
*/ public void setPolicy(String policy) { this.policy = policy; } /** *

* An IAM policy in JSON format. *

*

* This parameter is optional. If you pass a policy, the temporary security * credentials that are returned by the operation have the permissions that * are allowed by both (the intersection of) the access policy of the role * that is being assumed, and the policy that you pass. This gives * you a way to further restrict the permissions for the resulting temporary * security credentials. You cannot use the passed policy to grant * permissions that are in excess of those allowed by the access policy of * the role that is being assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and * AssumeRoleWithWebIdentity in the IAM User Guide. *

*

* The format for this parameter, as described by its regex pattern, is a * string of characters up to 2048 characters in length. The characters can * be any ASCII character from the space character to the end of the valid * character list ( -\u00FF). It can also include the tab ( ), linefeed ( ), * and carriage return ( ) characters. *

* *

* The policy plain text must be 2048 bytes or shorter. However, an internal * conversion compresses it into a packed binary format with a separate * limit. The PackedPolicySize response element indicates by percentage how * close to the upper size limit the policy is, with 100% equaling the * maximum allowed size. *

*
*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Length: 1 - 2048
* Pattern: [ -\u00FF]+
* * @param policy

* An IAM policy in JSON format. *

*

* This parameter is optional. If you pass a policy, the * temporary security credentials that are returned by the * operation have the permissions that are allowed by both (the * intersection of) the access policy of the role that is being * assumed, and the policy that you pass. This gives you a * way to further restrict the permissions for the resulting * temporary security credentials. You cannot use the passed * policy to grant permissions that are in excess of those * allowed by the access policy of the role that is being * assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and * AssumeRoleWithWebIdentity in the IAM User Guide. *

*

* The format for this parameter, as described by its regex * pattern, is a string of characters up to 2048 characters in * length. The characters can be any ASCII character from the * space character to the end of the valid character list ( * -\u00FF). It can also include the tab ( ), linefeed ( ), and * carriage return ( ) characters. *

* *

* The policy plain text must be 2048 bytes or shorter. However, * an internal conversion compresses it into a packed binary * format with a separate limit. The PackedPolicySize response * element indicates by percentage how close to the upper size * limit the policy is, with 100% equaling the maximum allowed * size. *

*
* @return A reference to this updated object so that method calls can be * chained together. */ public AssumeRoleRequest withPolicy(String policy) { this.policy = policy; return this; } /** *

* The duration, in seconds, of the role session. The value can range from * 900 seconds (15 minutes) to 3600 seconds (1 hour). By default, the value * is set to 3600 seconds. *

*

* Constraints:
* Range: 900 - 3600
* * @return

* The duration, in seconds, of the role session. The value can * range from 900 seconds (15 minutes) to 3600 seconds (1 hour). By * default, the value is set to 3600 seconds. *

*/ public Integer getDurationSeconds() { return durationSeconds; } /** *

* The duration, in seconds, of the role session. The value can range from * 900 seconds (15 minutes) to 3600 seconds (1 hour). By default, the value * is set to 3600 seconds. *

*

* Constraints:
* Range: 900 - 3600
* * @param durationSeconds

* The duration, in seconds, of the role session. The value can * range from 900 seconds (15 minutes) to 3600 seconds (1 hour). * By default, the value is set to 3600 seconds. *

*/ public void setDurationSeconds(Integer durationSeconds) { this.durationSeconds = durationSeconds; } /** *

* The duration, in seconds, of the role session. The value can range from * 900 seconds (15 minutes) to 3600 seconds (1 hour). By default, the value * is set to 3600 seconds. *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Range: 900 - 3600
* * @param durationSeconds

* The duration, in seconds, of the role session. The value can * range from 900 seconds (15 minutes) to 3600 seconds (1 hour). * By default, the value is set to 3600 seconds. *

* @return A reference to this updated object so that method calls can be * chained together. */ public AssumeRoleRequest withDurationSeconds(Integer durationSeconds) { this.durationSeconds = durationSeconds; return this; } /** *

* A unique identifier that is used by third parties when assuming roles in * their customers' accounts. For each role that the third party can assume, * they should instruct their customers to ensure the role's trust policy * checks for the external ID that the third party generated. Each time the * third party assumes the role, they should pass the customer's external * ID. The external ID is useful in order to help third parties bind a role * to the customer who created it. For more information about the external * ID, see How to Use an External ID When Granting Access to Your AWS Resources to * a Third Party in the IAM User Guide. *

*

* The format for this parameter, as described by its regex pattern, is a * string of characters consisting of upper- and lower-case alphanumeric * characters with no spaces. You can also include any of the following * characters: =,.@:\/- *

*

* Constraints:
* Length: 2 - 1224
* Pattern: [\w+=,.@:\/-]*
* * @return

* A unique identifier that is used by third parties when assuming * roles in their customers' accounts. For each role that the third * party can assume, they should instruct their customers to ensure * the role's trust policy checks for the external ID that the third * party generated. Each time the third party assumes the role, they * should pass the customer's external ID. The external ID is useful * in order to help third parties bind a role to the customer who * created it. For more information about the external ID, see How to Use an External ID When Granting Access to Your AWS * Resources to a Third Party in the IAM User Guide. *

*

* The format for this parameter, as described by its regex pattern, * is a string of characters consisting of upper- and lower-case * alphanumeric characters with no spaces. You can also include any * of the following characters: =,.@:\/- *

*/ public String getExternalId() { return externalId; } /** *

* A unique identifier that is used by third parties when assuming roles in * their customers' accounts. For each role that the third party can assume, * they should instruct their customers to ensure the role's trust policy * checks for the external ID that the third party generated. Each time the * third party assumes the role, they should pass the customer's external * ID. The external ID is useful in order to help third parties bind a role * to the customer who created it. For more information about the external * ID, see How to Use an External ID When Granting Access to Your AWS Resources to * a Third Party in the IAM User Guide. *

*

* The format for this parameter, as described by its regex pattern, is a * string of characters consisting of upper- and lower-case alphanumeric * characters with no spaces. You can also include any of the following * characters: =,.@:\/- *

*

* Constraints:
* Length: 2 - 1224
* Pattern: [\w+=,.@:\/-]*
* * @param externalId

* A unique identifier that is used by third parties when * assuming roles in their customers' accounts. For each role * that the third party can assume, they should instruct their * customers to ensure the role's trust policy checks for the * external ID that the third party generated. Each time the * third party assumes the role, they should pass the customer's * external ID. The external ID is useful in order to help third * parties bind a role to the customer who created it. For more * information about the external ID, see How to Use an External ID When Granting Access to Your AWS * Resources to a Third Party in the IAM User Guide. *

*

* The format for this parameter, as described by its regex * pattern, is a string of characters consisting of upper- and * lower-case alphanumeric characters with no spaces. You can * also include any of the following characters: =,.@:\/- *

*/ public void setExternalId(String externalId) { this.externalId = externalId; } /** *

* A unique identifier that is used by third parties when assuming roles in * their customers' accounts. For each role that the third party can assume, * they should instruct their customers to ensure the role's trust policy * checks for the external ID that the third party generated. Each time the * third party assumes the role, they should pass the customer's external * ID. The external ID is useful in order to help third parties bind a role * to the customer who created it. For more information about the external * ID, see How to Use an External ID When Granting Access to Your AWS Resources to * a Third Party in the IAM User Guide. *

*

* The format for this parameter, as described by its regex pattern, is a * string of characters consisting of upper- and lower-case alphanumeric * characters with no spaces. You can also include any of the following * characters: =,.@:\/- *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Length: 2 - 1224
* Pattern: [\w+=,.@:\/-]*
* * @param externalId

* A unique identifier that is used by third parties when * assuming roles in their customers' accounts. For each role * that the third party can assume, they should instruct their * customers to ensure the role's trust policy checks for the * external ID that the third party generated. Each time the * third party assumes the role, they should pass the customer's * external ID. The external ID is useful in order to help third * parties bind a role to the customer who created it. For more * information about the external ID, see How to Use an External ID When Granting Access to Your AWS * Resources to a Third Party in the IAM User Guide. *

*

* The format for this parameter, as described by its regex * pattern, is a string of characters consisting of upper- and * lower-case alphanumeric characters with no spaces. You can * also include any of the following characters: =,.@:\/- *

* @return A reference to this updated object so that method calls can be * chained together. */ public AssumeRoleRequest withExternalId(String externalId) { this.externalId = externalId; return this; } /** *

* The identification number of the MFA device that is associated with the * user who is making the AssumeRole call. Specify this value * if the trust policy of the role being assumed includes a condition that * requires MFA authentication. The value is either the serial number for a * hardware device (such as GAHT12345678) or an Amazon Resource * Name (ARN) for a virtual device (such as * arn:aws:iam::123456789012:mfa/user). *

*

* The format for this parameter, as described by its regex pattern, is a * string of characters consisting of upper- and lower-case alphanumeric * characters with no spaces. You can also include any of the following * characters: =,.@- *

*

* Constraints:
* Length: 9 - 256
* Pattern: [\w+=/:,.@-]*
* * @return

* The identification number of the MFA device that is associated * with the user who is making the AssumeRole call. * Specify this value if the trust policy of the role being assumed * includes a condition that requires MFA authentication. The value * is either the serial number for a hardware device (such as * GAHT12345678) or an Amazon Resource Name (ARN) for a * virtual device (such as * arn:aws:iam::123456789012:mfa/user). *

*

* The format for this parameter, as described by its regex pattern, * is a string of characters consisting of upper- and lower-case * alphanumeric characters with no spaces. You can also include any * of the following characters: =,.@- *

*/ public String getSerialNumber() { return serialNumber; } /** *

* The identification number of the MFA device that is associated with the * user who is making the AssumeRole call. Specify this value * if the trust policy of the role being assumed includes a condition that * requires MFA authentication. The value is either the serial number for a * hardware device (such as GAHT12345678) or an Amazon Resource * Name (ARN) for a virtual device (such as * arn:aws:iam::123456789012:mfa/user). *

*

* The format for this parameter, as described by its regex pattern, is a * string of characters consisting of upper- and lower-case alphanumeric * characters with no spaces. You can also include any of the following * characters: =,.@- *

*

* Constraints:
* Length: 9 - 256
* Pattern: [\w+=/:,.@-]*
* * @param serialNumber

* The identification number of the MFA device that is associated * with the user who is making the AssumeRole call. * Specify this value if the trust policy of the role being * assumed includes a condition that requires MFA authentication. * The value is either the serial number for a hardware device * (such as GAHT12345678) or an Amazon Resource Name * (ARN) for a virtual device (such as * arn:aws:iam::123456789012:mfa/user). *

*

* The format for this parameter, as described by its regex * pattern, is a string of characters consisting of upper- and * lower-case alphanumeric characters with no spaces. You can * also include any of the following characters: =,.@- *

*/ public void setSerialNumber(String serialNumber) { this.serialNumber = serialNumber; } /** *

* The identification number of the MFA device that is associated with the * user who is making the AssumeRole call. Specify this value * if the trust policy of the role being assumed includes a condition that * requires MFA authentication. The value is either the serial number for a * hardware device (such as GAHT12345678) or an Amazon Resource * Name (ARN) for a virtual device (such as * arn:aws:iam::123456789012:mfa/user). *

*

* The format for this parameter, as described by its regex pattern, is a * string of characters consisting of upper- and lower-case alphanumeric * characters with no spaces. You can also include any of the following * characters: =,.@- *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Length: 9 - 256
* Pattern: [\w+=/:,.@-]*
* * @param serialNumber

* The identification number of the MFA device that is associated * with the user who is making the AssumeRole call. * Specify this value if the trust policy of the role being * assumed includes a condition that requires MFA authentication. * The value is either the serial number for a hardware device * (such as GAHT12345678) or an Amazon Resource Name * (ARN) for a virtual device (such as * arn:aws:iam::123456789012:mfa/user). *

*

* The format for this parameter, as described by its regex * pattern, is a string of characters consisting of upper- and * lower-case alphanumeric characters with no spaces. You can * also include any of the following characters: =,.@- *

* @return A reference to this updated object so that method calls can be * chained together. */ public AssumeRoleRequest withSerialNumber(String serialNumber) { this.serialNumber = serialNumber; return this; } /** *

* The value provided by the MFA device, if the trust policy of the role * being assumed requires MFA (that is, if the policy includes a condition * that tests for MFA). If the role being assumed requires MFA and if the * TokenCode value is missing or expired, the * AssumeRole call returns an "access denied" error. *

*

* The format for this parameter, as described by its regex pattern, is a * sequence of six numeric digits. *

*

* Constraints:
* Length: 6 - 6
* Pattern: [\d]*
* * @return

* The value provided by the MFA device, if the trust policy of the * role being assumed requires MFA (that is, if the policy includes * a condition that tests for MFA). If the role being assumed * requires MFA and if the TokenCode value is missing * or expired, the AssumeRole call returns an * "access denied" error. *

*

* The format for this parameter, as described by its regex pattern, * is a sequence of six numeric digits. *

*/ public String getTokenCode() { return tokenCode; } /** *

* The value provided by the MFA device, if the trust policy of the role * being assumed requires MFA (that is, if the policy includes a condition * that tests for MFA). If the role being assumed requires MFA and if the * TokenCode value is missing or expired, the * AssumeRole call returns an "access denied" error. *

*

* The format for this parameter, as described by its regex pattern, is a * sequence of six numeric digits. *

*

* Constraints:
* Length: 6 - 6
* Pattern: [\d]*
* * @param tokenCode

* The value provided by the MFA device, if the trust policy of * the role being assumed requires MFA (that is, if the policy * includes a condition that tests for MFA). If the role being * assumed requires MFA and if the TokenCode value * is missing or expired, the AssumeRole call * returns an "access denied" error. *

*

* The format for this parameter, as described by its regex * pattern, is a sequence of six numeric digits. *

*/ public void setTokenCode(String tokenCode) { this.tokenCode = tokenCode; } /** *

* The value provided by the MFA device, if the trust policy of the role * being assumed requires MFA (that is, if the policy includes a condition * that tests for MFA). If the role being assumed requires MFA and if the * TokenCode value is missing or expired, the * AssumeRole call returns an "access denied" error. *

*

* The format for this parameter, as described by its regex pattern, is a * sequence of six numeric digits. *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Length: 6 - 6
* Pattern: [\d]*
* * @param tokenCode

* The value provided by the MFA device, if the trust policy of * the role being assumed requires MFA (that is, if the policy * includes a condition that tests for MFA). If the role being * assumed requires MFA and if the TokenCode value * is missing or expired, the AssumeRole call * returns an "access denied" error. *

*

* The format for this parameter, as described by its regex * pattern, is a sequence of six numeric digits. *

* @return A reference to this updated object so that method calls can be * chained together. */ public AssumeRoleRequest withTokenCode(String tokenCode) { this.tokenCode = tokenCode; return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getRoleArn() != null) sb.append("RoleArn: " + getRoleArn() + ","); if (getRoleSessionName() != null) sb.append("RoleSessionName: " + getRoleSessionName() + ","); if (getPolicy() != null) sb.append("Policy: " + getPolicy() + ","); if (getDurationSeconds() != null) sb.append("DurationSeconds: " + getDurationSeconds() + ","); if (getExternalId() != null) sb.append("ExternalId: " + getExternalId() + ","); if (getSerialNumber() != null) sb.append("SerialNumber: " + getSerialNumber() + ","); if (getTokenCode() != null) sb.append("TokenCode: " + getTokenCode()); sb.append("}"); return sb.toString(); } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getRoleArn() == null) ? 0 : getRoleArn().hashCode()); hashCode = prime * hashCode + ((getRoleSessionName() == null) ? 0 : getRoleSessionName().hashCode()); hashCode = prime * hashCode + ((getPolicy() == null) ? 0 : getPolicy().hashCode()); hashCode = prime * hashCode + ((getDurationSeconds() == null) ? 0 : getDurationSeconds().hashCode()); hashCode = prime * hashCode + ((getExternalId() == null) ? 0 : getExternalId().hashCode()); hashCode = prime * hashCode + ((getSerialNumber() == null) ? 0 : getSerialNumber().hashCode()); hashCode = prime * hashCode + ((getTokenCode() == null) ? 0 : getTokenCode().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof AssumeRoleRequest == false) return false; AssumeRoleRequest other = (AssumeRoleRequest) obj; if (other.getRoleArn() == null ^ this.getRoleArn() == null) return false; if (other.getRoleArn() != null && other.getRoleArn().equals(this.getRoleArn()) == false) return false; if (other.getRoleSessionName() == null ^ this.getRoleSessionName() == null) return false; if (other.getRoleSessionName() != null && other.getRoleSessionName().equals(this.getRoleSessionName()) == false) return false; if (other.getPolicy() == null ^ this.getPolicy() == null) return false; if (other.getPolicy() != null && other.getPolicy().equals(this.getPolicy()) == false) return false; if (other.getDurationSeconds() == null ^ this.getDurationSeconds() == null) return false; if (other.getDurationSeconds() != null && other.getDurationSeconds().equals(this.getDurationSeconds()) == false) return false; if (other.getExternalId() == null ^ this.getExternalId() == null) return false; if (other.getExternalId() != null && other.getExternalId().equals(this.getExternalId()) == false) return false; if (other.getSerialNumber() == null ^ this.getSerialNumber() == null) return false; if (other.getSerialNumber() != null && other.getSerialNumber().equals(this.getSerialNumber()) == false) return false; if (other.getTokenCode() == null ^ this.getTokenCode() == null) return false; if (other.getTokenCode() != null && other.getTokenCode().equals(this.getTokenCode()) == false) return false; return true; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy