Class: Conjur::ServiceGateway
- Inherits:
-
RestClient::Resource
- Object
- RestClient::Resource
- Conjur::ServiceGateway
- Includes:
- ActsAsAsset
- Defined in:
- lib/conjur/service_gateway.rb
Instance Method Summary collapse
- #add_proxy(role) ⇒ Object
- #decrypt(data) ⇒ Object
- #encrypt(data) ⇒ Object
- #proxies ⇒ Object
- #remove_proxy(role) ⇒ Object
- #remove_web_service(id) ⇒ Object
- #web_services ⇒ Object
Instance Method Details
#add_proxy(role) ⇒ Object
11 12 13 14 15 16 17 18 |
# File 'lib/conjur/service_gateway.rb', line 11 def add_proxy(role) log do |logger| logger << "Adding proxy #{role} to service gateway #{id}" end invalidate do RestClient::Resource.new(self['proxies'].url, ).post(role: role) end end |
#decrypt(data) ⇒ Object
51 52 53 54 |
# File 'lib/conjur/service_gateway.rb', line 51 def decrypt(data) raise ArgumentError.new("data must not be nil") unless data self["decrypt"].post(data, content_type: 'application/octet-stream').body end |
#encrypt(data) ⇒ Object
46 47 48 49 |
# File 'lib/conjur/service_gateway.rb', line 46 def encrypt(data) raise ArgumentError.new("data must not be nil") unless data self["encrypt"].post(data, content_type: 'application/octet-stream').body end |
#proxies ⇒ Object
5 6 7 8 9 |
# File 'lib/conjur/service_gateway.rb', line 5 def proxies self.attributes['proxies'].map do |roleid| Role.new(Conjur::Authz::API.host, self.)[Conjur::API.parse_role_id(roleid).join('/')] end end |
#remove_proxy(role) ⇒ Object
20 21 22 23 24 25 26 27 |
# File 'lib/conjur/service_gateway.rb', line 20 def remove_proxy(role) log do |logger| logger << "Removing proxy #{role} from service gateway #{id}" end invalidate do RestClient::Resource.new(self["proxies/#{fully_escape role}"].url, self.).delete end end |
#remove_web_service(id) ⇒ Object
29 30 31 32 33 34 35 36 |
# File 'lib/conjur/service_gateway.rb', line 29 def remove_web_service(id) log do |logger| logger << "Removing web service #{id} from service gateway #{id}" end invalidate do RestClient::Resource.new(self["web_services/#{fully_escape id}"].url, self.).delete end end |
#web_services ⇒ Object
38 39 40 41 42 43 44 |
# File 'lib/conjur/service_gateway.rb', line 38 def web_services self.attributes['web_services'].collect do |attrs| Conjur::WebService.new("#{Conjur::ServiceGateways::API.host}/web_services/#{path_escape attrs['id']}", ).tap do |d| d.attributes = attrs end end end |