resource

package
v0.31.0 Latest Latest
Warning

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

Go to latest
Published: May 25, 2022 License: Apache-2.0 Imports: 14 Imported by: 10

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsResourceTypeSupported

func IsResourceTypeSupported(ty string) bool

Types

type AttributeSchema

type AttributeSchema struct {
	ConfigSchema configschema.Attribute
	JsonString   bool
}

type Attributes

type Attributes map[string]interface{}

func (*Attributes) Copy

func (a *Attributes) Copy() *Attributes

func (*Attributes) DeleteIfDefault

func (a *Attributes) DeleteIfDefault(path string)

func (*Attributes) Get

func (a *Attributes) Get(path string) (interface{}, bool)

func (*Attributes) GetBool

func (a *Attributes) GetBool(path string) *bool

func (*Attributes) GetFloat64

func (a *Attributes) GetFloat64(path string) *float64

func (*Attributes) GetInt

func (a *Attributes) GetInt(path string) *int

func (*Attributes) GetMap

func (a *Attributes) GetMap(path string) map[string]interface{}

func (*Attributes) GetSlice

func (a *Attributes) GetSlice(path string) []interface{}

func (*Attributes) GetString

func (a *Attributes) GetString(path string) *string

func (*Attributes) SafeDelete

func (a *Attributes) SafeDelete(path []string)

func (*Attributes) SafeSet

func (a *Attributes) SafeSet(path []string, value interface{}) error

func (*Attributes) SanitizeDefaults

func (a *Attributes) SanitizeDefaults()

type Deserializer

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

func NewDeserializer

func NewDeserializer(factory ResourceFactory) *Deserializer

func (*Deserializer) Deserialize

func (s *Deserializer) Deserialize(ty string, rawList []cty.Value) ([]*Resource, error)

func (*Deserializer) DeserializeOne

func (s *Deserializer) DeserializeOne(ty string, value cty.Value) (*Resource, error)

type Flags

type Flags uint32
const (
	FlagDeepMode Flags = 1 << iota
)

func (*Flags) AddFlag

func (f *Flags) AddFlag(flag Flags)

func (Flags) HasFlag

func (f Flags) HasFlag(flag Flags) bool

type IaCSupplier added in v0.20.0

type IaCSupplier interface {
	Supplier
	SourceCount() uint
}

IaCSupplier supply the list of resource.Resource, it's the main interface to retrieve state resources

type MockIaCSupplier added in v0.20.0

type MockIaCSupplier struct {
	mock.Mock
}

MockIaCSupplier is an autogenerated mock type for the IaCSupplier type

func (*MockIaCSupplier) Resources added in v0.20.0

func (_m *MockIaCSupplier) Resources() ([]*Resource, error)

Resources provides a mock function with given fields:

func (*MockIaCSupplier) SourceCount added in v0.20.0

func (_m *MockIaCSupplier) SourceCount() uint

SourceCount provides a mock function with given fields:

type MockSupplier

type MockSupplier struct {
	mock.Mock
}

MockSupplier is an autogenerated mock type for the Supplier type

func (*MockSupplier) Resources

func (_m *MockSupplier) Resources() ([]*Resource, error)

Resources provides a mock function with given fields:

type NormalizedResource

type NormalizedResource interface {
	NormalizeForState() (Resource, error)
	NormalizeForProvider() (Resource, error)
}

type Resource

type Resource struct {
	Id     string
	Type   string
	Attrs  *Attributes
	Sch    *Schema `json:"-" diff:"-"`
	Source Source  `json:"-"`
}

func Sort

func Sort(res []*Resource) []*Resource

func (*Resource) Attributes

func (r *Resource) Attributes() *Attributes

func (*Resource) Equal

func (r *Resource) Equal(res *Resource) bool

func (*Resource) ResourceId

func (r *Resource) ResourceId() string

func (*Resource) ResourceType

func (r *Resource) ResourceType() string

func (*Resource) Schema

func (r *Resource) Schema() *Schema

func (*Resource) SourceString

func (r *Resource) SourceString() string

func (*Resource) Src

func (r *Resource) Src() Source

type ResourceFactory

type ResourceFactory interface {
	CreateAbstractResource(ty, id string, data map[string]interface{}) *Resource
}

type ResourceType

type ResourceType string

func (ResourceType) String

func (ty ResourceType) String() string

type ResourceTypeMeta

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

func GetMeta

func GetMeta(ty ResourceType) ResourceTypeMeta

func (ResourceTypeMeta) GetChildrenTypes

func (ty ResourceTypeMeta) GetChildrenTypes() []ResourceType

type Schema

type Schema struct {
	ProviderVersion             *version.Version
	Flags                       Flags
	SchemaVersion               int64
	Attributes                  map[string]AttributeSchema
	NormalizeFunc               func(res *Resource)
	HumanReadableAttributesFunc func(res *Resource) map[string]string
	ResolveReadAttributesFunc   func(res *Resource) map[string]string
	DiscriminantFunc            func(*Resource, *Resource) bool
}

func (*Schema) IsComputedField

func (s *Schema) IsComputedField(path []string) bool

func (*Schema) IsJsonStringField

func (s *Schema) IsJsonStringField(path []string) bool

type SchemaRepository

type SchemaRepository struct {
	ProviderName    string
	ProviderVersion *version.Version
	// contains filtered or unexported fields
}

func NewSchemaRepository

func NewSchemaRepository() *SchemaRepository

func (*SchemaRepository) GetSchema

func (r *SchemaRepository) GetSchema(resourceType string) (*Schema, bool)

func (*SchemaRepository) Init

func (r *SchemaRepository) Init(providerName, providerVersion string, schema map[string]providers.Schema) error

func (*SchemaRepository) SetDiscriminantFunc

func (r *SchemaRepository) SetDiscriminantFunc(typ string, fn func(self, res *Resource) bool)

func (SchemaRepository) SetFlags

func (r SchemaRepository) SetFlags(typ string, flags ...Flags)

func (*SchemaRepository) SetHumanReadableAttributesFunc

func (r *SchemaRepository) SetHumanReadableAttributesFunc(typ string, humanReadableAttributesFunc func(res *Resource) map[string]string)

func (*SchemaRepository) SetNormalizeFunc

func (r *SchemaRepository) SetNormalizeFunc(typ string, normalizeFunc func(res *Resource))

func (*SchemaRepository) SetResolveReadAttributesFunc

func (r *SchemaRepository) SetResolveReadAttributesFunc(typ string, resolveReadAttributesFunc func(res *Resource) map[string]string)

func (*SchemaRepository) UpdateSchema

func (r *SchemaRepository) UpdateSchema(typ string, schemasMutators map[string]func(attributeSchema *AttributeSchema))

type SchemaRepositoryInterface

type SchemaRepositoryInterface interface {
	GetSchema(resourceType string) (*Schema, bool)
	SetFlags(typ string, flags ...Flags)
	UpdateSchema(typ string, schemasMutators map[string]func(attributeSchema *AttributeSchema))
	SetNormalizeFunc(typ string, normalizeFunc func(res *Resource))
	SetHumanReadableAttributesFunc(typ string, humanReadableAttributesFunc func(res *Resource) map[string]string)
	SetResolveReadAttributesFunc(typ string, resolveReadAttributesFunc func(res *Resource) map[string]string)
	SetDiscriminantFunc(string, func(*Resource, *Resource) bool)
}

type SerializableResource

type SerializableResource struct {
	Id                 string              `json:"id"`
	Type               string              `json:"type"`
	ReadableAttributes map[string]string   `json:"human_readable_attributes,omitempty"`
	Source             *SerializableSource `json:"source,omitempty"`
}

func NewSerializableResource

func NewSerializableResource(res *Resource) *SerializableResource

type SerializableSource

type SerializableSource struct {
	S    string `json:"source"`
	Ns   string `json:"namespace"`
	Name string `json:"internal_name"`
}

type Source

type Source interface {
	Source() string
	Namespace() string
	InternalName() string
}

type StoppableSupplier

type StoppableSupplier interface {
	Supplier
	Stop()
}

type Supplier

type Supplier interface {
	Resources() ([]*Resource, error)
}

Supplier supply the list of resource.Resource, it's the main interface to retrieve remote resources

type TerraformStateSource

type TerraformStateSource struct {
	State  string
	Module string
	Name   string
}

func NewTerraformStateSource

func NewTerraformStateSource(state, module, name string) *TerraformStateSource

func (*TerraformStateSource) InternalName

func (s *TerraformStateSource) InternalName() string

func (*TerraformStateSource) Namespace

func (s *TerraformStateSource) Namespace() string

func (*TerraformStateSource) Source

func (s *TerraformStateSource) Source() string

Directories

Path Synopsis
GENERATED, DO NOT EDIT THIS FILE
GENERATED, DO NOT EDIT THIS FILE

Jump to

Keyboard shortcuts

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