Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/miquido/terraform-iam-group


https://github.com/miquido/terraform-iam-group

Last synced: 5 days ago
JSON representation

Awesome Lists containing this project

README

        

[![Miquido][logo]](https://www.miquido.com/)

# miquido-terraform-iam-group
---
**Terraform Module**

GitLab Repository: https://gitlab.com/miquido/terraform/miquido-terraform-iam-group

## Usage

```hcl
module {
source = "git::ssh://[email protected]:miquido/terraform/terraform-iam-group.git?ref=master"

name = "ExampleGroup"
attach_policy_arns = []
assume_role_policies = [
{
AccountIDs = ["00000000", "11111111"]
RoleNames = ["*AdminAccess"]
},
{
AccountIDs = ["2222222"]
RoleNames = ["ReadOnlyAccess"]
}
]
}
```

## Requirements

| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 0.13 |
| [aws](#requirement\_aws) | ~> 3.0 |

## Providers

| Name | Version |
|------|---------|
| [aws](#provider\_aws) | ~> 3.0 |

## Modules

No modules.

## Resources

| Name | Type |
|------|------|
| [aws_iam_group.main](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_group) | resource |
| [aws_iam_group_policy_attachment.defaults](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_group_policy_attachment) | resource |
| [aws_iam_group_policy_attachment.permit-assume-role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_group_policy_attachment) | resource |
| [aws_iam_policy.permit-assume-role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |
| [aws_iam_policy_document.permit-assume-role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [assume\_role\_policies](#input\_assume\_role\_policies) | List of IAM Policies with Assume Role permissions to create and attach to created IAM Group |

list(object({
AccountIDs = list(string)
RoleNames = list(string)
}))
| `[]` | no |
| [attach\_policy\_arns](#input\_attach\_policy\_arns) | List of IAM Policy ARNs to attach to the created IAM Group | `list(string)` | `[]` | no |
| [name](#input\_name) | The group's name. The name must consist of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-\_.. Group names are not distinguished by case. For example, you cannot create groups named both `ADMINS` and `admins`. | `string` | n/a | yes |
| [path](#input\_path) | Path in which to create the group and policies. | `string` | `"/users/"` | no |

## Outputs

| Name | Description |
|------|-------------|
| [group\_arn](#output\_group\_arn) | The ARN assigned by AWS for this group. |
| [group\_id](#output\_group\_id) | The group's ID. |
| [group\_name](#output\_group\_name) | The group's name. |
| [group\_unique\_id](#output\_group\_unique\_id) | The unique ID assigned by AWS for this group. |

## Makefile Targets
```text
Available targets:

help Help screen
help/all Display help for all targets
help/short This help short screen
lint Lint Terraform code

```

## Developing

1. Make changes in terraform files

2. Regenerate documentation

```bash
bash <(git archive [email protected]:miquido/terraform/terraform-readme-update.git master update.sh | tar -xO)
```

3. Run lint

```
make lint
```

## Copyright

Copyright © 2017-2022 [Miquido](https://miquido.com)

### Contributors

| [![Konrad Obal][k911_avatar]][k911_homepage]
[Konrad Obal][k911_homepage] |
|---|

[k911_homepage]: https://github.com/k911
[k911_avatar]: https://github.com/k911.png?size=150

[logo]: https://www.miquido.com/img/logos/logo__miquido.svg
[website]: https://www.miquido.com/
[gitlab]: https://gitlab.com/miquido
[github]: https://github.com/miquido
[bitbucket]: https://bitbucket.org/miquido