Documentation
¶
Index ¶
- Constants
- Variables
- func CustomNestedStackS3Key(orgID, appID, contentsHash, templateURL string) string
- func CustomNestedStackTemplateURL(baseURL, orgID, appID, contentsHash, templateURL string) string
- func ExtractAndStripCustomStacksInputParameters(tmpl *cloudformation.Template) map[string]map[string]string
- func SplitCustomStacksOnlyOutputs(flatOutputs map[string]string, stackNames []string) map[string]map[string]map[string]string
- type Params
- type Templates
Constants ¶
const TagKeyRunnerAssumable = "runner.nuon.co/assumable"
TagKeyRunnerAssumable marks an IAM role that the runner is permitted to assume. The runner instance role's identity policy scopes sts:AssumeRole with an iam:ResourceTag condition on this key, so it is a cross-repo contract with nuonco/aws-cloudformation-templates: renaming it here without releasing a matching runner template revokes the runner's access.
Variables ¶
var AWSCustomStacksOnlyContractParams = []string{"VPC", "CIDRBlock", "RunnerSubnet", "PublicSubnets", "PrivateSubnets"}
AWSCustomStacksOnlyContractParams are the frozen top-level parameter names the custom-stacks-only template always declares, standing in for the VPC/runner nested stack outputs that don't exist in this mode.
var ReservedParamNames = []string{"ClusterName", "Namespaces", "NuonInstallID", "NuonAppID", "NuonOrgID"}
these parameter values should never be provided by the customer. these are always provided by nuon. as a result, if they are specified as input Params, we ensure the values are configurable only by us by excluding them from the Parameters for the nested stack.
Functions ¶
func CustomNestedStackS3Key ¶ added in v0.19.793
CustomNestedStackS3Key returns the S3 object key for a custom nested stack template.
func CustomNestedStackTemplateURL ¶ added in v0.19.793
CustomNestedStackTemplateURL returns the full S3 HTTPS URL for the template.
func ExtractAndStripCustomStacksInputParameters ¶ added in v0.19.1159
func ExtractAndStripCustomStacksInputParameters(tmpl *cloudformation.Template) map[string]map[string]string
ExtractAndStripCustomStacksInputParameters pulls the hoisted-parameter mapping getAWSCustomStacksOnlyTemplate attaches to Template.Metadata and removes it so it never reaches the deployed JSON.
func SplitCustomStacksOnlyOutputs ¶ added in v0.19.1159
func SplitCustomStacksOnlyOutputs(flatOutputs map[string]string, stackNames []string) map[string]map[string]map[string]string
SplitCustomStacksOnlyOutputs reconstructs { "<stack_name>": { "outputs": { "<key>": value } } } from the flat output map a deployed custom-stacks-only stack returns.
Types ¶
type Templates ¶
type Templates struct {
// contains filtered or unexported fields
}
func NewTemplates ¶
func (*Templates) Template ¶
func (t *Templates) Template(inputs *stacks.TemplateInput) (*cloudformation.Template, string, error)
Source Files
¶
- app_inputs.go
- aws_eks_template.go
- cloudformation.go
- custom_nested_stack_s3.go
- custom_stacks_only_template.go
- nested_template_custom.go
- nested_template_runner_asg.go
- nested_template_vpc.go
- resource_role.go
- resource_runner_cloudwatch_logs.go
- resource_runner_phone_home_lambda.go
- resource_runner_security_group.go
- resource_secret.go
- resource_telemetry_export.go
- tagger.go
- template.go