cai2hcl

package
v2.2.0 Latest Latest
Warning

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

Go to latest
Published: Apr 20, 2023 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package cai2hcl converts CAI assets to hcl bytes.

Index

Constants

View Source
const ComputeInstanceAssetType string = "compute.googleapis.com/Instance"

ComputeInstanceAssetType is the CAI asset type name for compute instance.

View Source
const ProjectAssetType string = "cloudresourcemanager.googleapis.com/Project"

ProjectAssetType is the CAI asset type name for project.

View Source
const ProjectBillingAssetType string = "cloudbilling.googleapis.com/ProjectBillingInfo"

ProjectAssetType is the CAI asset type name for project.

Variables

This section is empty.

Functions

func Convert

func Convert(assets []*caiasset.Asset, options *Options) ([]byte, error)

Convert converts Asset into HCL.

Types

type ComputeInstanceConverter

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

ComputeInstanceConverter for compute instance resource.

func NewComputeInstanceConverter

func NewComputeInstanceConverter() *ComputeInstanceConverter

NewComputeInstanceConverter returns an HCL converter for compute instance.

func (*ComputeInstanceConverter) Convert

func (c *ComputeInstanceConverter) Convert(assets []*caiasset.Asset) ([]*HCLResourceBlock, error)

Convert converts asset to HCL resource blocks.

type Converter

type Converter interface {
	// Convert turns assets into hcl blocks.
	Convert(asset []*caiasset.Asset) ([]*HCLResourceBlock, error)
}

Converter interface for resources.

type HCLResourceBlock

type HCLResourceBlock struct {
	Labels []string
	Value  cty.Value
}

HCLResourceBlock identifies the HCL block's labels and content.

type Options

type Options struct {
	ErrorLogger *zap.Logger
}

Options is a struct for options so that adding new options does not require updating function signatures all along the pipe.

type ProjectConverter

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

ProjectConverter for compute project resource.

func NewProjectConverter

func NewProjectConverter() *ProjectConverter

NewProjectConverter returns an HCL converter for compute project.

func (*ProjectConverter) Convert

func (c *ProjectConverter) Convert(assets []*caiasset.Asset) ([]*HCLResourceBlock, error)

Convert converts asset resource data.

Jump to

Keyboard shortcuts

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