service-control-policies

cloudposse/service-control-policies/aws

Terraform Module HCL AWS

Terraform module to provision Service Control Policies (SCP) for AWS Organizations, Organizational Units, and AWS accounts

Install
module "service-control-policies" {
source = "cloudposse/service-control-policies/aws"
version = "0.15.2"
}
plain text: /constructs/tfmod-cloudposse-service-control-policies-aws/install.txt
⭐ Source on GitHub 📦 Registry page
README

Terraform module to provision Service Control Policies (SCP) for AWS Organizations, Organizational Units, and AWS accounts. > [!TIP] > #### 👽 Use Atmos with Terraform > Cloud Posse uses atmos to easily orchestrate multiple environments using Terraform. > Works with Github Actions, Atlantis, or Spacelift. > > > Watch demo of using Atmos with Terraform > > Example of running atmos to manage infrastructure from our Quick Start tutorial. > Introduction Service Control Policies are configured in YAML configuration files. We maintain a comprehensive catalog of SCP configurations and welcome contributions via pull request! The example in this module uses the catalog to provision the SCPs on AWS. The policies in the catalog/*-templates files require parameters supplied via the parameters input to

Inputs (21)
NameTypeDescriptionDefault
service_control_policy_statementsanyList of Service Control Policy statements required
target_idstringThe unique identifier (ID) of the organization root, organizational unit, or acc required
label_key_casestringControls the letter case of the `tags` keys (label names) for tags generated by null
descriptor_formatsanyDescribe additional descriptors to be output in the `descriptors` output map. Ma{}
delimiterstringDelimiter to be used between ID elements. Defaults to `-` (hyphen). Set to `""` null
label_orderlist(string)The order in which the labels (ID elements) appear in the `id`. Defaults to ["nanull
service_control_policy_descriptionstringDescription of the combined Service Control Policynull
contextanySingle object for setting entire context at once. See description of individual { "additional_tag_map": {}, "attribu
namespacestringID element. Usually an abbreviation of your organization name, e.g. 'eg' or 'cp'null
tagsmap(string)Additional tags (e.g. `{'BusinessUnit': 'XYZ'}`). Neither the tag keys nor the t{}
additional_tag_mapmap(string)Additional key-value pairs to add to each map in `tags_as_list_of_maps`. Not add{}
id_length_limitnumberLimit `id` to this many characters (minimum 6). Set to `0` for unlimited length.null
tenantstringID element _(Rarely used, not included by default)_. A customer identifier, indinull
stagestringID element. Usually used to indicate role, e.g. 'prod', 'staging', 'source', 'bunull
namestringID element. Usually the component or solution name, e.g. 'app' or 'jenkins'. Thinull
label_value_casestringControls the letter case of ID elements (labels) as included in `id`, set as tagnull
enabledboolSet to false to prevent the module from creating any resourcesnull
environmentstringID element. Usually used for region e.g. 'uw2', 'us-west-2', OR role 'prod', 'stnull
attributeslist(string)ID element. Additional attributes (e.g. `workers` or `cluster`) to add to `id`, []
labels_as_tagsset(string)Set of labels (ID elements) to include as tags in the `tags` output. Default is [ "default" ]
regex_replace_charsstringTerraform regular expression (regex) string. Characters matching the regex will null
Outputs (2)
organizations_policy_id — The unique identifier of the policy
organizations_policy_arn — Amazon Resource Name (ARN) of the policy
Resources (2)
aws_organizations_policyaws_organizations_policy_attachment
Details
FrameworkTerraform Module
LanguageHCL
Version0.15.2
Cloud AWS
★ Stars56
Forks28
Total downloads211.9k
Inputs21
Outputs2
Resources2
Examples1
LicenseApache-2.0
Namespacecloudposse
Updated