pub struct Client { /* private fields */ }
Expand description

Client for AWS Identity and Access Management

Client for invoking operations on AWS Identity and Access Management. Each operation on AWS Identity and Access Management is a method on this this struct. .send() MUST be invoked on the generated operations to dispatch the request to the service.

Examples

Constructing a client and invoking an operation

    // create a shared configuration. This can be used & shared between multiple service clients.
    let shared_config = aws_config::load_from_env().await;
    let client = aws_sdk_iam::Client::new(&shared_config);
    // invoke an operation
    /* let rsp = client
        .<operation_name>().
        .<param>("some value")
        .send().await; */

Constructing a client with custom configuration

use aws_config::RetryConfig;
let shared_config = aws_config::load_from_env().await;
let config = aws_sdk_iam::config::Builder::from(&shared_config)
  .retry_config(RetryConfig::disabled())
  .build();
let client = aws_sdk_iam::Client::from_conf(config);

Implementations

Creates a client with the given service configuration.

Returns the client’s configuration.

Constructs a fluent builder for the AddClientIDToOpenIDConnectProvider operation.

Constructs a fluent builder for the AddRoleToInstanceProfile operation.

Constructs a fluent builder for the AddUserToGroup operation.

Constructs a fluent builder for the AttachGroupPolicy operation.

Constructs a fluent builder for the AttachRolePolicy operation.

Constructs a fluent builder for the AttachUserPolicy operation.

Constructs a fluent builder for the ChangePassword operation.

  • The fluent builder is configurable:
    • old_password(impl Into<String>) / set_old_password(Option<String>):

      The IAM user’s current password.

    • new_password(impl Into<String>) / set_new_password(Option<String>):

      The new password. The new password must conform to the Amazon Web Services account’s password policy, if one exists.

      The regex pattern that is used to validate this parameter is a string of characters. That string can include almost any printable ASCII character from the space (\u0020) through the end of the ASCII character range (\u00FF). You can also include the tab (\u0009), line feed (\u000A), and carriage return (\u000D) characters. Any of these characters are valid in a password. However, many tools, such as the Amazon Web Services Management Console, might restrict the ability to type certain characters because they have special meaning within that tool.

  • On success, responds with ChangePasswordOutput
  • On failure, responds with SdkError<ChangePasswordError>

Constructs a fluent builder for the CreateAccessKey operation.

Constructs a fluent builder for the CreateAccountAlias operation.

Constructs a fluent builder for the CreateGroup operation.

  • The fluent builder is configurable:
    • path(impl Into<String>) / set_path(Option<String>):

      The path to the group. For more information about paths, see IAM identifiers 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) 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.

    • group_name(impl Into<String>) / set_group_name(Option<String>):

      The name of the group to create. Do not include the path in this value.

      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”.

  • On success, responds with CreateGroupOutput with field(s):
  • On failure, responds with SdkError<CreateGroupError>

Constructs a fluent builder for the CreateInstanceProfile operation.

Constructs a fluent builder for the CreateLoginProfile operation.

Constructs a fluent builder for the CreateOpenIDConnectProvider operation.

  • The fluent builder is configurable:
    • url(impl Into<String>) / set_url(Option<String>):

      The URL of the identity provider. The URL must begin with https:// and should correspond to the iss claim in the provider’s OpenID Connect ID tokens. Per the OIDC standard, path components are allowed but query parameters are not. Typically the URL consists of only a hostname, like https://server.example.org or https://example.com. The URL should not contain a port number.

      You cannot register the same provider multiple times in a single Amazon Web Services account. If you try to submit a URL that has already been used for an OpenID Connect provider in the Amazon Web Services account, you will get an error.

    • client_id_list(Vec<String>) / set_client_id_list(Option<Vec<String>>):

      Provides a list of client IDs, also known as audiences. When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. This is the value that’s sent as the client_id parameter on OAuth requests.

      You can register multiple client IDs with the same provider. For example, you might have multiple applications that use the same OIDC provider. You cannot register more than 100 client IDs with a single IAM OIDC provider.

      There is no defined format for a client ID. The CreateOpenIDConnectProviderRequest operation accepts client IDs up to 255 characters long.

    • thumbprint_list(Vec<String>) / set_thumbprint_list(Option<Vec<String>>):

      A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider’s server certificates. Typically this list includes only one entry. However, IAM lets you have up to five thumbprints for an OIDC provider. This lets you maintain multiple thumbprints if the identity provider is rotating certificates.

      The server certificate thumbprint is the hex-encoded SHA-1 hash value of the X.509 certificate used by the domain where the OpenID Connect provider makes its keys available. It is always a 40-character string.

      You must provide at least one thumbprint when creating an IAM OIDC provider. For example, assume that the OIDC provider is server.example.com and the provider stores its keys at https://keys.server.example.com/openid-connect. In that case, the thumbprint string would be the hex-encoded SHA-1 hash value of the certificate used by https://keys.server.example.com.

      For more information about obtaining the OIDC provider thumbprint, see Obtaining the thumbprint for an OpenID Connect provider in the IAM User Guide.

    • tags(Vec<Tag>) / set_tags(Option<Vec<Tag>>):

      A list of tags that you want to attach to the new IAM OpenID Connect (OIDC) provider. Each tag consists of a key name and an associated value. For more information about tagging, see Tagging IAM resources in the IAM User Guide.

      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.

  • On success, responds with CreateOpenIdConnectProviderOutput with field(s):
  • On failure, responds with SdkError<CreateOpenIDConnectProviderError>

Constructs a fluent builder for the CreatePolicy operation.

  • The fluent builder is configurable:
    • policy_name(impl Into<String>) / set_policy_name(Option<String>):

      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”.

    • path(impl Into<String>) / set_path(Option<String>):

      The path for the policy.

      For more information about paths, see IAM identifiers 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) 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.

      You cannot use an asterisk (*) in the path name.

    • policy_document(impl Into<String>) / set_policy_document(Option<String>):

      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.

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

      The regex pattern 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)

    • description(impl Into<String>) / set_description(Option<String>):

      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.

    • tags(Vec<Tag>) / set_tags(Option<Vec<Tag>>):

      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 in the IAM User Guide.

      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.

  • On success, responds with CreatePolicyOutput with field(s):
  • On failure, responds with SdkError<CreatePolicyError>

Constructs a fluent builder for the CreatePolicyVersion operation.

  • The fluent builder is configurable:
    • policy_arn(impl Into<String>) / set_policy_arn(Option<String>):

      The Amazon Resource Name (ARN) of the IAM policy to which you want to add a new version.

      For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference.

    • policy_document(impl Into<String>) / set_policy_document(Option<String>):

      The JSON policy document that you want to use as the content for this new version of the 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.

      The regex pattern 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)

    • set_as_default(bool) / set_set_as_default(bool):

      Specifies whether to set this version as the policy’s default version.

      When this parameter is true, the new policy version becomes the operative version. That is, it becomes the version that is in effect for the IAM users, groups, and roles that the policy is attached to.

      For more information about managed policy versions, see Versioning for managed policies in the IAM User Guide.

  • On success, responds with CreatePolicyVersionOutput with field(s):
  • On failure, responds with SdkError<CreatePolicyVersionError>

Constructs a fluent builder for the CreateRole operation.

  • The fluent builder is configurable:
    • path(impl Into<String>) / set_path(Option<String>):

      The path to the role. For more information about paths, see IAM Identifiers 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) 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.

    • role_name(impl Into<String>) / set_role_name(Option<String>):

      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”.

    • assume_role_policy_document(impl Into<String>) / set_assume_role_policy_document(Option<String>):

      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 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.

    • description(impl Into<String>) / set_description(Option<String>):

      A description of the role.

    • max_session_duration(i32) / set_max_session_duration(Option<i32>):

      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 in the IAM User Guide.

    • permissions_boundary(impl Into<String>) / set_permissions_boundary(Option<String>):

      The ARN of the policy that is used to set the permissions boundary for the role.

    • tags(Vec<Tag>) / set_tags(Option<Vec<Tag>>):

      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 in the IAM User Guide.

      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.

  • On success, responds with CreateRoleOutput with field(s):
  • On failure, responds with SdkError<CreateRoleError>

Constructs a fluent builder for the CreateSAMLProvider operation.

Constructs a fluent builder for the CreateServiceLinkedRole operation.

Constructs a fluent builder for the CreateServiceSpecificCredential operation.

Constructs a fluent builder for the CreateUser operation.

  • The fluent builder is configurable:
    • path(impl Into<String>) / set_path(Option<String>):

      The path for the user name. For more information about paths, see IAM identifiers 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) 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.

    • user_name(impl Into<String>) / set_user_name(Option<String>):

      The name of the user 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”.

    • permissions_boundary(impl Into<String>) / set_permissions_boundary(Option<String>):

      The ARN of the policy that is used to set the permissions boundary for the user.

    • tags(Vec<Tag>) / set_tags(Option<Vec<Tag>>):

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

      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.

  • On success, responds with CreateUserOutput with field(s):
  • On failure, responds with SdkError<CreateUserError>

Constructs a fluent builder for the CreateVirtualMFADevice operation.

Constructs a fluent builder for the DeactivateMFADevice operation.

Constructs a fluent builder for the DeleteAccessKey operation.

Constructs a fluent builder for the DeleteAccountAlias operation.

Constructs a fluent builder for the DeleteAccountPasswordPolicy operation.

Constructs a fluent builder for the DeleteGroup operation.

Constructs a fluent builder for the DeleteGroupPolicy operation.

Constructs a fluent builder for the DeleteInstanceProfile operation.

Constructs a fluent builder for the DeleteLoginProfile operation.

Constructs a fluent builder for the DeleteOpenIDConnectProvider operation.

Constructs a fluent builder for the DeletePolicy operation.

Constructs a fluent builder for the DeletePolicyVersion operation.

Constructs a fluent builder for the DeleteRole operation.

Constructs a fluent builder for the DeleteRolePermissionsBoundary operation.

Constructs a fluent builder for the DeleteRolePolicy operation.

Constructs a fluent builder for the DeleteSAMLProvider operation.

Constructs a fluent builder for the DeleteServerCertificate operation.

Constructs a fluent builder for the DeleteServiceLinkedRole operation.

Constructs a fluent builder for the DeleteServiceSpecificCredential operation.

Constructs a fluent builder for the DeleteSigningCertificate operation.

Constructs a fluent builder for the DeleteSSHPublicKey operation.

Constructs a fluent builder for the DeleteUser operation.

Constructs a fluent builder for the DeleteUserPermissionsBoundary operation.

Constructs a fluent builder for the DeleteUserPolicy operation.

Constructs a fluent builder for the DeleteVirtualMFADevice operation.

Constructs a fluent builder for the DetachGroupPolicy operation.

Constructs a fluent builder for the DetachRolePolicy operation.

Constructs a fluent builder for the DetachUserPolicy operation.

Constructs a fluent builder for the EnableMFADevice operation.

  • The fluent builder is configurable:
    • user_name(impl Into<String>) / set_user_name(Option<String>):

      The name of the IAM user for whom you want to enable the MFA device.

      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: _+=,.@-

    • serial_number(impl Into<String>) / set_serial_number(Option<String>):

      The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the device ARN.

      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: =,.@:/-

    • authentication_code1(impl Into<String>) / set_authentication_code1(Option<String>):

      An authentication code emitted by the device.

      The format for this parameter is a string of six digits.

      Submit your request immediately after generating the authentication codes. If you generate the codes and then wait too long to submit the request, the MFA device successfully associates with the user but the MFA device becomes out of sync. This happens because time-based one-time passwords (TOTP) expire after a short period of time. If this happens, you can resync the device.

    • authentication_code2(impl Into<String>) / set_authentication_code2(Option<String>):

      A subsequent authentication code emitted by the device.

      The format for this parameter is a string of six digits.

      Submit your request immediately after generating the authentication codes. If you generate the codes and then wait too long to submit the request, the MFA device successfully associates with the user but the MFA device becomes out of sync. This happens because time-based one-time passwords (TOTP) expire after a short period of time. If this happens, you can resync the device.

  • On success, responds with EnableMfaDeviceOutput
  • On failure, responds with SdkError<EnableMFADeviceError>

Constructs a fluent builder for the GenerateCredentialReport operation.

Constructs a fluent builder for the GenerateOrganizationsAccessReport operation.

Constructs a fluent builder for the GenerateServiceLastAccessedDetails operation.

Constructs a fluent builder for the GetAccessKeyLastUsed operation.

Constructs a fluent builder for the GetAccountAuthorizationDetails operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • filter(Vec<EntityType>) / set_filter(Option<Vec<EntityType>>):

      A list of entity types used to filter the results. Only the entities that match the types you specify are included in the output. Use the value LocalManagedPolicy to include customer managed policies.

      The format for this parameter is a comma-separated (if more than one) list of strings. Each string value in the list must be one of the valid values listed below.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

  • On success, responds with GetAccountAuthorizationDetailsOutput with field(s):
  • On failure, responds with SdkError<GetAccountAuthorizationDetailsError>

Constructs a fluent builder for the GetAccountPasswordPolicy operation.

Constructs a fluent builder for the GetAccountSummary operation.

Constructs a fluent builder for the GetContextKeysForCustomPolicy operation.

Constructs a fluent builder for the GetContextKeysForPrincipalPolicy operation.

  • The fluent builder is configurable:
    • policy_source_arn(impl Into<String>) / set_policy_source_arn(Option<String>):

      The ARN of a user, group, or role whose policies contain the context keys that you want listed. If you specify a user, the list includes context keys that are found in all policies that are attached to the user. The list also includes all groups that the user is a member of. If you pick a group or a role, then it includes only those context keys that are found in policies attached to that entity. Note that all parameters are shown in unencoded form here for clarity, but must be URL encoded to be included as a part of a real HTML request.

      For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference.

    • policy_input_list(Vec<String>) / set_policy_input_list(Option<Vec<String>>):

      An optional list of additional policies for which you want the list of context keys that are referenced.

      The regex pattern 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)

  • On success, responds with GetContextKeysForPrincipalPolicyOutput with field(s):
  • On failure, responds with SdkError<GetContextKeysForPrincipalPolicyError>

Constructs a fluent builder for the GetCredentialReport operation.

Constructs a fluent builder for the GetGroup operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • group_name(impl Into<String>) / set_group_name(Option<String>):

      The name of the group.

      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: _+=,.@-

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

  • On success, responds with GetGroupOutput with field(s):
    • group(Option<Group>):

      A structure that contains details about the group.

    • users(Option<Vec<User>>):

      A list of users in the group.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<GetGroupError>

Constructs a fluent builder for the GetGroupPolicy operation.

Constructs a fluent builder for the GetInstanceProfile operation.

Constructs a fluent builder for the GetLoginProfile operation.

Constructs a fluent builder for the GetOpenIDConnectProvider operation.

Constructs a fluent builder for the GetOrganizationsAccessReport operation.

  • The fluent builder is configurable:
    • job_id(impl Into<String>) / set_job_id(Option<String>):

      The identifier of the request generated by the GenerateOrganizationsAccessReport operation.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • sort_key(SortKeyType) / set_sort_key(Option<SortKeyType>):

      The key that is used to sort the results. If you choose the namespace key, the results are returned in alphabetical order. If you choose the time key, the results are sorted numerically by the date and time.

  • On success, responds with GetOrganizationsAccessReportOutput with field(s):
  • On failure, responds with SdkError<GetOrganizationsAccessReportError>

Constructs a fluent builder for the GetPolicy operation.

Constructs a fluent builder for the GetPolicyVersion operation.

Constructs a fluent builder for the GetRole operation.

Constructs a fluent builder for the GetRolePolicy operation.

Constructs a fluent builder for the GetSAMLProvider operation.

Constructs a fluent builder for the GetServerCertificate operation.

Constructs a fluent builder for the GetServiceLastAccessedDetails operation.

  • The fluent builder is configurable:
    • job_id(impl Into<String>) / set_job_id(Option<String>):

      The ID of the request generated by the GenerateServiceLastAccessedDetails operation. The JobId returned by GenerateServiceLastAccessedDetail must be used by the same role within a session, or by the same user when used to call GetServiceLastAccessedDetail.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

  • On success, responds with GetServiceLastAccessedDetailsOutput with field(s):
  • On failure, responds with SdkError<GetServiceLastAccessedDetailsError>

Constructs a fluent builder for the GetServiceLastAccessedDetailsWithEntities operation.

Constructs a fluent builder for the GetServiceLinkedRoleDeletionStatus operation.

Constructs a fluent builder for the GetSSHPublicKey operation.

Constructs a fluent builder for the GetUser operation.

  • The fluent builder is configurable:
    • user_name(impl Into<String>) / set_user_name(Option<String>):

      The name of the user to get information about.

      This parameter is optional. If it is not included, it defaults to the user making the request. 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: _+=,.@-

  • On success, responds with GetUserOutput with field(s):
    • user(Option<User>):

      A structure containing details about the IAM user.

      Due to a service issue, password last used data does not include password use from May 3, 2018 22:50 PDT to May 23, 2018 14:08 PDT. This affects last sign-in dates shown in the IAM console and password last used dates in the IAM credential report, and returned by this operation. If users signed in during the affected time, the password last used date that is returned is the date the user last signed in before May 3, 2018. For users that signed in after May 23, 2018 14:08 PDT, the returned password last used date is accurate.

      You can use password last used information to identify unused credentials for deletion. For example, you might delete users who did not sign in to Amazon Web Services in the last 90 days. In cases like this, we recommend that you adjust your evaluation window to include dates after May 23, 2018. Alternatively, if your users use access keys to access Amazon Web Services programmatically you can refer to access key last used information because it is accurate for all dates.

  • On failure, responds with SdkError<GetUserError>

Constructs a fluent builder for the GetUserPolicy operation.

Constructs a fluent builder for the ListAccessKeys operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • user_name(impl Into<String>) / set_user_name(Option<String>):

      The name of the user.

      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: _+=,.@-

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

  • On success, responds with ListAccessKeysOutput with field(s):
    • access_key_metadata(Option<Vec<AccessKeyMetadata>>):

      A list of objects containing metadata about the access keys.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<ListAccessKeysError>

Constructs a fluent builder for the ListAccountAliases operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

  • On success, responds with ListAccountAliasesOutput with field(s):
    • account_aliases(Option<Vec<String>>):

      A list of aliases associated with the account. Amazon Web Services supports only one alias per account.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<ListAccountAliasesError>

Constructs a fluent builder for the ListAttachedGroupPolicies operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • group_name(impl Into<String>) / set_group_name(Option<String>):

      The name (friendly name, not ARN) of the group to list attached policies for.

      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: _+=,.@-

    • path_prefix(impl Into<String>) / set_path_prefix(Option<String>):

      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.

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

  • On success, responds with ListAttachedGroupPoliciesOutput with field(s):
    • attached_policies(Option<Vec<AttachedPolicy>>):

      A list of the attached policies.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<ListAttachedGroupPoliciesError>

Constructs a fluent builder for the ListAttachedRolePolicies operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • role_name(impl Into<String>) / set_role_name(Option<String>):

      The name (friendly name, not ARN) of the role to list attached policies for.

      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: _+=,.@-

    • path_prefix(impl Into<String>) / set_path_prefix(Option<String>):

      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.

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

  • On success, responds with ListAttachedRolePoliciesOutput with field(s):
    • attached_policies(Option<Vec<AttachedPolicy>>):

      A list of the attached policies.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<ListAttachedRolePoliciesError>

Constructs a fluent builder for the ListAttachedUserPolicies operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • user_name(impl Into<String>) / set_user_name(Option<String>):

      The name (friendly name, not ARN) of the user to list attached policies for.

      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: _+=,.@-

    • path_prefix(impl Into<String>) / set_path_prefix(Option<String>):

      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.

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

  • On success, responds with ListAttachedUserPoliciesOutput with field(s):
    • attached_policies(Option<Vec<AttachedPolicy>>):

      A list of the attached policies.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<ListAttachedUserPoliciesError>

Constructs a fluent builder for the ListEntitiesForPolicy operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • policy_arn(impl Into<String>) / set_policy_arn(Option<String>):

      The Amazon Resource Name (ARN) of the IAM policy for which you want the versions.

      For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference.

    • entity_filter(EntityType) / set_entity_filter(Option<EntityType>):

      The entity type to use for filtering the results.

      For example, when EntityFilter is Role, only the roles that are attached to the specified policy are returned. This parameter is optional. If it is not included, all attached entities (users, groups, and roles) are returned. The argument for this parameter must be one of the valid values listed below.

    • path_prefix(impl Into<String>) / set_path_prefix(Option<String>):

      The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all entities.

      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.

    • policy_usage_filter(PolicyUsageType) / set_policy_usage_filter(Option<PolicyUsageType>):

      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.

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

  • On success, responds with ListEntitiesForPolicyOutput with field(s):
    • policy_groups(Option<Vec<PolicyGroup>>):

      A list of IAM groups that the policy is attached to.

    • policy_users(Option<Vec<PolicyUser>>):

      A list of IAM users that the policy is attached to.

    • policy_roles(Option<Vec<PolicyRole>>):

      A list of IAM roles that the policy is attached to.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<ListEntitiesForPolicyError>

Constructs a fluent builder for the ListGroupPolicies operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • group_name(impl Into<String>) / set_group_name(Option<String>):

      The name of the group to list policies for.

      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: _+=,.@-

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

  • On success, responds with ListGroupPoliciesOutput with field(s):
    • policy_names(Option<Vec<String>>):

      A list of policy names.

      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: _+=,.@-

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<ListGroupPoliciesError>

Constructs a fluent builder for the ListGroups operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • path_prefix(impl Into<String>) / set_path_prefix(Option<String>):

      The path prefix for filtering the results. For example, the prefix /division_abc/subdivision_xyz/ gets all groups whose path starts with /division_abc/subdivision_xyz/.

      This parameter is optional. If it is not included, it defaults to a slash (/), listing all groups. 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.

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

  • On success, responds with ListGroupsOutput with field(s):
    • groups(Option<Vec<Group>>):

      A list of groups.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<ListGroupsError>

Constructs a fluent builder for the ListGroupsForUser operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • user_name(impl Into<String>) / set_user_name(Option<String>):

      The name of the user to list groups for.

      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: _+=,.@-

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

  • On success, responds with ListGroupsForUserOutput with field(s):
    • groups(Option<Vec<Group>>):

      A list of groups.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<ListGroupsForUserError>

Constructs a fluent builder for the ListInstanceProfiles operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • path_prefix(impl Into<String>) / set_path_prefix(Option<String>):

      The path prefix for filtering the results. For example, the prefix /application_abc/component_xyz/ gets all instance profiles whose path starts with /application_abc/component_xyz/.

      This parameter is optional. If it is not included, it defaults to a slash (/), listing all instance profiles. 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.

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

  • On success, responds with ListInstanceProfilesOutput with field(s):
    • instance_profiles(Option<Vec<InstanceProfile>>):

      A list of instance profiles.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<ListInstanceProfilesError>

Constructs a fluent builder for the ListInstanceProfilesForRole operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • role_name(impl Into<String>) / set_role_name(Option<String>):

      The name of the role to list instance profiles for.

      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: _+=,.@-

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

  • On success, responds with ListInstanceProfilesForRoleOutput with field(s):
    • instance_profiles(Option<Vec<InstanceProfile>>):

      A list of instance profiles.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<ListInstanceProfilesForRoleError>

Constructs a fluent builder for the ListInstanceProfileTags operation.

  • The fluent builder is configurable:
    • instance_profile_name(impl Into<String>) / set_instance_profile_name(Option<String>):

      The name of the IAM instance profile whose tags you want to see.

      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: _+=,.@-

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

  • On success, responds with ListInstanceProfileTagsOutput with field(s):
    • tags(Option<Vec<Tag>>):

      The list of tags that are currently attached to the IAM instance profile. Each tag consists of a key name and an associated value. If no tags are attached to the specified resource, the response contains an empty list.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<ListInstanceProfileTagsError>

Constructs a fluent builder for the ListMFADevices operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • user_name(impl Into<String>) / set_user_name(Option<String>):

      The name of the user whose MFA devices you want to list.

      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: _+=,.@-

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

  • On success, responds with ListMfaDevicesOutput with field(s):
    • mfa_devices(Option<Vec<MfaDevice>>):

      A list of MFA devices.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<ListMFADevicesError>

Constructs a fluent builder for the ListMFADeviceTags operation.

  • The fluent builder is configurable:
    • serial_number(impl Into<String>) / set_serial_number(Option<String>):

      The unique identifier for the IAM virtual MFA device whose tags you want to see. For virtual MFA devices, the serial number is the same as the ARN.

      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: _+=,.@-

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

  • On success, responds with ListMfaDeviceTagsOutput with field(s):
    • tags(Option<Vec<Tag>>):

      The list of tags that are currently attached to the virtual MFA device. Each tag consists of a key name and an associated value. If no tags are attached to the specified resource, the response contains an empty list.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<ListMFADeviceTagsError>

Constructs a fluent builder for the ListOpenIDConnectProviders operation.

Constructs a fluent builder for the ListOpenIDConnectProviderTags operation.

  • The fluent builder is configurable:
    • open_id_connect_provider_arn(impl Into<String>) / set_open_id_connect_provider_arn(Option<String>):

      The ARN of the OpenID Connect (OIDC) identity provider whose tags you want to see.

      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: _+=,.@-

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

  • On success, responds with ListOpenIdConnectProviderTagsOutput with field(s):
    • tags(Option<Vec<Tag>>):

      The list of tags that are currently attached to the OpenID Connect (OIDC) identity provider. Each tag consists of a key name and an associated value. If no tags are attached to the specified resource, the response contains an empty list.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<ListOpenIDConnectProviderTagsError>

Constructs a fluent builder for the ListPolicies operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • scope(PolicyScopeType) / set_scope(Option<PolicyScopeType>):

      The scope to use for filtering the results.

      To list only Amazon Web Services managed policies, set Scope to AWS. To list only the customer managed policies in your Amazon Web Services 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.

    • only_attached(bool) / set_only_attached(bool):

      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.

    • path_prefix(impl Into<String>) / set_path_prefix(Option<String>):

      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.

    • policy_usage_filter(PolicyUsageType) / set_policy_usage_filter(Option<PolicyUsageType>):

      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.

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

  • On success, responds with ListPoliciesOutput with field(s):
    • policies(Option<Vec<Policy>>):

      A list of policies.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<ListPoliciesError>

Constructs a fluent builder for the ListPoliciesGrantingServiceAccess operation.

Constructs a fluent builder for the ListPolicyTags operation.

  • The fluent builder is configurable:
    • policy_arn(impl Into<String>) / set_policy_arn(Option<String>):

      The ARN of the IAM customer managed policy whose tags you want to see.

      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: _+=,.@-

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

  • On success, responds with ListPolicyTagsOutput with field(s):
    • tags(Option<Vec<Tag>>):

      The list of tags that are currently attached to the IAM customer managed policy. Each tag consists of a key name and an associated value. If no tags are attached to the specified resource, the response contains an empty list.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<ListPolicyTagsError>

Constructs a fluent builder for the ListPolicyVersions operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • policy_arn(impl Into<String>) / set_policy_arn(Option<String>):

      The Amazon Resource Name (ARN) of the IAM policy for which you want the versions.

      For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference.

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

  • On success, responds with ListPolicyVersionsOutput with field(s):
    • versions(Option<Vec<PolicyVersion>>):

      A list of policy versions.

      For more information about managed policy versions, see Versioning for managed policies in the IAM User Guide.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<ListPolicyVersionsError>

Constructs a fluent builder for the ListRolePolicies operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • role_name(impl Into<String>) / set_role_name(Option<String>):

      The name of the role to list policies for.

      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: _+=,.@-

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

  • On success, responds with ListRolePoliciesOutput with field(s):
    • policy_names(Option<Vec<String>>):

      A list of policy names.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<ListRolePoliciesError>

Constructs a fluent builder for the ListRoles operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • path_prefix(impl Into<String>) / set_path_prefix(Option<String>):

      The path prefix for filtering the results. For example, the prefix /application_abc/component_xyz/ gets all roles whose path starts with /application_abc/component_xyz/.

      This parameter is optional. If it is not included, it defaults to a slash (/), listing all roles. 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.

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

  • On success, responds with ListRolesOutput with field(s):
    • roles(Option<Vec<Role>>):

      A list of roles.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<ListRolesError>

Constructs a fluent builder for the ListRoleTags operation.

  • The fluent builder is configurable:
    • role_name(impl Into<String>) / set_role_name(Option<String>):

      The name of the IAM role for which you want to see the list of tags.

      This parameter accepts (through its regex pattern) a string of characters that consist of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

  • On success, responds with ListRoleTagsOutput with field(s):
    • tags(Option<Vec<Tag>>):

      The list of tags that are currently attached to the role. Each tag consists of a key name and an associated value. If no tags are attached to the specified resource, the response contains an empty list.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<ListRoleTagsError>

Constructs a fluent builder for the ListSAMLProviders operation.

Constructs a fluent builder for the ListSAMLProviderTags operation.

  • The fluent builder is configurable:
    • saml_provider_arn(impl Into<String>) / set_saml_provider_arn(Option<String>):

      The ARN of the Security Assertion Markup Language (SAML) identity provider whose tags you want to see.

      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: _+=,.@-

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

  • On success, responds with ListSamlProviderTagsOutput with field(s):
    • tags(Option<Vec<Tag>>):

      The list of tags that are currently attached to the Security Assertion Markup Language (SAML) identity provider. Each tag consists of a key name and an associated value. If no tags are attached to the specified resource, the response contains an empty list.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<ListSAMLProviderTagsError>

Constructs a fluent builder for the ListServerCertificates operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • path_prefix(impl Into<String>) / set_path_prefix(Option<String>):

      The path prefix for filtering the results. For example: /company/servercerts would get all server certificates for which the path starts with /company/servercerts.

      This parameter is optional. If it is not included, it defaults to a slash (/), listing all server certificates. 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.

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

  • On success, responds with ListServerCertificatesOutput with field(s):
    • server_certificate_metadata_list(Option<Vec<ServerCertificateMetadata>>):

      A list of server certificates.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<ListServerCertificatesError>

Constructs a fluent builder for the ListServerCertificateTags operation.

  • The fluent builder is configurable:
    • server_certificate_name(impl Into<String>) / set_server_certificate_name(Option<String>):

      The name of the IAM server certificate whose tags you want to see.

      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: _+=,.@-

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

  • On success, responds with ListServerCertificateTagsOutput with field(s):
    • tags(Option<Vec<Tag>>):

      The list of tags that are currently attached to the IAM server certificate. Each tag consists of a key name and an associated value. If no tags are attached to the specified resource, the response contains an empty list.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<ListServerCertificateTagsError>

Constructs a fluent builder for the ListServiceSpecificCredentials operation.

Constructs a fluent builder for the ListSigningCertificates operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • user_name(impl Into<String>) / set_user_name(Option<String>):

      The name of the IAM user whose signing certificates you want to examine.

      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: _+=,.@-

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

  • On success, responds with ListSigningCertificatesOutput with field(s):
    • certificates(Option<Vec<SigningCertificate>>):

      A list of the user’s signing certificate information.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<ListSigningCertificatesError>

Constructs a fluent builder for the ListSSHPublicKeys operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • user_name(impl Into<String>) / set_user_name(Option<String>):

      The name of the IAM user to list SSH public keys for. If none is specified, the UserName field is determined implicitly based on the Amazon Web Services access key used to sign the request.

      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: _+=,.@-

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

  • On success, responds with ListSshPublicKeysOutput with field(s):
    • ssh_public_keys(Option<Vec<SshPublicKeyMetadata>>):

      A list of the SSH public keys assigned to IAM user.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<ListSSHPublicKeysError>

Constructs a fluent builder for the ListUserPolicies operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • user_name(impl Into<String>) / set_user_name(Option<String>):

      The name of the user to list policies for.

      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: _+=,.@-

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

  • On success, responds with ListUserPoliciesOutput with field(s):
    • policy_names(Option<Vec<String>>):

      A list of policy names.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<ListUserPoliciesError>

Constructs a fluent builder for the ListUsers operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • path_prefix(impl Into<String>) / set_path_prefix(Option<String>):

      The path prefix for filtering the results. For example: /division_abc/subdivision_xyz/, which would get all user names whose path starts with /division_abc/subdivision_xyz/.

      This parameter is optional. If it is not included, it defaults to a slash (/), listing all user names. 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.

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

  • On success, responds with ListUsersOutput with field(s):
    • users(Option<Vec<User>>):

      A list of users.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<ListUsersError>

Constructs a fluent builder for the ListUserTags operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • user_name(impl Into<String>) / set_user_name(Option<String>):

      The name of the IAM user whose tags you want to see.

      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: _+=,.@-

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

  • On success, responds with ListUserTagsOutput with field(s):
    • tags(Option<Vec<Tag>>):

      The list of tags that are currently attached to the user. Each tag consists of a key name and an associated value. If no tags are attached to the specified resource, the response contains an empty list.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<ListUserTagsError>

Constructs a fluent builder for the ListVirtualMFADevices operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • assignment_status(AssignmentStatusType) / set_assignment_status(Option<AssignmentStatusType>):

      The status (Unassigned or Assigned) of the devices to list. If you do not specify an AssignmentStatus, the operation defaults to Any, which lists both assigned and unassigned virtual MFA devices.,

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

    • max_items(i32) / set_max_items(Option<i32>):

      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.

  • On success, responds with ListVirtualMfaDevicesOutput with field(s):
    • virtual_mfa_devices(Option<Vec<VirtualMfaDevice>>):

      The list of virtual MFA devices in the current account that match the AssignmentStatus value that was passed in the request.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<ListVirtualMFADevicesError>

Constructs a fluent builder for the PutGroupPolicy operation.

  • The fluent builder is configurable:
    • group_name(impl Into<String>) / set_group_name(Option<String>):

      The name of the group 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: _+=,.@-.

    • policy_name(impl Into<String>) / set_policy_name(Option<String>):

      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: _+=,.@-

    • policy_document(impl Into<String>) / set_policy_document(Option<String>):

      The policy document.

      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 regex pattern 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)

  • On success, responds with PutGroupPolicyOutput
  • On failure, responds with SdkError<PutGroupPolicyError>

Constructs a fluent builder for the PutRolePermissionsBoundary operation.

Constructs a fluent builder for the PutRolePolicy operation.

  • The fluent builder is configurable:
    • role_name(impl Into<String>) / set_role_name(Option<String>):

      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: _+=,.@-

    • policy_name(impl Into<String>) / set_policy_name(Option<String>):

      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: _+=,.@-

    • policy_document(impl Into<String>) / set_policy_document(Option<String>):

      The policy document.

      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 regex pattern 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)

  • On success, responds with PutRolePolicyOutput
  • On failure, responds with SdkError<PutRolePolicyError>

Constructs a fluent builder for the PutUserPermissionsBoundary operation.

Constructs a fluent builder for the PutUserPolicy operation.

  • The fluent builder is configurable:
    • user_name(impl Into<String>) / set_user_name(Option<String>):

      The name of the user 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: _+=,.@-

    • policy_name(impl Into<String>) / set_policy_name(Option<String>):

      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: _+=,.@-

    • policy_document(impl Into<String>) / set_policy_document(Option<String>):

      The policy document.

      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 regex pattern 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)

  • On success, responds with PutUserPolicyOutput
  • On failure, responds with SdkError<PutUserPolicyError>

Constructs a fluent builder for the RemoveClientIDFromOpenIDConnectProvider operation.

Constructs a fluent builder for the RemoveRoleFromInstanceProfile operation.

Constructs a fluent builder for the RemoveUserFromGroup operation.

Constructs a fluent builder for the ResetServiceSpecificCredential operation.

Constructs a fluent builder for the ResyncMFADevice operation.

Constructs a fluent builder for the SetDefaultPolicyVersion operation.

Constructs a fluent builder for the SetSecurityTokenServicePreferences operation.

Constructs a fluent builder for the SimulateCustomPolicy operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • policy_input_list(Vec<String>) / set_policy_input_list(Option<Vec<String>>):

      A list of policy documents to include in the simulation. Each document is specified as a string containing the complete, valid JSON text of an IAM policy. Do not include any resource-based policies in this parameter. Any resource-based policy must be submitted with the ResourcePolicy parameter. The policies cannot be “scope-down” policies, such as you could include in a call to GetFederationToken or one of the AssumeRole API operations. In other words, do not use policies designed to restrict what a user can do while using the temporary credentials.

      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.

      The regex pattern 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)

    • permissions_boundary_policy_input_list(Vec<String>) / set_permissions_boundary_policy_input_list(Option<Vec<String>>):

      The IAM permissions boundary policy to simulate. The permissions boundary sets the maximum permissions that an IAM entity can have. You can input only one permissions boundary when you pass a policy to this operation. For more information about permissions boundaries, see Permissions boundaries for IAM entities in the IAM User Guide. The policy input is specified as a string that contains the complete, valid JSON text of a permissions boundary policy.

      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.

      The regex pattern 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)

    • action_names(Vec<String>) / set_action_names(Option<Vec<String>>):

      A list of names of API operations to evaluate in the simulation. Each operation is evaluated against each resource. Each operation must include the service identifier, such as iam:CreateUser. This operation does not support using wildcards (*) in an action name.

    • resource_arns(Vec<String>) / set_resource_arns(Option<Vec<String>>):

      A list of ARNs of Amazon Web Services resources to include in the simulation. If this parameter is not provided, then the value defaults to * (all resources). Each API in the ActionNames parameter is evaluated for each resource in this list. The simulation determines the access result (allowed or denied) of each combination and reports it in the response. You can simulate resources that don’t exist in your account.

      The simulation does not automatically retrieve policies for the specified resources. If you want to include a resource policy in the simulation, then you must include the policy as a string in the ResourcePolicy parameter.

      If you include a ResourcePolicy, then it must be applicable to all of the resources included in the simulation or you receive an invalid input error.

      For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference.

    • resource_policy(impl Into<String>) / set_resource_policy(Option<String>):

      A resource-based policy to include in the simulation provided as a string. Each resource in the simulation is treated as if it had this policy attached. You can include only one resource-based policy in a simulation.

      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.

      The regex pattern 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)

    • resource_owner(impl Into<String>) / set_resource_owner(Option<String>):

      An ARN representing the Amazon Web Services account ID that specifies the owner of any simulated resource that does not identify its owner in the resource ARN. Examples of resource ARNs include an S3 bucket or object. If ResourceOwner is specified, it is also used as the account owner of any ResourcePolicy included in the simulation. If the ResourceOwner parameter is not specified, then the owner of the resources and the resource policy defaults to the account of the identity provided in CallerArn. This parameter is required only if you specify a resource-based policy and account that owns the resource is different from the account that owns the simulated calling user CallerArn.

      The ARN for an account uses the following syntax: arn:aws:iam::AWS-account-ID:root. For example, to represent the account with the 112233445566 ID, use the following ARN: arn:aws:iam::112233445566-ID:root.

    • caller_arn(impl Into<String>) / set_caller_arn(Option<String>):

      The ARN of the IAM user that you want to use as the simulated caller of the API operations. CallerArn is required if you include a ResourcePolicy so that the policy’s Principal element has a value to use in evaluating the policy.

      You can specify only the ARN of an IAM user. You cannot specify the ARN of an assumed role, federated user, or a service principal.

    • context_entries(Vec<ContextEntry>) / set_context_entries(Option<Vec<ContextEntry>>):

      A list of context keys and corresponding values for the simulation to use. Whenever a context key is evaluated in one of the simulated IAM permissions policies, the corresponding value is supplied.

    • resource_handling_option(impl Into<String>) / set_resource_handling_option(Option<String>):

      Specifies the type of simulation to run. Different API operations that support resource-based policies require different combinations of resources. By specifying the type of simulation to run, you enable the policy simulator to enforce the presence of the required resources to ensure reliable simulation results. If your simulation does not match one of the following scenarios, then you can omit this parameter. The following list shows each of the supported scenario values and the resources that you must define to run the simulation.

      Each of the EC2 scenarios requires that you specify instance, image, and security-group resources. If your scenario includes an EBS volume, then you must specify that volume as a resource. If the EC2 scenario includes VPC, then you must supply the network-interface resource. If it includes an IP subnet, then you must specify the subnet resource. For more information on the EC2 scenario options, see Supported platforms in the Amazon EC2 User Guide.

      • EC2-Classic-InstanceStore

        instance, image, security-group

      • EC2-Classic-EBS

        instance, image, security-group, volume

      • EC2-VPC-InstanceStore

        instance, image, security-group, network-interface

      • EC2-VPC-InstanceStore-Subnet

        instance, image, security-group, network-interface, subnet

      • EC2-VPC-EBS

        instance, image, security-group, network-interface, volume

      • EC2-VPC-EBS-Subnet

        instance, image, security-group, network-interface, subnet, volume

    • max_items(i32) / set_max_items(Option<i32>):

      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.

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

  • On success, responds with SimulateCustomPolicyOutput with field(s):
    • evaluation_results(Option<Vec<EvaluationResult>>):

      The results of the simulation.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<SimulateCustomPolicyError>

Constructs a fluent builder for the SimulatePrincipalPolicy operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • policy_source_arn(impl Into<String>) / set_policy_source_arn(Option<String>):

      The Amazon Resource Name (ARN) of a user, group, or role whose policies you want to include in the simulation. If you specify a user, group, or role, the simulation includes all policies that are associated with that entity. If you specify a user, the simulation also includes all policies that are attached to any groups the user belongs to.

      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.

      For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference.

    • policy_input_list(Vec<String>) / set_policy_input_list(Option<Vec<String>>):

      An optional list of additional policy documents to include in the simulation. Each document is specified as a string containing the complete, valid JSON text of an IAM policy.

      The regex pattern 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)

    • permissions_boundary_policy_input_list(Vec<String>) / set_permissions_boundary_policy_input_list(Option<Vec<String>>):

      The IAM permissions boundary policy to simulate. The permissions boundary sets the maximum permissions that the entity can have. You can input only one permissions boundary when you pass a policy to this operation. An IAM entity can only have one permissions boundary in effect at a time. For example, if a permissions boundary is attached to an entity and you pass in a different permissions boundary policy using this parameter, then the new permissions boundary policy is used for the simulation. For more information about permissions boundaries, see Permissions boundaries for IAM entities in the IAM User Guide. The policy input is specified as a string containing the complete, valid JSON text of a permissions boundary policy.

      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.

      The regex pattern 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)

    • action_names(Vec<String>) / set_action_names(Option<Vec<String>>):

      A list of names of API operations to evaluate in the simulation. Each operation is evaluated for each resource. Each operation must include the service identifier, such as iam:CreateUser.

    • resource_arns(Vec<String>) / set_resource_arns(Option<Vec<String>>):

      A list of ARNs of Amazon Web Services resources to include in the simulation. If this parameter is not provided, then the value defaults to * (all resources). Each API in the ActionNames parameter is evaluated for each resource in this list. The simulation determines the access result (allowed or denied) of each combination and reports it in the response. You can simulate resources that don’t exist in your account.

      The simulation does not automatically retrieve policies for the specified resources. If you want to include a resource policy in the simulation, then you must include the policy as a string in the ResourcePolicy parameter.

      For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference.

    • resource_policy(impl Into<String>) / set_resource_policy(Option<String>):

      A resource-based policy to include in the simulation provided as a string. Each resource in the simulation is treated as if it had this policy attached. You can include only one resource-based policy in a simulation.

      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.

      The regex pattern 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)

    • resource_owner(impl Into<String>) / set_resource_owner(Option<String>):

      An Amazon Web Services account ID that specifies the owner of any simulated resource that does not identify its owner in the resource ARN. Examples of resource ARNs include an S3 bucket or object. If ResourceOwner is specified, it is also used as the account owner of any ResourcePolicy included in the simulation. If the ResourceOwner parameter is not specified, then the owner of the resources and the resource policy defaults to the account of the identity provided in CallerArn. This parameter is required only if you specify a resource-based policy and account that owns the resource is different from the account that owns the simulated calling user CallerArn.

    • caller_arn(impl Into<String>) / set_caller_arn(Option<String>):

      The ARN of the IAM user that you want to specify as the simulated caller of the API operations. If you do not specify a CallerArn, it defaults to the ARN of the user that you specify in PolicySourceArn, if you specified a user. If you include both a PolicySourceArn (for example, arn:aws:iam::123456789012:user/David) and a CallerArn (for example, arn:aws:iam::123456789012:user/Bob), the result is that you simulate calling the API operations as Bob, as if Bob had David’s policies.

      You can specify only the ARN of an IAM user. You cannot specify the ARN of an assumed role, federated user, or a service principal.

      CallerArn is required if you include a ResourcePolicy and the PolicySourceArn is not the ARN for an IAM user. This is required so that the resource-based policy’s Principal element has a value to use in evaluating the policy.

      For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference.

    • context_entries(Vec<ContextEntry>) / set_context_entries(Option<Vec<ContextEntry>>):

      A list of context keys and corresponding values for the simulation to use. Whenever a context key is evaluated in one of the simulated IAM permissions policies, the corresponding value is supplied.

    • resource_handling_option(impl Into<String>) / set_resource_handling_option(Option<String>):

      Specifies the type of simulation to run. Different API operations that support resource-based policies require different combinations of resources. By specifying the type of simulation to run, you enable the policy simulator to enforce the presence of the required resources to ensure reliable simulation results. If your simulation does not match one of the following scenarios, then you can omit this parameter. The following list shows each of the supported scenario values and the resources that you must define to run the simulation.

      Each of the EC2 scenarios requires that you specify instance, image, and security group resources. If your scenario includes an EBS volume, then you must specify that volume as a resource. If the EC2 scenario includes VPC, then you must supply the network interface resource. If it includes an IP subnet, then you must specify the subnet resource. For more information on the EC2 scenario options, see Supported platforms in the Amazon EC2 User Guide.

      • EC2-Classic-InstanceStore

        instance, image, security group

      • EC2-Classic-EBS

        instance, image, security group, volume

      • EC2-VPC-InstanceStore

        instance, image, security group, network interface

      • EC2-VPC-InstanceStore-Subnet

        instance, image, security group, network interface, subnet

      • EC2-VPC-EBS

        instance, image, security group, network interface, volume

      • EC2-VPC-EBS-Subnet

        instance, image, security group, network interface, subnet, volume

    • max_items(i32) / set_max_items(Option<i32>):

      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.

    • marker(impl Into<String>) / set_marker(Option<String>):

      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.

  • On success, responds with SimulatePrincipalPolicyOutput with field(s):
    • evaluation_results(Option<Vec<EvaluationResult>>):

      The results of the simulation.

    • is_truncated(bool):

      A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

    • marker(Option<String>):

      When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

  • On failure, responds with SdkError<SimulatePrincipalPolicyError>

Constructs a fluent builder for the TagInstanceProfile operation.

Constructs a fluent builder for the TagMFADevice operation.

Constructs a fluent builder for the TagOpenIDConnectProvider operation.

Constructs a fluent builder for the TagPolicy operation.

Constructs a fluent builder for the TagRole operation.

Constructs a fluent builder for the TagSAMLProvider operation.

Constructs a fluent builder for the TagServerCertificate operation.

Constructs a fluent builder for the TagUser operation.

Constructs a fluent builder for the UntagInstanceProfile operation.

Constructs a fluent builder for the UntagMFADevice operation.

Constructs a fluent builder for the UntagOpenIDConnectProvider operation.

Constructs a fluent builder for the UntagPolicy operation.

Constructs a fluent builder for the UntagRole operation.

Constructs a fluent builder for the UntagSAMLProvider operation.

Constructs a fluent builder for the UntagServerCertificate operation.

Constructs a fluent builder for the UntagUser operation.

Constructs a fluent builder for the UpdateAccessKey operation.

Constructs a fluent builder for the UpdateAccountPasswordPolicy operation.

  • The fluent builder is configurable:
    • minimum_password_length(i32) / set_minimum_password_length(Option<i32>):

      The minimum number of characters allowed in an IAM user password.

      If you do not specify a value for this parameter, then the operation uses the default value of 6.

    • require_symbols(bool) / set_require_symbols(bool):

      Specifies whether IAM user passwords must contain at least one of the following non-alphanumeric characters:

      ! @ # $ % ^ & * ( ) _ + - = [ ] { } | ’

      If you do not specify a value for this parameter, then the operation uses the default value of false. The result is that passwords do not require at least one symbol character.

    • require_numbers(bool) / set_require_numbers(bool):

      Specifies whether IAM user passwords must contain at least one numeric character (0 to 9).

      If you do not specify a value for this parameter, then the operation uses the default value of false. The result is that passwords do not require at least one numeric character.

    • require_uppercase_characters(bool) / set_require_uppercase_characters(bool):

      Specifies whether IAM user passwords must contain at least one uppercase character from the ISO basic Latin alphabet (A to Z).

      If you do not specify a value for this parameter, then the operation uses the default value of false. The result is that passwords do not require at least one uppercase character.

    • require_lowercase_characters(bool) / set_require_lowercase_characters(bool):

      Specifies whether IAM user passwords must contain at least one lowercase character from the ISO basic Latin alphabet (a to z).

      If you do not specify a value for this parameter, then the operation uses the default value of false. The result is that passwords do not require at least one lowercase character.

    • allow_users_to_change_password(bool) / set_allow_users_to_change_password(bool):

      Allows all IAM users in your account to use the Amazon Web Services Management Console to change their own passwords. For more information, see Permitting IAM users to change their own passwords in the IAM User Guide.

      If you do not specify a value for this parameter, then the operation uses the default value of false. The result is that IAM users in the account do not automatically have permissions to change their own password.

    • max_password_age(i32) / set_max_password_age(Option<i32>):

      The number of days that an IAM user password is valid.

      If you do not specify a value for this parameter, then the operation uses the default value of 0. The result is that IAM user passwords never expire.

    • password_reuse_prevention(i32) / set_password_reuse_prevention(Option<i32>):

      Specifies the number of previous passwords that IAM users are prevented from reusing.

      If you do not specify a value for this parameter, then the operation uses the default value of 0. The result is that IAM users are not prevented from reusing previous passwords.

    • hard_expiry(bool) / set_hard_expiry(Option<bool>):

      Prevents IAM users who are accessing the account via the Amazon Web Services Management Console from setting a new console password after their password has expired. The IAM user cannot access the console until an administrator resets the password.

      If you do not specify a value for this parameter, then the operation uses the default value of false. The result is that IAM users can change their passwords after they expire and continue to sign in as the user.

      In the Amazon Web Services Management Console, the custom password policy option Allow users to change their own password gives IAM users permissions to iam:ChangePassword for only their user and to the iam:GetAccountPasswordPolicy action. This option does not attach a permissions policy to each user, rather the permissions are applied at the account-level for all users by IAM. IAM users with iam:ChangePassword permission and active access keys can reset their own expired console password using the CLI or API.

  • On success, responds with UpdateAccountPasswordPolicyOutput
  • On failure, responds with SdkError<UpdateAccountPasswordPolicyError>

Constructs a fluent builder for the UpdateAssumeRolePolicy operation.

  • The fluent builder is configurable:
    • role_name(impl Into<String>) / set_role_name(Option<String>):

      The name of the role to update with the new policy.

      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: _+=,.@-

    • policy_document(impl Into<String>) / set_policy_document(Option<String>):

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

      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 regex pattern 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)

  • On success, responds with UpdateAssumeRolePolicyOutput
  • On failure, responds with SdkError<UpdateAssumeRolePolicyError>

Constructs a fluent builder for the UpdateGroup operation.

  • The fluent builder is configurable:
    • group_name(impl Into<String>) / set_group_name(Option<String>):

      Name of the IAM group to update. If you’re changing the name of the group, this is the original name.

      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: _+=,.@-

    • new_path(impl Into<String>) / set_new_path(Option<String>):

      New path for the IAM group. Only include this if changing the group’s path.

      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.

    • new_group_name(impl Into<String>) / set_new_group_name(Option<String>):

      New name for the IAM group. Only include this if changing the group’s name.

      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”.

  • On success, responds with UpdateGroupOutput
  • On failure, responds with SdkError<UpdateGroupError>

Constructs a fluent builder for the UpdateLoginProfile operation.

  • The fluent builder is configurable:
    • user_name(impl Into<String>) / set_user_name(Option<String>):

      The name of the user whose password you want to update.

      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: _+=,.@-

    • password(impl Into<String>) / set_password(Option<String>):

      The new password for the specified IAM user.

      The regex pattern 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)

      However, the format can be further restricted by the account administrator by setting a password policy on the Amazon Web Services account. For more information, see UpdateAccountPasswordPolicy.

    • password_reset_required(bool) / set_password_reset_required(Option<bool>):

      Allows this new password to be used only once by requiring the specified IAM user to set a new password on next sign-in.

  • On success, responds with UpdateLoginProfileOutput
  • On failure, responds with SdkError<UpdateLoginProfileError>

Constructs a fluent builder for the UpdateOpenIDConnectProviderThumbprint operation.

Constructs a fluent builder for the UpdateRole operation.

  • The fluent builder is configurable:
    • role_name(impl Into<String>) / set_role_name(Option<String>):

      The name of the role that you want to modify.

    • description(impl Into<String>) / set_description(Option<String>):

      The new description that you want to apply to the specified role.

    • max_session_duration(i32) / set_max_session_duration(Option<i32>):

      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 CLI 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 in the IAM User Guide.

  • On success, responds with UpdateRoleOutput
  • On failure, responds with SdkError<UpdateRoleError>

Constructs a fluent builder for the UpdateRoleDescription operation.

Constructs a fluent builder for the UpdateSAMLProvider operation.

Constructs a fluent builder for the UpdateServerCertificate operation.

Constructs a fluent builder for the UpdateServiceSpecificCredential operation.

Constructs a fluent builder for the UpdateSigningCertificate operation.

Constructs a fluent builder for the UpdateSSHPublicKey operation.

Constructs a fluent builder for the UpdateUser operation.

  • The fluent builder is configurable:
    • user_name(impl Into<String>) / set_user_name(Option<String>):

      Name of the user to update. If you’re changing the name of the user, this is the original user name.

      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: _+=,.@-

    • new_path(impl Into<String>) / set_new_path(Option<String>):

      New path for the IAM user. Include this parameter only if you’re changing the user’s path.

      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.

    • new_user_name(impl Into<String>) / set_new_user_name(Option<String>):

      New name for the user. Include this parameter only if you’re changing the user’s name.

      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”.

  • On success, responds with UpdateUserOutput
  • On failure, responds with SdkError<UpdateUserError>

Constructs a fluent builder for the UploadServerCertificate operation.

  • The fluent builder is configurable:
    • path(impl Into<String>) / set_path(Option<String>):

      The path for the server certificate. For more information about paths, see IAM identifiers 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) 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.

      If you are uploading a server certificate specifically for use with Amazon CloudFront distributions, you must specify a path using the path parameter. The path must begin with /cloudfront and must include a trailing slash (for example, /cloudfront/test/).

    • server_certificate_name(impl Into<String>) / set_server_certificate_name(Option<String>):

      The name for the server certificate. Do not include the path in this value. The name of the certificate cannot contain any spaces.

      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: _+=,.@-

    • certificate_body(impl Into<String>) / set_certificate_body(Option<String>):

      The contents of the public key certificate in PEM-encoded format.

      The regex pattern 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)

    • private_key(impl Into<String>) / set_private_key(Option<String>):

      The contents of the private key in PEM-encoded format.

      The regex pattern 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)

    • certificate_chain(impl Into<String>) / set_certificate_chain(Option<String>):

      The contents of the certificate chain. This is typically a concatenation of the PEM-encoded public key certificates of the chain.

      The regex pattern 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)

    • tags(Vec<Tag>) / set_tags(Option<Vec<Tag>>):

      A list of tags that you want to attach to the new IAM server certificate resource. Each tag consists of a key name and an associated value. For more information about tagging, see Tagging IAM resources in the IAM User Guide.

      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.

  • On success, responds with UploadServerCertificateOutput with field(s):
  • On failure, responds with SdkError<UploadServerCertificateError>

Constructs a fluent builder for the UploadSigningCertificate operation.

Constructs a fluent builder for the UploadSSHPublicKey operation.

  • The fluent builder is configurable:
    • user_name(impl Into<String>) / set_user_name(Option<String>):

      The name of the IAM user to associate the SSH public key 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: _+=,.@-

    • ssh_public_key_body(impl Into<String>) / set_ssh_public_key_body(Option<String>):

      The SSH public key. The public key must be encoded in ssh-rsa format or PEM format. The minimum bit-length of the public key is 2048 bits. For example, you can generate a 2048-bit key, and the resulting PEM file is 1679 bytes long.

      The regex pattern 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)

  • On success, responds with UploadSshPublicKeyOutput with field(s):
  • On failure, responds with SdkError<UploadSSHPublicKeyError>

Creates a client with the given service config and connector override.

Creates a new client from a shared config.

Creates a new client from the service Config.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Converts to this type from the input type.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more