/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the sts-2011-06-15.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.SecurityToken.Model
{
///
/// Contains the response to a successful AssumeRole request, including temporary
/// Amazon Web Services credentials that can be used to make Amazon Web Services requests.
///
public partial class AssumeRoleResponse : AmazonWebServiceResponse
{
private AssumedRoleUser _assumedRoleUser;
private Credentials _credentials;
private int? _packedPolicySize;
private string _sourceIdentity;
///
/// Gets and sets the property AssumedRoleUser.
///
/// The Amazon Resource Name (ARN) and the assumed role ID, which are identifiers that
/// you can use to refer to the resulting temporary security credentials. For example,
/// you can reference these credentials as a principal in a resource-based policy by using
/// the ARN or assumed role ID. The ARN and ID include the RoleSessionName
/// that you specified when you called AssumeRole
.
///
///
public AssumedRoleUser AssumedRoleUser
{
get { return this._assumedRoleUser; }
set { this._assumedRoleUser = value; }
}
// Check to see if AssumedRoleUser property is set
internal bool IsSetAssumedRoleUser()
{
return this._assumedRoleUser != null;
}
///
/// Gets and sets the property 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.
///
///
///
public Credentials Credentials
{
get { return this._credentials; }
set { this._credentials = value; }
}
// Check to see if Credentials property is set
internal bool IsSetCredentials()
{
return this._credentials != null;
}
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Min=0)]
public int PackedPolicySize
{
get { return this._packedPolicySize.GetValueOrDefault(); }
set { this._packedPolicySize = value; }
}
// Check to see if PackedPolicySize property is set
internal bool IsSetPackedPolicySize()
{
return this._packedPolicySize.HasValue;
}
///
/// Gets and sets the property 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: =,.@-
///
///
[AWSProperty(Min=2, Max=64)]
public string SourceIdentity
{
get { return this._sourceIdentity; }
set { this._sourceIdentity = value; }
}
// Check to see if SourceIdentity property is set
internal bool IsSetSourceIdentity()
{
return this._sourceIdentity != null;
}
}
}