← ALL DOCS
DOCS · PLATFORM TEAMS

Configuration reference

Every parameter of the Hub's template, grouped as the CloudFormation console shows them, with its default, what it does, and the matching input of the Terraform module. Most installs set only BootstrapAdminEmail and IdentityProvider and keep every other default.

Parameters keep their meaning in every release, and new ones always come with a safe default, so an update can keep all your current values.

Change a parameter later

Update the stack with the new value and keep every other parameter. In the CloudFormation console, select the Hub's stack, choose Update, keep the current template and change the value. With the AWS CLI, list the parameter you change with its new value and every other one with UsePreviousValue=true; this changes LogRetentionDays and keeps the rest:

bash
KEEP=$(aws cloudformation describe-stacks \
  --region eu-west-2 --stack-name cloudcertainty-hub \
  --query "Stacks[0].Parameters[?ParameterKey!='LogRetentionDays'].ParameterKey" --output text \
  | tr '\t' '\n' | sed 's/.*/ParameterKey=&,UsePreviousValue=true/')

aws cloudformation update-stack \
  --region eu-west-2 --stack-name cloudcertainty-hub \
  --use-previous-template \
  --capabilities CAPABILITY_IAM CAPABILITY_NAMED_IAM \
  --parameters ParameterKey=LogRetentionDays,ParameterValue=365 $KEEP

With Terraform, change the module input and apply. Don't change a Terraform-managed Hub with the console or the AWS CLI: your state would drift.

General

ParameterTerraformDefaultWhat it does
NamePrefix (Name prefix)name_prefixcc-hubPrefix of every resource the Hub creates for itself (cc-hub-api, cc-hub-table and so on). 2 to 20 lowercase letters, digits and hyphens, starting with a letter. Must be unique per account and Region, and must not contain aws, amazon or cognito, because it is part of the Cognito domain.
TagOwner (Owner tag)tags["Owner"]platform-teamValue of the Owner tag on every taggable resource.
TagCostCenter (Cost center tag)tags["CostCenter"]noneValue of the CostCenter tag on every taggable resource.
TagEnvironment (Environment tag)tags["Environment"]prodValue of the Environment tag on every taggable resource.

With Terraform, tags is applied to the stack and so to its resources; its Owner, CostCenter and Environment keys also fill the three tag parameters.

Identity

ParameterTerraformDefaultWhat it does
IdentityProvider (Identity provider)identity_providerIAMIdentityCenterHow people sign in to the Hub: IAMIdentityCenter, SAML, OIDC or CognitoOnly. IAMIdentityCenter and SAML need two steps: create the stack, create the SAML application with the stack outputs, then update the stack with the metadata URL. CognitoOnly uses Cognito users, with multi-factor authentication required. See first sign-in.
SamlMetadataUrl (SAML metadata URL)saml_metadata_urlemptyThe SAML metadata URL from IAM Identity Center or your SAML identity provider. Leave it empty on the first deployment. Only used with IAMIdentityCenter and SAML; the stack refuses it with the others.
OidcIssuer (OIDC issuer URL)oidc_issueremptyThe OIDC issuer URL. Required with OIDC.
OidcClientId (OIDC client ID)oidc_client_idemptyThe OIDC client ID. Required with OIDC.
OidcClientSecretArn (OIDC client secret)oidc_client_secret_arnemptyThe ARN of a Secrets Manager secret whose value is the OIDC client secret. CloudFormation reads it when it deploys. Required with OIDC, because Amazon Cognito needs a confidential client.
OidcEmailVerifiedClaim (OIDC email-verified claim)oidc_email_verified_claimemail_verifiedThe OIDC claim that says whether your identity provider verified the user's email. Users whose email is not verified are refused. Use xms_edov for Microsoft Entra ID.
BootstrapAdminEmail (First administrator email)bootstrap_admin_emailnone: requiredThe first Hub administrator. This email is always an administrator; add others in the Hub's Settings. With CognitoOnly the stack creates the user, who receives a temporary password by email.

IAM Identity Center

ParameterTerraformDefaultWhat it does
IdentityCenterSetup (Set up IAM Identity Center)identity_center_setupCreateIfMissingCreateIfMissing: use this account's IAM Identity Center, or create one (an account instance) when there is none. UseExisting: use it, and fail when there is none. When the account owns it, the stack also creates the group CloudCertaintyHubAdmins (its members are Hub administrators) with a user for BootstrapAdminEmail. Disabled: leave IAM Identity Center alone. The stack never deletes IAM Identity Center, its users or its groups.
IdentityCenterRegion (Region for a new IAM Identity Center)identity_center_regionemptyThe Region to create IAM Identity Center in when there is none. Empty uses the stack's Region. An existing IAM Identity Center is found in any Region.

IAM Identity Center explains each case, including AWS Organizations.

Installing products

ParameterTerraformDefaultWhat it does
DeployMode (How products are installed)deploy_modeFullFull: the Hub creates, updates and deletes product stacks itself, with a CloudFormation service role (the deployer role) whose permissions cover what the products create. Hub administrators can then change those resources, so treat them as AWS administrators. ExportOnly: no deployer role is created, and the Hub only exports Terraform and CloudFormation for you to run with your own credentials.
StackNamePrefix (Product stack name prefix)stack_name_prefixcc-The Hub only creates, updates and deletes stacks whose names start with this prefix, and IAM enforces it too. 1 to 20 letters, digits and hyphens, starting with a letter. The Hub never changes its own stack this way, so don't start the Hub's stack name with it.
CatalogueUrl (Product catalogue URL)catalogue_urlhttps://cloudcertainty-hub-us-east-1.s3.us-east-1.amazonaws.com/catalog.jsonThe public Cloud Certainty product catalogue. Leave the default. In Terraform, leave it null for the default.

Hub updates

ParameterTerraformDefaultWhat it does
UpdateReminders (Update reminders)update_remindersEnabledEnabled: when a newer Hub release exists, the Hub emails the reminder address, then reminds it 1, 3, 7 and 30 days later and every 30 days after that until the Hub is updated. The messages go through the SNS topic in the UpdateTopicArn output. Disabled: no emails, and no topic or schedule is created; the Hub's About page still shows the update.
UpdateNotificationEmail (Update reminder email)update_notification_emailemptyThe address for update reminders. Empty uses BootstrapAdminEmail. AWS sends a confirmation email that must be accepted first.

See update reminders. These two parameters, their Terraform inputs and the UpdateTopicArn output exist from Hub 0.1.0-rc.11.

Logging and encryption

ParameterTerraformDefaultWhat it does
LogRetentionDays (Log retention)log_retention_days90Retention in days of the Hub's own CloudWatch log groups, including the audit log. One of the values CloudWatch Logs allows, from 1 to 3653.
KmsKeyArn (KMS key ARN)kms_key_arnemptyAn optional customer managed KMS key for DynamoDB, CloudWatch Logs and the Hub's private artifacts bucket (and the update reminder topic). The key policy must allow logs.<region>.amazonaws.com to use it, and IAM policies to grant its use. A key ARN, not an alias. Empty uses AWS owned keys and SSE-S3.

Advanced (support use only)

ParameterTerraformDefaultWhat it does
ArtifactVersionOverride (Artifact version override)artifact_version_overrideemptyLeave it empty. Set it only when Cloud Certainty support asks you to.

Terraform module inputs

These inputs of the Terraform module are not template parameters:

InputDefaultWhat it does
hub_versionthe module's own release (0.1.0-rc.12 for module 0.1.0-rc.12)The Hub release to deploy. Set it to the same release as the module's version; changing both and applying is how a Terraform install is updated.
template_urlnullOverrides the template URL built from hub_version. Leave it null.
stack_namecloudcertainty-hubThe name of the Hub's stack. It must not start with stack_name_prefix.
tags{}Tags for the stack and its resources (see General). The module adds cloudcertainty:managed-by = terraform, which stops the Hub updating itself.
cloudformation_role_arnnullAn optional CloudFormation service role to deploy the Hub's stack with.
timeout60mThe create, update and delete timeout of the stack.

The module checks at plan time what the template checks at deploy time: OIDC needs the three OIDC inputs, and saml_metadata_url is only for IAMIdentityCenter and SAML.

Stack outputs

OutputTerraform outputWhat it is
PortalUrlportal_urlThe address of the Hub.
ProductVersionThe Hub release the stack runs.
UpdateTopicArnupdate_topic_arnThe SNS topic of the update reminders. Only with UpdateReminders set to Enabled, from 0.1.0-rc.11.
SamlAcsUrlsaml_acs_urlThe Assertion Consumer Service (ACS) URL for your IAM Identity Center or SAML application.
SamlAudienceUrisaml_audience_uriThe SAML audience (entity ID) for that application.
CognitoDomaincognito_domainThe Cognito managed login domain. With OIDC, the redirect URI is this domain followed by /oauth2/idpresponse.
ApiUrlThe base URL of the Hub's HTTP API.
UserPoolIdThe ID of the Hub's Cognito user pool.
UserPoolClientIdThe ID of the Cognito app client the Hub's web app uses.
DeployerRoleArndeployer_role_arnThe CloudFormation service role the Hub runs product stacks with. Only in Full mode.
IdentityCenterStatusWhat the IAM Identity Center setup did, or why it could not. Not with IdentityCenterSetup set to Disabled, like the four below.
IdentityCenterInstanceArnidentity_center_instance_arnThe IAM Identity Center instance the Hub uses.
IdentityCenterRegionidentity_center_regionThe Region of IAM Identity Center: create the Hub's SAML application there.
IdentityCenterPortalUrlidentity_center_portal_urlThe AWS access portal URL of IAM Identity Center.
IdentityCenterAdminGroupIdidentity_center_admin_group_idThe ID of the CloudCertaintyHubAdmins group. Empty when IAM Identity Center belongs to your organisation.
TableNameThe Hub's DynamoDB table, which is kept when the stack is deleted.

The module also has a stack_id output, the ID of the Hub's stack.

Something unclear or missing? Email info@cloudcertainty.com.

Tell us what you have. We'll make it better and cheaper.

Send a short description of your current setup. We will tell you what we would improve, what it would cost, and where the savings are. A considered reply from an engineer, not a sales sequence.

TELL US ABOUT YOUR SETUP →