class Aws::IAM::Types::CreatePolicyRequest

@note When making an API call, you may pass CreatePolicyRequest

data as a hash:

    {
      policy_name: "policyNameType", # required
      path: "policyPathType",
      policy_document: "policyDocumentType", # required
      description: "policyDescriptionType",
      tags: [
        {
          key: "tagKeyType", # required
          value: "tagValueType", # required
        },
      ],
    }

@!attribute [rw] policy_name

The friendly name of the policy.

IAM user, group, role, and policy names must be unique within the
account. Names are not distinguished by case. For example, you
cannot create resources named both "MyResource" and
"myresource".
@return [String]

@!attribute [rw] path

The path for the policy.

For more information about paths, see [IAM identifiers][1] in the
*IAM User Guide*.

This parameter is optional. If it is not included, it defaults to a
slash (/).

This parameter allows (through its [regex pattern][2]) 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.

[1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html
[2]: http://wikipedia.org/wiki/regex
@return [String]

@!attribute [rw] policy_document

The JSON policy document that you want to use as the content for the
new policy.

You must provide policies in JSON format in IAM. However, for
CloudFormation templates formatted in YAML, you can provide the
policy in JSON or YAML format. CloudFormation always converts a YAML
policy to JSON format before submitting it to IAM.

The maximum length of the policy document that you can pass in this
operation, including whitespace, is listed below. To view the
maximum character counts of a managed policy with no whitespaces,
see [IAM and STS character quotas][1].

To learn more about JSON policy grammar, see [Grammar of the IAM
JSON policy language][2] in the *IAM User Guide*.

The [regex pattern][3] used to validate this parameter is a string
of characters consisting of the following:

* Any printable ASCII character ranging from the space character
  (`\u0020`) through the end of the ASCII character range

* The printable characters in the Basic Latin and Latin-1 Supplement
  character set (through `\u00FF`)

* The special characters tab (`\u0009`), line feed (`\u000A`), and
  carriage return (`\u000D`)

[1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-quotas-entity-length
[2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_grammar.html
[3]: http://wikipedia.org/wiki/regex
@return [String]

@!attribute [rw] description

A friendly description of the policy.

Typically used to store information about the permissions defined in
the policy. For example, "Grants access to production DynamoDB
tables."

The policy description is immutable. After a value is assigned, it
cannot be changed.
@return [String]

@!attribute [rw] tags

A list of tags that you want to attach to the new IAM customer
managed policy. Each tag consists of a key name and an associated
value. For more information about tagging, see [Tagging IAM
resources][1] in the *IAM User Guide*.

<note markdown="1"> If any one of the tags is invalid or if you exceed the allowed
maximum number of tags, then the entire request fails and the
resource is not created.

 </note>

[1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html
@return [Array<Types::Tag>]

@see docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreatePolicyRequest AWS API Documentation

Constants

SENSITIVE