/*
* 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.
*/
/*
* 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 Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.SecurityToken.Model
{
///
/// Contains the response to a successful AssumeRoleWithSAML request, including
/// temporary AWS credentials that can be used to make AWS requests.
///
public partial class AssumeRoleWithSAMLResponse : AmazonWebServiceResponse
{
private AssumedRoleUser _assumedRoleUser;
private string _audience;
private Credentials _credentials;
private string _issuer;
private string _nameQualifier;
private int? _packedPolicySize;
private string _subject;
private string _subjectType;
///
/// Gets and sets the property AssumedRoleUser.
///
/// The identifiers for the temporary security credentials that the operation returns.
///
///
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 Audience.
///
/// The value of the Recipient
attribute of the SubjectConfirmationData
/// element of the SAML assertion.
///
///
public string Audience
{
get { return this._audience; }
set { this._audience = value; }
}
// Check to see if Audience property is set
internal bool IsSetAudience()
{
return this._audience != 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 Issuer.
///
/// The value of the Issuer
element of the SAML assertion.
///
///
public string Issuer
{
get { return this._issuer; }
set { this._issuer = value; }
}
// Check to see if Issuer property is set
internal bool IsSetIssuer()
{
return this._issuer != null;
}
///
/// Gets and sets the property NameQualifier.
///
/// A hash value based on the concatenation of the Issuer
response value,
/// the AWS account ID, and the friendly name (the last part of the ARN) of the SAML provider
/// in IAM. The combination of NameQualifier
and Subject
can
/// be used to uniquely identify a federated user.
///
///
///
/// The following pseudocode shows how the hash value is calculated:
///
///
///
/// BASE64 ( SHA1 ( "https://example.com/saml" + "123456789012" + "/MySAMLIdP"
/// ) )
///
///
public string NameQualifier
{
get { return this._nameQualifier; }
set { this._nameQualifier = value; }
}
// Check to see if NameQualifier property is set
internal bool IsSetNameQualifier()
{
return this._nameQualifier != 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 Subject.
///
/// The value of the NameID
element in the Subject
element of
/// the SAML assertion.
///
///
public string Subject
{
get { return this._subject; }
set { this._subject = value; }
}
// Check to see if Subject property is set
internal bool IsSetSubject()
{
return this._subject != null;
}
///
/// Gets and sets the property SubjectType.
///
/// The format of the name ID, as defined by the Format
attribute in the
/// NameID
element of the SAML assertion. Typical examples of the format
/// are transient
or persistent
.
///
///
///
/// If the format includes the prefix urn:oasis:names:tc:SAML:2.0:nameid-format
,
/// that prefix is removed. For example, urn:oasis:names:tc:SAML:2.0:nameid-format:transient
/// is returned as transient
. If the format includes any other prefix, the
/// format is returned with no modifications.
///
///
public string SubjectType
{
get { return this._subjectType; }
set { this._subjectType = value; }
}
// Check to see if SubjectType property is set
internal bool IsSetSubjectType()
{
return this._subjectType != null;
}
}
}