Documentation ¶
Index ¶
- Constants
- Variables
- func GetCloudServicesForAPIs(apis ...string) (services []cloud.Service)
- func GetCloudServicesForTypes(types ...string) (services []cloud.Service)
- func InitServices(conf map[string]interface{}, log *logger.Logger) error
- func NewAccess(sess *session.Session, awsconf config, log *logger.Logger) cloud.Service
- func NewDns(sess *session.Session, awsconf config, log *logger.Logger) cloud.Service
- func NewDriver(region, profile string, log ...*logger.Logger) (driver.Driver, error)
- func NewInfra(sess *session.Session, awsconf config, log *logger.Logger) cloud.Service
- func NewLambda(sess *session.Session, awsconf config, log *logger.Logger) cloud.Service
- func NewMonitoring(sess *session.Session, awsconf config, log *logger.Logger) cloud.Service
- func NewNotification(sess *session.Session, awsconf config, log *logger.Logger) cloud.Service
- func NewQueue(sess *session.Session, awsconf config, log *logger.Logger) cloud.Service
- func NewStorage(sess *session.Session, awsconf config, log *logger.Logger) cloud.Service
- func ResourceTypesPerServiceName() map[string][]string
- type Access
- func (s *Access) Drivers() []driver.Driver
- func (s *Access) FetchByType(t string) (*graph.Graph, error)
- func (s *Access) FetchResources() (*graph.Graph, error)
- func (s *Access) GetIdentity() (*Identity, error)
- func (s *Access) GetUserPolicies(username string) (*UserPolicies, error)
- func (s *Access) IsSyncDisabled() bool
- func (s *Access) Name() string
- func (s *Access) ResourceTypes() []string
- type Dns
- type Identity
- type Infra
- type Lambda
- type Monitoring
- type Notification
- func (s *Notification) Drivers() []driver.Driver
- func (s *Notification) FetchByType(t string) (*graph.Graph, error)
- func (s *Notification) FetchResources() (*graph.Graph, error)
- func (s *Notification) IsSyncDisabled() bool
- func (s *Notification) Name() string
- func (s *Notification) ResourceTypes() []string
- type Queue
- type Storage
- type UserPolicies
Constants ¶
View Source
const ( PARENT_OF = iota // default APPLIES_ON DEPENDING_ON )
Variables ¶
View Source
var APIPerResourceType = map[string]string{
"instance": "ec2",
"subnet": "ec2",
"vpc": "ec2",
"keypair": "ec2",
"securitygroup": "ec2",
"volume": "ec2",
"internetgateway": "ec2",
"routetable": "ec2",
"availabilityzone": "ec2",
"image": "ec2",
"elasticip": "ec2",
"snapshot": "ec2",
"loadbalancer": "elbv2",
"targetgroup": "elbv2",
"listener": "elbv2",
"database": "rds",
"dbsubnetgroup": "rds",
"launchconfiguration": "autoscaling",
"scalinggroup": "autoscaling",
"scalingpolicy": "autoscaling",
"user": "iam",
"group": "iam",
"role": "iam",
"policy": "iam",
"accesskey": "iam",
"bucket": "s3",
"s3object": "s3",
"subscription": "sns",
"topic": "sns",
"queue": "sqs",
"zone": "route53",
"record": "route53",
"function": "lambda",
"metric": "cloudwatch",
"alarm": "cloudwatch",
}
View Source
var (
AccessService, InfraService, StorageService, NotificationService, QueueService, DnsService, LambdaService, MonitoringService 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",
"image",
"elasticip",
"snapshot",
"loadbalancer",
"targetgroup",
"listener",
"database",
"dbsubnetgroup",
"launchconfiguration",
"scalinggroup",
"scalingpolicy",
"user",
"group",
"role",
"policy",
"accesskey",
"bucket",
"s3object",
"subscription",
"topic",
"queue",
"zone",
"record",
"function",
"metric",
"alarm",
}
View Source
var ServiceNames = []string{
"infra",
"access",
"storage",
"notification",
"queue",
"dns",
"lambda",
"monitoring",
}
View Source
var ServicePerAPI = map[string]string{
"ec2": "infra",
"elbv2": "infra",
"rds": "infra",
"autoscaling": "infra",
"iam": "access",
"sts": "access",
"s3": "storage",
"sns": "notification",
"sqs": "queue",
"route53": "dns",
"lambda": "lambda",
"cloudwatch": "monitoring",
}
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",
"image": "infra",
"elasticip": "infra",
"snapshot": "infra",
"loadbalancer": "infra",
"targetgroup": "infra",
"listener": "infra",
"database": "infra",
"dbsubnetgroup": "infra",
"launchconfiguration": "infra",
"scalinggroup": "infra",
"scalingpolicy": "infra",
"user": "access",
"group": "access",
"role": "access",
"policy": "access",
"accesskey": "access",
"bucket": "storage",
"s3object": "storage",
"subscription": "notification",
"topic": "notification",
"queue": "queue",
"zone": "dns",
"record": "dns",
"function": "lambda",
"metric": "monitoring",
"alarm": "monitoring",
}
Functions ¶
func GetCloudServicesForAPIs ¶ added in v0.0.21
func GetCloudServicesForTypes ¶ added in v0.0.21
func NewMonitoring ¶ added in v0.0.23
func NewNotification ¶
func NewStorage ¶
func ResourceTypesPerServiceName ¶ added in v0.0.22
Types ¶
type Access ¶
func (*Access) GetIdentity ¶ added in v0.0.21
func (*Access) GetUserPolicies ¶ added in v0.0.21
func (s *Access) GetUserPolicies(username string) (*UserPolicies, error)
func (*Access) IsSyncDisabled ¶
func (*Access) ResourceTypes ¶
type Dns ¶
type Dns struct { route53iface.Route53API // contains filtered or unexported fields }
func (*Dns) IsSyncDisabled ¶
func (*Dns) ResourceTypes ¶
type Infra ¶
type Infra struct { ec2iface.EC2API elbv2iface.ELBV2API rdsiface.RDSAPI autoscalingiface.AutoScalingAPI // contains filtered or unexported fields }
func (*Infra) IsSyncDisabled ¶
func (*Infra) ResourceTypes ¶
type Lambda ¶ added in v0.0.23
type Lambda struct { lambdaiface.LambdaAPI // contains filtered or unexported fields }
func (*Lambda) FetchByType ¶ added in v0.0.23
func (*Lambda) FetchResources ¶ added in v0.0.23
func (*Lambda) IsSyncDisabled ¶ added in v0.0.23
func (*Lambda) ResourceTypes ¶ added in v0.0.23
type Monitoring ¶ added in v0.0.23
type Monitoring struct { cloudwatchiface.CloudWatchAPI // contains filtered or unexported fields }
func (*Monitoring) Drivers ¶ added in v0.0.23
func (s *Monitoring) Drivers() []driver.Driver
func (*Monitoring) FetchByType ¶ added in v0.0.23
func (s *Monitoring) FetchByType(t string) (*graph.Graph, error)
func (*Monitoring) FetchResources ¶ added in v0.0.23
func (s *Monitoring) FetchResources() (*graph.Graph, error)
func (*Monitoring) IsSyncDisabled ¶ added in v0.0.23
func (s *Monitoring) IsSyncDisabled() bool
func (*Monitoring) Name ¶ added in v0.0.23
func (s *Monitoring) Name() string
func (*Monitoring) ResourceTypes ¶ added in v0.0.23
func (s *Monitoring) ResourceTypes() []string
type Notification ¶
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() []string
Source Files ¶
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 |
Click to show internal directories.
Click to hide internal directories.