class ChiliLogger::AwsOpsMetadata
class for writing log cloud metadata when AWS
is the cloud provider
Public Class Methods
aws_metadata(metadata)
click to toggle source
rubocop:enable Metrics/MethodLength rubocop:enable Metrics/AbcSize
# File lib/message_writer/aws_ops_metadata.rb, line 44 def self.aws_metadata(metadata) # how it works: https://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html base_url = 'http://169.254.169.254/latest/meta-data/' HTTParty.get(base_url + metadata).body end
write()
click to toggle source
rubocop:disable Metrics/MethodLength rubocop:disable Metrics/AbcSize
# File lib/message_writer/aws_ops_metadata.rb, line 11 def self.write { provider: 'AWS', instance: { ami_id: aws_metadata('ami-id'), ami_launch_index: aws_metadata('ami-launch-index'), ami_manifest_path: aws_metadata('ami-manifest-path'), block_device_mapping: aws_metadata('block-device-mapping/'), events: aws_metadata('events/'), hostname: aws_metadata('hostname'), # iam: aws_metadata('iam/'), instance_action: aws_metadata('instance-action'), instance_id: aws_metadata('instance-id'), instance_type: aws_metadata('instance-type'), local_hostname: aws_metadata('local-hostname'), local_ipv4: aws_metadata('local-ipv4'), mac: aws_metadata('mac'), metrics: aws_metadata('metrics/'), network: aws_metadata('network/'), placement: aws_metadata('placement/'), profile: aws_metadata('profile'), public_hostname: aws_metadata('public-hostname'), public_ipv4: aws_metadata('public-ipv4'), # public_keys: aws_metadata('public-keys/'), reservation_id: aws_metadata('reservation-id'), security_groups: aws_metadata('security-groups'), services: aws_metadata('services/') } } end