aws

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Nov 1, 2019 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// S3URL is the S3 URL for making bucket API calls.
	S3URL = "s3.amazonaws.com"

	// DefaultAWSRegion is the default AWS region for AWS resources.
	DefaultAWSRegion = "us-east-1"

	// DefaultDBSubnetGroupName is the default DB subnet group name used when
	// creating DB clusters. This group name is defined by the owner of the AWS
	// accounts and can be the same across all accounts.
	// Note: This needs to be manually created before RDS databases can be used.
	DefaultDBSubnetGroupName = "mattermost-databases"

	// DefaultDBSecurityGroupTagKey is the default DB security group tag key
	// that is used to find security groups to use in configuration of the RDS
	// database.
	// Note: This needs to be manually created before RDS databases can be used.
	DefaultDBSecurityGroupTagKey = "tag:MattermostCloudInstallationDatabase"

	// DefaultDBSecurityGroupTagValue is the default DB security group tag value
	// that is used to find security groups to use in configuration of the RDS
	// database.
	// Note: This needs to be manually created before RDS databases can be used.
	DefaultDBSecurityGroupTagValue = "MYSQL/Aurora"
)

Variables

This section is empty.

Functions

func CloudID added in v0.7.0

func CloudID(id string) string

CloudID returns the standard ID used for AWS resource names. This ID is used to correlate installations to AWS resources.

func IAMSecretName added in v0.8.0

func IAMSecretName(cloudID string) string

IAMSecretName returns the IAM Access Key secret name for a given Cloud ID.

func RDSSecretName added in v0.8.0

func RDSSecretName(cloudID string) string

RDSSecretName returns the RDS secret name for a given Cloud ID.

Types

type AWS

type AWS interface {
	CreateCNAME(dnsName string, dnsEndpoints []string, logger log.FieldLogger) error
	DeleteCNAME(dnsName string, logger log.FieldLogger) error

	TagResource(resourceID, key, value string, logger log.FieldLogger) error
	UntagResource(resourceID, key, value string, logger log.FieldLogger) error
}

AWS interface for use by other packages.

type Client

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

Client is a client for interacting with AWS resources.

func New

func New(hostedZoneID string) *Client

New returns a new AWS client.

func (*Client) CreateCNAME

func (a *Client) CreateCNAME(dnsName string, dnsEndpoints []string, logger log.FieldLogger) error

CreateCNAME creates an AWS route53 CNAME record.

func (*Client) DeleteCNAME

func (a *Client) DeleteCNAME(dnsName string, logger log.FieldLogger) error

DeleteCNAME deletes an AWS route53 CNAME record.

func (*Client) TagResource

func (a *Client) TagResource(resourceID, key, value string, logger log.FieldLogger) error

TagResource tags an AWS EC2 resource.

func (*Client) UntagResource

func (a *Client) UntagResource(resourceID, key, value string, logger log.FieldLogger) error

UntagResource deletes tags from an AWS EC2 resource.

type IAMAccessKey added in v0.7.0

type IAMAccessKey struct {
	ID     string
	Secret string
}

IAMAccessKey is the ID and Secret of an AWS IAM user's access key.

func (*IAMAccessKey) Validate added in v0.8.0

func (s *IAMAccessKey) Validate() error

Validate performs a basic sanity check on the IAM Access Key secret.

type RDSDatabase added in v0.8.0

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

RDSDatabase is a database backed by AWS RDS.

func NewRDSDatabase added in v0.8.0

func NewRDSDatabase(installationID string) *RDSDatabase

NewRDSDatabase returns a new RDSDatabase interface.

func (*RDSDatabase) GenerateDatabaseSpecAndSecret added in v0.8.0

func (d *RDSDatabase) GenerateDatabaseSpecAndSecret(logger log.FieldLogger) (*mmv1alpha1.Database, *corev1.Secret, error)

GenerateDatabaseSpecAndSecret creates the k8s database spec and secret for accessing the RDS database.

func (*RDSDatabase) Provision added in v0.8.0

func (d *RDSDatabase) Provision(logger log.FieldLogger) error

Provision completes all the steps necessary to provision a RDS database.

func (*RDSDatabase) Teardown added in v0.8.0

func (d *RDSDatabase) Teardown(keepData bool, logger log.FieldLogger) error

Teardown removes all AWS resources related to a RDS database.

type RDSSecret added in v0.8.0

type RDSSecret struct {
	MasterUsername string
	MasterPassword string
}

RDSSecret is the Secret payload for RDS configuration.

func (*RDSSecret) Validate added in v0.8.0

func (s *RDSSecret) Validate() error

Validate performs a basic sanity check on the RDS secret.

type S3Filestore added in v0.7.0

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

S3Filestore is a filestore backed by AWS S3.

func NewS3Filestore added in v0.7.0

func NewS3Filestore(installationID string) *S3Filestore

NewS3Filestore returns a new S3Filestore interface.

func (*S3Filestore) GenerateFilestoreSpecAndSecret added in v0.7.0

func (f *S3Filestore) GenerateFilestoreSpecAndSecret(logger log.FieldLogger) (*mmv1alpha1.Minio, *corev1.Secret, error)

GenerateFilestoreSpecAndSecret creates the k8s filestore spec and secret for accessing the S3 bucket.

func (*S3Filestore) Provision added in v0.7.0

func (f *S3Filestore) Provision(logger log.FieldLogger) error

Provision completes all the steps necessary to provision an S3 filestore.

func (*S3Filestore) Teardown added in v0.7.0

func (f *S3Filestore) Teardown(keepData bool, logger log.FieldLogger) error

Teardown removes all AWS resources related to an S3 filestore.

Jump to

Keyboard shortcuts

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