Skip to content

Commit

Permalink
add cloudfront monitoring task
Browse files Browse the repository at this point in the history
  • Loading branch information
rlister committed Apr 14, 2022
1 parent 9ddd8b7 commit 5281865
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions lib/stax/mixin/cloudfront.rb
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,32 @@ def invalidations
}
end
end

## https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/viewing-cloudfront-metrics.html#monitoring-console.distributions-additional
## this is not supported by cfn, see:
## https://github.com/aws-cloudformation/cloudformation-coverage-roadmap/issues/545
desc 'monitoring', 'control monitoring subscriptions'
method_option :enable, aliases: '-e', type: :boolean, description: 'enable additional metrics'
method_option :disable, aliases: '-d', type: :boolean, description: 'disable additional metrics'
def monitoring
client = Aws::Cloudfront.client
stack_cloudfront_ids.each do |id|
debug("Cloudfront monitoring for distribution #{id}")
if options[:enable]
sub = { realtime_metrics_subscription_config: { realtime_metrics_subscription_status: :Enabled } }
resp = client.create_monitoring_subscription(distribution_id: id, monitoring_subscription: sub)
puts resp.monitoring_subscription.realtime_metrics_subscription_config&.realtime_metrics_subscription_status
elsif options[:disable]
puts 'deleting subscription'
client.delete_monitoring_subscription(distribution_id: id)
else
cfg = client.get_monitoring_subscription(distribution_id: id)&.monitoring_subscription&.realtime_metrics_subscription_config
puts "current status: #{cfg&.realtime_metrics_subscription_status}"
end
end
end

end

end
end

0 comments on commit 5281865

Please sign in to comment.