class AnsibleTowerClient::Api
Constants
- DEFAULT_ERROR_MSG
Attributes
instance[R]
Public Class Methods
new(connection)
click to toggle source
# File lib/ansible_tower_client/api.rb, line 10 def initialize(connection) @instance = connection end
Public Instance Methods
activity_stream()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 29 def activity_stream Collection.new(self, activity_stream_class) end
activity_stream_class()
click to toggle source
Object class accessors patched for the appropriate version of the API
# File lib/ansible_tower_client/api.rb, line 147 def activity_stream_class @activity_stream_class ||= AnsibleTowerClient::ActivityStream end
ad_hoc_command_class()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 151 def ad_hoc_command_class @ad_hoc_command_class ||= AnsibleTowerClient::AdHocCommand end
ad_hoc_commands()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 33 def ad_hoc_commands Collection.new(self, ad_hoc_command_class) end
config()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 14 def config JSON.parse(get("config/").body) end
credential_class()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 155 def credential_class @credential_class ||= AnsibleTowerClient::Credential end
credential_type_class()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 159 def credential_type_class @credential_type_class ||= AnsibleTowerClient::CredentialType end
credential_types()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 41 def credential_types Collection.new(self, credential_type_class) end
credentials()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 37 def credentials Collection.new(self, credential_class) end
group_class()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 163 def group_class @group_class ||= AnsibleTowerClient::Group end
groups()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 45 def groups Collection.new(self, group_class) end
host_class()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 167 def host_class @host_class ||= AnsibleTowerClient::Host end
hosts()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 49 def hosts Collection.new(self, host_class) end
inventories()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 53 def inventories Collection.new(self, inventory_class) end
inventory_class()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 171 def inventory_class @inventory_class ||= AnsibleTowerClient::Inventory end
inventory_source_class()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 175 def inventory_source_class @inventory_source_class ||= AnsibleTowerClient::InventorySource end
inventory_sources()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 57 def inventory_sources Collection.new(self, inventory_source_class) end
inventory_update_class()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 179 def inventory_update_class @inventory_update_class ||= AnsibleTowerClient::InventoryUpdate end
inventory_updates()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 61 def inventory_updates Collection.new(self, inventory_update_class) end
job_class()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 183 def job_class @job_class ||= AnsibleTowerClient::Job end
job_event_class()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 187 def job_event_class @job_event_class ||= AnsibleTowerClient::JobEvent end
job_events()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 69 def job_events Collection.new(self, job_event_class) end
job_play_class()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 191 def job_play_class @job_play_class ||= AnsibleTowerClient::JobPlay end
job_plays()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 73 def job_plays Collection.new(self, job_play_class) end
job_template_class()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 195 def job_template_class @job_template_class ||= begin if Gem::Version.new(version).between?(Gem::Version.new(2), Gem::Version.new(3)) AnsibleTowerClient::JobTemplateV2 else AnsibleTowerClient::JobTemplate end end end
job_templates()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 77 def job_templates Collection.new(self, job_template_class) end
jobs()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 65 def jobs Collection.new(self, job_class) end
method_missing(method_name, *args, &block)
click to toggle source
Calls superclass method
# File lib/ansible_tower_client/api.rb, line 121 def method_missing(method_name, *args, &block) require 'faraday' if instance.respond_to?(method_name) path = build_path_to_resource(args.shift) args.unshift(path) logger.debug { "#{self.class.name} Sending <#{method_name}> with <#{args.inspect}>" } instance.send(method_name, *args, &block).tap do |response| logger.debug { "#{self.class.name} Response:\n#{log_from_response(response)}" } end else super end rescue Faraday::ConnectionFailed => err raise AnsibleTowerClient::ConnectionError, err rescue Faraday::SSLError => err raise AnsibleTowerClient::SSLError, err rescue Faraday::ClientError => err raise AnsibleTowerClient::ConnectionError, err end
organization_class()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 205 def organization_class @organization_class ||= AnsibleTowerClient::Organization end
organizations()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 81 def organizations Collection.new(self, organization_class) end
project_class()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 209 def project_class @project_class ||= AnsibleTowerClient::Project end
project_update_class()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 213 def project_update_class @project_update_class ||= AnsibleTowerClient::ProjectUpdate end
project_updates()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 89 def project_updates Collection.new(self, project_update_class) end
projects()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 85 def projects Collection.new(self, project_class) end
respond_to_missing?(method, _include_private = false)
click to toggle source
# File lib/ansible_tower_client/api.rb, line 141 def respond_to_missing?(method, _include_private = false) instance.respond_to?(method) end
schedule_class()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 217 def schedule_class @schedule_class ||= AnsibleTowerClient::Schedule end
schedules()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 93 def schedules Collection.new(self, schedule_class) end
system_job_class()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 221 def system_job_class @system_job_class ||= AnsibleTowerClient::SystemJob end
system_job_template_class()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 225 def system_job_template_class @system_job_template_class ||= AnsibleTowerClient::SystemJobTemplate end
system_job_templates()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 101 def system_job_templates Collection.new(self, system_job_template_class) end
system_jobs()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 97 def system_jobs Collection.new(self, system_job_class) end
verify_credentials()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 22 def verify_credentials results = get("me/").body JSON.parse(results).fetch_path("results", 0, "username") rescue JSON::ParserError raise AnsibleTowerClient::ConnectionError, "unexpected response" end
version()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 18 def version @version ||= config["version"] end
workflow_job_class()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 229 def workflow_job_class @workflow_job_class ||= AnsibleTowerClient::WorkflowJob end
workflow_job_node_class()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 233 def workflow_job_node_class @workflow_job_node_class ||= AnsibleTowerClient::WorkflowJobNode end
workflow_job_nodes()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 105 def workflow_job_nodes Collection.new(self, workflow_job_node_class) end
workflow_job_template_class()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 237 def workflow_job_template_class @workflow_job_template_class ||= AnsibleTowerClient::WorkflowJobTemplate end
workflow_job_template_node_class()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 241 def workflow_job_template_node_class @workflow_job_template_node_class ||= AnsibleTowerClient::WorkflowJobTemplateNode end
workflow_job_template_nodes()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 117 def workflow_job_template_nodes Collection.new(self, workflow_job_template_node_class) end
workflow_job_templates()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 113 def workflow_job_templates Collection.new(self, workflow_job_template_class) end
workflow_jobs()
click to toggle source
# File lib/ansible_tower_client/api.rb, line 109 def workflow_jobs Collection.new(self, workflow_job_class) end
Private Instance Methods
build_path_to_resource(original)
click to toggle source
# File lib/ansible_tower_client/api.rb, line 247 def build_path_to_resource(original) return original unless %r{\/?api\/v1\/(.*)} =~ original return original if instance.url_prefix.path == "/" File.join(instance.url_prefix.path, Regexp.last_match[1]) end