/*
* 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 iam-2010-05-08.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.IdentityManagement.Model
{
///
/// An object that contains details about when a principal in the reported Organizations
/// entity last attempted to access an Amazon Web Services service. A principal can be
/// an IAM user, an IAM role, or the Amazon Web Services account root user within the
/// reported Organizations entity.
///
///
///
/// This data type is a response element in the GetOrganizationsAccessReport operation.
///
///
public partial class AccessDetail
{
private string _entityPath;
private DateTime? _lastAuthenticatedTime;
private string _region;
private string _serviceName;
private string _serviceNamespace;
private int? _totalAuthenticatedEntities;
///
/// Gets and sets the property EntityPath.
///
/// The path of the Organizations entity (root, organizational unit, or account) from
/// which an authenticated principal last attempted to access the service. Amazon Web
/// Services does not report unauthenticated requests.
///
///
///
/// This field is null if no principals (IAM users, IAM roles, or root user) in the reported
/// Organizations entity attempted to access the service within the tracking
/// period.
///
///
[AWSProperty(Min=19, Max=427)]
public string EntityPath
{
get { return this._entityPath; }
set { this._entityPath = value; }
}
// Check to see if EntityPath property is set
internal bool IsSetEntityPath()
{
return this._entityPath != null;
}
///
/// Gets and sets the property LastAuthenticatedTime.
///
/// The date and time, in ISO 8601 date-time
/// format, when an authenticated principal most recently attempted to access the
/// service. Amazon Web Services does not report unauthenticated requests.
///
///
///
/// This field is null if no principals in the reported Organizations entity attempted
/// to access the service within the tracking
/// period.
///
///
public DateTime LastAuthenticatedTime
{
get { return this._lastAuthenticatedTime.GetValueOrDefault(); }
set { this._lastAuthenticatedTime = value; }
}
// Check to see if LastAuthenticatedTime property is set
internal bool IsSetLastAuthenticatedTime()
{
return this._lastAuthenticatedTime.HasValue;
}
///
/// Gets and sets the property Region.
///
/// The Region where the last service access attempt occurred.
///
///
///
/// This field is null if no principals in the reported Organizations entity attempted
/// to access the service within the tracking
/// period.
///
///
public string Region
{
get { return this._region; }
set { this._region = value; }
}
// Check to see if Region property is set
internal bool IsSetRegion()
{
return this._region != null;
}
///
/// Gets and sets the property ServiceName.
///
/// The name of the service in which access was attempted.
///
///
[AWSProperty(Required=true)]
public string ServiceName
{
get { return this._serviceName; }
set { this._serviceName = value; }
}
// Check to see if ServiceName property is set
internal bool IsSetServiceName()
{
return this._serviceName != null;
}
///
/// Gets and sets the property ServiceNamespace.
///
/// The namespace of the service in which access was attempted.
///
///
///
/// To learn the service namespace of a service, see Actions,
/// resources, and condition keys for Amazon Web Services services in the Service
/// Authorization Reference. Choose the name of the service to view details for that
/// service. In the first paragraph, find the service prefix. For example, (service
/// prefix: a4b)
. For more information about service namespaces, see Amazon
/// Web Services service namespaces in the Amazon Web Services General Reference.
///
///
[AWSProperty(Required=true, Min=1, Max=64)]
public string ServiceNamespace
{
get { return this._serviceNamespace; }
set { this._serviceNamespace = value; }
}
// Check to see if ServiceNamespace property is set
internal bool IsSetServiceNamespace()
{
return this._serviceNamespace != null;
}
///
/// Gets and sets the property TotalAuthenticatedEntities.
///
/// The number of accounts with authenticated principals (root user, IAM users, and IAM
/// roles) that attempted to access the service in the tracking period.
///
///
public int TotalAuthenticatedEntities
{
get { return this._totalAuthenticatedEntities.GetValueOrDefault(); }
set { this._totalAuthenticatedEntities = value; }
}
// Check to see if TotalAuthenticatedEntities property is set
internal bool IsSetTotalAuthenticatedEntities()
{
return this._totalAuthenticatedEntities.HasValue;
}
}
}