terraform

package
v0.5.26 Latest Latest
Warning

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

Go to latest
Published: Apr 1, 2023 License: BSD-3-Clause Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Generator

func Generator(schema_to_generate string, apiAlias *string, apiPackage *string, packageName *string, output *string, inputs *[]string)

Main function

Types

type ApiArguments

type ApiArguments struct {
	Name        string `json:"name"`
	Type        string `json:"type"`
	Description string `json:"description,omitempty"`
	UseOldValue bool   `json:"use_old_value,,false"`
}

type ApiFunction

type ApiFunction struct {
	Name            string         `json:"name"`
	ResultIsPointer bool           `json:"isPointer"`
	Arguments       []ApiArguments `json:"arguments"`
	ApiParams       ParamsStruct   `json:"params"`
}

type DataSource added in v0.1.31

type DataSource struct {
	Name          string            `json:"name"`
	Description   string            `json:"description"`
	Terraform     Terraform         `json:"terraform"`
	ElementName   string            `json:"element_name"`
	ResultSchema  Schema            `json:"result_schema"`
	ResultSchemas map[string]Schema `json:"result_schemas"`
	ReadAPIs      []Operation       `json:"read_apis"`
}

type InputData

type InputData struct {
	ApiAlias    string       `json:"api_alias"`
	ApiPackage  string       `json:"api_package"`
	Package     string       `json:"package"`
	DataSources []DataSource `json:"data_sources"`
	Resources   []Resource   `json:"resources"`
}

type Operation

type Operation struct {
	ApiFunction        ApiFunction     `json:"api_function"`
	RequiredInputs     []string        `json:"required_inputs,omitempty"`
	Result             TerraformResult `json:"result"`
	TerraformArguments []TerraformArguments
	Name               string
	ElementName        string
	CRUD               string
}

type ParamsFieldsStruct

type ParamsFieldsStruct struct {
	Name           string `json:"name"`
	TerraformPath  string `json:"path"`
	ApiName        string `json:"api_name"`
	Type           string `json:"type"`
	TerraformToApi string `json:"terraform_to_api"`
	UseOldValue    bool   `json:"use_old_value,,false"`
}

type ParamsStruct

type ParamsStruct struct {
	Name   string               `json:"name"`
	Fields []ParamsFieldsStruct `json:"fields"`
}

type Resource added in v0.1.31

type Resource struct {
	Name          string            `json:"name"`
	Description   string            `json:"description"`
	Terraform     Terraform         `json:"terraform"`
	ElementName   string            `json:"element_name"`
	ResultSchemas map[string]Schema `json:"result_schemas"`
	Create        *Operation        `json:"create"`
	Creates       []Operation       `json:"creates"`
	Read          *Operation        `json:"read"`
	Update        []Operation       `json:"update"`
	Delete        *Operation        `json:"delete"`
}

type Schema

type Schema struct {
	SchemaFunction          string `json:"schema_function"`
	SchemaFunctionArguments string `json:"schema_function_arguments"`
}

type Terraform

type Terraform struct {
	Name      string               `json:"name"`
	Arguments []TerraformArguments `json:"arguments,omitempty"`
}

type TerraformArguments

type TerraformArguments struct {
	Name        string `json:"name"`
	Type        string `json:"type"`
	Description string `json:"description,omitempty"`
	StateFunc   string `json:"state_func,omitempty"`
	DiffFunc    string `json:"diff_func,omitempty"`
	ResultField string `json:"result_field,omitempty"`
	Computed    bool   `json:"computed,omitempty"`
	Optional    bool   `json:"optional,omitempty"`
	Required    bool   `json:"required,omitempty"`
	Sensitive   bool   `json:"sensitive,omitempty"`
}

type TerraformResult

type TerraformResult struct {
	ApiToTerraformFunction string `json:"api_to_terraform"`
	MessageField           string `json:"msg_field"`
	ResultField            string `json:"result_field"`
	ResultWrapperFunction  string `json:"result_wrapper"`
	TerraformField         string `json:"terraform_field"`
	TerraformId            string `json:"terraform_id"`
	ApiToIdFn              string `json:"api_to_terraform_id"`
	InputToIdFn            string `json:"input_to_terraform_id"`
}

Jump to

Keyboard shortcuts

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