lib/aikido/client.rb in aikido-ruby-client-0.0.2 vs lib/aikido/client.rb in aikido-ruby-client-0.0.3
- old
+ new
@@ -28,14 +28,21 @@
PaginatedResponse.new do |page|
get('/public/v1/clouds', params: { page: page }).json
end
end
- def issues(params: {})
- get('/public/v1/issues/export', params: params).json
+ def connect_aws_cloud(role_arn:, name:, environment:)
+ handle_response!(authed_http.post('/public/v1/clouds/aws',
+ json: { role_arn: role_arn,
+ name: name,
+ environment: environment })).json
end
+ def issues(options = {})
+ get('/public/v1/issues/export', params: options).json
+ end
+
def issue(id)
get("/public/v1/issues/#{id.to_i}").json
end
def issue_groups
@@ -53,13 +60,31 @@
get('/public/v1/repositories/code', params: { page: page }).json
end
end
def code_repository_sbom(id, format: 'csv')
- get("repositories/code/#{id.to_i}/licenses/export", params: { format: format }).body
+ get("/public/v1/repositories/code/#{id.to_i}/licenses/export", params: { format: format }).read
end
+ def teams
+ PaginatedResponse.new do |page|
+ get('/public/v1/teams', params: { page: page }).json
+ end
+ end
+
+ def create_team(name:)
+ handle_response!(authed_http.post('/public/v1/teams', json: { name: name })).json
+ end
+
+ def update_team(id)
+ raise NotImplementedError
+ end
+
+ def containers
+ get('/public/v1/containers').json
+ end
+
private
def get(path, params: {})
handle_response!(authed_http.get(path, params: params))
end
@@ -90,9 +115,11 @@
end
end
def raise_response_error!(response)
case response.status
+ when 400
+ raise Errors::BadRequestError, response
when 401
raise Errors::UnauthorizedError, response
else
raise Errors::ApiError, response
end