aws

package
v0.0.21 Latest Latest
Warning

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

Go to latest
Published: Mar 23, 2017 License: Apache-2.0 Imports: 39 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PARENT_OF = iota // default
	APPLIES_ON
	DEPENDING_ON
)

Variables

View Source
var (
	AccessService, InfraService, StorageService, NotificationService, QueueService, DnsService cloud.Service
)
View Source
var ErrTagNotFound = errors.New("aws tag key not found")
View Source
var ResourceTypes = []string{
	"instance",
	"subnet",
	"vpc",
	"keypair",
	"securitygroup",
	"volume",
	"internetgateway",
	"routetable",
	"availabilityzone",
	"loadbalancer",
	"targetgroup",
	"listener",
	"database",
	"dbsubnetgroup",
	"user",
	"group",
	"role",
	"policy",
	"bucket",
	"storageobject",
	"subscription",
	"topic",
	"queue",
	"zone",
	"record",
}
View Source
var ServiceNames = []string{}
View Source
var ServicePerAPI = map[string]string{
	"ec2":     "infra",
	"elbv2":   "infra",
	"rds":     "infra",
	"iam":     "access",
	"sts":     "access",
	"s3":      "storage",
	"sns":     "notification",
	"sqs":     "queue",
	"route53": "dns",
}
View Source
var ServicePerResourceType = map[string]string{
	"instance":         "infra",
	"subnet":           "infra",
	"vpc":              "infra",
	"keypair":          "infra",
	"securitygroup":    "infra",
	"volume":           "infra",
	"internetgateway":  "infra",
	"routetable":       "infra",
	"availabilityzone": "infra",
	"loadbalancer":     "infra",
	"targetgroup":      "infra",
	"listener":         "infra",
	"database":         "infra",
	"dbsubnetgroup":    "infra",
	"user":             "access",
	"group":            "access",
	"role":             "access",
	"policy":           "access",
	"bucket":           "storage",
	"storageobject":    "storage",
	"subscription":     "notification",
	"topic":            "notification",
	"queue":            "queue",
	"zone":             "dns",
	"record":           "dns",
}

Functions

func GetCloudServicesForAPIs added in v0.0.21

func GetCloudServicesForAPIs(apis ...string) (services []cloud.Service)

func GetCloudServicesForTypes added in v0.0.21

func GetCloudServicesForTypes(types ...string) (services []cloud.Service)

func InitServices

func InitServices(conf map[string]interface{}, log *logger.Logger) error

func InitSession

func InitSession(region, profile string) (*session.Session, error)

func NewAccess

func NewAccess(sess *session.Session, awsconf config, log *logger.Logger) cloud.Service

func NewDns

func NewDns(sess *session.Session, awsconf config, log *logger.Logger) cloud.Service

func NewInfra

func NewInfra(sess *session.Session, awsconf config, log *logger.Logger) cloud.Service

func NewNotification

func NewNotification(sess *session.Session, awsconf config, log *logger.Logger) cloud.Service

func NewQueue

func NewQueue(sess *session.Session, awsconf config, log *logger.Logger) cloud.Service

func NewStorage

func NewStorage(sess *session.Session, awsconf config, log *logger.Logger) cloud.Service

Types

type Access

type Access struct {
	iamiface.IAMAPI
	stsiface.STSAPI
	// contains filtered or unexported fields
}

func (*Access) Drivers

func (s *Access) Drivers() []driver.Driver

func (*Access) FetchByType

func (s *Access) FetchByType(t string) (*graph.Graph, error)

func (*Access) FetchResources

func (s *Access) FetchResources() (*graph.Graph, error)

func (*Access) GetIdentity added in v0.0.21

func (s *Access) GetIdentity() (*Identity, error)

func (*Access) GetUserPolicies added in v0.0.21

func (s *Access) GetUserPolicies(username string) (*UserPolicies, error)

func (*Access) IsSyncDisabled

func (s *Access) IsSyncDisabled() bool

func (*Access) Name

func (s *Access) Name() string

func (*Access) ResourceTypes

func (s *Access) ResourceTypes() (all []string)

type Dns

type Dns struct {
	route53iface.Route53API
	// contains filtered or unexported fields
}

func (*Dns) Drivers

func (s *Dns) Drivers() []driver.Driver

func (*Dns) FetchByType

func (s *Dns) FetchByType(t string) (*graph.Graph, error)

func (*Dns) FetchResources

func (s *Dns) FetchResources() (*graph.Graph, error)

func (*Dns) IsSyncDisabled

func (s *Dns) IsSyncDisabled() bool

func (*Dns) Name

func (s *Dns) Name() string

func (*Dns) ResourceTypes

func (s *Dns) ResourceTypes() (all []string)

type Identity added in v0.0.21

type Identity struct {
	Account, Arn, UserId, Username string
}

type Infra

type Infra struct {
	ec2iface.EC2API
	elbv2iface.ELBV2API
	rdsiface.RDSAPI
	// contains filtered or unexported fields
}

func (*Infra) Drivers

func (s *Infra) Drivers() []driver.Driver

func (*Infra) FetchByType

func (s *Infra) FetchByType(t string) (*graph.Graph, error)

func (*Infra) FetchResources

func (s *Infra) FetchResources() (*graph.Graph, error)

func (*Infra) IsSyncDisabled

func (s *Infra) IsSyncDisabled() bool

func (*Infra) Name

func (s *Infra) Name() string

func (*Infra) ResourceTypes

func (s *Infra) ResourceTypes() (all []string)

type Notification

type Notification struct {
	snsiface.SNSAPI
	// contains filtered or unexported fields
}

func (*Notification) Drivers

func (s *Notification) Drivers() []driver.Driver

func (*Notification) FetchByType

func (s *Notification) FetchByType(t string) (*graph.Graph, error)

func (*Notification) FetchResources

func (s *Notification) FetchResources() (*graph.Graph, error)

func (*Notification) IsSyncDisabled

func (s *Notification) IsSyncDisabled() bool

func (*Notification) Name

func (s *Notification) Name() string

func (*Notification) ResourceTypes

func (s *Notification) ResourceTypes() (all []string)

type Queue

type Queue struct {
	sqsiface.SQSAPI
	// contains filtered or unexported fields
}

func (*Queue) Drivers

func (s *Queue) Drivers() []driver.Driver

func (*Queue) FetchByType

func (s *Queue) FetchByType(t string) (*graph.Graph, error)

func (*Queue) FetchResources

func (s *Queue) FetchResources() (*graph.Graph, error)

func (*Queue) IsSyncDisabled

func (s *Queue) IsSyncDisabled() bool

func (*Queue) Name

func (s *Queue) Name() string

func (*Queue) ResourceTypes

func (s *Queue) ResourceTypes() (all []string)

type Storage

type Storage struct {
	s3iface.S3API
	// contains filtered or unexported fields
}

func (*Storage) Drivers

func (s *Storage) Drivers() []driver.Driver

func (*Storage) FetchByType

func (s *Storage) FetchByType(t string) (*graph.Graph, error)

func (*Storage) FetchResources

func (s *Storage) FetchResources() (*graph.Graph, error)

func (*Storage) IsSyncDisabled

func (s *Storage) IsSyncDisabled() bool

func (*Storage) Name

func (s *Storage) Name() string

func (*Storage) ResourceTypes

func (s *Storage) ResourceTypes() (all []string)

type UserPolicies added in v0.0.21

type UserPolicies struct {
	Username string
	Inlined  []string
	Attached []string
	ByGroup  map[string][]string
}

Directories

Path Synopsis
DO NOT EDIT This file was automatically generated with go generate DO NOT EDIT This file was automatically generated with go generate DO NOT EDIT This file was automatically generated with go generate
DO NOT EDIT This file was automatically generated with go generate DO NOT EDIT This file was automatically generated with go generate DO NOT EDIT This file was automatically generated with go generate

Jump to

Keyboard shortcuts

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