gcp

package
v0.19.1069 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 17, 2026 License: AGPL-3.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Render

func Render(inputs *stacks.TemplateInput) ([]byte, string, error)

Types

type GCPInstallInputTemplateInput added in v0.19.1038

type GCPInstallInputTemplateInput struct {
	Name    string
	Default string
	Value   string
}

GCPInstallInputTemplateInput holds a customer install input for the template. Value is the input's Default in the normal tfvars and a `${{ inputs.input_<name> }}` CEL reference in the Spacelift blueprint.

type GCPOpRoleRaw added in v0.19.1049

type GCPOpRoleRaw struct {
	Permissions    []string
	Policies       map[string][]string
	PredefinedRole string
}

GCPOpRoleRaw is the un-rendered payload for a standard operation role.

func ExtractGCPStandardRolesRaw added in v0.19.1049

func ExtractGCPStandardRolesRaw(appCfg *app.AppConfig) (provision, maintenance, deprovision GCPOpRoleRaw)

ExtractGCPStandardRolesRaw returns the permissions/predefined-role for the standard provision/maintenance/deprovision operation roles.

type GCPPolicyTemplateInput added in v0.19.1046

type GCPPolicyTemplateInput struct {
	Name        string
	Permissions string
}

GCPPolicyTemplateInput holds one policy rendered as its own custom role, mirroring how AWS attaches each policy separately instead of merging.

type GCPRoleRaw added in v0.19.1049

type GCPRoleRaw struct {
	Name           string
	Permissions    []string
	Policies       map[string][]string
	PredefinedRole string
}

GCPRoleRaw is the un-rendered per-role payload the stack SDK consumes for break-glass and custom GCP roles.

func ExtractGCPRolesRaw added in v0.19.1049

func ExtractGCPRolesRaw(roles []app.AppAWSIAMRoleConfig) []GCPRoleRaw

ExtractGCPRolesRaw returns the raw payload for a list of break-glass or custom GCP roles, skipping non-GCP and empty roles.

type GCPRoleTemplateInput

type GCPRoleTemplateInput struct {
	Name           string
	Policies       []GCPPolicyTemplateInput
	PredefinedRole string
}

GCPRoleTemplateInput holds the per-role data rendered into the template.

type GCPSecretTemplateInput added in v0.19.866

type GCPSecretTemplateInput struct {
	Name        string
	Description string
	Required    bool
	Default     string
	// Value is what the secret's `value` renders to in tfvars. For the normal
	// tfvars it's the secret's Default; for the Spacelift blueprint it's a
	// `${{ inputs.secret_<name> }}` CEL reference.
	Value string
}

GCPSecretTemplateInput holds a non-auto-gen secret definition for the template.

type GCPTemplateInput

type GCPTemplateInput struct {
	*stacks.TemplateInput

	// GCPProjectID / GCPRegion render as literals in the normal tfvars and as
	// `${{ inputs.gcp_project_id }}` / `${{ inputs.gcp_region }}` CEL references
	// in the Spacelift blueprint. Empty omits the line.
	GCPProjectID string
	GCPRegion    string

	ProvisionPolicies   []GCPPolicyTemplateInput
	MaintenancePolicies []GCPPolicyTemplateInput
	DeprovisionPolicies []GCPPolicyTemplateInput

	ProvisionPredefinedRole   string
	MaintenancePredefinedRole string
	DeprovisionPredefinedRole string

	BreakGlassRoles []GCPRoleTemplateInput
	CustomRoles     []GCPRoleTemplateInput
	InstallInputs   []GCPInstallInputTemplateInput

	AutoGenerateSecrets []string
	Secrets             []GCPSecretTemplateInput
}

GCPTemplateInput extends TemplateInput with pre-marshaled GCP IAM permission lists.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL