Documentation
¶
Index ¶
- func GenerateInputsAutoTfvars(values map[string]any) string
- func GenerateOutputsTf(tfOutputs []types.TerraformOutput) string
- func GenerateVariablesTf(tfVariables []types.TerraformVariable) string
- func GenerateVersionsTf(providers ...func(*hclwrite.Body)) string
- func SetModuleRef(body *hclwrite.Body, attrName, moduleName, outputName string)
- func SetResourceRef(body *hclwrite.Body, attrName, ref string)
- func SetStringTemplate(body *hclwrite.Body, attrName, template string)
- func SetVarRef(body *hclwrite.Body, attrName, varName string)
- func WriteModuleInputs[R any](body *hclwrite.Body, vars []modules.ModuleVariable[R], request R)
- func WriteTerraformProject(outputDir string, project types.MigrationInfraTerraformProject) error
- type MigrationInfraGenerator
- type MigrationInfraHCLService
- type MigrationScriptsGenerator
- type MigrationScriptsHCLService
- func (s *MigrationScriptsHCLService) GenerateMigrateAclsFiles(request types.MigrateAclsRequest) (types.TerraformFiles, error)
- func (s *MigrationScriptsHCLService) GenerateMigrateGlueSchemasFiles(request types.MigrateGlueSchemasRequest) (types.MigrationScriptsTerraformProject, error)
- func (s *MigrationScriptsHCLService) GenerateMigrateSchemasFiles(request types.MigrateSchemasRequest) (types.MigrationScriptsTerraformProject, error)
- func (s *MigrationScriptsHCLService) GenerateMirrorTopicsFiles(request types.MirrorTopicsRequest) (types.TerraformFiles, error)
- type ReverseProxyHCLService
- type TargetInfraGenerator
- type TargetInfraHCLService
- type TerraformResourceNames
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GenerateInputsAutoTfvars ¶ added in v0.7.2
GenerateInputsAutoTfvars generates an inputs.auto.tfvars file from a map of variable names to values. Supports string, []string, bool, int, and []ExtOutboundClusterKafkaBroker value types.
func GenerateOutputsTf ¶ added in v0.7.2
func GenerateOutputsTf(tfOutputs []types.TerraformOutput) string
GenerateOutputsTf generates an outputs.tf file from a list of output definitions.
func GenerateVariablesTf ¶ added in v0.7.2
func GenerateVariablesTf(tfVariables []types.TerraformVariable) string
GenerateVariablesTf generates a variables.tf file from a list of variable definitions. Duplicate variable names are deduplicated (first occurrence wins).
func GenerateVersionsTf ¶ added in v0.7.2
GenerateVersionsTf generates a versions.tf file with the given required providers. Each provider function receives the required_providers block body to add its provider.
func SetModuleRef ¶ added in v0.7.2
SetModuleRef sets an attribute to reference a module output: module.<moduleName>.<outputName>
func SetResourceRef ¶ added in v0.7.2
SetResourceRef sets an attribute to a resource reference expression (unquoted).
func SetStringTemplate ¶ added in v0.7.2
SetStringTemplate sets an attribute to a quoted string template.
func SetVarRef ¶ added in v0.7.2
SetVarRef sets an attribute to reference a Terraform variable: var.<varName>
func WriteModuleInputs ¶ added in v0.7.2
func WriteModuleInputs[R any](body *hclwrite.Body, vars []modules.ModuleVariable[R], request R)
WriteModuleInputs writes module input attributes for a list of module variables. For each variable: if it comes from a module output, writes a module reference; otherwise, writes a variable reference.
func WriteTerraformProject ¶ added in v0.7.2
func WriteTerraformProject(outputDir string, project types.MigrationInfraTerraformProject) error
WriteTerraformProject writes a MigrationInfraTerraformProject to disk at the given output directory.
Types ¶
type MigrationInfraGenerator ¶ added in v0.7.2
type MigrationInfraGenerator interface {
GenerateTerraformModules(request types.MigrationWizardRequest) types.MigrationInfraTerraformProject
}
MigrationInfraGenerator generates Terraform modules for MSK-to-CC migration infrastructure.
type MigrationInfraHCLService ¶
type MigrationInfraHCLService struct {
// SSHKeySuffix overrides the random suffix used in SSH key pair names.
// When empty, a random 5-character string is generated.
SSHKeySuffix string
// DeploymentID overrides the random deployment identifier in AWS provider tags.
// When empty, a random 8-character string is generated.
DeploymentID string
}
func NewMigrationInfraHCLService ¶
func NewMigrationInfraHCLService() *MigrationInfraHCLService
func (*MigrationInfraHCLService) GenerateTerraformModules ¶
func (mi *MigrationInfraHCLService) GenerateTerraformModules(request types.MigrationWizardRequest) types.MigrationInfraTerraformProject
type MigrationScriptsGenerator ¶ added in v0.7.2
type MigrationScriptsGenerator interface {
GenerateMirrorTopicsFiles(request types.MirrorTopicsRequest) (types.TerraformFiles, error)
GenerateMigrateAclsFiles(request types.MigrateAclsRequest) (types.TerraformFiles, error)
GenerateMigrateSchemasFiles(request types.MigrateSchemasRequest) (types.MigrationScriptsTerraformProject, error)
GenerateMigrateGlueSchemasFiles(request types.MigrateGlueSchemasRequest) (types.MigrationScriptsTerraformProject, error)
}
MigrationScriptsGenerator generates Terraform files for migration scripts (mirror topics, ACLs, schemas).
type MigrationScriptsHCLService ¶
type MigrationScriptsHCLService struct {
// SchemaRegistryClusterID overrides the random placeholder ID in schema exporter resources.
// When empty, a random 8-character string is generated.
SchemaRegistryClusterID string
}
func NewMigrationScriptsHCLService ¶
func NewMigrationScriptsHCLService() *MigrationScriptsHCLService
func (*MigrationScriptsHCLService) GenerateMigrateAclsFiles ¶
func (s *MigrationScriptsHCLService) GenerateMigrateAclsFiles(request types.MigrateAclsRequest) (types.TerraformFiles, error)
func (*MigrationScriptsHCLService) GenerateMigrateGlueSchemasFiles ¶ added in v0.7.2
func (s *MigrationScriptsHCLService) GenerateMigrateGlueSchemasFiles(request types.MigrateGlueSchemasRequest) (types.MigrationScriptsTerraformProject, error)
func (*MigrationScriptsHCLService) GenerateMigrateSchemasFiles ¶
func (s *MigrationScriptsHCLService) GenerateMigrateSchemasFiles(request types.MigrateSchemasRequest) (types.MigrationScriptsTerraformProject, error)
func (*MigrationScriptsHCLService) GenerateMirrorTopicsFiles ¶
func (s *MigrationScriptsHCLService) GenerateMirrorTopicsFiles(request types.MirrorTopicsRequest) (types.TerraformFiles, error)
type ReverseProxyHCLService ¶
type ReverseProxyHCLService struct {
// DeploymentID overrides the random deployment identifier in AWS provider tags.
// When empty, a random 8-character string is generated.
DeploymentID string
}
func NewReverseProxyHCLService ¶
func NewReverseProxyHCLService() *ReverseProxyHCLService
func (*ReverseProxyHCLService) GenerateReverseProxyFiles ¶
func (s *ReverseProxyHCLService) GenerateReverseProxyFiles(request types.ReverseProxyRequest) (types.TerraformFiles, error)
func (*ReverseProxyHCLService) GenerateReverseProxyShellScript ¶
func (s *ReverseProxyHCLService) GenerateReverseProxyShellScript() string
func (*ReverseProxyHCLService) GenerateReverseProxyUserDataTemplate ¶
func (s *ReverseProxyHCLService) GenerateReverseProxyUserDataTemplate() string
type TargetInfraGenerator ¶ added in v0.7.2
type TargetInfraGenerator interface {
GenerateTerraformFiles(request types.TargetClusterWizardRequest) types.MigrationInfraTerraformProject
}
TargetInfraGenerator generates Terraform files for Confluent Cloud target infrastructure.
type TargetInfraHCLService ¶
type TargetInfraHCLService struct {
ResourceNames TerraformResourceNames
// DeploymentID overrides the random deployment identifier in AWS provider tags.
// When empty, a random 8-character string is generated.
DeploymentID string
}
func NewTargetInfraHCLService ¶
func NewTargetInfraHCLService() *TargetInfraHCLService
func (*TargetInfraHCLService) GenerateTerraformFiles ¶
func (ti *TargetInfraHCLService) GenerateTerraformFiles(request types.TargetClusterWizardRequest) types.MigrationInfraTerraformProject
type TerraformResourceNames ¶
type TerraformResourceNames struct {
Environment string
Cluster string
Network string
SchemaRegistry string
ServiceAccount string
SchemaRegistryAPIKey string
KafkaAPIKey string
PrivateLinkAttachment string
PrivateLinkAttachmentConnection string
PrivateLinkAccess string
IngressGateway string
AccessPoint string
SubjectResourceOwnerRoleBinding string
KafkaClusterAdminRoleBinding string
DataStewardRoleBinding string
AvailabilityZones string
CallerIdentity string
VpcEndpoint string
Route53Zone string
Route53Record string
SecurityGroup string
SubnetName string
}
func NewTerraformResourceNames ¶
func NewTerraformResourceNames() TerraformResourceNames