/* * 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 ListPolicies operation. /// Lists all the managed policies that are available in your AWS account, including your /// own customer-defined managed policies and all AWS managed policies. /// /// /// /// You can filter the list of policies that is returned using the optional OnlyAttached, /// Scope, and PathPrefix parameters. For example, to list only /// the customer managed policies in your AWS account, set Scope to Local. /// To list only AWS managed policies, set Scope to AWS. /// /// /// /// You can paginate the results using the MaxItems and Marker /// parameters. /// /// /// /// For more information about managed policies, see Managed /// Policies and Inline Policies in the IAM User Guide. /// /// public partial class ListPoliciesRequest : AmazonIdentityManagementServiceRequest { private string _marker; private int? _maxItems; private bool? _onlyAttached; private string _pathPrefix; private PolicyUsageType _policyUsageFilter; private PolicyScopeType _scope; /// /// Gets and sets the property Marker. /// /// Use this parameter only when paginating results and only after you receive a response /// indicating that the results are truncated. Set it to the value of the Marker /// element in the response that you received to indicate where the next call should start. /// /// [AWSProperty(Min=1, Max=320)] public string Marker { get { return this._marker; } set { this._marker = value; } } // Check to see if Marker property is set internal bool IsSetMarker() { return this._marker != null; } /// /// Gets and sets the property MaxItems. /// /// Use this only when paginating results to indicate the maximum number of items you /// want in the response. If additional items exist beyond the maximum you specify, the /// IsTruncated response element is true. /// /// /// /// If you do not include this parameter, the number of items defaults to 100. Note that /// IAM might return fewer results, even when there are more results available. In that /// case, the IsTruncated response element returns true, and /// Marker contains a value to include in the subsequent call that tells /// the service where to continue from. /// /// [AWSProperty(Min=1, Max=1000)] public int MaxItems { get { return this._maxItems.GetValueOrDefault(); } set { this._maxItems = value; } } // Check to see if MaxItems property is set internal bool IsSetMaxItems() { return this._maxItems.HasValue; } /// /// Gets and sets the property OnlyAttached. /// /// A flag to filter the results to only the attached policies. /// /// /// /// When OnlyAttached is true, the returned list contains only /// the policies that are attached to an IAM user, group, or role. When OnlyAttached /// is false, or when the parameter is not included, all policies are returned. /// /// public bool OnlyAttached { get { return this._onlyAttached.GetValueOrDefault(); } set { this._onlyAttached = value; } } // Check to see if OnlyAttached property is set internal bool IsSetOnlyAttached() { return this._onlyAttached.HasValue; } /// /// Gets and sets the property PathPrefix. /// /// The path prefix for filtering the results. This parameter is optional. If it is not /// included, it defaults to a slash (/), listing all policies. This parameter allows /// (through its regex pattern) a string /// of characters consisting of either a forward slash (/) by itself or a string that /// must begin and end with forward slashes. In addition, it can contain any ASCII character /// from the ! (\u0021) through the DEL character (\u007F), /// including most punctuation characters, digits, and upper and lowercased letters. /// /// [AWSProperty(Min=1, Max=512)] public string PathPrefix { get { return this._pathPrefix; } set { this._pathPrefix = value; } } // Check to see if PathPrefix property is set internal bool IsSetPathPrefix() { return this._pathPrefix != null; } /// /// Gets and sets the property PolicyUsageFilter. /// /// The policy usage method to use for filtering the results. /// /// /// /// To list only permissions policies, set PolicyUsageFilter to PermissionsPolicy. /// To list only the policies used to set permissions boundaries, set the value to PermissionsBoundary. /// /// /// /// This parameter is optional. If it is not included, all policies are returned. /// /// public PolicyUsageType PolicyUsageFilter { get { return this._policyUsageFilter; } set { this._policyUsageFilter = value; } } // Check to see if PolicyUsageFilter property is set internal bool IsSetPolicyUsageFilter() { return this._policyUsageFilter != null; } /// /// Gets and sets the property Scope. /// /// The scope to use for filtering the results. /// /// /// /// To list only AWS managed policies, set Scope to AWS. To /// list only the customer managed policies in your AWS account, set Scope /// to Local. /// /// /// /// This parameter is optional. If it is not included, or if it is set to All, /// all policies are returned. /// /// public PolicyScopeType Scope { get { return this._scope; } set { this._scope = value; } } // Check to see if Scope property is set internal bool IsSetScope() { return this._scope != null; } } }