Documentation
¶
Index ¶
- Constants
- func DetectCloudServiceProvider() string
- func GetDefaultRouteIPAddress() (ipaddr string, interfaceName string, err error)
- func GetHTTPResponse(client *http.Client, method string, url string, body io.Reader, ...) (string, error)
- func RemoveLastCharacter(s string) string
- func RoutedInterface(network string, flags net.Flags) *net.Interface
- type AWSFargateMetadata
- type AWSInstanceIdentity
- type AzureMetadataAll
- type CloudMetadata
- func GetAWSFargateMetadata(onlyValidate bool) (CloudMetadata, error)
- func GetAWSMetadata(onlyValidate bool) (CloudMetadata, error)
- func GetAzureMetadata(onlyValidate bool) (CloudMetadata, error)
- func GetDigitalOceanMetadata(onlyValidate bool) (CloudMetadata, error)
- func GetGenericMetadata(onlyValidate bool) (CloudMetadata, error)
- func GetGoogleCloudMetadata(onlyValidate bool) (CloudMetadata, error)
- func GetSoftlayerMetadata(onlyValidate bool) (CloudMetadata, error)
- type DigitalOceanMetadataAll
- type GoogleCloudMetadataAll
Constants ¶
View Source
const ( CloudProviderAWS = "aws" CloudProviderGCP = "gcp" CloudProviderAzure = "azure" )
Variables ¶
This section is empty.
Functions ¶
func DetectCloudServiceProvider ¶
func DetectCloudServiceProvider() string
func GetHTTPResponse ¶
func RemoveLastCharacter ¶
Types ¶
type AWSFargateMetadata ¶
type AWSFargateMetadata struct { Cluster string `json:"Cluster"` TaskARN string `json:"TaskARN"` Family string `json:"Family"` Revision string `json:"Revision"` DesiredStatus string `json:"DesiredStatus"` KnownStatus string `json:"KnownStatus"` Limits struct { CPU int `json:"CPU"` Memory int `json:"Memory"` } `json:"Limits"` PullStartedAt time.Time `json:"PullStartedAt"` PullStoppedAt time.Time `json:"PullStoppedAt"` AvailabilityZone string `json:"AvailabilityZone"` Containers []struct { DockerID string `json:"DockerId"` Name string `json:"Name"` DockerName string `json:"DockerName"` Image string `json:"Image"` ImageID string `json:"ImageID"` Labels struct { ComAmazonawsEcsCluster string `json:"com.amazonaws.ecs.cluster"` ComAmazonawsEcsContainerName string `json:"com.amazonaws.ecs.container-name"` ComAmazonawsEcsTaskArn string `json:"com.amazonaws.ecs.task-arn"` ComAmazonawsEcsTaskDefinitionFamily string `json:"com.amazonaws.ecs.task-definition-family"` ComAmazonawsEcsTaskDefinitionVersion string `json:"com.amazonaws.ecs.task-definition-version"` } `json:"Labels"` DesiredStatus string `json:"DesiredStatus"` KnownStatus string `json:"KnownStatus"` Limits struct { CPU int `json:"CPU"` } `json:"Limits"` CreatedAt time.Time `json:"CreatedAt"` StartedAt time.Time `json:"StartedAt"` Type string `json:"Type"` Networks []struct { NetworkMode string `json:"NetworkMode"` IPv4Addresses []string `json:"IPv4Addresses"` AttachmentIndex int `json:"AttachmentIndex"` MACAddress string `json:"MACAddress"` IPv4SubnetCIDRBlock string `json:"IPv4SubnetCIDRBlock"` DomainNameServers []string `json:"DomainNameServers"` DomainNameSearchList []string `json:"DomainNameSearchList"` PrivateDNSName string `json:"PrivateDNSName"` SubnetGatewayIpv4Address string `json:"SubnetGatewayIpv4Address"` } `json:"Networks"` ContainerARN string `json:"ContainerARN"` LogOptions struct { AwslogsGroup string `json:"awslogs-group"` AwslogsRegion string `json:"awslogs-region"` AwslogsStream string `json:"awslogs-stream"` } `json:"LogOptions"` LogDriver string `json:"LogDriver"` } `json:"Containers"` LaunchType string `json:"LaunchType"` ClockDrift struct { ClockErrorBound float64 `json:"ClockErrorBound"` ReferenceTimestamp time.Time `json:"ReferenceTimestamp"` ClockSynchronizationStatus string `json:"ClockSynchronizationStatus"` } `json:"ClockDrift"` }
type AWSInstanceIdentity ¶
type AWSInstanceIdentity struct { AccountID string `json:"accountId"` Architecture string `json:"architecture"` AvailabilityZone string `json:"availabilityZone"` BillingProducts interface{} `json:"billingProducts"` DevpayProductCodes interface{} `json:"devpayProductCodes"` MarketplaceProductCodes interface{} `json:"marketplaceProductCodes"` ImageID string `json:"imageId"` InstanceID string `json:"instanceId"` InstanceType string `json:"instanceType"` KernelID interface{} `json:"kernelId"` PendingTime time.Time `json:"pendingTime"` PrivateIP string `json:"privateIp"` RamdiskID interface{} `json:"ramdiskId"` Region string `json:"region"` Version string `json:"version"` }
type AzureMetadataAll ¶
type AzureMetadataAll struct { Compute struct { AzEnvironment string `json:"azEnvironment"` CustomData string `json:"customData"` IsHostCompatibilityLayerVM string `json:"isHostCompatibilityLayerVm"` Location string `json:"location"` Name string `json:"name"` Offer string `json:"offer"` OsType string `json:"osType"` PlacementGroupID string `json:"placementGroupId"` Plan struct { Name string `json:"name"` Product string `json:"product"` Publisher string `json:"publisher"` } `json:"plan"` PlatformFaultDomain string `json:"platformFaultDomain"` PlatformUpdateDomain string `json:"platformUpdateDomain"` Provider string `json:"provider"` PublicKeys []struct { KeyData string `json:"keyData"` Path string `json:"path"` } `json:"publicKeys"` Publisher string `json:"publisher"` ResourceGroupName string `json:"resourceGroupName"` ResourceID string `json:"resourceId"` SecurityProfile struct { SecureBootEnabled string `json:"secureBootEnabled"` VirtualTpmEnabled string `json:"virtualTpmEnabled"` } `json:"securityProfile"` Sku string `json:"sku"` StorageProfile struct { DataDisks []interface{} `json:"dataDisks"` ImageReference struct { ID string `json:"id"` Offer string `json:"offer"` Publisher string `json:"publisher"` Sku string `json:"sku"` Version string `json:"version"` } `json:"imageReference"` OsDisk struct { Caching string `json:"caching"` CreateOption string `json:"createOption"` DiffDiskSettings struct { Option string `json:"option"` } `json:"diffDiskSettings"` DiskSizeGB string `json:"diskSizeGB"` EncryptionSettings struct { Enabled string `json:"enabled"` } `json:"encryptionSettings"` Image struct { URI string `json:"uri"` } `json:"image"` ManagedDisk struct { ID string `json:"id"` StorageAccountType string `json:"storageAccountType"` } `json:"managedDisk"` Name string `json:"name"` OsType string `json:"osType"` Vhd struct { URI string `json:"uri"` } `json:"vhd"` WriteAcceleratorEnabled string `json:"writeAcceleratorEnabled"` } `json:"osDisk"` } `json:"storageProfile"` SubscriptionID string `json:"subscriptionId"` Tags string `json:"tags"` TagsList []interface{} `json:"tagsList"` Version string `json:"version"` VMID string `json:"vmId"` VMScaleSetName string `json:"vmScaleSetName"` VMSize string `json:"vmSize"` Zone string `json:"zone"` } `json:"compute"` Network struct { Interface []struct { Ipv4 struct { IPAddress []struct { PrivateIPAddress string `json:"privateIpAddress"` PublicIPAddress string `json:"publicIpAddress"` } `json:"ipAddress"` Subnet []struct { Address string `json:"address"` Prefix string `json:"prefix"` } `json:"subnet"` } `json:"ipv4"` Ipv6 struct { IPAddress []interface{} `json:"ipAddress"` } `json:"ipv6"` MacAddress string `json:"macAddress"` } `json:"interface"` } `json:"network"` }
type CloudMetadata ¶
type CloudMetadata struct { CloudProvider string `json:"cloud_provider"` TaskARN string `json:"task_arn,omitempty"` Family string `json:"family,omitempty"` InstanceID string `json:"instance_id,omitempty"` PublicIP []string `json:"public_ip"` PrivateIP []string `json:"private_ip"` NetworkMode string `json:"network_mode,omitempty"` InstanceType string `json:"instance_type,omitempty"` Hostname string `json:"hostname,omitempty"` KernelId string `json:"kernel_id,omitempty"` ID string `json:"id,omitempty"` Label string `json:"label,omitempty"` DataCenter string `json:"data_center,omitempty"` Domain string `json:"domain,omitempty"` Region string `json:"region,omitempty"` Zone string `json:"zone,omitempty"` Name string `json:"name,omitempty"` MachineType string `json:"machine_type,omitempty"` VmID string `json:"vm_id,omitempty"` VMSize string `json:"vm_size,omitempty"` OsType string `json:"os_type,omitempty"` SKU string `json:"sku,omitempty"` ResourceGroupName string `json:"resource_group_name,omitempty"` }
func GetAWSFargateMetadata ¶
func GetAWSFargateMetadata(onlyValidate bool) (CloudMetadata, error)
GetAWSFargateMetadata returns fargate meta data from the ecs instances
func GetAWSMetadata ¶
func GetAWSMetadata(onlyValidate bool) (CloudMetadata, error)
func GetAzureMetadata ¶
func GetAzureMetadata(onlyValidate bool) (CloudMetadata, error)
func GetDigitalOceanMetadata ¶
func GetDigitalOceanMetadata(onlyValidate bool) (CloudMetadata, error)
func GetGenericMetadata ¶
func GetGenericMetadata(onlyValidate bool) (CloudMetadata, error)
func GetGoogleCloudMetadata ¶
func GetGoogleCloudMetadata(onlyValidate bool) (CloudMetadata, error)
func GetSoftlayerMetadata ¶
func GetSoftlayerMetadata(onlyValidate bool) (CloudMetadata, error)
type DigitalOceanMetadataAll ¶
type DigitalOceanMetadataAll struct { DropletID int `json:"droplet_id"` Hostname string `json:"hostname"` VendorData string `json:"vendor_data"` PublicKeys []string `json:"public_keys"` AuthKey string `json:"auth_key"` Region string `json:"region"` Interfaces struct { Private []struct { Ipv4 struct { IPAddress string `json:"ip_address"` Netmask string `json:"netmask"` Gateway string `json:"gateway"` } `json:"ipv4"` Mac string `json:"mac"` Type string `json:"type"` } `json:"private"` Public []struct { Ipv4 struct { IPAddress string `json:"ip_address"` Netmask string `json:"netmask"` Gateway string `json:"gateway"` } `json:"ipv4"` AnchorIpv4 struct { IPAddress string `json:"ip_address"` Netmask string `json:"netmask"` Gateway string `json:"gateway"` } `json:"anchor_ipv4"` Mac string `json:"mac"` Type string `json:"type"` } `json:"public"` } `json:"interfaces"` FloatingIP struct { Ipv4 struct { Active bool `json:"active"` } `json:"ipv4"` } `json:"floating_ip"` DNS struct { Nameservers []string `json:"nameservers"` } `json:"dns"` Tags []string `json:"tags"` Features struct { DhcpEnabled bool `json:"dhcp_enabled"` } `json:"features"` ModifyIndex int `json:"modify_index"` }
type GoogleCloudMetadataAll ¶
type GoogleCloudMetadataAll struct { Attributes struct { } `json:"attributes"` CPUPlatform string `json:"cpuPlatform"` Description string `json:"description"` Disks []struct { DeviceName string `json:"deviceName"` Index int `json:"index"` Interface string `json:"interface"` Mode string `json:"mode"` Type string `json:"type"` } `json:"disks"` GuestAttributes struct { } `json:"guestAttributes"` Hostname string `json:"hostname"` ID int64 `json:"id"` Image string `json:"image"` LegacyEndpointAccess struct { Zero1 int `json:"0.1"` V1Beta1 int `json:"v1beta1"` } `json:"legacyEndpointAccess"` Licenses []struct { ID string `json:"id"` } `json:"licenses"` MachineType string `json:"machineType"` MaintenanceEvent string `json:"maintenanceEvent"` Name string `json:"name"` NetworkInterfaces []struct { AccessConfigs []struct { ExternalIP string `json:"externalIp"` Type string `json:"type"` } `json:"accessConfigs"` DNSServers []string `json:"dnsServers"` ForwardedIps []interface{} `json:"forwardedIps"` Gateway string `json:"gateway"` IP string `json:"ip"` IPAliases []interface{} `json:"ipAliases"` Mac string `json:"mac"` Mtu int `json:"mtu"` Network string `json:"network"` Subnetmask string `json:"subnetmask"` TargetInstanceIps []interface{} `json:"targetInstanceIps"` } `json:"networkInterfaces"` Preempted string `json:"preempted"` RemainingCPUTime int `json:"remainingCpuTime"` Scheduling struct { AutomaticRestart string `json:"automaticRestart"` OnHostMaintenance string `json:"onHostMaintenance"` Preemptible string `json:"preemptible"` } `json:"scheduling"` ServiceAccounts struct { Default struct { Aliases []string `json:"aliases"` Email string `json:"email"` Scopes []string `json:"scopes"` } `json:"default"` } `json:"serviceAccounts"` Tags []interface{} `json:"tags"` VirtualClock struct { DriftToken string `json:"driftToken"` } `json:"virtualClock"` Zone string `json:"zone"` }
Click to show internal directories.
Click to hide internal directories.