/*
* 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 AssumeRoleWithSAML request, including
/// temporary Amazon Web Services credentials that can be used to make Amazon Web Services
/// 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 _sourceIdentity;
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 following:
///
/// -
///
/// The
Issuer
response value.
///
/// -
///
/// The Amazon Web Services account ID.
///
///
-
///
/// 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 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 SourceIdentity.
///
/// The value in the SourceIdentity
attribute in the SAML assertion.
///
///
///
/// You can require users to set a source identity value when they assume a role. You
/// do this by using the sts:SourceIdentity
condition key in a role trust
/// policy. That way, actions that are taken with the role are associated with that user.
/// After the source identity is set, the value cannot be changed. It is present in the
/// request for all actions that are taken by the role and persists across chained
/// role sessions. You can configure your SAML identity provider to use an attribute
/// associated with your users, like user name or email, as the source identity when calling
/// AssumeRoleWithSAML
. You do this by adding an attribute to the SAML assertion.
/// 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;
}
///
/// 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;
}
}
}