class LaunchDarklyApi::ProjectsApi

Attributes

api_client[RW]

Public Class Methods

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

Public Instance Methods

delete_project(project_key, opts = {}) click to toggle source

Delete project Delete a project by key. Caution: deleting a project will delete all associated environments and feature flags. You cannot delete the last project in an account. @param project_key [String] The project key @param [Hash] opts the optional parameters @return [nil]

# File lib/launchdarkly_api/api/projects_api.rb, line 27
def delete_project(project_key, opts = {})
  delete_project_with_http_info(project_key, opts)
  nil
end
delete_project_with_http_info(project_key, opts = {}) click to toggle source

Delete project Delete a project by key. Caution: deleting a project will delete all associated environments and feature flags. You cannot delete the last project in an account. @param project_key [String] The project key @param [Hash] opts the optional parameters @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers

# File lib/launchdarkly_api/api/projects_api.rb, line 37
def delete_project_with_http_info(project_key, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: ProjectsApi.delete_project ...'
  end
  # verify the required parameter 'project_key' is set
  if @api_client.config.client_side_validation && project_key.nil?
    fail ArgumentError, "Missing the required parameter 'project_key' when calling ProjectsApi.delete_project"
  end
  # resource path
  local_var_path = '/api/v2/projects/{projectKey}'.sub('{' + 'projectKey' + '}', CGI.escape(project_key.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] || ['ApiKey']

  new_options = opts.merge(
    :operation => :"ProjectsApi.delete_project",
    :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: ProjectsApi#delete_project\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
get_project(project_key, opts = {}) click to toggle source

Get project Get a single project by key. @param project_key [String] The project key @param [Hash] opts the optional parameters @return [Project]

# File lib/launchdarkly_api/api/projects_api.rb, line 88
def get_project(project_key, opts = {})
  data, _status_code, _headers = get_project_with_http_info(project_key, opts)
  data
end
get_project_with_http_info(project_key, opts = {}) click to toggle source

Get project Get a single project by key. @param project_key [String] The project key @param [Hash] opts the optional parameters @return [Array<(Project, Integer, Hash)>] Project data, response status code and response headers

# File lib/launchdarkly_api/api/projects_api.rb, line 98
def get_project_with_http_info(project_key, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: ProjectsApi.get_project ...'
  end
  # verify the required parameter 'project_key' is set
  if @api_client.config.client_side_validation && project_key.nil?
    fail ArgumentError, "Missing the required parameter 'project_key' when calling ProjectsApi.get_project"
  end
  # resource path
  local_var_path = '/api/v2/projects/{projectKey}'.sub('{' + 'projectKey' + '}', CGI.escape(project_key.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] || 'Project'

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

  new_options = opts.merge(
    :operation => :"ProjectsApi.get_project",
    :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: ProjectsApi#get_project\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
get_projects(opts = {}) click to toggle source

List projects Get a list of all projects in the account. @param [Hash] opts the optional parameters @return [Projects]

# File lib/launchdarkly_api/api/projects_api.rb, line 150
def get_projects(opts = {})
  data, _status_code, _headers = get_projects_with_http_info(opts)
  data
end
get_projects_with_http_info(opts = {}) click to toggle source

List projects Get a list of all projects in the account. @param [Hash] opts the optional parameters @return [Array<(Projects, Integer, Hash)>] Projects data, response status code and response headers

# File lib/launchdarkly_api/api/projects_api.rb, line 159
def get_projects_with_http_info(opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: ProjectsApi.get_projects ...'
  end
  # resource path
  local_var_path = '/api/v2/projects'

  # 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] || 'Projects'

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

  new_options = opts.merge(
    :operation => :"ProjectsApi.get_projects",
    :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: ProjectsApi#get_projects\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
patch_project(project_key, patch_operation, opts = {}) click to toggle source

Update project Update a project. Requires a [JSON Patch](tools.ietf.org/html/rfc6902) representation of the desired changes to the project. @param project_key [String] The project key @param patch_operation [Array<PatchOperation>] @param [Hash] opts the optional parameters @return [Project]

# File lib/launchdarkly_api/api/projects_api.rb, line 209
def patch_project(project_key, patch_operation, opts = {})
  data, _status_code, _headers = patch_project_with_http_info(project_key, patch_operation, opts)
  data
end
patch_project_with_http_info(project_key, patch_operation, opts = {}) click to toggle source

Update project Update a project. Requires a [JSON Patch](tools.ietf.org/html/rfc6902) representation of the desired changes to the project. @param project_key [String] The project key @param patch_operation [Array<PatchOperation>] @param [Hash] opts the optional parameters @return [Array<(Project, Integer, Hash)>] Project data, response status code and response headers

# File lib/launchdarkly_api/api/projects_api.rb, line 220
def patch_project_with_http_info(project_key, patch_operation, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: ProjectsApi.patch_project ...'
  end
  # verify the required parameter 'project_key' is set
  if @api_client.config.client_side_validation && project_key.nil?
    fail ArgumentError, "Missing the required parameter 'project_key' when calling ProjectsApi.patch_project"
  end
  # verify the required parameter 'patch_operation' is set
  if @api_client.config.client_side_validation && patch_operation.nil?
    fail ArgumentError, "Missing the required parameter 'patch_operation' when calling ProjectsApi.patch_project"
  end
  # resource path
  local_var_path = '/api/v2/projects/{projectKey}'.sub('{' + 'projectKey' + '}', CGI.escape(project_key.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'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])

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

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

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

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

  new_options = opts.merge(
    :operation => :"ProjectsApi.patch_project",
    :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: ProjectsApi#patch_project\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
post_project(project_post, opts = {}) click to toggle source

Create project Create a new project with the given key and name. Project keys must be unique within an account. @param project_post [ProjectPost] @param [Hash] opts the optional parameters @return [Project]

# File lib/launchdarkly_api/api/projects_api.rb, line 279
def post_project(project_post, opts = {})
  data, _status_code, _headers = post_project_with_http_info(project_post, opts)
  data
end
post_project_with_http_info(project_post, opts = {}) click to toggle source

Create project Create a new project with the given key and name. Project keys must be unique within an account. @param project_post [ProjectPost] @param [Hash] opts the optional parameters @return [Array<(Project, Integer, Hash)>] Project data, response status code and response headers

# File lib/launchdarkly_api/api/projects_api.rb, line 289
def post_project_with_http_info(project_post, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: ProjectsApi.post_project ...'
  end
  # verify the required parameter 'project_post' is set
  if @api_client.config.client_side_validation && project_post.nil?
    fail ArgumentError, "Missing the required parameter 'project_post' when calling ProjectsApi.post_project"
  end
  # resource path
  local_var_path = '/api/v2/projects'

  # 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'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])

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

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

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

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

  new_options = opts.merge(
    :operation => :"ProjectsApi.post_project",
    :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: ProjectsApi#post_project\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end