class Aws::IAM::Types::CreateRoleRequest

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

data as a hash:

    {
      path: "pathType",
      role_name: "roleNameType", # required
      assume_role_policy_document: "policyDocumentType", # required
      description: "roleDescriptionType",
      max_session_duration: 1,
      permissions_boundary: "arnType",
      tags: [
        {
          key: "tagKeyType", # required
          value: "tagValueType", # required
        },
      ],
    }

@!attribute [rw] path

The path to the role. 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] role_name

The name of the role to create.

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] assume_role_policy_document

The trust relationship policy document that grants an entity
permission to assume the role.

In IAM, you must provide a JSON policy that has been converted to a
string. 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 [regex pattern][1] 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`)

Upon success, the response includes the same trust policy in JSON
format.

[1]: http://wikipedia.org/wiki/regex
@return [String]

@!attribute [rw] description

A description of the role.
@return [String]

@!attribute [rw] max_session_duration

The maximum session duration (in seconds) that you want to set for
the specified role. If you do not specify a value for this setting,
the default maximum of one hour is applied. This setting can have a
value from 1 hour to 12 hours.

Anyone who assumes the role from the or API can use the
`DurationSeconds` API parameter or the `duration-seconds` CLI
parameter to request a longer session. The `MaxSessionDuration`
setting determines the maximum duration that can be requested using
the `DurationSeconds` parameter. If users don't specify a value for
the `DurationSeconds` parameter, their security credentials are
valid for one hour by default. This applies when you use the
`AssumeRole*` API operations or the `assume-role*` CLI operations
but does not apply when you use those operations to create a console
URL. For more information, see [Using IAM roles][1] in the *IAM User
Guide*.

[1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html
@return [Integer]

@!attribute [rw] permissions_boundary

The ARN of the policy that is used to set the permissions boundary
for the role.
@return [String]

@!attribute [rw] tags

A list of tags that you want to attach to the new role. 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/CreateRoleRequest AWS API Documentation

Constants

SENSITIVE