Help us shape the future of Go! Take the 2026 Go Developer Survey

qingcloud

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Jun 19, 2021 License: MPL-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	BuilderConfig   = "config"
	UI              = "ui"
	InstanceID      = "instancd_id"
	ImageID         = "image_id"
	SecurityGroupID = "security_group_id"
	EIPID           = "eip_id"
	PublicIP        = "public_ip"
	PrivateIP       = "private_ip"
	LoginKeyPairID  = "keypair_id"
	PrivateKey      = "private_key_content"
)
View Source
const (
	DefaultPublicKey  = "~/.ssh/id_rsa.pub"
	DefaultPrivateKey = "~/.ssh/id_rsa"
	LocalKey          = "local"
)
View Source
const (
	QingCloudAPIKey    = "QINGCLOUD_API_KEY"
	QingCloudAPISecret = "QINGCLOUD_API_SECRET"
)
View Source
const (
	AllocateNewID = "new"
)
View Source
const BuilderId = "qingcloud.builder"
View Source
const (
	LOGIN_MODE_KEYPAIR = "keypair"
)

Variables

View Source
var DefaultInterval = time.Second * 5
View Source
var DefaultTimeout = time.Second * 300

Functions

This section is empty.

Types

type Artifact

type Artifact struct {
	// StateData should store data such as GeneratedData
	// to be shared with post-processors
	StateData map[string]interface{}
}

func (*Artifact) BuilderId

func (*Artifact) BuilderId() string

func (*Artifact) Destroy

func (a *Artifact) Destroy() error

func (*Artifact) Files

func (a *Artifact) Files() []string

func (*Artifact) Id

func (*Artifact) Id() string

func (*Artifact) State

func (a *Artifact) State(name string) interface{}

func (*Artifact) String

func (a *Artifact) String() string

type Builder

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

func (*Builder) ConfigSpec

func (b *Builder) ConfigSpec() hcldec.ObjectSpec

func (*Builder) Prepare

func (b *Builder) Prepare(raws ...interface{}) ([]string, []string, error)

Prepare should return a list of variables that will be made accessible to users during the provision methods, a list of warnings along with any errors that occurred while preparing.

func (*Builder) Run

type Config

type Config struct {
	common.PackerConfig `mapstructure:",squash"`
	communicator.Config `mapstructure:",squash"`
	ApiKey              string `mapstructure:"api_key"`
	ApiSecret           string `mapstructure:"api_secret"`
	Zone                string `mapstructure:"zone"`
	Protocol            string `mapstructure:"protocol"`
	Host                string `mapstructure:"host"`
	Port                int    `mapstructure:"port"`
	Uri                 string `mapstructure:"uri"`
	LogLevel            string `mapstructure:"log_level"`
	VxnetID             string `mapstructure:"vxnet_id"`
	EIPID               string `mapstructure:"eip_id"`
	SecurityGroupID     string `mapstructure:"securitygroup_id"`
	KeypairID           string `mapstructure:"keypair_id"`
	BaseImageID         string `mapstructure:"image_id"`
	ImageArtifactName   string `mapstructure:"image_name"`
	CPU                 int    `mapstructure:"cpu"`
	Memory              int    `mapstructure:"memory"`
	InstanceClass       int    `mapstructure:"instance_class"`
	// contains filtered or unexported fields
}

func NewConfig

func NewConfig(raws ...interface{}) (*Config, []string, error)

func (*Config) FlatMapstructure

func (*Config) FlatMapstructure() interface{ HCL2Spec() map[string]hcldec.Spec }

FlatMapstructure returns a new FlatConfig. FlatConfig is an auto-generated flat version of Config. Where the contents a fields with a `mapstructure:,squash` tag are bubbled up.

func (*Config) GetQingCloudService

func (config *Config) GetQingCloudService() *service.QingCloudService

type FlatConfig

type FlatConfig struct {
	PackerBuildName           *string           `mapstructure:"packer_build_name" cty:"packer_build_name" hcl:"packer_build_name"`
	PackerBuilderType         *string           `mapstructure:"packer_builder_type" cty:"packer_builder_type" hcl:"packer_builder_type"`
	PackerCoreVersion         *string           `mapstructure:"packer_core_version" cty:"packer_core_version" hcl:"packer_core_version"`
	PackerDebug               *bool             `mapstructure:"packer_debug" cty:"packer_debug" hcl:"packer_debug"`
	PackerForce               *bool             `mapstructure:"packer_force" cty:"packer_force" hcl:"packer_force"`
	PackerOnError             *string           `mapstructure:"packer_on_error" cty:"packer_on_error" hcl:"packer_on_error"`
	PackerUserVars            map[string]string `mapstructure:"packer_user_variables" cty:"packer_user_variables" hcl:"packer_user_variables"`
	PackerSensitiveVars       []string          `mapstructure:"packer_sensitive_variables" cty:"packer_sensitive_variables" hcl:"packer_sensitive_variables"`
	Type                      *string           `mapstructure:"communicator" cty:"communicator" hcl:"communicator"`
	PauseBeforeConnect        *string           `mapstructure:"pause_before_connecting" cty:"pause_before_connecting" hcl:"pause_before_connecting"`
	SSHHost                   *string           `mapstructure:"ssh_host" cty:"ssh_host" hcl:"ssh_host"`
	SSHPort                   *int              `mapstructure:"ssh_port" cty:"ssh_port" hcl:"ssh_port"`
	SSHUsername               *string           `mapstructure:"ssh_username" cty:"ssh_username" hcl:"ssh_username"`
	SSHPassword               *string           `mapstructure:"ssh_password" cty:"ssh_password" hcl:"ssh_password"`
	SSHKeyPairName            *string           `mapstructure:"ssh_keypair_name" undocumented:"true" cty:"ssh_keypair_name" hcl:"ssh_keypair_name"`
	SSHTemporaryKeyPairName   *string           `mapstructure:"temporary_key_pair_name" undocumented:"true" cty:"temporary_key_pair_name" hcl:"temporary_key_pair_name"`
	SSHTemporaryKeyPairType   *string           `mapstructure:"temporary_key_pair_type" cty:"temporary_key_pair_type" hcl:"temporary_key_pair_type"`
	SSHTemporaryKeyPairBits   *int              `mapstructure:"temporary_key_pair_bits" cty:"temporary_key_pair_bits" hcl:"temporary_key_pair_bits"`
	SSHCiphers                []string          `mapstructure:"ssh_ciphers" cty:"ssh_ciphers" hcl:"ssh_ciphers"`
	SSHClearAuthorizedKeys    *bool             `mapstructure:"ssh_clear_authorized_keys" cty:"ssh_clear_authorized_keys" hcl:"ssh_clear_authorized_keys"`
	SSHKEXAlgos               []string          `mapstructure:"ssh_key_exchange_algorithms" cty:"ssh_key_exchange_algorithms" hcl:"ssh_key_exchange_algorithms"`
	SSHPrivateKeyFile         *string           `mapstructure:"ssh_private_key_file" undocumented:"true" cty:"ssh_private_key_file" hcl:"ssh_private_key_file"`
	SSHCertificateFile        *string           `mapstructure:"ssh_certificate_file" cty:"ssh_certificate_file" hcl:"ssh_certificate_file"`
	SSHPty                    *bool             `mapstructure:"ssh_pty" cty:"ssh_pty" hcl:"ssh_pty"`
	SSHTimeout                *string           `mapstructure:"ssh_timeout" cty:"ssh_timeout" hcl:"ssh_timeout"`
	SSHWaitTimeout            *string           `mapstructure:"ssh_wait_timeout" undocumented:"true" cty:"ssh_wait_timeout" hcl:"ssh_wait_timeout"`
	SSHAgentAuth              *bool             `mapstructure:"ssh_agent_auth" undocumented:"true" cty:"ssh_agent_auth" hcl:"ssh_agent_auth"`
	SSHDisableAgentForwarding *bool             `mapstructure:"ssh_disable_agent_forwarding" cty:"ssh_disable_agent_forwarding" hcl:"ssh_disable_agent_forwarding"`
	SSHHandshakeAttempts      *int              `mapstructure:"ssh_handshake_attempts" cty:"ssh_handshake_attempts" hcl:"ssh_handshake_attempts"`
	SSHBastionHost            *string           `mapstructure:"ssh_bastion_host" cty:"ssh_bastion_host" hcl:"ssh_bastion_host"`
	SSHBastionPort            *int              `mapstructure:"ssh_bastion_port" cty:"ssh_bastion_port" hcl:"ssh_bastion_port"`
	SSHBastionAgentAuth       *bool             `mapstructure:"ssh_bastion_agent_auth" cty:"ssh_bastion_agent_auth" hcl:"ssh_bastion_agent_auth"`
	SSHBastionUsername        *string           `mapstructure:"ssh_bastion_username" cty:"ssh_bastion_username" hcl:"ssh_bastion_username"`
	SSHBastionPassword        *string           `mapstructure:"ssh_bastion_password" cty:"ssh_bastion_password" hcl:"ssh_bastion_password"`
	SSHBastionInteractive     *bool             `mapstructure:"ssh_bastion_interactive" cty:"ssh_bastion_interactive" hcl:"ssh_bastion_interactive"`
	SSHBastionPrivateKeyFile  *string           `mapstructure:"ssh_bastion_private_key_file" cty:"ssh_bastion_private_key_file" hcl:"ssh_bastion_private_key_file"`
	SSHBastionCertificateFile *string           `mapstructure:"ssh_bastion_certificate_file" cty:"ssh_bastion_certificate_file" hcl:"ssh_bastion_certificate_file"`
	SSHFileTransferMethod     *string           `mapstructure:"ssh_file_transfer_method" cty:"ssh_file_transfer_method" hcl:"ssh_file_transfer_method"`
	SSHProxyHost              *string           `mapstructure:"ssh_proxy_host" cty:"ssh_proxy_host" hcl:"ssh_proxy_host"`
	SSHProxyPort              *int              `mapstructure:"ssh_proxy_port" cty:"ssh_proxy_port" hcl:"ssh_proxy_port"`
	SSHProxyUsername          *string           `mapstructure:"ssh_proxy_username" cty:"ssh_proxy_username" hcl:"ssh_proxy_username"`
	SSHProxyPassword          *string           `mapstructure:"ssh_proxy_password" cty:"ssh_proxy_password" hcl:"ssh_proxy_password"`
	SSHKeepAliveInterval      *string           `mapstructure:"ssh_keep_alive_interval" cty:"ssh_keep_alive_interval" hcl:"ssh_keep_alive_interval"`
	SSHReadWriteTimeout       *string           `mapstructure:"ssh_read_write_timeout" cty:"ssh_read_write_timeout" hcl:"ssh_read_write_timeout"`
	SSHRemoteTunnels          []string          `mapstructure:"ssh_remote_tunnels" cty:"ssh_remote_tunnels" hcl:"ssh_remote_tunnels"`
	SSHLocalTunnels           []string          `mapstructure:"ssh_local_tunnels" cty:"ssh_local_tunnels" hcl:"ssh_local_tunnels"`
	SSHPublicKey              []byte            `mapstructure:"ssh_public_key" undocumented:"true" cty:"ssh_public_key" hcl:"ssh_public_key"`
	SSHPrivateKey             []byte            `mapstructure:"ssh_private_key" undocumented:"true" cty:"ssh_private_key" hcl:"ssh_private_key"`
	WinRMUser                 *string           `mapstructure:"winrm_username" cty:"winrm_username" hcl:"winrm_username"`
	WinRMPassword             *string           `mapstructure:"winrm_password" cty:"winrm_password" hcl:"winrm_password"`
	WinRMHost                 *string           `mapstructure:"winrm_host" cty:"winrm_host" hcl:"winrm_host"`
	WinRMNoProxy              *bool             `mapstructure:"winrm_no_proxy" cty:"winrm_no_proxy" hcl:"winrm_no_proxy"`
	WinRMPort                 *int              `mapstructure:"winrm_port" cty:"winrm_port" hcl:"winrm_port"`
	WinRMTimeout              *string           `mapstructure:"winrm_timeout" cty:"winrm_timeout" hcl:"winrm_timeout"`
	WinRMUseSSL               *bool             `mapstructure:"winrm_use_ssl" cty:"winrm_use_ssl" hcl:"winrm_use_ssl"`
	WinRMInsecure             *bool             `mapstructure:"winrm_insecure" cty:"winrm_insecure" hcl:"winrm_insecure"`
	WinRMUseNTLM              *bool             `mapstructure:"winrm_use_ntlm" cty:"winrm_use_ntlm" hcl:"winrm_use_ntlm"`
	ApiKey                    *string           `mapstructure:"api_key" cty:"api_key" hcl:"api_key"`
	ApiSecret                 *string           `mapstructure:"api_secret" cty:"api_secret" hcl:"api_secret"`
	Zone                      *string           `mapstructure:"zone" cty:"zone" hcl:"zone"`
	Protocol                  *string           `mapstructure:"protocol" cty:"protocol" hcl:"protocol"`
	Host                      *string           `mapstructure:"host" cty:"host" hcl:"host"`
	Port                      *int              `mapstructure:"port" cty:"port" hcl:"port"`
	Uri                       *string           `mapstructure:"uri" cty:"uri" hcl:"uri"`
	LogLevel                  *string           `mapstructure:"log_level" cty:"log_level" hcl:"log_level"`
	VxnetID                   *string           `mapstructure:"vxnet_id" cty:"vxnet_id" hcl:"vxnet_id"`
	EIPID                     *string           `mapstructure:"eip_id" cty:"eip_id" hcl:"eip_id"`
	SecurityGroupID           *string           `mapstructure:"securitygroup_id" cty:"securitygroup_id" hcl:"securitygroup_id"`
	KeypairID                 *string           `mapstructure:"keypair_id" cty:"keypair_id" hcl:"keypair_id"`
	BaseImageID               *string           `mapstructure:"image_id" cty:"image_id" hcl:"image_id"`
	ImageArtifactName         *string           `mapstructure:"image_name" cty:"image_name" hcl:"image_name"`
	CPU                       *int              `mapstructure:"cpu" cty:"cpu" hcl:"cpu"`
	Memory                    *int              `mapstructure:"memory" cty:"memory" hcl:"memory"`
	InstanceClass             *int              `mapstructure:"instance_class" cty:"instance_class" hcl:"instance_class"`
}

FlatConfig is an auto-generated flat version of Config. Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.

func (*FlatConfig) HCL2Spec

func (*FlatConfig) HCL2Spec() map[string]hcldec.Spec

HCL2Spec returns the hcl spec of a Config. This spec is used by HCL to read the fields of Config. The decoded values from this spec will then be applied to a FlatConfig.

type ImageArtifact

type ImageArtifact struct {
	ImageID      string
	ImageService *service.ImageService
}

func (*ImageArtifact) BuilderId

func (artifact *ImageArtifact) BuilderId() string

func (*ImageArtifact) Destroy

func (artifact *ImageArtifact) Destroy() error

func (*ImageArtifact) Files

func (artifact *ImageArtifact) Files() []string

func (*ImageArtifact) Id

func (artifact *ImageArtifact) Id() string

func (*ImageArtifact) State

func (artifact *ImageArtifact) State(name string) interface{}

func (*ImageArtifact) String

func (artifact *ImageArtifact) String() string

type StepBuildImage

type StepBuildImage struct {
}

func (*StepBuildImage) Cleanup

func (step *StepBuildImage) Cleanup(multistep.StateBag)

func (*StepBuildImage) Run

type StepCreateVM

type StepCreateVM struct {
}

func (*StepCreateVM) Cleanup

func (step *StepCreateVM) Cleanup(state multistep.StateBag)

func (*StepCreateVM) Run

type StepEnsureIP

type StepEnsureIP struct {
}

func (*StepEnsureIP) Cleanup

func (step *StepEnsureIP) Cleanup(state multistep.StateBag)

func (*StepEnsureIP) Run

type StepEnsureKeypair

type StepEnsureKeypair struct {
}

func (*StepEnsureKeypair) Cleanup

func (step *StepEnsureKeypair) Cleanup(state multistep.StateBag)

func (*StepEnsureKeypair) Run

type StepEnsureSecurityGroup

type StepEnsureSecurityGroup struct {
}

func (*StepEnsureSecurityGroup) Cleanup

func (step *StepEnsureSecurityGroup) Cleanup(state multistep.StateBag)

func (*StepEnsureSecurityGroup) Run

type StepSayConfig

type StepSayConfig struct {
	MockConfig string
}

func (*StepSayConfig) Cleanup

func (s *StepSayConfig) Cleanup(_ multistep.StateBag)

Cleanup can be used to clean up any artifact created by the step. A step's clean up always run at the end of a build, regardless of whether provisioning succeeds or fails.

func (*StepSayConfig) Run

Run should execute the purpose of this step

type StepShutDownVM

type StepShutDownVM struct {
}

func (*StepShutDownVM) Cleanup

func (step *StepShutDownVM) Cleanup(state multistep.StateBag)

func (*StepShutDownVM) Run

Jump to

Keyboard shortcuts

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