Documentation ¶
Index ¶
- func InferredModules(info *b.ProviderInfo, finalize Make, opts *InferredModulesOpts) (b.Strategy, error)
- func KnownModules(tfPackagePrefix, defaultModule string, modules []string, finalize Make) b.Strategy
- func MappedModules(tfPackagePrefix, defaultModule string, modules map[string]string, ...) b.Strategy
- func SingleModule(tfPackagePrefix, moduleName string, finalize Make) b.Strategy
- type InferredModulesOpts
- type Make
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func InferredModules ¶
func InferredModules( info *b.ProviderInfo, finalize Make, opts *InferredModulesOpts, ) (b.Strategy, error)
A strategy to infer module placement from global analysis of all items (Resources & DataSources).
func KnownModules ¶
func KnownModules( tfPackagePrefix, defaultModule string, modules []string, finalize Make, ) b.Strategy
A strategy for assigning tokens to a hand generated set of modules.
If defaultModule is "", then the returned strategies will error on not encountering a matching module.
func MappedModules ¶
func MappedModules( tfPackagePrefix, defaultModule string, modules map[string]string, finalize Make, ) b.Strategy
A strategy for assigning tokens to a hand generated set of modules with an arbitrary mapping from TF modules to Pulumi modules.
If defaultModule is "", then the returned strategies will error on not encountering a matching module.
func SingleModule ¶
A strategy that assigns all tokens to the same module.
For example:
rStrat, dStrat := SingleModule("pkgName_", "index", finalize)
The above example would transform "pkgName_foo" into "pkgName:index:Foo".
Types ¶
type InferredModulesOpts ¶
type InferredModulesOpts struct { // The TF prefix of the package. TfPkgPrefix string // The name of the main module. Defaults to "index". MainModule string // The minimum number of shared items for a prefix before it becomes a module. // // < 0 -> don't bin into modules. // = 0 -> apply the default value. // > 0 -> set the value. MinimumModuleSize int // The number of items in a longer prefix needed to break out into it's own prefix. // // For example, with the tokens `pkg_mod_sub1_a`, `pkg_mod_sub2_b`, `pkg_mod_sub2_c`, // `pkg_mod_sub3_d`: // // MinimumSubmoduleSize = 3 will result in: // // pkg:mod:Sub1A, pkg:mod:Sub2B, pkg:mod:Sub2C, pkg:mod:Sub3D // // MinimumSubmoduleSize = 2 will result in: // // pkg:mod:Sub1A, pkg:modSub2:B, pkg:modSub2C, pkg:mod:Sub3D // // < 0 -> don't bin into submodules. Only the most common prefix will be used. // = 0 -> apply the default value. // > 0 -> set the value. MimimumSubmoduleSize int }
type Make ¶
A function that joins a module and name into a pulumi type token.
For example:
func(module, name string) (string, error) { return fmt.Sprintf("pkgName:%s:%s", module, name), nil }
func MakeStandard ¶
Convert a Terraform token to a Pulumi token with the standard mapping.
The mapping is
(pkg, module, name) => pkg:module/lowerFirst(name):name