util

package
v0.2.7 Latest Latest
Warning

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

Go to latest
Published: Oct 28, 2021 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// ProviderDefaultName is the name of Provider object
	ProviderDefaultName = "default"
	// ProviderDefaultNamespace is the namespace of Provider object
	ProviderDefaultNamespace = "default"
)

Variables

This section is empty.

Functions

func DecompressTerraformStateSecret added in v0.1.3

func DecompressTerraformStateSecret(data string) ([]byte, error)

DecompressTerraformStateSecret decompress the data of Terraform backend state secret Modified based on Hashicorp code base https://github.com/hashicorp/terraform/blob/fabdf0bea1fa2bf6a9d56cc3ea0f28242bf5e812/backend/remote-state/kubernetes/client.go#L355 Licensed under Mozilla Public License 2.0

func GetProviderCredentials

func GetProviderCredentials(ctx context.Context, k8sClient client.Client, providerNamespace, providerName string) (map[string]string, error)

GetProviderCredentials gets provider credentials by cloud provider name

func GetProviderFromConfiguration added in v0.1.18

func GetProviderFromConfiguration(ctx context.Context, k8sClient client.Client, namespace, providerName string) (*v1beta1.Provider, error)

GetProviderFromConfiguration gets provider object from Configuration

func ValidateProviderCredentials added in v0.1.18

func ValidateProviderCredentials(ctx context.Context, k8sClient client.Client, provider *v1beta1.Provider) error

ValidateProviderCredentials validates provider credentials by cloud provider name

Types

type AWSCredentials

type AWSCredentials struct {
	AWSAccessKeyID     string `yaml:"awsAccessKeyID"`
	AWSSecretAccessKey string `yaml:"awsSecretAccessKey"`
	AWSSessionToken    string `yaml:"awsSessionToken"`
}

AWSCredentials are credentials for AWS

type AlibabaCloudCredentials

type AlibabaCloudCredentials struct {
	AccessKeyID     string `yaml:"accessKeyID"`
	AccessKeySecret string `yaml:"accessKeySecret"`
	SecurityToken   string `yaml:"securityToken"`
}

AlibabaCloudCredentials are credentials for Alibaba Cloud

type AzureCredentials added in v0.1.8

type AzureCredentials struct {
	ARMClientID       string `yaml:"armClientID"`
	ARMClientSecret   string `yaml:"armClientSecret"`
	ARMSubscriptionID string `yaml:"armSubscriptionID"`
	ARMTenantID       string `yaml:"armTenantID"`
}

AzureCredentials are credentials for Azure

type CloudProvider

type CloudProvider string

CloudProvider is a type for mark a Cloud Provider

type ECCredentials added in v0.1.17

type ECCredentials struct {
	ECApiKey string `yaml:"ecApiKey"`
}

ECCredentials are credentials for Elastic CLoud

type GCPCredentials added in v0.1.8

type GCPCredentials struct {
	GCPCredentialsJSON string `yaml:"gcpCredentialsJSON"`
	GCPProject         string `yaml:"gcpProject"`
}

GCPCredentials are credentials for GCP

type UCloudCredentials added in v0.2.7

type UCloudCredentials struct {
	PublicKey  string `yaml:"publicKey"`
	PrivateKey string `yaml:"privateKey"`
	Region     string `yaml:"region"`
	ProjectID  string `yaml:"projectID"`
}

UCloudCredentials are credentials for UCloud

type VSphereCredentials added in v0.1.9

type VSphereCredentials struct {
	VSphereUser               string `yaml:"vSphereUser"`
	VSpherePassword           string `yaml:"vSpherePassword"`
	VSphereServer             string `yaml:"vSphereServer"`
	VSphereAllowUnverifiedSSL string `yaml:"vSphereAllowUnverifiedSSL,omitempty"`
}

VSphereCredentials are credentials for VSphere

Jump to

Keyboard shortcuts

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