/*
* 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 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 Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.IdentityManagement.Model
{
///
/// Container for the parameters to the GenerateServiceLastAccessedDetails operation.
/// Generates a report that includes details about when an IAM resource (user, group,
/// role, or policy) was last used in an attempt to access AWS services. Recent activity
/// usually appears within four hours. IAM reports activity for the last 365 days, or
/// less if your Region began supporting this feature within the last year. For more information,
/// see Regions
/// Where Data Is Tracked.
///
///
///
/// The service last accessed data includes all attempts to access an AWS API, not just
/// the successful ones. This includes all attempts that were made using the AWS Management
/// Console, the AWS API through any of the SDKs, or any of the command line tools. An
/// unexpected entry in the service last accessed data does not mean that your account
/// has been compromised, because the request might have been denied. Refer to your CloudTrail
/// logs as the authoritative source for information about all API calls and whether they
/// were successful or denied access. For more information, see Logging
/// IAM Events with CloudTrail in the IAM User Guide.
///
///
///
/// The GenerateServiceLastAccessedDetails
operation returns a JobId
.
/// Use this parameter in the following operations to retrieve the following details from
/// your report:
///
/// -
///
/// GetServiceLastAccessedDetails – Use this operation for users, groups, roles,
/// or policies to list every AWS service that the resource could access using permissions
/// policies. For each service, the response includes information about the most recent
/// access attempt.
///
///
-
///
/// GetServiceLastAccessedDetailsWithEntities – Use this operation for groups
/// and policies to list information about the associated entities (users or roles) that
/// attempted to access a specific AWS service.
///
///
///
/// To check the status of the GenerateServiceLastAccessedDetails
request,
/// use the JobId
parameter in the same operations and test the JobStatus
/// response parameter.
///
///
///
/// For additional information about the permissions policies that allow an identity (user,
/// group, or role) to access specific services, use the ListPoliciesGrantingServiceAccess
/// operation.
///
///
///
/// Service last accessed data does not use other policy types when determining whether
/// a resource could access a service. These other policy types include resource-based
/// policies, access control lists, AWS Organizations policies, IAM permissions boundaries,
/// and AWS STS assume role policies. It only applies permissions policy logic. For more
/// about the evaluation of policy types, see Evaluating
/// Policies in the IAM User Guide.
///
///
///
/// For more information about service last accessed data, see Reducing
/// Policy Scope by Viewing User Activity in the IAM User Guide.
///
///
public partial class GenerateServiceLastAccessedDetailsRequest : AmazonIdentityManagementServiceRequest
{
private string _arn;
///
/// Gets and sets the property Arn.
///
/// The ARN of the IAM resource (user, group, role, or managed policy) used to generate
/// information about when the resource was last used in an attempt to access an AWS service.
///
///
[AWSProperty(Required=true, Min=20, Max=2048)]
public string Arn
{
get { return this._arn; }
set { this._arn = value; }
}
// Check to see if Arn property is set
internal bool IsSetArn()
{
return this._arn != null;
}
}
}