terraform

package
v1.11.1 Latest Latest
Warning

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

Go to latest
Published: Oct 18, 2024 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FastlyService

type FastlyService struct {
	Name             string
	Vcls             []*TerraformVcl
	Backends         []*TerraformBackend
	Acls             []*TerraformAcl
	Dictionaries     []*TerraformDictionary
	Directors        []*TerraformDirector
	Snippets         []*TerraformSnippet
	LoggingEndpoints []string
}

func UnmarshalTerraformPlannedInput

func UnmarshalTerraformPlannedInput(buf []byte) ([]*FastlyService, error)

type FastlyServiceValues added in v1.2.0

type FastlyServiceValues struct {
	Name       string                 `json:"name"`
	Vcl        []*TerraformVcl        `json:"vcl"`
	Acl        []*TerraformAcl        `json:"acl"`
	Backend    []*TerraformBackend    `json:"backend"`
	Director   []*TerraformDirector   `json:"director"`
	Dictionary []*TerraformDictionary `json:"dictionary"`
	Snippets   []*TerraformSnippet    `json:"snippet"`

	// Various kinds of realtime logging endpoints
	LoggingBigQuerty     []*TerraformLoggingEndpoint `json:"logging_bigqeury"`
	LoggingBlobStorage   []*TerraformLoggingEndpoint `json:"logging_blobstorage"`
	LoggingCloudFiles    []*TerraformLoggingEndpoint `json:"logging_cloudfiles"`
	LoggingDatadog       []*TerraformLoggingEndpoint `json:"logging_datadog"`
	LoggingDigitalOpean  []*TerraformLoggingEndpoint `json:"logging_digitalocean"`
	LoggingElasticsearch []*TerraformLoggingEndpoint `json:"logging_elasticsearch"`
	LoggingFtp           []*TerraformLoggingEndpoint `json:"logging_ftp"`
	LoggingGcs           []*TerraformLoggingEndpoint `json:"logging_gcs"`
	LoggingGooglePubSub  []*TerraformLoggingEndpoint `json:"logging_googlepubsub"`
	LoggingHeroku        []*TerraformLoggingEndpoint `json:"logging_heroku"`
	LoggingHttps         []*TerraformLoggingEndpoint `json:"logging_https"`
	LoggingKafka         []*TerraformLoggingEndpoint `json:"logging_kafka"`
	LoggingKinesis       []*TerraformLoggingEndpoint `json:"logging_kinesis"`
	LoggingLogEntries    []*TerraformLoggingEndpoint `json:"logging_logentries"`
	LoggingLoggly        []*TerraformLoggingEndpoint `json:"logging_loggly"`
	LoggingLogShuttle    []*TerraformLoggingEndpoint `json:"logging_logshuttle"`
	LoggingNewRelic      []*TerraformLoggingEndpoint `json:"logging_newrelic"`
	LoggingOpenStack     []*TerraformLoggingEndpoint `json:"logging_openstack"`
	LoggingPaperTrail    []*TerraformLoggingEndpoint `json:"logging_papertrail"`
	LoggingS3            []*TerraformLoggingEndpoint `json:"logging_s3"`
	LoggingScalyr        []*TerraformLoggingEndpoint `json:"logging_scalyr"`
	LoggingSftp          []*TerraformLoggingEndpoint `json:"logging_sftp"`
	LoggingSplunk        []*TerraformLoggingEndpoint `json:"logging_splunk"`
	LoggingSumoLogic     []*TerraformLoggingEndpoint `json:"logging_sumologic"`
	LoggingSyslog        []*TerraformLoggingEndpoint `json:"logging_syslog"`
}

type TerraformAcl

type TerraformAcl struct {
	Name string
}

type TerraformBackend

type TerraformBackend struct {
	Name    string
	Shield  *string
	Address *string
}

TODO(davinci26): We can unmarshall all the properties from the TF file and lint them to make sure they have sane values.

type TerraformDictionary

type TerraformDictionary struct {
	Name string
}

type TerraformDirector added in v1.11.0

type TerraformDirector struct {
	Type     int
	Name     string
	Backends []string
	Retries  *int
	Quorum   *int
}

type TerraformFetcher

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

func NewTerraformFetcher

func NewTerraformFetcher(s []*FastlyService) *TerraformFetcher

func (*TerraformFetcher) Acls

func (f *TerraformFetcher) Acls() ([]*types.RemoteAcl, error)

func (*TerraformFetcher) Backends

func (f *TerraformFetcher) Backends() ([]*types.RemoteBackend, error)

func (*TerraformFetcher) Dictionaries

func (f *TerraformFetcher) Dictionaries() ([]*types.RemoteDictionary, error)

func (*TerraformFetcher) Directors added in v1.11.0

func (f *TerraformFetcher) Directors() ([]*types.RemoteDirector, error)

func (*TerraformFetcher) LoggingEndpoints added in v1.0.0

func (f *TerraformFetcher) LoggingEndpoints() ([]string, error)

func (*TerraformFetcher) SetName added in v1.0.0

func (f *TerraformFetcher) SetName(name string)

func (*TerraformFetcher) Snippets

func (f *TerraformFetcher) Snippets() ([]*types.RemoteVCL, error)

type TerraformLoggingEndpoint added in v1.0.0

type TerraformLoggingEndpoint struct {
	Name string
}

type TerraformPlannedInput

type TerraformPlannedInput struct {
	PlannedValues *struct {
		RootModule *struct {
			Resources    []*TerraformPlannedResource `json:"resources"`
			ChildModules []*struct {
				Resources []*TerraformPlannedResource `json:"resources"`
			} `json:"child_modules"`
		} `json:"root_module"`
	} `json:"planned_values"`
}

type TerraformPlannedResource

type TerraformPlannedResource struct {
	ProviderName string          `json:"provider_name"`
	Type         string          `json:"type"`
	Values       json.RawMessage `json:"values"`
}

type TerraformSnippet

type TerraformSnippet struct {
	Name     string
	Type     string
	Content  string
	Priority int64
}

type TerraformVcl

type TerraformVcl struct {
	Content string
	Main    bool
	Name    string
}

Terraform planned input struct This struct could be unmarshled from input of `terraform show -json [planned json]

Jump to

Keyboard shortcuts

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