account_alias |
Assign the account alias for the AWS Account. Unmanaged by default. Resource will be created if the string is non-empty. |
string |
"" |
no |
account_pass_policy |
Manages Password Policy for the AWS Account. Unmanaged by default. Resource will be created if 'manage' is set to true. |
object({ manage = bool # Set to true, to manage the AWS account password policy allow_users_to_change_password = bool # Allow users to change their own password? hard_expiry = bool # Users are prevented from setting a new password after their password has expired? max_password_age = number # Number of days that an user password is valid minimum_password_length = number # Minimum length to require for user passwords password_reuse_prevention = number # The number of previous passwords that users are prevented from reusing require_lowercase_characters = bool # Require lowercase characters for user passwords? require_numbers = bool # Require numbers for user passwords? require_symbols = bool # Require symbols for user passwords? require_uppercase_characters = bool # Require uppercase characters for user passwords? }) |
{ "allow_users_to_change_password": null, "hard_expiry": null, "manage": false, "max_password_age": null, "minimum_password_length": null, "password_reuse_prevention": null, "require_lowercase_characters": null, "require_numbers": null, "require_symbols": null, "require_uppercase_characters": null } |
no |
providers_saml |
A list of dictionaries defining saml providers. |
list(object({ name = string # The name of the provider to create file = string # Path to XML generated by identity provider that supports SAML 2.0 })) |
[] |
no |
providers_oidc |
A list of dictionaries defining openid connect providers. |
list(object({ url = string # URL of the identity provider. Corresponds to the iss claim client_id_list = list(string) # List of client IDs (also known as audiences) thumbprint_list = list(string) # List of server certificate thumbprints. })) |
[] |
no |
policies |
A list of dictionaries defining all policies. |
list(object({ name = string # Name of the policy path = string # Defaults to 'var.policy_path' if variable is set to null desc = string # Defaults to 'var.policy_desc' if variable is set to null file = string # Path to json or json.tmpl file of policy vars = map(string) # Policy template variables {key: val, ...} })) |
[] |
no |
groups |
A list of dictionaries defining all groups. |
list(object({ name = string # Name of the group path = string # Defaults to 'var.group_path' if variable is set to null policies = list(string) # List of names of policies (must be defined in var.policies) policy_arns = list(string) # List of existing policy ARN's inline_policies = list(object({ name = string # Name of the inline policy file = string # Path to json or json.tmpl file of policy vars = map(string) # Policy template variables {key = val, ...} })) })) |
[] |
no |
users |
A list of dictionaries defining all users. |
list(object({ name = string # Name of the user path = string # Defaults to 'var.user_path' if variable is set to null groups = list(string) # List of group names to add this user to access_keys = list(object({ name = string # IaC identifier for first or second IAM access key (not used on AWS) pgp_key = string # Leave empty for non or provide a b64-enc pubkey or keybase username status = string # 'Active' or 'Inactive' })) permissions_boundary = string # ARN to a policy used as permissions boundary (or null/empty) policies = list(string) # List of names of policies (must be defined in var.policies) policy_arns = list(string) # List of existing policy ARN's inline_policies = list(object({ name = string # Name of the inline policy file = string # Path to json or json.tmpl file of policy vars = map(string) # Policy template variables {key = val, ...} })) })) |
[] |
no |
roles |
A list of dictionaries defining all roles. |
list(object({ name = string # Name of the role path = string # Defaults to 'var.role_path' if variable is set to null desc = string # Defaults to 'var.role_desc' if variable is set to null trust_policy_file = string # Path to file of trust/assume policy permissions_boundary = string # ARN to a policy used as permissions boundary (or null/empty) policies = list(string) # List of names of policies (must be defined in var.policies) policy_arns = list(string) # List of existing policy ARN's inline_policies = list(object({ name = string # Name of the inline policy file = string # Path to json or json.tmpl file of policy vars = map(string) # Policy template variables {key = val, ...} })) })) |
[] |
no |
policy_path |
The default path under which to create the policy if not specified in the policies list. You can use a single path, or nest multiple paths as if they were a folder structure. For example, you could use the nested path /division_abc/subdivision_xyz/product_1234/engineering/ to match your company's organizational structure. |
string |
"/" |
no |
policy_desc |
The default description of the policy. |
string |
"Managed by Terraform" |
no |
group_path |
The path under which to create the group. You can use a single path, or nest multiple paths as if they were a folder structure. For example, you could use the nested path /division_abc/subdivision_xyz/product_1234/engineering/ to match your company's organizational structure. |
string |
"/" |
no |
user_path |
The path under which to create the user. You can use a single path, or nest multiple paths as if they were a folder structure. For example, you could use the nested path /division_abc/subdivision_xyz/product_1234/engineering/ to match your company's organizational structure. |
string |
"/" |
no |
role_path |
The path under which to create the role. You can use a single path, or nest multiple paths as if they were a folder structure. For example, you could use the nested path /division_abc/subdivision_xyz/product_1234/engineering/ to match your company's organizational structure. |
string |
"/" |
no |
role_desc |
The description of the role. |
string |
"Managed by Terraform" |
no |
role_max_session_duration |
The maximum session duration (in seconds) that you want to set for the specified role. This setting can have a value from 1 hour to 12 hours specified in seconds. |
string |
"3600" |
no |
role_force_detach_policies |
Specifies to force detaching any policies the role has before destroying it. |
bool |
true |
no |
tags |
Key-value mapping of tags for the IAM role or user. |
map(any) |
{} |
no |