/* * 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 PutRolePolicy operation. /// Adds or updates an inline policy document that is embedded in the specified IAM role. /// /// /// /// When you embed an inline policy in a role, the inline policy is used as part of the /// role's access (permissions) policy. The role's trust policy is created at the same /// time as the role, using CreateRole. You can update a role's trust policy using /// UpdateAssumeRolePolicy. For more information about IAM roles, go to Using /// Roles to Delegate Permissions and Federate Identities. /// /// /// /// A role can also have a managed policy attached to it. To attach a managed policy to /// a role, use AttachRolePolicy. To create a new managed policy, use CreatePolicy. /// For information about policies, see Managed /// Policies and Inline Policies in the IAM User Guide. /// /// /// /// For information about limits on the number of inline policies that you can embed with /// a role, see Limitations /// on IAM Entities in the IAM User Guide. /// /// /// /// Because policy documents can be large, you should use POST rather than GET when calling /// PutRolePolicy. For general information about using the Query API with /// IAM, go to Making /// Query Requests in the IAM User Guide. /// /// /// public partial class PutRolePolicyRequest : AmazonIdentityManagementServiceRequest { private string _policyDocument; private string _policyName; private string _roleName; /// /// Gets and sets the property PolicyDocument. /// /// The policy document. /// /// /// /// You must provide policies in JSON format in IAM. However, for AWS CloudFormation templates /// formatted in YAML, you can provide the policy in JSON or YAML format. AWS CloudFormation /// always converts a YAML policy to JSON format before submitting it to IAM. /// /// /// /// The regex pattern used to validate this /// parameter is a string of characters consisting of the following: /// /// /// [AWSProperty(Required=true, Min=1, Max=131072)] public string PolicyDocument { get { return this._policyDocument; } set { this._policyDocument = value; } } // Check to see if PolicyDocument property is set internal bool IsSetPolicyDocument() { return this._policyDocument != null; } /// /// Gets and sets the property PolicyName. /// /// The name of the policy document. /// /// /// /// This parameter allows (through its regex /// pattern) a string of characters consisting of upper and lowercase alphanumeric /// characters with no spaces. You can also include any of the following characters: _+=,.@- /// /// [AWSProperty(Required=true, Min=1, Max=128)] public string PolicyName { get { return this._policyName; } set { this._policyName = value; } } // Check to see if PolicyName property is set internal bool IsSetPolicyName() { return this._policyName != null; } /// /// Gets and sets the property RoleName. /// /// The name of the role to associate the policy with. /// /// /// /// This parameter allows (through its regex /// pattern) a string of characters consisting of upper and lowercase alphanumeric /// characters with no spaces. You can also include any of the following characters: _+=,.@- /// /// [AWSProperty(Required=true, Min=1, Max=64)] public string RoleName { get { return this._roleName; } set { this._roleName = value; } } // Check to see if RoleName property is set internal bool IsSetRoleName() { return this._roleName != null; } } }