Documentation ¶
Index ¶
- Constants
- Variables
- func GetCloudServicesForAPIs(apis ...string) (services []cloud.Service)
- func GetCloudServicesForTypes(types ...string) (services []cloud.Service)
- func Init(profile, region string, extraConf map[string]interface{}, log *logger.Logger, ...) error
- func NewAccess(sess *session.Session, profile string, extraConf map[string]interface{}, ...) cloud.Service
- func NewCdn(sess *session.Session, profile string, extraConf map[string]interface{}, ...) cloud.Service
- func NewCloudformation(sess *session.Session, profile string, extraConf map[string]interface{}, ...) cloud.Service
- func NewDns(sess *session.Session, profile string, extraConf map[string]interface{}, ...) cloud.Service
- func NewInfra(sess *session.Session, profile string, extraConf map[string]interface{}, ...) cloud.Service
- func NewLambda(sess *session.Session, profile string, extraConf map[string]interface{}, ...) cloud.Service
- func NewMessaging(sess *session.Session, profile string, extraConf map[string]interface{}, ...) cloud.Service
- func NewMonitoring(sess *session.Session, profile string, extraConf map[string]interface{}, ...) cloud.Service
- func NewStorage(sess *session.Session, profile string, extraConf map[string]interface{}, ...) cloud.Service
- func ResolveRegionFromEnv() (region string)
- func ResourceTypesPerServiceName() map[string][]string
- type Access
- func (s *Access) Fetch(ctx context.Context) (cloud.GraphAPI, error)
- func (s *Access) FetchByType(ctx context.Context, t string) (cloud.GraphAPI, 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) Profile() string
- func (s *Access) Region() string
- func (s *Access) ResourceTypes() []string
- type Cdn
- func (s *Cdn) Fetch(ctx context.Context) (cloud.GraphAPI, error)
- func (s *Cdn) FetchByType(ctx context.Context, t string) (cloud.GraphAPI, error)
- func (s *Cdn) IsSyncDisabled() bool
- func (s *Cdn) Name() string
- func (s *Cdn) Profile() string
- func (s *Cdn) Region() string
- func (s *Cdn) ResourceTypes() []string
- type Cloudformation
- func (s *Cloudformation) Fetch(ctx context.Context) (cloud.GraphAPI, error)
- func (s *Cloudformation) FetchByType(ctx context.Context, t string) (cloud.GraphAPI, error)
- func (s *Cloudformation) IsSyncDisabled() bool
- func (s *Cloudformation) Name() string
- func (s *Cloudformation) Profile() string
- func (s *Cloudformation) Region() string
- func (s *Cloudformation) ResourceTypes() []string
- type Dns
- func (s *Dns) Fetch(ctx context.Context) (cloud.GraphAPI, error)
- func (s *Dns) FetchByType(ctx context.Context, t string) (cloud.GraphAPI, error)
- func (s *Dns) IsSyncDisabled() bool
- func (s *Dns) Name() string
- func (s *Dns) Profile() string
- func (s *Dns) Region() string
- func (s *Dns) ResourceTypes() []string
- type Identity
- type Infra
- func (s *Infra) Fetch(ctx context.Context) (cloud.GraphAPI, error)
- func (s *Infra) FetchByType(ctx context.Context, t string) (cloud.GraphAPI, error)
- func (s *Infra) IsSyncDisabled() bool
- func (s *Infra) Name() string
- func (s *Infra) Profile() string
- func (s *Infra) Region() string
- func (s *Infra) ResourceTypes() []string
- type Lambda
- func (s *Lambda) Fetch(ctx context.Context) (cloud.GraphAPI, error)
- func (s *Lambda) FetchByType(ctx context.Context, t string) (cloud.GraphAPI, error)
- func (s *Lambda) IsSyncDisabled() bool
- func (s *Lambda) Name() string
- func (s *Lambda) Profile() string
- func (s *Lambda) Region() string
- func (s *Lambda) ResourceTypes() []string
- type Messaging
- func (s *Messaging) Fetch(ctx context.Context) (cloud.GraphAPI, error)
- func (s *Messaging) FetchByType(ctx context.Context, t string) (cloud.GraphAPI, error)
- func (s *Messaging) IsSyncDisabled() bool
- func (s *Messaging) Name() string
- func (s *Messaging) Profile() string
- func (s *Messaging) Region() string
- func (s *Messaging) ResourceTypes() []string
- type Monitoring
- func (s *Monitoring) Fetch(ctx context.Context) (cloud.GraphAPI, error)
- func (s *Monitoring) FetchByType(ctx context.Context, t string) (cloud.GraphAPI, error)
- func (s *Monitoring) IsSyncDisabled() bool
- func (s *Monitoring) Name() string
- func (s *Monitoring) Profile() string
- func (s *Monitoring) Region() string
- func (s *Monitoring) ResourceTypes() []string
- type NetworkMonitor
- type Storage
- func (s *Storage) Fetch(ctx context.Context) (cloud.GraphAPI, error)
- func (s *Storage) FetchByType(ctx context.Context, t string) (cloud.GraphAPI, error)
- func (s *Storage) IsSyncDisabled() bool
- func (s *Storage) Name() string
- func (s *Storage) Profile() string
- func (s *Storage) Region() string
- func (s *Storage) ResourceTypes() []string
- 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",
"natgateway": "ec2",
"routetable": "ec2",
"availabilityzone": "ec2",
"image": "ec2",
"importimagetask": "ec2",
"elasticip": "ec2",
"snapshot": "ec2",
"networkinterface": "ec2",
"classicloadbalancer": "elb",
"loadbalancer": "elbv2",
"targetgroup": "elbv2",
"listener": "elbv2",
"database": "rds",
"dbsubnetgroup": "rds",
"launchconfiguration": "autoscaling",
"scalinggroup": "autoscaling",
"scalingpolicy": "autoscaling",
"repository": "ecr",
"containercluster": "ecs",
"containertask": "ecs",
"container": "ecs",
"containerinstance": "ecs",
"certificate": "acm",
"user": "iam",
"group": "iam",
"role": "iam",
"policy": "iam",
"accesskey": "iam",
"instanceprofile": "iam",
"mfadevice": "iam",
"bucket": "s3",
"s3object": "s3",
"subscription": "sns",
"topic": "sns",
"queue": "sqs",
"zone": "route53",
"record": "route53",
"function": "lambda",
"metric": "cloudwatch",
"alarm": "cloudwatch",
"distribution": "cloudfront",
"stack": "cloudformation",
}
View Source
var (
AccessService, InfraService, StorageService, MessagingService, DnsService, LambdaService, MonitoringService, CdnService, CloudformationService cloud.Service
)
View Source
var DefaultNetworkMonitor = &NetworkMonitor{requests: make(map[*request.Request]*req)}
View Source
var ResourceTypes = []string{
"instance",
"subnet",
"vpc",
"keypair",
"securitygroup",
"volume",
"internetgateway",
"natgateway",
"routetable",
"availabilityzone",
"image",
"importimagetask",
"elasticip",
"snapshot",
"networkinterface",
"classicloadbalancer",
"loadbalancer",
"targetgroup",
"listener",
"database",
"dbsubnetgroup",
"launchconfiguration",
"scalinggroup",
"scalingpolicy",
"repository",
"containercluster",
"containertask",
"container",
"containerinstance",
"certificate",
"user",
"group",
"role",
"policy",
"accesskey",
"instanceprofile",
"mfadevice",
"bucket",
"s3object",
"subscription",
"topic",
"queue",
"zone",
"record",
"function",
"metric",
"alarm",
"distribution",
"stack",
}
View Source
var ServiceNames = []string{
"infra",
"access",
"storage",
"messaging",
"dns",
"lambda",
"monitoring",
"cdn",
"cloudformation",
}
View Source
var ServicePerAPI = map[string]string{
"ec2": "infra",
"elbv2": "infra",
"elb": "infra",
"rds": "infra",
"autoscaling": "infra",
"ecr": "infra",
"ecs": "infra",
"applicationautoscaling": "infra",
"acm": "infra",
"iam": "access",
"sts": "access",
"s3": "storage",
"sns": "messaging",
"sqs": "messaging",
"route53": "dns",
"lambda": "lambda",
"cloudwatch": "monitoring",
"cloudfront": "cdn",
"cloudformation": "cloudformation",
}
View Source
var ServicePerResourceType = map[string]string{
"instance": "infra",
"subnet": "infra",
"vpc": "infra",
"keypair": "infra",
"securitygroup": "infra",
"volume": "infra",
"internetgateway": "infra",
"natgateway": "infra",
"routetable": "infra",
"availabilityzone": "infra",
"image": "infra",
"importimagetask": "infra",
"elasticip": "infra",
"snapshot": "infra",
"networkinterface": "infra",
"classicloadbalancer": "infra",
"loadbalancer": "infra",
"targetgroup": "infra",
"listener": "infra",
"database": "infra",
"dbsubnetgroup": "infra",
"launchconfiguration": "infra",
"scalinggroup": "infra",
"scalingpolicy": "infra",
"repository": "infra",
"containercluster": "infra",
"containertask": "infra",
"container": "infra",
"containerinstance": "infra",
"certificate": "infra",
"user": "access",
"group": "access",
"role": "access",
"policy": "access",
"accesskey": "access",
"instanceprofile": "access",
"mfadevice": "access",
"bucket": "storage",
"s3object": "storage",
"subscription": "messaging",
"topic": "messaging",
"queue": "messaging",
"zone": "dns",
"record": "dns",
"function": "lambda",
"metric": "monitoring",
"alarm": "monitoring",
"distribution": "cdn",
"stack": "cloudformation",
}
Functions ¶
func GetCloudServicesForAPIs ¶
func NewCloudformation ¶
func NewMessaging ¶
func NewMonitoring ¶
func NewStorage ¶
func ResolveRegionFromEnv ¶ added in v0.1.7
func ResolveRegionFromEnv() (region string)
Types ¶
type Access ¶
func (*Access) FetchByType ¶
func (*Access) GetIdentity ¶
func (*Access) GetUserPolicies ¶
func (s *Access) GetUserPolicies(username string) (*UserPolicies, error)
func (*Access) IsSyncDisabled ¶
func (*Access) ResourceTypes ¶
type Cdn ¶
type Cdn struct { cloudfrontiface.CloudFrontAPI // contains filtered or unexported fields }
func (*Cdn) FetchByType ¶
func (*Cdn) IsSyncDisabled ¶
func (*Cdn) ResourceTypes ¶
type Cloudformation ¶
type Cloudformation struct { cloudformationiface.CloudFormationAPI // contains filtered or unexported fields }
func (*Cloudformation) FetchByType ¶
func (*Cloudformation) IsSyncDisabled ¶
func (s *Cloudformation) IsSyncDisabled() bool
func (*Cloudformation) Name ¶
func (s *Cloudformation) Name() string
func (*Cloudformation) Profile ¶ added in v0.1.9
func (s *Cloudformation) Profile() string
func (*Cloudformation) Region ¶
func (s *Cloudformation) Region() string
func (*Cloudformation) ResourceTypes ¶
func (s *Cloudformation) ResourceTypes() []string
type Dns ¶
type Dns struct { route53iface.Route53API // contains filtered or unexported fields }
func (*Dns) FetchByType ¶
func (*Dns) IsSyncDisabled ¶
func (*Dns) ResourceTypes ¶
type Identity ¶
type Identity struct {
Account, Arn, UserId, ResourceType, ResourcePath, Resource string
}
func (*Identity) IsUserType ¶
type Infra ¶
type Infra struct { ec2iface.EC2API elbv2iface.ELBV2API elbiface.ELBAPI rdsiface.RDSAPI autoscalingiface.AutoScalingAPI ecriface.ECRAPI ecsiface.ECSAPI applicationautoscalingiface.ApplicationAutoScalingAPI acmiface.ACMAPI // contains filtered or unexported fields }
func (*Infra) FetchByType ¶
func (*Infra) IsSyncDisabled ¶
func (*Infra) ResourceTypes ¶
type Lambda ¶
type Lambda struct { lambdaiface.LambdaAPI // contains filtered or unexported fields }
func (*Lambda) FetchByType ¶
func (*Lambda) IsSyncDisabled ¶
func (*Lambda) ResourceTypes ¶
type Messaging ¶
func (*Messaging) FetchByType ¶
func (*Messaging) IsSyncDisabled ¶
func (*Messaging) ResourceTypes ¶
type Monitoring ¶
type Monitoring struct { cloudwatchiface.CloudWatchAPI // contains filtered or unexported fields }
func (*Monitoring) FetchByType ¶
func (*Monitoring) IsSyncDisabled ¶
func (s *Monitoring) IsSyncDisabled() bool
func (*Monitoring) Name ¶
func (s *Monitoring) Name() string
func (*Monitoring) Profile ¶ added in v0.1.9
func (s *Monitoring) Profile() string
func (*Monitoring) Region ¶
func (s *Monitoring) Region() string
func (*Monitoring) ResourceTypes ¶
func (s *Monitoring) ResourceTypes() []string
type NetworkMonitor ¶
type NetworkMonitor struct {
// contains filtered or unexported fields
}
func (*NetworkMonitor) DisplayStats ¶
func (n *NetworkMonitor) DisplayStats(w io.Writer)
type Storage ¶
func (*Storage) FetchByType ¶
func (*Storage) IsSyncDisabled ¶
func (*Storage) ResourceTypes ¶
Click to show internal directories.
Click to hide internal directories.