tfutils

package module
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Jan 22, 2021 License: MIT Imports: 1 Imported by: 1

README

tfutils

Terraform provider helper utils

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CRUD

type CRUD interface {
	Read(d *schema.ResourceData, m interface{}) error
	Create(d *schema.ResourceData, m interface{}) error
	Update(d *schema.ResourceData, m interface{}) error
	Delete(d *schema.ResourceData, m interface{}) error
}

CRUD represents a CRUD resource type

type Data

type Data interface {
	Read(d *schema.ResourceData, m interface{}) error
}

Data represents a read only data source

type DataSource

type DataSource interface {
	Data
	Structure
}

DataSource is the type that a terraform data source will implement

type DataSourceMap

type DataSourceMap map[string]DataSource

DataSourceMap represents a map of DataSources

func (DataSourceMap) BuildDataSourcesMap

func (rm DataSourceMap) BuildDataSourcesMap() map[string]*schema.Resource

BuildDataSourcesMap converts a DataSourceMap into a map[string]*schema.Resource

type ListSchema

type ListSchema struct {
	// contains filtered or unexported fields
}

func ListOf

func ListOf(sm Structure) ListSchema

func (ListSchema) AtLeastOneOf

func (s ListSchema) AtLeastOneOf(t ...string) ListSchema

func (ListSchema) Build

func (s ListSchema) Build() *schema.Schema

func (ListSchema) Computed

func (s ListSchema) Computed(status bool) ListSchema

func (ListSchema) ConflictsWith

func (s ListSchema) ConflictsWith(t ...string) ListSchema

func (ListSchema) Default

func (s ListSchema) Default(d interface{}) ListSchema

func (ListSchema) ExactlyOneOf

func (s ListSchema) ExactlyOneOf(t ...string) ListSchema

func (ListSchema) Optional

func (s ListSchema) Optional(status bool) ListSchema

func (ListSchema) Required

func (s ListSchema) Required(status bool) ListSchema

func (ListSchema) RequiredWith

func (s ListSchema) RequiredWith(t ...string) ListSchema

func (ListSchema) Sensitive

func (s ListSchema) Sensitive(status bool) ListSchema

type MapSchema

type MapSchema struct {
	// contains filtered or unexported fields
}

func (MapSchema) AtLeastOneOf

func (s MapSchema) AtLeastOneOf(t ...string) MapSchema

func (MapSchema) Build

func (s MapSchema) Build() *schema.Schema

func (MapSchema) Computed

func (s MapSchema) Computed(status bool) MapSchema

func (MapSchema) ConflictsWith

func (s MapSchema) ConflictsWith(t ...string) MapSchema

func (MapSchema) Default

func (s MapSchema) Default(d interface{}) MapSchema

func (MapSchema) ExactlyOneOf

func (s MapSchema) ExactlyOneOf(t ...string) MapSchema

func (MapSchema) Optional

func (s MapSchema) Optional(status bool) MapSchema

func (MapSchema) Required

func (s MapSchema) Required(status bool) MapSchema

func (MapSchema) RequiredWith

func (s MapSchema) RequiredWith(t ...string) MapSchema

func (MapSchema) Sensitive

func (s MapSchema) Sensitive(status bool) MapSchema

type Provider

type Provider struct {
	Schema        SchemaMap
	Resources     ResourceMap
	DataSources   DataSourceMap
	ConfigureFunc schema.ConfigureFunc
}

Provider is the type that will build into a terraform provider

func (Provider) Build

func (pb Provider) Build() *schema.Provider

Build converts the Provider into a *schema.Provider

type Resource

type Resource interface {
	CRUD
	Structure
}

Resource is the type that a terraform resource will implement

type ResourceMap

type ResourceMap map[string]Resource

ResourceMap represents a map of Resources

func (ResourceMap) BuildResourcesMap

func (rm ResourceMap) BuildResourcesMap() map[string]*schema.Resource

BuildResourcesMap converts a ResourceMap into a map[string]*schema.Resource

type Schema

type Schema interface {
	Build() *schema.Schema
}

type SchemaMap

type SchemaMap map[string]Schema

SchemaMap is a builder for a *schema.Resource type

func (SchemaMap) BuildCRUD

func (sm SchemaMap) BuildCRUD(crud CRUD) *schema.Resource

BuildCRUD creates a new CRUD *schema.Resource type

func (SchemaMap) BuildDataSource

func (sm SchemaMap) BuildDataSource(data Data) *schema.Resource

BuildDataSource creates a new data source *schema.Resource type

func (SchemaMap) BuildResource

func (sm SchemaMap) BuildResource() *schema.Resource

BuildResource converts a SchemaMap into a *schema.Resource

func (SchemaMap) BuildSchemaMap

func (sm SchemaMap) BuildSchemaMap() map[string]*schema.Schema

BuildSchemaMap converts a SchemaMap into a map[string]*schema.Schema

func (SchemaMap) IntoList

func (sm SchemaMap) IntoList() ListSchema

IntoList converts the SchemaMap into a List Schema over this structure

func (SchemaMap) IntoSet

func (sm SchemaMap) IntoSet() SetSchema

IntoSet converts the SchemaMap into a Set Schema over this structure

type SetSchema

type SetSchema struct {
	// contains filtered or unexported fields
}

func SetOf

func SetOf(sm Structure) SetSchema

func (SetSchema) AtLeastOneOf

func (s SetSchema) AtLeastOneOf(t ...string) SetSchema

func (SetSchema) Build

func (s SetSchema) Build() *schema.Schema

func (SetSchema) Computed

func (s SetSchema) Computed(status bool) SetSchema

func (SetSchema) ConflictsWith

func (s SetSchema) ConflictsWith(t ...string) SetSchema

func (SetSchema) Default

func (s SetSchema) Default(d interface{}) SetSchema

func (SetSchema) ExactlyOneOf

func (s SetSchema) ExactlyOneOf(t ...string) SetSchema

func (SetSchema) MaxItems

func (s SetSchema) MaxItems(max int) SetSchema

func (SetSchema) MinItems

func (s SetSchema) MinItems(min int) SetSchema

func (SetSchema) Optional

func (s SetSchema) Optional(status bool) SetSchema

func (SetSchema) Required

func (s SetSchema) Required(status bool) SetSchema

func (SetSchema) RequiredWith

func (s SetSchema) RequiredWith(t ...string) SetSchema

func (SetSchema) Sensitive

func (s SetSchema) Sensitive(status bool) SetSchema

func (SetSchema) SetFunc

func (s SetSchema) SetFunc(f schema.SchemaSetFunc) SetSchema

type SimpleSchema

type SimpleSchema struct {
	// contains filtered or unexported fields
}

func Bool

func Bool() SimpleSchema

func Float

func Float() SimpleSchema

func Int

func Int() SimpleSchema

func String

func String() SimpleSchema

func (SimpleSchema) AtLeastOneOf

func (s SimpleSchema) AtLeastOneOf(t ...string) SimpleSchema

func (SimpleSchema) Build

func (s SimpleSchema) Build() *schema.Schema

func (SimpleSchema) Computed

func (s SimpleSchema) Computed(status bool) SimpleSchema

func (SimpleSchema) ConflictsWith

func (s SimpleSchema) ConflictsWith(t ...string) SimpleSchema

func (SimpleSchema) Default

func (s SimpleSchema) Default(d interface{}) SimpleSchema

func (SimpleSchema) ExactlyOneOf

func (s SimpleSchema) ExactlyOneOf(t ...string) SimpleSchema

func (SimpleSchema) List

func (s SimpleSchema) List() ListSchema

func (SimpleSchema) Map

func (s SimpleSchema) Map() MapSchema

func (SimpleSchema) Optional

func (s SimpleSchema) Optional(status bool) SimpleSchema

func (SimpleSchema) Required

func (s SimpleSchema) Required(status bool) SimpleSchema

func (SimpleSchema) RequiredWith

func (s SimpleSchema) RequiredWith(t ...string) SimpleSchema

func (SimpleSchema) Sensitive

func (s SimpleSchema) Sensitive(status bool) SimpleSchema

func (SimpleSchema) Set

func (s SimpleSchema) Set() SetSchema

type Structure

type Structure interface {
	Schema() SchemaMap
}

Structure represents a type that declares it's structure as a SchemaMap

Jump to

Keyboard shortcuts

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