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

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

Go to download

The Amazon Web Services SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

The newest version!
/*
 * Copyright 2010-2014 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;

/**
 * Container for the parameters to the {@link com.amazonaws.services.securitytoken.AWSSecurityTokenService#getSessionToken(GetSessionTokenRequest) GetSessionToken operation}.
 * 

* Returns a set of temporary credentials for an AWS account or IAM * user. The credentials consist of an access key ID, a secret access * key, and a security token. Typically, you use * GetSessionToken if you want use MFA to protect * programmatic calls to specific AWS APIs like Amazon EC2 * StopInstances . MFA-enabled IAM users would need to call * GetSessionToken and submit an MFA code that is associated * with their MFA device. Using the temporary security credentials that * are returned from the call, IAM users can then make programmatic calls * to APIs that require MFA authentication. *

*

* The GetSessionToken action must be called by using the * long-term AWS security credentials of the AWS account or an IAM user. * Credentials that are created by IAM users are valid for the duration * that you specify, between 900 seconds (15 minutes) and 129600 seconds * (36 hours); credentials that are created by using account credentials * have a maximum duration of 3600 seconds (1 hour). *

*

* The permissions associated with the temporary security credentials * returned by GetSessionToken are based on the permissions * associated with account or IAM user whose credentials are used to call * the action. If GetSessionToken is called using root * account credentials, the temporary credentials have root account * permissions. Similarly, if GetSessionToken is called * using the credentials of an IAM user, the temporary credentials have * the same permissions as the IAM user. *

*

* For more information about using GetSessionToken to * create temporary credentials, go to * Creating Temporary Credentials to Enable Access for IAM Users * in Using IAM . * *

* * @see com.amazonaws.services.securitytoken.AWSSecurityTokenService#getSessionToken(GetSessionTokenRequest) */ public class GetSessionTokenRequest extends AmazonWebServiceRequest implements Serializable { /** * The duration, in seconds, that the credentials should remain valid. * Acceptable durations for IAM user sessions range from 900 seconds (15 * minutes) to 129600 seconds (36 hours), with 43200 seconds (12 hours) * as the default. Sessions for AWS account owners are restricted to a * maximum of 3600 seconds (one hour). If the duration is longer than one * hour, the session for AWS account owners defaults to one hour. *

* Constraints:
* Range: 900 - 129600
*/ private Integer durationSeconds; /** * The identification number of the MFA device that is associated with * the IAM user who is making the GetSessionToken call. * Specify this value if the IAM user has a policy 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). You can find the * device for an IAM user by going to the AWS Management Console and * viewing the user's security credentials. *

* Constraints:
* Length: 9 - 256
* Pattern: [\w+=/:,.@-]*
*/ private String serialNumber; /** * The value provided by the MFA device, if MFA is required. If any * policy requires the IAM user to submit an MFA code, specify this * value. If MFA authentication is required, and the user does not * provide a code when requesting a set of temporary security * credentials, the user will receive an "access denied" response when * requesting resources that require MFA authentication. *

* Constraints:
* Length: 6 - 6
* Pattern: [\d]*
*/ private String tokenCode; /** * Default constructor for a new GetSessionTokenRequest object. Callers should use the * setter or fluent setter (with...) methods to initialize this object after creating it. */ public GetSessionTokenRequest() {} /** * The duration, in seconds, that the credentials should remain valid. * Acceptable durations for IAM user sessions range from 900 seconds (15 * minutes) to 129600 seconds (36 hours), with 43200 seconds (12 hours) * as the default. Sessions for AWS account owners are restricted to a * maximum of 3600 seconds (one hour). If the duration is longer than one * hour, the session for AWS account owners defaults to one hour. *

* Constraints:
* Range: 900 - 129600
* * @return The duration, in seconds, that the credentials should remain valid. * Acceptable durations for IAM user sessions range from 900 seconds (15 * minutes) to 129600 seconds (36 hours), with 43200 seconds (12 hours) * as the default. Sessions for AWS account owners are restricted to a * maximum of 3600 seconds (one hour). If the duration is longer than one * hour, the session for AWS account owners defaults to one hour. */ public Integer getDurationSeconds() { return durationSeconds; } /** * The duration, in seconds, that the credentials should remain valid. * Acceptable durations for IAM user sessions range from 900 seconds (15 * minutes) to 129600 seconds (36 hours), with 43200 seconds (12 hours) * as the default. Sessions for AWS account owners are restricted to a * maximum of 3600 seconds (one hour). If the duration is longer than one * hour, the session for AWS account owners defaults to one hour. *

* Constraints:
* Range: 900 - 129600
* * @param durationSeconds The duration, in seconds, that the credentials should remain valid. * Acceptable durations for IAM user sessions range from 900 seconds (15 * minutes) to 129600 seconds (36 hours), with 43200 seconds (12 hours) * as the default. Sessions for AWS account owners are restricted to a * maximum of 3600 seconds (one hour). If the duration is longer than one * hour, the session for AWS account owners defaults to one hour. */ public void setDurationSeconds(Integer durationSeconds) { this.durationSeconds = durationSeconds; } /** * The duration, in seconds, that the credentials should remain valid. * Acceptable durations for IAM user sessions range from 900 seconds (15 * minutes) to 129600 seconds (36 hours), with 43200 seconds (12 hours) * as the default. Sessions for AWS account owners are restricted to a * maximum of 3600 seconds (one hour). If the duration is longer than one * hour, the session for AWS account owners defaults to one hour. *

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

* Constraints:
* Range: 900 - 129600
* * @param durationSeconds The duration, in seconds, that the credentials should remain valid. * Acceptable durations for IAM user sessions range from 900 seconds (15 * minutes) to 129600 seconds (36 hours), with 43200 seconds (12 hours) * as the default. Sessions for AWS account owners are restricted to a * maximum of 3600 seconds (one hour). If the duration is longer than one * hour, the session for AWS account owners defaults to one hour. * * @return A reference to this updated object so that method calls can be chained * together. */ public GetSessionTokenRequest withDurationSeconds(Integer durationSeconds) { this.durationSeconds = durationSeconds; return this; } /** * The identification number of the MFA device that is associated with * the IAM user who is making the GetSessionToken call. * Specify this value if the IAM user has a policy 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). You can find the * device for an IAM user by going to the AWS Management Console and * viewing the user's security credentials. *

* Constraints:
* Length: 9 - 256
* Pattern: [\w+=/:,.@-]*
* * @return The identification number of the MFA device that is associated with * the IAM user who is making the GetSessionToken call. * Specify this value if the IAM user has a policy 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). You can find the * device for an IAM user by going to the AWS Management Console and * viewing the user's security credentials. */ public String getSerialNumber() { return serialNumber; } /** * The identification number of the MFA device that is associated with * the IAM user who is making the GetSessionToken call. * Specify this value if the IAM user has a policy 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). You can find the * device for an IAM user by going to the AWS Management Console and * viewing the user's security credentials. *

* Constraints:
* Length: 9 - 256
* Pattern: [\w+=/:,.@-]*
* * @param serialNumber The identification number of the MFA device that is associated with * the IAM user who is making the GetSessionToken call. * Specify this value if the IAM user has a policy 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). You can find the * device for an IAM user by going to the AWS Management Console and * viewing the user's security credentials. */ public void setSerialNumber(String serialNumber) { this.serialNumber = serialNumber; } /** * The identification number of the MFA device that is associated with * the IAM user who is making the GetSessionToken call. * Specify this value if the IAM user has a policy 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). You can find the * device for an IAM user by going to the AWS Management Console and * viewing the user's security credentials. *

* 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 IAM user who is making the GetSessionToken call. * Specify this value if the IAM user has a policy 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). You can find the * device for an IAM user by going to the AWS Management Console and * viewing the user's security credentials. * * @return A reference to this updated object so that method calls can be chained * together. */ public GetSessionTokenRequest withSerialNumber(String serialNumber) { this.serialNumber = serialNumber; return this; } /** * The value provided by the MFA device, if MFA is required. If any * policy requires the IAM user to submit an MFA code, specify this * value. If MFA authentication is required, and the user does not * provide a code when requesting a set of temporary security * credentials, the user will receive an "access denied" response when * requesting resources that require MFA authentication. *

* Constraints:
* Length: 6 - 6
* Pattern: [\d]*
* * @return The value provided by the MFA device, if MFA is required. If any * policy requires the IAM user to submit an MFA code, specify this * value. If MFA authentication is required, and the user does not * provide a code when requesting a set of temporary security * credentials, the user will receive an "access denied" response when * requesting resources that require MFA authentication. */ public String getTokenCode() { return tokenCode; } /** * The value provided by the MFA device, if MFA is required. If any * policy requires the IAM user to submit an MFA code, specify this * value. If MFA authentication is required, and the user does not * provide a code when requesting a set of temporary security * credentials, the user will receive an "access denied" response when * requesting resources that require MFA authentication. *

* Constraints:
* Length: 6 - 6
* Pattern: [\d]*
* * @param tokenCode The value provided by the MFA device, if MFA is required. If any * policy requires the IAM user to submit an MFA code, specify this * value. If MFA authentication is required, and the user does not * provide a code when requesting a set of temporary security * credentials, the user will receive an "access denied" response when * requesting resources that require MFA authentication. */ public void setTokenCode(String tokenCode) { this.tokenCode = tokenCode; } /** * The value provided by the MFA device, if MFA is required. If any * policy requires the IAM user to submit an MFA code, specify this * value. If MFA authentication is required, and the user does not * provide a code when requesting a set of temporary security * credentials, the user will receive an "access denied" response when * requesting resources that require MFA authentication. *

* 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 MFA is required. If any * policy requires the IAM user to submit an MFA code, specify this * value. If MFA authentication is required, and the user does not * provide a code when requesting a set of temporary security * credentials, the user will receive an "access denied" response when * requesting resources that require MFA authentication. * * @return A reference to this updated object so that method calls can be chained * together. */ public GetSessionTokenRequest 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 (getDurationSeconds() != null) sb.append("DurationSeconds: " + getDurationSeconds() + ","); 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 + ((getDurationSeconds() == null) ? 0 : getDurationSeconds().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 GetSessionTokenRequest == false) return false; GetSessionTokenRequest other = (GetSessionTokenRequest)obj; if (other.getDurationSeconds() == null ^ this.getDurationSeconds() == null) return false; if (other.getDurationSeconds() != null && other.getDurationSeconds().equals(this.getDurationSeconds()) == 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 - 2025 Weber Informatics LLC | Privacy Policy