class Azure::Armrest::Insights::DiagnosticService
Base class for managing diagnostics
Public Class Methods
Azure::Armrest::ArmrestService::new
# File lib/azure/armrest/insights/diagnostic_service.rb, line 6 def initialize(armrest_configuration, options = {}) super(armrest_configuration, 'diagnosticSettings', 'Microsoft.Insights', options) end
Public Instance Methods
Create or update a diagnostic setting for the given resource_id
.
Example:
# Update network security group log settings ids = Azure::Armrest::Insights::DiagnosticService.new(config)
sas = Azure::Armrest::StorageAccountService.new(config)
nsg = Azure::Armrest::Network::NetworkSecurityGroupService.new(config)
acct = sas.get(your_storage, your_resource_group) sgrp = nsg.get(your_network_security_group, your_resource_group)
options = {
:properties => { :storageAccountId => acct.id, :logs => [ { :category => "NetworkSecurityGroupEvent", :enabled => true, :retentionPolicy => { :enabled => true, :days => 3 } }, { :category => "NetworkSecurityGroupRuleCounter", :enabled => true, :retentionPolicy => { :enabled => true, :days => 3 } } ] }
}
ids.set(sgrp.id, options)
# File lib/azure/armrest/insights/diagnostic_service.rb, line 65 def create(resource_id, options = {}) url = build_url(resource_id) body = options.merge(:id => resource_id).to_json response = rest_put(url, body) headers = Azure::Armrest::ResponseHeaders.new(response.headers) headers.response_code = response.code headers end
Get diagnostic information for the given resource_id
. Note that this information is only available for a limited subset of resources.
Example:
ids = Azure::Armrest::Insights::DiagnosticService.new(config)
nsg = Azure::Armrest::Network::NetworkSecurityGroupService.new(config)
sgrp = nsg.get(your_security_group, your_resource_group) p ids.get(sgrp.id)
# File lib/azure/armrest/insights/diagnostic_service.rb, line 21 def get(resource_id) url = build_url(resource_id) response = rest_get(url) Diagnostic.new(JSON.parse(response)) end
Private Instance Methods
# File lib/azure/armrest/insights/diagnostic_service.rb, line 81 def build_url(resource_id) url = File.join( configuration.environment.resource_url, resource_id, 'providers', provider, 'diagnosticSettings', 'service' ) url + "?api-version=#{api_version}" end