class Fastly::IamRolesApi

Attributes

api_client[RW]

Public Class Methods

new(api_client = ApiClient.default) click to toggle source
# File lib/fastly/api/iam_roles_api.rb, line 17
def initialize(api_client = ApiClient.default)
  @api_client = api_client
end

Public Instance Methods

add_role_permissions(opts = {}) click to toggle source

Add permissions to a role Add permissions to a role. @option opts [String] :role_id Alphanumeric string identifying the role. (required) @option opts [Hash<String, Object>] :request_body @return [Object]

# File lib/fastly/api/iam_roles_api.rb, line 25
def add_role_permissions(opts = {})
  data, _status_code, _headers = add_role_permissions_with_http_info(opts)
  data
end
add_role_permissions_with_http_info(opts = {}) click to toggle source

Add permissions to a role Add permissions to a role. @option opts [String] :role_id Alphanumeric string identifying the role. (required) @option opts [Hash<String, Object>] :request_body @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers

# File lib/fastly/api/iam_roles_api.rb, line 35
def add_role_permissions_with_http_info(opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: IamRolesApi.add_role_permissions ...'
  end
  # unbox the parameters from the hash
  role_id = opts[:'role_id']
  # verify the required parameter 'role_id' is set
  if @api_client.config.client_side_validation && role_id.nil?
    fail ArgumentError, "Missing the required parameter 'role_id' when calling IamRolesApi.add_role_permissions"
  end
  # resource path
  local_var_path = '/roles/{role_id}/permissions'.sub('{' + 'role_id' + '}', CGI.escape(role_id.to_s))

  # query parameters
  query_params = opts[:query_params] || {}

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
  # HTTP header 'Content-Type'
  content_type = @api_client.select_header_content_type(['application/json'])
  if !content_type.nil?
      header_params['Content-Type'] = content_type
  end

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'request_body'])

  # return_type
  return_type = opts[:debug_return_type] || 'Object'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['token']

  new_options = opts.merge(
    :operation => :"IamRolesApi.add_role_permissions",
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => return_type
  )

  data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: IamRolesApi#add_role_permissions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
create_a_role(opts = {}) click to toggle source

Create a role Create a role. @option opts [Hash<String, Object>] :request_body @return [Object]

# File lib/fastly/api/iam_roles_api.rb, line 94
def create_a_role(opts = {})
  data, _status_code, _headers = create_a_role_with_http_info(opts)
  data
end
create_a_role_with_http_info(opts = {}) click to toggle source

Create a role Create a role. @option opts [Hash<String, Object>] :request_body @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers

# File lib/fastly/api/iam_roles_api.rb, line 103
def create_a_role_with_http_info(opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: IamRolesApi.create_a_role ...'
  end
  # unbox the parameters from the hash
  # resource path
  local_var_path = '/roles'

  # query parameters
  query_params = opts[:query_params] || {}

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
  # HTTP header 'Content-Type'
  content_type = @api_client.select_header_content_type(['application/json'])
  if !content_type.nil?
      header_params['Content-Type'] = content_type
  end

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'request_body'])

  # return_type
  return_type = opts[:debug_return_type] || 'Object'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['token']

  new_options = opts.merge(
    :operation => :"IamRolesApi.create_a_role",
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => return_type
  )

  data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: IamRolesApi#create_a_role\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
delete_a_role(opts = {}) click to toggle source

Delete a role Delete a role. @option opts [String] :role_id Alphanumeric string identifying the role. (required) @return [nil]

# File lib/fastly/api/iam_roles_api.rb, line 157
def delete_a_role(opts = {})
  delete_a_role_with_http_info(opts)
  nil
end
delete_a_role_with_http_info(opts = {}) click to toggle source

Delete a role Delete a role. @option opts [String] :role_id Alphanumeric string identifying the role. (required) @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers

# File lib/fastly/api/iam_roles_api.rb, line 166
def delete_a_role_with_http_info(opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: IamRolesApi.delete_a_role ...'
  end
  # unbox the parameters from the hash
  role_id = opts[:'role_id']
  # verify the required parameter 'role_id' is set
  if @api_client.config.client_side_validation && role_id.nil?
    fail ArgumentError, "Missing the required parameter 'role_id' when calling IamRolesApi.delete_a_role"
  end
  # resource path
  local_var_path = '/roles/{role_id}'.sub('{' + 'role_id' + '}', CGI.escape(role_id.to_s))

  # query parameters
  query_params = opts[:query_params] || {}

  # header parameters
  header_params = opts[:header_params] || {}

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body]

  # return_type
  return_type = opts[:debug_return_type]

  # auth_names
  auth_names = opts[:debug_auth_names] || ['token']

  new_options = opts.merge(
    :operation => :"IamRolesApi.delete_a_role",
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => return_type
  )

  data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: IamRolesApi#delete_a_role\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
get_a_role(opts = {}) click to toggle source

Get a role Get a role. @option opts [String] :role_id Alphanumeric string identifying the role. (required) @return [Object]

# File lib/fastly/api/iam_roles_api.rb, line 218
def get_a_role(opts = {})
  data, _status_code, _headers = get_a_role_with_http_info(opts)
  data
end
get_a_role_with_http_info(opts = {}) click to toggle source

Get a role Get a role. @option opts [String] :role_id Alphanumeric string identifying the role. (required) @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers

# File lib/fastly/api/iam_roles_api.rb, line 227
def get_a_role_with_http_info(opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: IamRolesApi.get_a_role ...'
  end
  # unbox the parameters from the hash
  role_id = opts[:'role_id']
  # verify the required parameter 'role_id' is set
  if @api_client.config.client_side_validation && role_id.nil?
    fail ArgumentError, "Missing the required parameter 'role_id' when calling IamRolesApi.get_a_role"
  end
  # resource path
  local_var_path = '/roles/{role_id}'.sub('{' + 'role_id' + '}', CGI.escape(role_id.to_s))

  # query parameters
  query_params = opts[:query_params] || {}

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body]

  # return_type
  return_type = opts[:debug_return_type] || 'Object'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['token']

  new_options = opts.merge(
    :operation => :"IamRolesApi.get_a_role",
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => return_type
  )

  data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: IamRolesApi#get_a_role\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
list_role_permissions(opts = {}) click to toggle source

List permissions in a role List all permissions in a role. @option opts [String] :role_id Alphanumeric string identifying the role. (required) @return [Object]

# File lib/fastly/api/iam_roles_api.rb, line 281
def list_role_permissions(opts = {})
  data, _status_code, _headers = list_role_permissions_with_http_info(opts)
  data
end
list_role_permissions_with_http_info(opts = {}) click to toggle source

List permissions in a role List all permissions in a role. @option opts [String] :role_id Alphanumeric string identifying the role. (required) @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers

# File lib/fastly/api/iam_roles_api.rb, line 290
def list_role_permissions_with_http_info(opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: IamRolesApi.list_role_permissions ...'
  end
  # unbox the parameters from the hash
  role_id = opts[:'role_id']
  # verify the required parameter 'role_id' is set
  if @api_client.config.client_side_validation && role_id.nil?
    fail ArgumentError, "Missing the required parameter 'role_id' when calling IamRolesApi.list_role_permissions"
  end
  # resource path
  local_var_path = '/roles/{role_id}/permissions'.sub('{' + 'role_id' + '}', CGI.escape(role_id.to_s))

  # query parameters
  query_params = opts[:query_params] || {}

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body]

  # return_type
  return_type = opts[:debug_return_type] || 'Object'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['token']

  new_options = opts.merge(
    :operation => :"IamRolesApi.list_role_permissions",
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => return_type
  )

  data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: IamRolesApi#list_role_permissions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
list_roles(opts = {}) click to toggle source

List roles List all roles. @option opts [Integer] :per_page Number of records per page. (default to 20) @option opts [Integer] :page Current page. @return [Object]

# File lib/fastly/api/iam_roles_api.rb, line 345
def list_roles(opts = {})
  data, _status_code, _headers = list_roles_with_http_info(opts)
  data
end
list_roles_with_http_info(opts = {}) click to toggle source

List roles List all roles. @option opts [Integer] :per_page Number of records per page. (default to 20) @option opts [Integer] :page Current page. @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers

# File lib/fastly/api/iam_roles_api.rb, line 355
def list_roles_with_http_info(opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: IamRolesApi.list_roles ...'
  end
  # unbox the parameters from the hash
  if @api_client.config.client_side_validation && !opts[:'per_page'].nil? && opts[:'per_page'] > 100
    fail ArgumentError, 'invalid value for "opts[:"per_page"]" when calling IamRolesApi.list_roles, must be smaller than or equal to 100.'
  end

  if @api_client.config.client_side_validation && !opts[:'per_page'].nil? && opts[:'per_page'] < 1
    fail ArgumentError, 'invalid value for "opts[:"per_page"]" when calling IamRolesApi.list_roles, must be greater than or equal to 1.'
  end

  # resource path
  local_var_path = '/roles'

  # query parameters
  query_params = opts[:query_params] || {}
  query_params[:'per_page'] = opts[:'per_page'] if !opts[:'per_page'].nil?
  query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body]

  # return_type
  return_type = opts[:debug_return_type] || 'Object'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['token']

  new_options = opts.merge(
    :operation => :"IamRolesApi.list_roles",
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => return_type
  )

  data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: IamRolesApi#list_roles\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
remove_role_permissions(opts = {}) click to toggle source

Remove permissions from a role Remove permissions from a role. @option opts [String] :role_id Alphanumeric string identifying the role. (required) @option opts [Hash<String, Object>] :request_body @return [nil]

# File lib/fastly/api/iam_roles_api.rb, line 415
def remove_role_permissions(opts = {})
  remove_role_permissions_with_http_info(opts)
  nil
end
remove_role_permissions_with_http_info(opts = {}) click to toggle source

Remove permissions from a role Remove permissions from a role. @option opts [String] :role_id Alphanumeric string identifying the role. (required) @option opts [Hash<String, Object>] :request_body @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers

# File lib/fastly/api/iam_roles_api.rb, line 425
def remove_role_permissions_with_http_info(opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: IamRolesApi.remove_role_permissions ...'
  end
  # unbox the parameters from the hash
  role_id = opts[:'role_id']
  # verify the required parameter 'role_id' is set
  if @api_client.config.client_side_validation && role_id.nil?
    fail ArgumentError, "Missing the required parameter 'role_id' when calling IamRolesApi.remove_role_permissions"
  end
  # resource path
  local_var_path = '/roles/{role_id}/permissions'.sub('{' + 'role_id' + '}', CGI.escape(role_id.to_s))

  # query parameters
  query_params = opts[:query_params] || {}

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Content-Type'
  content_type = @api_client.select_header_content_type(['application/json'])
  if !content_type.nil?
      header_params['Content-Type'] = content_type
  end

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'request_body'])

  # return_type
  return_type = opts[:debug_return_type]

  # auth_names
  auth_names = opts[:debug_auth_names] || ['token']

  new_options = opts.merge(
    :operation => :"IamRolesApi.remove_role_permissions",
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => return_type
  )

  data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: IamRolesApi#remove_role_permissions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
update_a_role(opts = {}) click to toggle source

Update a role Update a role. @option opts [String] :role_id Alphanumeric string identifying the role. (required) @option opts [Hash<String, Object>] :request_body @return [Object]

# File lib/fastly/api/iam_roles_api.rb, line 483
def update_a_role(opts = {})
  data, _status_code, _headers = update_a_role_with_http_info(opts)
  data
end
update_a_role_with_http_info(opts = {}) click to toggle source

Update a role Update a role. @option opts [String] :role_id Alphanumeric string identifying the role. (required) @option opts [Hash<String, Object>] :request_body @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers

# File lib/fastly/api/iam_roles_api.rb, line 493
def update_a_role_with_http_info(opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: IamRolesApi.update_a_role ...'
  end
  # unbox the parameters from the hash
  role_id = opts[:'role_id']
  # verify the required parameter 'role_id' is set
  if @api_client.config.client_side_validation && role_id.nil?
    fail ArgumentError, "Missing the required parameter 'role_id' when calling IamRolesApi.update_a_role"
  end
  # resource path
  local_var_path = '/roles/{role_id}'.sub('{' + 'role_id' + '}', CGI.escape(role_id.to_s))

  # query parameters
  query_params = opts[:query_params] || {}

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
  # HTTP header 'Content-Type'
  content_type = @api_client.select_header_content_type(['application/json'])
  if !content_type.nil?
      header_params['Content-Type'] = content_type
  end

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'request_body'])

  # return_type
  return_type = opts[:debug_return_type] || 'Object'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['token']

  new_options = opts.merge(
    :operation => :"IamRolesApi.update_a_role",
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => return_type
  )

  data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: IamRolesApi#update_a_role\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end