/* * 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 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; } } }