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

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

/*
 * Copyright 2010-2016 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;

/**
 * 
 */
public class GetFederationTokenRequest extends AmazonWebServiceRequest
        implements Serializable, Cloneable {

    /**
     * 

* The name of the federated user. The name is used as an identifier for the * temporary security credentials (such as Bob). For example, * you can reference the federated user name in a resource-based policy, * such as in an Amazon S3 bucket policy. *

*

* 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: =,.@- *

*/ private String name; /** *

* An IAM policy in JSON format that is passed with the * GetFederationToken call and evaluated along with the policy * or policies that are attached to the IAM user whose credentials are used * to call GetFederationToken. The passed policy is used to * scope down the permissions that are available to the IAM user, by * allowing only a subset of the permissions that are granted to the IAM * user. The passed policy cannot grant more permissions than those granted * to the IAM user. The final permissions for the federated user are the * most restrictive set based on the intersection of the passed policy and * the IAM user policy. *

*

* If you do not pass a policy, the resulting temporary security credentials * have no effective permissions. The only exception is when the temporary * security credentials are used to access a resource that has a * resource-based policy that specifically allows the federated user to * access the resource. *

*

* 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. *

*
*

* For more information about how permissions work, see Permissions for GetFederationToken. *

*/ private String policy; /** *

* The duration, in seconds, that the session should last. Acceptable * durations for federation sessions range from 900 seconds (15 minutes) to * 129600 seconds (36 hours), with 43200 seconds (12 hours) as the default. * Sessions obtained using AWS account (root) credentials are restricted to * a maximum of 3600 seconds (one hour). If the specified duration is longer * than one hour, the session obtained by using AWS account (root) * credentials defaults to one hour. *

*/ private Integer durationSeconds; /** * Default constructor for GetFederationTokenRequest object. Callers should * use the setter or fluent setter (with...) methods to initialize the * object after creating it. */ public GetFederationTokenRequest() { } /** * Constructs a new GetFederationTokenRequest object. Callers should use the * setter or fluent setter (with...) methods to initialize any additional * object members. * * @param name * The name of the federated user. The name is used as an identifier * for the temporary security credentials (such as Bob). * For example, you can reference the federated user name in a * resource-based policy, such as in an Amazon S3 bucket policy.

*

* 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 GetFederationTokenRequest(String name) { setName(name); } /** *

* The name of the federated user. The name is used as an identifier for the * temporary security credentials (such as Bob). For example, * you can reference the federated user name in a resource-based policy, * such as in an Amazon S3 bucket policy. *

*

* 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: =,.@- *

* * @param name * The name of the federated user. The name is used as an identifier * for the temporary security credentials (such as Bob). * For example, you can reference the federated user name in a * resource-based policy, such as in an Amazon S3 bucket policy.

*

* 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 setName(String name) { this.name = name; } /** *

* The name of the federated user. The name is used as an identifier for the * temporary security credentials (such as Bob). For example, * you can reference the federated user name in a resource-based policy, * such as in an Amazon S3 bucket policy. *

*

* 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 The name of the federated user. The name is used as an identifier * for the temporary security credentials (such as Bob * ). For example, you can reference the federated user name in a * resource-based policy, such as in an Amazon S3 bucket policy.

*

* 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 getName() { return this.name; } /** *

* The name of the federated user. The name is used as an identifier for the * temporary security credentials (such as Bob). For example, * you can reference the federated user name in a resource-based policy, * such as in an Amazon S3 bucket policy. *

*

* 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: =,.@- *

* * @param name * The name of the federated user. The name is used as an identifier * for the temporary security credentials (such as Bob). * For example, you can reference the federated user name in a * resource-based policy, such as in an Amazon S3 bucket policy.

*

* 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 Returns a reference to this object so that method calls can be * chained together. */ public GetFederationTokenRequest withName(String name) { setName(name); return this; } /** *

* An IAM policy in JSON format that is passed with the * GetFederationToken call and evaluated along with the policy * or policies that are attached to the IAM user whose credentials are used * to call GetFederationToken. The passed policy is used to * scope down the permissions that are available to the IAM user, by * allowing only a subset of the permissions that are granted to the IAM * user. The passed policy cannot grant more permissions than those granted * to the IAM user. The final permissions for the federated user are the * most restrictive set based on the intersection of the passed policy and * the IAM user policy. *

*

* If you do not pass a policy, the resulting temporary security credentials * have no effective permissions. The only exception is when the temporary * security credentials are used to access a resource that has a * resource-based policy that specifically allows the federated user to * access the resource. *

*

* 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. *

*
*

* For more information about how permissions work, see Permissions for GetFederationToken. *

* * @param policy * An IAM policy in JSON format that is passed with the * GetFederationToken call and evaluated along with the * policy or policies that are attached to the IAM user whose * credentials are used to call GetFederationToken. The * passed policy is used to scope down the permissions that are * available to the IAM user, by allowing only a subset of the * permissions that are granted to the IAM user. The passed policy * cannot grant more permissions than those granted to the IAM user. * The final permissions for the federated user are the most * restrictive set based on the intersection of the passed policy and * the IAM user policy.

*

* If you do not pass a policy, the resulting temporary security * credentials have no effective permissions. The only exception is * when the temporary security credentials are used to access a * resource that has a resource-based policy that specifically allows * the federated user to access the resource. *

*

* 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. *

*
*

* For more information about how permissions work, see Permissions for GetFederationToken. */ public void setPolicy(String policy) { this.policy = policy; } /** *

* An IAM policy in JSON format that is passed with the * GetFederationToken call and evaluated along with the policy * or policies that are attached to the IAM user whose credentials are used * to call GetFederationToken. The passed policy is used to * scope down the permissions that are available to the IAM user, by * allowing only a subset of the permissions that are granted to the IAM * user. The passed policy cannot grant more permissions than those granted * to the IAM user. The final permissions for the federated user are the * most restrictive set based on the intersection of the passed policy and * the IAM user policy. *

*

* If you do not pass a policy, the resulting temporary security credentials * have no effective permissions. The only exception is when the temporary * security credentials are used to access a resource that has a * resource-based policy that specifically allows the federated user to * access the resource. *

*

* 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. *

*
*

* For more information about how permissions work, see Permissions for GetFederationToken. *

* * @return An IAM policy in JSON format that is passed with the * GetFederationToken call and evaluated along with the * policy or policies that are attached to the IAM user whose * credentials are used to call GetFederationToken. The * passed policy is used to scope down the permissions that are * available to the IAM user, by allowing only a subset of the * permissions that are granted to the IAM user. The passed policy * cannot grant more permissions than those granted to the IAM user. * The final permissions for the federated user are the most * restrictive set based on the intersection of the passed policy * and the IAM user policy.

*

* If you do not pass a policy, the resulting temporary security * credentials have no effective permissions. The only exception is * when the temporary security credentials are used to access a * resource that has a resource-based policy that specifically * allows the federated user to access the resource. *

*

* 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. *

*
*

* For more information about how permissions work, see Permissions for GetFederationToken. */ public String getPolicy() { return this.policy; } /** *

* An IAM policy in JSON format that is passed with the * GetFederationToken call and evaluated along with the policy * or policies that are attached to the IAM user whose credentials are used * to call GetFederationToken. The passed policy is used to * scope down the permissions that are available to the IAM user, by * allowing only a subset of the permissions that are granted to the IAM * user. The passed policy cannot grant more permissions than those granted * to the IAM user. The final permissions for the federated user are the * most restrictive set based on the intersection of the passed policy and * the IAM user policy. *

*

* If you do not pass a policy, the resulting temporary security credentials * have no effective permissions. The only exception is when the temporary * security credentials are used to access a resource that has a * resource-based policy that specifically allows the federated user to * access the resource. *

*

* 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. *

*
*

* For more information about how permissions work, see Permissions for GetFederationToken. *

* * @param policy * An IAM policy in JSON format that is passed with the * GetFederationToken call and evaluated along with the * policy or policies that are attached to the IAM user whose * credentials are used to call GetFederationToken. The * passed policy is used to scope down the permissions that are * available to the IAM user, by allowing only a subset of the * permissions that are granted to the IAM user. The passed policy * cannot grant more permissions than those granted to the IAM user. * The final permissions for the federated user are the most * restrictive set based on the intersection of the passed policy and * the IAM user policy.

*

* If you do not pass a policy, the resulting temporary security * credentials have no effective permissions. The only exception is * when the temporary security credentials are used to access a * resource that has a resource-based policy that specifically allows * the federated user to access the resource. *

*

* 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. *

*
*

* For more information about how permissions work, see Permissions for GetFederationToken. * @return Returns a reference to this object so that method calls can be * chained together. */ public GetFederationTokenRequest withPolicy(String policy) { setPolicy(policy); return this; } /** *

* The duration, in seconds, that the session should last. Acceptable * durations for federation sessions range from 900 seconds (15 minutes) to * 129600 seconds (36 hours), with 43200 seconds (12 hours) as the default. * Sessions obtained using AWS account (root) credentials are restricted to * a maximum of 3600 seconds (one hour). If the specified duration is longer * than one hour, the session obtained by using AWS account (root) * credentials defaults to one hour. *

* * @param durationSeconds * The duration, in seconds, that the session should last. Acceptable * durations for federation sessions range from 900 seconds (15 * minutes) to 129600 seconds (36 hours), with 43200 seconds (12 * hours) as the default. Sessions obtained using AWS account (root) * credentials are restricted to a maximum of 3600 seconds (one * hour). If the specified duration is longer than one hour, the * session obtained by using AWS account (root) credentials defaults * to one hour. */ public void setDurationSeconds(Integer durationSeconds) { this.durationSeconds = durationSeconds; } /** *

* The duration, in seconds, that the session should last. Acceptable * durations for federation sessions range from 900 seconds (15 minutes) to * 129600 seconds (36 hours), with 43200 seconds (12 hours) as the default. * Sessions obtained using AWS account (root) credentials are restricted to * a maximum of 3600 seconds (one hour). If the specified duration is longer * than one hour, the session obtained by using AWS account (root) * credentials defaults to one hour. *

* * @return The duration, in seconds, that the session should last. * Acceptable durations for federation sessions range from 900 * seconds (15 minutes) to 129600 seconds (36 hours), with 43200 * seconds (12 hours) as the default. Sessions obtained using AWS * account (root) credentials are restricted to a maximum of 3600 * seconds (one hour). If the specified duration is longer than one * hour, the session obtained by using AWS account (root) * credentials defaults to one hour. */ public Integer getDurationSeconds() { return this.durationSeconds; } /** *

* The duration, in seconds, that the session should last. Acceptable * durations for federation sessions range from 900 seconds (15 minutes) to * 129600 seconds (36 hours), with 43200 seconds (12 hours) as the default. * Sessions obtained using AWS account (root) credentials are restricted to * a maximum of 3600 seconds (one hour). If the specified duration is longer * than one hour, the session obtained by using AWS account (root) * credentials defaults to one hour. *

* * @param durationSeconds * The duration, in seconds, that the session should last. Acceptable * durations for federation sessions range from 900 seconds (15 * minutes) to 129600 seconds (36 hours), with 43200 seconds (12 * hours) as the default. Sessions obtained using AWS account (root) * credentials are restricted to a maximum of 3600 seconds (one * hour). If the specified duration is longer than one hour, the * session obtained by using AWS account (root) credentials defaults * to one hour. * @return Returns a reference to this object so that method calls can be * chained together. */ public GetFederationTokenRequest withDurationSeconds(Integer durationSeconds) { setDurationSeconds(durationSeconds); 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 (getName() != null) sb.append("Name: " + getName() + ","); if (getPolicy() != null) sb.append("Policy: " + getPolicy() + ","); if (getDurationSeconds() != null) sb.append("DurationSeconds: " + getDurationSeconds()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof GetFederationTokenRequest == false) return false; GetFederationTokenRequest other = (GetFederationTokenRequest) obj; if (other.getName() == null ^ this.getName() == null) return false; if (other.getName() != null && other.getName().equals(this.getName()) == 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; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode()); hashCode = prime * hashCode + ((getPolicy() == null) ? 0 : getPolicy().hashCode()); hashCode = prime * hashCode + ((getDurationSeconds() == null) ? 0 : getDurationSeconds() .hashCode()); return hashCode; } @Override public GetFederationTokenRequest clone() { return (GetFederationTokenRequest) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy