Documentation
¶
Index ¶
- func ExtractAwsmTable(index int, in interface{}, header *[]string, rows *[][]string)
- func ExtractAwsmTableLinks(index int, in interface{}, header *[]string, rows *[][]string, ...)
- type ARN
- type AZ
- type Address
- type Alarm
- type AliasTarget
- type AutoScaleGroup
- type Bucket
- type CommandInvocation
- type CommandPlugin
- type Entity
- type Event
- type FeedItem
- type HostedZone
- type IAMInstanceProfile
- type IAMPolicy
- type IAMPolicyDocument
- type IAMRole
- type IAMUser
- type Image
- type Instance
- type InternetGateway
- type KeyPair
- type LaunchConfig
- type LoadBalancer
- type LoadBalancerV2
- type ResourceRecord
- type ResourceRecordChange
- type RouteTable
- type RouteTableAssociation
- type SSMInstance
- type ScalingActivity
- type ScalingPolicy
- type SecurityGroup
- type SimpleDBDomain
- type Snapshot
- type Subnet
- type Volume
- type Vpc
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExtractAwsmTable ¶
ExtractAwsmTable Extracts the keys and values of a struct for use in building tables of assets
Types ¶
type ARN ¶
type ARN struct { Arn string `json:"arn"` Partition string `json:"partition"` Service string `json:"service"` Region string `json:"region"` AccountID string `json:"accountID"` PolicyID string `json:"policyID"` GroupID string `json:"groupID"` AutoScalingGroupName string `json:"autoScalingGroupName"` PolicyName string `json:"policyName"` ProfileName string `json:"profileName"` ResourceType string `json:"resourceType"` Resource string `json:"resource"` }
ARN represents an Amazon Resource Number
type AZ ¶
type AZ struct { Name string `json:"name"` Region string `json:"region"` State string `json:"state"` }
AZ represents an Availability Zone
type Address ¶
type Address struct { AllocationID string `json:"allocationID" awsmTable:"Allocation ID"` PublicIP string `json:"publicIP" awsmTable:"Public IP"` PrivateIP string `json:"privateIP" awsmTable:"Private IP"` Domain string `json:"domain" awsmTable:"Domain"` InstanceID string `json:"instanceID" awsmTable:"Instance ID"` Status string `json:"status" awsmTable:"Status"` Attachment string `json:"attachment" awsmTable:"Attachment"` NetworkInterfaceID string `json:"networkInterfaceID" awsmTable:"Network Interface ID"` NetworkInterfaceOwnerID string `json:"networkOwnerID"` Region string `json:"region" awsmTable:"Region"` }
Address represents an Elastic IP Address
type Alarm ¶
type Alarm struct { Name string `json:"name" awsmTable:"Name"` Arn string `json:"arn"` Description string `json:"description" awsmTable:"Description"` State string `json:"state" awsmTable:"State"` Trigger string `json:"trigger" awsmTable:"Trigger"` Period string `json:"period" awsmTable:"Period"` EvalPeriods string `json:"evalPeriods" awsmTable:"Evaluation Periods"` ActionArns []string `json:"actionArns"` ActionNames string `json:"actionNames" awsmTable:"Actions"` Dimensions string `json:"dimensions" awsmTable:"Dimensions"` Namespace string `json:"namespace" awsmTable:"Namespace"` Region string `json:"region" awsmTable:"Region"` }
Alarm represents a CloudWatch Alarm
type AliasTarget ¶
type AutoScaleGroup ¶
type AutoScaleGroup struct { Name string `json:"name" awsmTable:"Name"` Class string `json:"class" awsmTable:"Class"` HealthCheckType string `json:"healthCheckType" awsmTable:"Health Check Type"` HealthCheckGracePeriod int `json:"healthCheckGracePeriod" awsmTable:"Health Check Grace Period"` LaunchConfig string `json:"launchConfig" awsmTable:"Launch Configuration"` InstanceCount int `json:"instanceCount" awsmTable:"Instance Count"` DesiredCapacity int `json:"desiredCapacity" awsmTable:"Desired Capacity"` MinSize int `json:"minSize" awsmTable:"Min Size"` MaxSize int `json:"maxSize" awsmTable:"Max Size"` DefaultCooldown int `json:"defaultCooldown" awsmTable:"Cooldown"` VpcName string `json:"vpcName" awsmTable:"VPC Name"` VpcID string `json:"vpcID"` SubnetName string `json:"subnetName" awsmTable:"Subnet Name"` SubnetID string `json:"subnetID"` Region string `json:"region" awsmTable:"Region"` LoadBalancers []string `json:"loadBalancers" awsmTable:"Load Balancers"` AvailabilityZones []string `json:"availabilityZones" awsmTable:"Availability Zones"` }
AutoScaleGroup represents and AutoScale Group
type Bucket ¶
type Bucket struct { Name string `json:"name" awsmTable:"Name"` CreationDate time.Time `json:"createDate" awsmTable:"Created"` }
Bucket represents an S3 Bucket
type CommandInvocation ¶
type CommandInvocation struct { CommandID string `json:"commandID" awsmTable:"Command ID"` Status string `json:"status" awsmTable:"Status"` StatusDetails string `json:"statusDetails" awsmTable:"Status Details"` InstanceName string `json:"instanceName" awsmTable:"Instance Name"` InstanceID string `json:"instanceID" awsmTable:"Instance ID"` DocumentName string `json:"documentName" awsmTable:"Document Name"` Comment string `json:"comment"` RequestedDateTime time.Time `json:"requestedDateTime" awsmTable:"Requested"` ServiceRole string `json:"serviceRole" awsmTable:"Service Role"` Region string `json:"region" awsmTable:"Region"` CommandPlugins []CommandPlugin `json:"commandPlugins"` }
CommandInvocation represents a SSM Command Invocation
type CommandPlugin ¶
type CommandPlugin struct { Name string `json:"name" awsmTable:"Name"` Output string `json:"output" awsmTable:"Output"` ResponseCode int `json:"responseCode" awsmTable:"Response Code"` ResponseStartDateTime time.Time `json:"responseStartDateTime" awsmTable:"Response Start"` ResponseFinishDateTime time.Time `json:"responseFinishDateTime" awsmTable:"Response Finish"` }
CommandPlugin represents a SSM Command Plugin
type Entity ¶
type Entity struct { InstanceName string `json:"name" awsmTable:"Name"` InstanceClass string `json:"class" awsmTable:"Class"` InstanceID string `json:"instanceId"` IpAddress string `json:"IP Address" awsmTable:"IP Address"` EntityID string `json:"entityID" awsmTable:"Entity ID"` ComputerName string `json:"computerName" awsmTable:"Computer Name"` CaptureTime time.Time `json:"captureTime" awsmTable:"Capture Time"` PlatformName string `json:"platformName" awsmTable:"Platform Name"` PlatformType string `json:"platformType" awsmTable:"Platform Type"` PlatformVersion string `json:"platformVersion" awsmTable:"Platform Version"` ResourceType string `json:"resourceType" awsmTable:"Resource Type"` AgentType string `json:"agentType" awsmTable:"Agent Type"` AgentVersion string `json:"agentVersion" awsmTable:"Agent Version"` ContentHash string `json:"contentHash"` TypeName string `json:"typeName"` SchemaVersion string `json:"schemaVersion"` Region string `json:"region"` }
type HostedZone ¶
type HostedZone struct { Name string `json:"name" awsmTable:"Name"` PrivateZone bool `json:"private" awsmTable:"Private"` ResourceRecordSetCount int `json:"resourceRecordSetCount" awsmTable:"Record Count"` Id string `json:"id" awsmTable:"Id"` Comment string `json:"comment"` }
HostedZone represents a Route53 HostedZone
type IAMInstanceProfile ¶
type IAMInstanceProfile struct { ProfileName string `json:"profileName" awsmTable:"Profile Name"` ProfileID string `json:"profileID" awsmTable:"Profile ID"` CreateDate time.Time `json:"createDate" awsmTable:"Created"` Arn string `json:"arn" awsmTable:"ARN"` }
IAMInstanceProfile represents an Identity and Access Management (IAM) Profile
type IAMPolicy ¶
type IAMPolicy struct { PolicyName string `json:"policyName" awsmTable:"Policy Name"` PolicyID string `json:"policyID" awsmTable:"Policy ID"` Description string `json:"description" awsmTable:"Description"` IsAttachable bool `json:"isAttachable" awsmTable:"Attachable"` AttachmentCount int `json:"attachmentCount" awsmTable:"Attachment Count"` CreateDate time.Time `json:"createDate" awsmTable:"Created"` DefaultVersionId string `json:"defaultVersionId" awsmTable:"Version"` Arn string `json:"arn"` }
IAMPolicy represents an Identity and Access Management (IAM) Policy
type IAMPolicyDocument ¶
type IAMPolicyDocument struct { Document string `json:"document" awsmTable:"Document"` CreateDate time.Time `json:"createDate" awsmTable:"Created"` VersionId string `json:"versionId" awsmTable:"Version ID"` IsDefaultVersion bool `json:"isDefaultVersion" awsmTable:"Default Version"` }
IAMPolicyDocument represents an Identity and Access Management (IAM) Policy Document
type IAMRole ¶
type IAMRole struct { RoleName string `json:"roleName" awsmTable:"Role Name"` RoleID string `json:"roleID" awsmTable:"Role ID"` CreateDate time.Time `json:"createDate" awsmTable:"Created"` AssumeRolePolicyDocument string `json:"assumeRolePolicyDocument"` Arn string `json:"arn" awsmTable:"ARN"` }
IAMRole represents an Identity and Access Management (IAM) Role
type IAMUser ¶
type IAMUser struct { UserName string `json:"userName" awsmTable:"User Name"` UserID string `json:"userID" awsmTable:"User ID"` CreateDate time.Time `json:"createDate" awsmTable:"Created"` Arn string `json:"arn" awsmTable:"ARN"` PasswordLastUsed time.Time `json:"passwordLastUsed" awsmTable:"Last Used"` }
IAMUser represents an Identity and Access Management (IAM) User
type Image ¶
type Image struct { Name string `json:"name" awsmTable:"Name"` Class string `json:"class" awsmTable:"Class"` CreationDate time.Time `json:"creationDate" awsmTable:"Created"` ImageID string `json:"imageID" awsmTable:"Image ID"` State string `json:"state" awsmTable:"State"` Root string `json:"root" awsmTable:"Root"` SnapshotID string `json:"snapshotID" awsmTable:"Snapshot ID"` VolumeSize string `json:"volumeSize" awsmTable:"Volume Size"` Region string `json:"region" awsmTable:"Region"` AmiName string `json:"-"` }
Image represents an Elastic Block Storage (EBS) Volume
type Instance ¶
type Instance struct { Name string `json:"name" awsmTable:"Name"` Class string `json:"class" awsmTable:"Class"` PrivateIP string `json:"privateIP" awsmTable:"Private IP"` PublicIP string `json:"publicIP" awsmTable:"Public IP"` InstanceID string `json:"instanceID" awsmTable:"Instance ID"` AMIID string `json:"amiID"` AMIName string `json:"amiName" awsmTable:"AMI"` Root string `json:"root" awsmTable:"Root"` Size string `json:"size" awsmTable:"Size"` Virtualization string `json:"virtualization"` State string `json:"state" awsmTable:"State"` KeyPair string `json:"keyPair" awsmTable:"KeyPair"` AvailabilityZone string `json:"availabilityZone" awsmTable:"Availability Zone"` VPC string `json:"vpc" awsmTable:"VPC"` VPCID string `json:"vpcID"` Subnet string `json:"subnet" awsmTable:"Subnet"` SubnetID string `json:"subnetID"` IAMUser string `json:"iamUser"` IamInstanceProfileArn string `json:"iamInstanceProfileArn"` IamInstanceProfileName string `json:"iamInstanceProfileName" awsmTable:"IAM Instance Profile"` ShutdownBehavior string `json:"shutdownBehavior"` EbsOptimized bool `json:"ebsOptimized"` Monitoring bool `json:"monitoring"` Region string `json:"region"` }
Instance represents an Elastic Computer Cloud (EC2) Instance
type InternetGateway ¶
type InternetGateway struct { Name string `json:"name" awsmTable:"Name"` State string `json:"state" awsmTable:"State"` Attachment string `json:"attachment" awsmTable:"Attachment"` InternetGatewayID string `json:"InternetGatewayID" awsmTable:"Internet Gateway ID"` Region string `json:"region" awsmTable:"Region"` }
InternetGateway represents an Internet Gateway
type KeyPair ¶
type KeyPair struct { KeyName string `json:"keyName" awsmTable:"Key Name"` KeyFingerprint string `json:"keyFingerprint" awsmTable:"Key Fingerprint"` Region string `json:"region" awsmTable:"Region"` }
KeyPair represents an SSH KeyPair
type LaunchConfig ¶
type LaunchConfig struct { Name string `json:"name" awsmTable:"Name"` ImageName string `json:"imageName" awsmTable:"Image Name"` ImageID string `json:"imageID" awsmTable:"Image ID"` InstanceType string `json:"instanceType" awsmTable:"Instance Type"` KeyName string `json:"keyName" awsmTable:"Key Name"` SecurityGroups string `json:"securityGroups" awsmTable:"Security Groups"` CreationTime time.Time `json:"creationTime" awsmTable:"Created"` Region string `json:"region" awsmTable:"Region"` EbsOptimized bool `json:"ebsOptimized" awsmTable:"EBS Optimized"` SnapshotIDs []string `json:"snapshotID" awsmTable:"Snapshot IDs"` }
LaunchConfig represents an AutoScaling Launch Configuration
type LoadBalancer ¶
type LoadBalancer struct { Name string `json:"name" awsmTable:"Name"` Class string `json:"class" awsmTable:"Class"` Region string `json:"region" awsmTable:"Region"` AvailabilityZones []string `json:"availabilityZone" awsmTable:"Availability Zones"` CreatedTime time.Time `json:"createdTime" awsmTable:"Created"` SecurityGroups []string `json:"securityGroups" awsmTable:"Security Groups"` Scheme string `json:"scheme" awsmTable:"Scheme"` Vpc string `json:"vpc" awsmTable:"VPC"` VpcID string `json:"vpcID"` Subnets []string `json:"subnets" awsmTable:"Subnets"` SubnetClasses []string `json:"subnetsClasses"` SubnetIDs []string `json:"subnetIDs"` DNSName string `json:"dnsName"` LoadBalancerListeners []config.LoadBalancerListener `json:"loadBalancerListeners"` LoadBalancerHealthCheck config.LoadBalancerHealthCheck `json:"loadBalancerHealthCheck"` LoadBalancerAttributes config.LoadBalancerAttributes `json:"loadBalancerAttributes"` }
LoadBalancer represents an EC2 Load Balancer
type LoadBalancerV2 ¶
type LoadBalancerV2 struct { Name string `json:"name"` DNSName string `json:"dnsName"` Type string `json:"type"` State string `json:"state"` Region string `json:"region"` AvailabilityZones string `json:"availabilityZone"` CreatedTime time.Time `json:"createdTime"` SecurityGroups string `json:"securityGroups"` Scheme string `json:"scheme"` CanonicalHostedZoneID string `json:"canonicalHostedZoneID"` LoadBalancerArn string `json:"loadBalancerArn"` VpcID string `json:"vpcID"` }
LoadBalancerV2 represents an Application Load Balancer
type ResourceRecord ¶
type ResourceRecord struct { Name string `json:"name" awsmTable:"Name"` Type string `json:"type" awsmTable:"Type"` TTL int `json:"ttl" awsmTable:"TTL"` HealthCheckId string `json:"region"` Values []string `json:"values"` TableValues []string `json:"tableValues" awsmTable:"Values"` AliasTarget AliasTarget `json:"aliasTarget"` Region string `json:"region" awsmTable:"Region"` Failover string `json:"region" awsmTable:"Failover"` HostedZoneId string `json:"hostedZoneId" awsmTable:"Hosted Zone Id"` }
ResourceRecord represents a Route53 Resource Record
type ResourceRecordChange ¶
type ResourceRecordChange struct { Action string `json:"action" awsmTable:"Action"` Name string `json:"name" awsmTable:"Name"` Values []string `json:"values" awsmTable:"Values"` Type string `json:"type" awsmTable:"Type"` TTL int `json:"ttl" awsmTable:"TTL"` }
ResourceRecordChange represents a Route53 Resource Record Change
type RouteTable ¶
type RouteTable struct { Name string `json:"name" awsmTable:"Name"` RouteTableID string `json:"routeTableID" awsmTable:"Route Table ID"` Associations []RouteTableAssociation `json:"associations" awsmTable:"Associations"` VpcID string `json:"vpcID" awsmTable:"VPC ID"` Region string `json:"region" awsmTable:"Region"` }
RouteTable represents a Route Table
type RouteTableAssociation ¶
type RouteTableAssociation struct { Main bool `json:"main" awsmTable:"Main"` AssociationID string `json:"associationID" awsmTable:"Association ID"` SubnetID string `json:"subnetID" awsmTable:"Subnet ID"` }
RouteTableAssociation represents a single Route Table Association
type SSMInstance ¶
type SSMInstance struct { Name string `json:"Name" awsmTable:"Name"` Class string `json:"Class" awsmTable:"Class"` ComputerName string `json:"computerName" awsmTable:"Computer Name"` InstanceID string `json:"instanceId" awsmTable:"Instance ID"` IPAddress string `json:"ipAddress" awsmTable:"IP Address"` LastPingDateTime time.Time `json:"lastPingDateTime" awsmTable:"Last Ping"` PingStatus string `json:"pingStatus" awsmTable:"Ping Status"` PlatformName string `json:"platformName" awsmTable:"Platform Name"` PlatformType string `json:"platformType" awsmTable:"Platform Type"` PlatformVersion string `json:"platformVersion" awsmTable:"Platform Version"` AgentVersion string `json:"agentVersion" awsmTable:"Agent Version"` IsLatestVersion bool `json:"isLatestVersion" awsmTable:"Latest Version"` ResourceType string `json:"resourceType" awsmTable:"Resource Type"` Region string `json:"region" awsmTable:"Region"` }
type ScalingActivity ¶
type ScalingActivity struct { ActivityId string `json:"activityId"` AutoScalingGroupName string `json:"autoScalingGroupName" awsmTable:"AutoScale Group Name"` StatusCode string `json:"statusCode" awsmTable:"StatusCode"` StartTime time.Time `json:"startTime" awsmTable:"StartTime"` EndTime time.Time `json:"endTime" awsmTable:"End Time"` Progress int `json:"progress" awsmTable:"Progress"` Cause string `json:"cause" awsmTable:"Cause"` Description string `json:"description" awsmTable:"Description"` Details string `json:"details"` Region string `json:"region" awsmTable:"Region"` }
type ScalingPolicy ¶
type ScalingPolicy struct { Name string `json:"name" awsmTable:"Name"` Arn string `json:"arn"` AdjustmentType string `json:"adjustmentType" awsmTable:"Adjustment Type"` Adjustment int `json:"adjustment"` AdjustmentStr string `json:"adjustmentStr" awsmTable:"Adjustment"` Cooldown string `json:"cooldown" awsmTable:"Cooldown"` AutoScaleGroupName string `json:"autoScaleGroupName" awsmTable:"Autoscale Group Name"` AlarmArns []string `json:"alarmArns" awsmTable:"Alarm ARNs"` AlarmNames string `json:"alarmNames" awsmTable:"Alarm Names"` Region string `json:"region" awsmTable:"Region"` }
ScalingPolicy represents an AutoScaling Group Scaling Policy
type SecurityGroup ¶
type SecurityGroup struct { Name string `json:"name" awsmTable:"Name"` Class string `json:"class" awsmTable:"Class"` GroupID string `json:"groupID" awsmTable:"Group ID"` Description string `json:"description" awsmTable:"Description"` Vpc string `json:"vpc" awsmTable:"VPC"` VpcID string `json:"vpcID" awsmTable:"VPC ID"` Region string `json:"region" awsmTable:"Region"` SecurityGroupGrants []config.SecurityGroupGrant `json:"securityGroupGrants"` }
SecurityGroup represents a Security Group
type SimpleDBDomain ¶
type SimpleDBDomain struct { Name string `json:"name" awsmTable:"Name"` Region string `json:"region" awsmTable:"Region"` }
SimpleDBDomain represents a SimpleDB Domain
type Snapshot ¶
type Snapshot struct { Name string `json:"name" awsmTable:"Name"` Class string `json:"class" awsmTable:"Class"` Description string `json:"description"` SnapshotID string `json:"snapshotID" awsmTable:"Snapshot ID"` VolumeID string `json:"volumeID" awsmTable:"Volume ID"` State string `json:"state" awsmTable:"State"` StartTime time.Time `json:"startTime" awsmTable:"Created"` Progress string `json:"progress" awsmTable:"Progress"` VolumeSize string `json:"volumeSize" awsmTable:"Volume Size"` Region string `json:"region" awsmTable:"Region"` }
Snapshot represents a EBS Snapshot
type Subnet ¶
type Subnet struct { Name string `json:"name" awsmTable:"Name"` Class string `json:"class" awsmTable:"Class"` SubnetID string `json:"subnetID" awsmTable:"Subnet ID"` VpcName string `json:"vpcName" awsmTable:"VPC Name"` VpcID string `json:"vpcID" awsmTable:"VPC ID"` State string `json:"state" awsmTable:"State"` AvailabilityZone string `json:"availabilityZone" awsmTable:"Availability Zone"` Default bool `json:"default" awsmTable:"Default"` CIDRBlock string `json:"cidrBlock" awsmTable:"CIDR Block"` AvailableIPs int `json:"availableIPs" awsmTable:"Available IPs"` MapPublicIP bool `json:"mapPublicIP" awsmTable:"Map Public IP"` Region string `json:"region" awsmTable:"Region"` }
Subnet represents a VPC Subnet
type Volume ¶
type Volume struct { Name string `json:"name" awsmTable:"Name"` Class string `json:"class" awsmTable:"Class"` VolumeID string `json:"volumeID" awsmTable:"Volume ID"` Size int `json:"size"` SizeHuman string `json:"sizeHuman" awsmTable:"Size"` State string `json:"state" awsmTable:"State"` Encrypted bool `json:"encrypted" awsmTable:"Encrypted"` Iops string `json:"iops" awsmTable:"IOPS"` InstanceID string `json:"instanceID" awsmTable:"Instance ID"` Attachment string `json:"attachment" awsmTable:"Attachment"` CreationTime time.Time `json:"creationTime" awsmTable:"Created"` VolumeType string `json:"volumeType" awsmTable:"Volume Type"` SnapshoID string `json:"snapshotID"` DeleteOnTerm bool `json:"deleteOnTerm" awsmTable:"Delete On Term."` AvailabilityZone string `json:"availabilityZone" awsmTable:"Availability Zone"` Device string `json:"device"` Region string `json:"region" awsmTable:"Region"` }
Volume represents an EBS Volume
type Vpc ¶
type Vpc struct { Name string `json:"name" awsmTable:"Name"` Class string `json:"class" awsmTable:"Class"` VpcID string `json:"vpcID" awsmTable:"VPC ID"` State string `json:"state" awsmTable:"State"` Default bool `json:"default"` CIDRBlock string `json:"cidrBlock" awsmTable:"CIDR Block"` DHCPOptID string `json:"dhcpOptID" awsmTable:"DHCP Opt ID"` Tenancy string `json:"tenancy" awsmTable:"Tenancy"` Region string `json:"region" awsmTable:"Region"` }
Vpc represents a Virtual Private Cloud