Module Documentation
Auto-generated Terraform module reference — inputs, outputs, resources, and sub-modules.
This page is auto-generated from the Terraform source in
[org-kickstart](https://github.com/primeharbor/org-kickstart).
Run `make generate-module-docs` in the `org-kickstart-site/` directory to refresh it.
Requirements
| Name | Version |
|---|---|
| terraform | >= 1.0, < 2.0 |
| aws | >= 6.27.0 |
Providers
| Name | Version |
|---|---|
| aws | >= 6.27.0 |
| aws.security-account | >= 6.27.0 |
Modules
| Name | Source | Version |
|---|---|---|
| accounts | ./modules/account | n/a |
| billing_alerts | ./modules/billing_alerts | n/a |
| datatrail | ./modules/datatrail | n/a |
| declarative_policies | ./modules/org_policies | n/a |
| rcp | ./modules/org_policies | n/a |
| scp | ./modules/org_policies | n/a |
| security-services | ./modules/security_services | n/a |
| security_account | ./modules/account | n/a |
Resources
Inputs
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| account_configurator | Serverless Application to configure new accounts. See https://github.com/primeharbor/pht-account-configurator | object({ |
null |
no |
| accounts | AWS accounts to provision in the organization. | map( |
n/a | yes |
| admin_group_name | Name of the Identity Store Group with all the admin users | string |
"AllAdmins" |
no |
| admin_permission_set_name | Name of the Default Admin Permission Set to Create | string |
"AdministratorAccess" |
no |
| audit_role_name | Name of the AuditRole to deploy | string |
"security-audit" |
no |
| audit_role_stack_set_template_url | URL that points to the Audit Role Policy Template | string |
null |
no |
| aws_service_access_principals_to_enable | List of AWS service access principals to enable if they’re not part of the default set. | list(string) |
[] |
no |
| aws_service_access_principals_to_exclude | List of AWS service access principals to exclude from the default set. | list(string) |
[] |
no |
| backend_bucket | Name of the S3 bucket used for the CloudFormation stacks and Terraform state backend | string |
n/a | yes |
| billing_alerts | Triggers for billing alerts and who should receive them. | object({ |
null |
no |
| billing_data_bucket_name | Name of the S3 Bucket for CUR reports. Set to null to disable CUR report generation. | string |
null |
no |
| budget_defaults | Default values for AWS Budgets. Some settings can be overridden in the account definition. | object({ |
{} |
no |
| cloudtrail_bucket_name | Name of the S3 Bucket to create to store CloudTrail events. Set to null to disable CloudTrail management | string |
null |
no |
| cloudtrail_loggroup_name | Name of the CloudWatch Log Group in the payer account where CloudTrail will send its events. Set to null to disable CloudTrail to CloudWatch Logs. | string |
null |
no |
| cur_report_frequency | Frequency CUR reports should be delivered (DAILY, HOURLY, MONTHLY). Set to NONE to disable | string |
"NONE" |
no |
| datatrail | Details on the DataTrails | object({ |
null |
no |
| declarative_policies | Map of Declarative Policies to create and attach. | map(object({ |
{} |
no |
| declarative_policy_bucket_name | Name of S3 Bucket for Declarative Policy Reports. Set to null to disable Declarative Policy Reports. | string |
null |
no |
| default_close_on_deletion | If set, the AWS Account will be closed when it’s removed from org-kickstart. Set this with caution. | bool |
false |
no |
| deploy_audit_role | Boolean to determine if org-kickstart should manage a Security Audit Role. Set to false to disable the creation of an Audit Role stackset. | bool |
true |
no |
| disable_sso_management | Set to true to disable creating a default Admin Permission Set in Identity Center. | bool |
false |
no |
| global_billing_contact | Billing alternate contact to be applied to all accounts. | object({ |
null |
no |
| global_operations_contact | Default operations alternate contact to be applied to all accounts. Can be overridden in account definition. | object({ |
null |
no |
| global_primary_contact | Default primary account owner to be applied to all accounts. Can be overridden in account definition. | object({ |
null |
no |
| global_security_contact | Security alternate contact to be applied to all accounts | object({ |
null |
no |
| macie_bucket_name | Name of the S3 Bucket to create to store Macie Findings. Set to null to skip creation | string |
null |
no |
| manage_state_bucket | Manage the S3 bucket named by backend_bucket (the bucket that holds this Terraform state) with Terraform. The bucket must already exist (it has to, in order to run Terraform at all), so it is adopted via an import block in the calling module rather than created. When true, Terraform enforces versioning, public-access-block, and encryption on it. Set to false to leave the bucket entirely outside Terraform’s management. |
bool |
true |
no |
| organization_name | Name of the Organization. This is used for resource prefixes and general reference | string |
n/a | yes |
| organization_policy_types_to_exclude | List of organization policy types to exclude from the default set. | list(string) |
[] |
no |
| organization_units | Map of OUs to create. | map( |
{} |
no |
| payer_cloudformation_stacks | Map of CloudFormation stacks to deploy into the payer account. Exactly one of template_file (local path relative to path.root) or template_url (S3/HTTPS URL) must be set per stack. If regions is omitted, the stack is deployed only in the base org-kickstart region. | map( |
{} |
no |
| payer_email | Root Email address for the Organization Management account | string |
n/a | yes |
| payer_name | Name of the Organization Management account | string |
"AWS Payer" |
no |
| resource_control_policies | Map of RCPs to create and attach. | map( |
{} |
no |
| security_account | Settings for the Security Account. | object({ |
n/a | yes |
| security_account_name | Name of the Security Account | string |
"Security Account" |
no |
| security_account_root_email | Root Email address for the security account | string |
n/a | yes |
| security_account_stacks | Map of CloudFormation stacks to deploy into the security account. Exactly one of template_file (local path relative to path.root) or template_url (S3/HTTPS URL) must be set per stack. If regions is omitted, the stack is deployed only in the base org-kickstart region. | map( |
{} |
no |
| security_services | Explicitly disable or not manage a security service | object({ |
n/a | yes |
| service_control_policies | Map of SCPs to create and attach. | map( |
{} |
no |
| session_duration | Admin Permission Set Session Duration | string |
"PT8H" |
no |
| sso_instance_region | Region where the AWS SSO instance is configured | string |
"us-east-1" |
no |
| sso_start_url | AWS SSO start URL (e.g., https://yourorg.awsapps.com/start) | string |
"https://NOT-PROVIDED.awsapps.com/start" |
no |
| tag_set | Default map of tags to be applied to all resources via all providers | map(string) |
{} |
no |
| vpc_flowlogs_bucket_name | Name of the S3 Bucket to create to store VPC Flow Logs. Set to null to skip creation | string |
null |
no |
Outputs
| Name | Description |
|---|---|
| account_map | Map of account names (actual names, not terraform keys) to account IDs |
| accounts | Map of account names to account IDs |
| cloudtrail_cloudwatch_log_group | ARN of the CloudWatch Log Group that has the CloudTrail Management Events |
| cloudtrail_s3_notification_topic | ARN of the SNS Topic that receives S3 notifications of new CloudTrail event objects. |
| declarative_policy_bucket | S3 Bucket used to store declarative policies |
| macie_key_arn | ARN of the KMS Key used by Macie |
| org_id | ID of the AWS Organization |
| org_name | Name of the AWS Organization |
| ou_name_to_id | Map of OU Names to OU IDs |
| security_account_id | ID of the Security Account |
| sso_instance_arn | AWS Identity Center Instance ARN managed by org-kickstart |
| sso_region | AWS Region where SSO Identity Center is configured |
| sso_role_name | Name of the SSO Permission Set (role name) for admin access |
| sso_start_url | AWS SSO start URL (e.g., https://yourorg.awsapps.com/start) |
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.