class OVH::Provisioner::CliDomain
Command line for domain (actually domain/zone)
Constants
- SUBDOMAIN
options
- TARGET
- TTL
- TYPE
Public Class Methods
exit_on_failure?()
click to toggle source
Exit 1 on failure
# File lib/ovh/provisioner/cli_domain.rb, line 29 def self.exit_on_failure? true end
Public Instance Methods
add(domain)
click to toggle source
# File lib/ovh/provisioner/cli_domain.rb, line 77 def add(domain) spawner = Provisioner.init(options) zones = spawner.get('DomainZone', domain).list return unless check_zone_input(domain, zones, false) zone = zones.first add_record(zone, options) end
add_record(zone, options)
click to toggle source
# File lib/ovh/provisioner/cli_domain.rb, line 112 def add_record(zone, options) sub = options['subdomain'] type = options['type'].upcase target = options['target'] ttl = options['ttl'] Cli.ask_validation( "You are going to add a record to #{zone.id}:", " #{APIObject::Record.print(zone, sub, ttl, type, target)}" ) puts zone.add_record(sub, type, target, ttl) end
check_zone_input(search, zones, allow_many = true)
click to toggle source
# File lib/ovh/provisioner/cli_domain.rb, line 99 def check_zone_input(search, zones, allow_many = true) ok = true if zones.empty? puts "No registered services of your account match #{search}" ok = false end if !allow_many && zones.size > 1 puts "Need one zone, got many: #{zones.map(&:id)}" ok = false end ok end
list(*targets)
click to toggle source
# File lib/ovh/provisioner/cli_domain.rb, line 63 def list(*targets) spawner = Provisioner.init(options) puts spawner.get('DomainZone', *Cli.all(targets)).format end
rm(domain)
click to toggle source
# File lib/ovh/provisioner/cli_domain.rb, line 88 def rm(domain) spawner = Provisioner.init(options) zones = spawner.get('DomainZone', domain).list return unless check_zone_input(domain, zones, false) zone = zones.first matches = zone.filter_records(Provisioner.config) rm_records(zone, matches) end
rm_records(zone, matches)
click to toggle source
# File lib/ovh/provisioner/cli_domain.rb, line 124 def rm_records(zone, matches) if matches.list.empty? puts 'Nothing to do…' else Cli.ask_validation( "You are going to remove theses zones from #{zone.id}:", zone.details(matches).lines[1..-1].join('') ) puts zone.rm_records(matches) end end
show(domain)
click to toggle source
# File lib/ovh/provisioner/cli_domain.rb, line 69 def show(domain) spawner = Provisioner.init(options) zones = spawner.get('DomainZone', domain).list zones.each { |z| puts z.details } if check_zone_input(domain, zones) end