Class: AbideDevUtils::Ppt::ApiClient
- Inherits:
-
Object
- Object
- AbideDevUtils::Ppt::ApiClient
- Defined in:
- lib/abide_dev_utils/ppt/api.rb
Constant Summary collapse
- CT_JSON =
'application/json'
- API_DEFS =
{ codemanager: { port: 8170, version: 'v1', base: 'code-manager', paths: [ { path: 'deploys', verbs: %w[post], x_auth: true } ] }, classifier1: { port: 4433, version: 'v1', base: 'classifier-api', paths: [ { path: 'groups', verbs: %w[get post], x_auth: true } ] }, orchestrator: { port: 8143, version: 'v1', base: 'orchestrator', paths: [ { path: 'command/deploy', verbs: %w[post], x_auth: true }, { path: 'command/task', verbs: %w[post], x_auth: true }, { path: 'jobs', verbs: %w[get], x_auth: true } ] } }.freeze
Instance Attribute Summary collapse
-
#auth_token ⇒ Object
writeonly
Sets the attribute auth_token.
-
#content_type ⇒ Object
Returns the value of attribute content_type.
-
#custom_ports ⇒ Object
readonly
Returns the value of attribute custom_ports.
-
#hostname ⇒ Object
readonly
Returns the value of attribute hostname.
- #tls_cert_verify ⇒ Object
Instance Method Summary collapse
- #auth_token? ⇒ Boolean
-
#initialize(hostname, auth_token: nil, content_type: CT_JSON, custom_ports: {}, verbose: false) ⇒ ApiClient
constructor
A new instance of ApiClient.
- #login(username, password: nil, lifetime: '1h', label: nil) ⇒ Object
- #no_verbose ⇒ Object
- #verbose! ⇒ Object
- #verbose? ⇒ Boolean
Constructor Details
#initialize(hostname, auth_token: nil, content_type: CT_JSON, custom_ports: {}, verbose: false) ⇒ ApiClient
Returns a new instance of ApiClient.
65 66 67 68 69 70 71 72 |
# File 'lib/abide_dev_utils/ppt/api.rb', line 65 def initialize(hostname, auth_token: nil, content_type: CT_JSON, custom_ports: {}, verbose: false) @hostname = hostname @auth_token = auth_token @content_type = content_type @custom_ports = custom_ports @verbose = verbose define_api_methods end |
Instance Attribute Details
#auth_token=(value) ⇒ Object (writeonly)
Sets the attribute auth_token
12 13 14 |
# File 'lib/abide_dev_utils/ppt/api.rb', line 12 def auth_token=(value) @auth_token = value end |
#content_type ⇒ Object
Returns the value of attribute content_type.
13 14 15 |
# File 'lib/abide_dev_utils/ppt/api.rb', line 13 def content_type @content_type end |
#custom_ports ⇒ Object (readonly)
Returns the value of attribute custom_ports.
11 12 13 |
# File 'lib/abide_dev_utils/ppt/api.rb', line 11 def custom_ports @custom_ports end |
#hostname ⇒ Object (readonly)
Returns the value of attribute hostname.
11 12 13 |
# File 'lib/abide_dev_utils/ppt/api.rb', line 11 def hostname @hostname end |
#tls_cert_verify ⇒ Object
94 95 96 |
# File 'lib/abide_dev_utils/ppt/api.rb', line 94 def tls_cert_verify @tls_cert_verify = defined?(@tls_cert_verify) ? @tls_cert_verify : false end |
Instance Method Details
#auth_token? ⇒ Boolean
90 91 92 |
# File 'lib/abide_dev_utils/ppt/api.rb', line 90 def auth_token? defined?(@auth_token) && !@auth_token.nil? && !@auth_token.empty? end |
#login(username, password: nil, lifetime: '1h', label: nil) ⇒ Object
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/abide_dev_utils/ppt/api.rb', line 74 def login(username, password: nil, lifetime: '1h', label: nil) label = "AbideDevUtils token for #{username} - lifetime #{lifetime}" if label.nil? password = IO.console.getpass 'Password: ' if password.nil? data = { 'login' => username, 'password' => password, 'lifetime' => lifetime, 'label' => label } uri = URI("https://#{@hostname}:4433/rbac-api/v1/auth/token") result = http_request(uri, post_request(uri, x_auth: false, **data), json_out: true) @auth_token = result['token'] log_verbose("Successfully logged in? #{auth_token?}") auth_token? end |
#no_verbose ⇒ Object
102 103 104 |
# File 'lib/abide_dev_utils/ppt/api.rb', line 102 def no_verbose @verbose = false end |
#verbose! ⇒ Object
106 107 108 |
# File 'lib/abide_dev_utils/ppt/api.rb', line 106 def verbose! @verbose = true end |
#verbose? ⇒ Boolean
98 99 100 |
# File 'lib/abide_dev_utils/ppt/api.rb', line 98 def verbose? @verbose end |