Skip to main content

lib/api/agents/agents.ex

# Generated by `mix github.gen` from docs/github-api/api.github.com.json.
# Do not edit by hand; re-run the task instead.

defmodule Noizu.Github.Api.Agents do
  @moduledoc """
  GitHub `agents` API.
  """
  import Noizu.Github

  @doc """
  Add selected repository to an organization secret

  @see https://docs.github.com/rest/agents/secrets#add-selected-repository-to-an-organization-secret
  """
  def add_selected_repo_to_org_secret(org, secret_name, repository_id, body, options \\ nil) do
    url =
      github_base() <> "/orgs/#{org}/agents/secrets/#{secret_name}/repositories/#{repository_id}"

    body = body
    api_call(:put, url, body, Noizu.Github.Raw, options)
  end

  @doc """
  Add selected repository to an organization variable

  @see https://docs.github.com/rest/agents/variables#add-selected-repository-to-an-organization-variable
  """
  def add_selected_repo_to_org_variable(org, name, repository_id, body, options \\ nil) do
    url = github_base() <> "/orgs/#{org}/agents/variables/#{name}/repositories/#{repository_id}"
    body = body
    api_call(:put, url, body, Noizu.Github.Raw, options)
  end

  @doc """
  Create or update an organization secret

  @see https://docs.github.com/rest/agents/secrets#create-or-update-an-organization-secret
  """
  def create_or_update_org_secret(org, secret_name, body, options \\ nil) do
    url = github_base() <> "/orgs/#{org}/agents/secrets/#{secret_name}"
    body = body
    api_call(:put, url, body, Noizu.Github.Raw, options)
  end

  @doc """
  Create or update a repository secret

  @see https://docs.github.com/rest/agents/secrets#create-or-update-a-repository-secret
  """
  def create_or_update_repo_secret(secret_name, body, options \\ nil) do
    owner = repo_owner(options)
    repo = repo_name(options)
    url = github_base() <> "/repos/#{owner}/#{repo}/agents/secrets/#{secret_name}"
    body = body
    api_call(:put, url, body, Noizu.Github.Raw, options)
  end

  @doc """
  Create an organization variable

  @see https://docs.github.com/rest/agents/variables#create-an-organization-variable
  """
  def create_org_variable(org, body, options \\ nil) do
    url = github_base() <> "/orgs/#{org}/agents/variables"
    body = body
    api_call(:post, url, body, Noizu.Github.Raw, options)
  end

  @doc """
  Create a repository variable

  @see https://docs.github.com/rest/agents/variables#create-a-repository-variable
  """
  def create_repo_variable(body, options \\ nil) do
    owner = repo_owner(options)
    repo = repo_name(options)
    url = github_base() <> "/repos/#{owner}/#{repo}/agents/variables"
    body = body
    api_call(:post, url, body, Noizu.Github.Raw, options)
  end

  @doc """
  Delete an organization secret

  @see https://docs.github.com/rest/agents/secrets#delete-an-organization-secret
  """
  def delete_org_secret(org, secret_name, options \\ nil) do
    url = github_base() <> "/orgs/#{org}/agents/secrets/#{secret_name}"
    body = %{}
    api_call(:delete, url, body, Noizu.Github.Raw, options)
  end

  @doc """
  Delete an organization variable

  @see https://docs.github.com/rest/agents/variables#delete-an-organization-variable
  """
  def delete_org_variable(org, name, options \\ nil) do
    url = github_base() <> "/orgs/#{org}/agents/variables/#{name}"
    body = %{}
    api_call(:delete, url, body, Noizu.Github.Raw, options)
  end

  @doc """
  Delete a repository secret

  @see https://docs.github.com/rest/agents/secrets#delete-a-repository-secret
  """
  def delete_repo_secret(secret_name, options \\ nil) do
    owner = repo_owner(options)
    repo = repo_name(options)
    url = github_base() <> "/repos/#{owner}/#{repo}/agents/secrets/#{secret_name}"
    body = %{}
    api_call(:delete, url, body, Noizu.Github.Raw, options)
  end

  @doc """
  Delete a repository variable

  @see https://docs.github.com/rest/agents/variables#delete-a-repository-variable
  """
  def delete_repo_variable(name, options \\ nil) do
    owner = repo_owner(options)
    repo = repo_name(options)
    url = github_base() <> "/repos/#{owner}/#{repo}/agents/variables/#{name}"
    body = %{}
    api_call(:delete, url, body, Noizu.Github.Raw, options)
  end

  @doc """
  Get an organization public key

  @see https://docs.github.com/rest/agents/secrets#get-an-organization-public-key
  """
  def get_org_public_key(org, options \\ nil) do
    url = github_base() <> "/orgs/#{org}/agents/secrets/public-key"
    body = %{}
    api_call(:get, url, body, Noizu.Github.ActionsPublicKey, options)
  end

  @doc """
  Get an organization secret

  @see https://docs.github.com/rest/agents/secrets#get-an-organization-secret
  """
  def get_org_secret(org, secret_name, options \\ nil) do
    url = github_base() <> "/orgs/#{org}/agents/secrets/#{secret_name}"
    body = %{}
    api_call(:get, url, body, Noizu.Github.OrganizationActionsSecret, options)
  end

  @doc """
  Get an organization variable

  @see https://docs.github.com/rest/agents/variables#get-an-organization-variable
  """
  def get_org_variable(org, name, options \\ nil) do
    url = github_base() <> "/orgs/#{org}/agents/variables/#{name}"
    body = %{}
    api_call(:get, url, body, Noizu.Github.OrganizationActionsVariable, options)
  end

  @doc """
  Get a repository public key

  @see https://docs.github.com/rest/agents/secrets#get-a-repository-public-key
  """
  def get_repo_public_key(options \\ nil) do
    owner = repo_owner(options)
    repo = repo_name(options)
    url = github_base() <> "/repos/#{owner}/#{repo}/agents/secrets/public-key"
    body = %{}
    api_call(:get, url, body, Noizu.Github.ActionsPublicKey, options)
  end

  @doc """
  Get a repository secret

  @see https://docs.github.com/rest/agents/secrets#get-a-repository-secret
  """
  def get_repo_secret(secret_name, options \\ nil) do
    owner = repo_owner(options)
    repo = repo_name(options)
    url = github_base() <> "/repos/#{owner}/#{repo}/agents/secrets/#{secret_name}"
    body = %{}
    api_call(:get, url, body, Noizu.Github.ActionsSecret, options)
  end

  @doc """
  Get a repository variable

  @see https://docs.github.com/rest/agents/variables#get-a-repository-variable
  """
  def get_repo_variable(name, options \\ nil) do
    owner = repo_owner(options)
    repo = repo_name(options)
    url = github_base() <> "/repos/#{owner}/#{repo}/agents/variables/#{name}"
    body = %{}
    api_call(:get, url, body, Noizu.Github.ActionsVariable, options)
  end

  @doc """
  List organization secrets

  @see https://docs.github.com/rest/agents/secrets#list-organization-secrets
  """
  def list_org_secrets(org, options \\ nil) do
    url =
      (
        query =
          [
            get_field(:per_page, options, nil),
            get_field(:page, options, nil)
          ]
          |> Enum.filter(& &1)

        qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
        github_base() <> "/orgs/#{org}/agents/secrets" <> qs
      )

    body = %{}
    api_call(:get, url, body, Noizu.Github.Raw, options)
  end

  @doc """
  List organization variables

  @see https://docs.github.com/rest/agents/variables#list-organization-variables
  """
  def list_org_variables(org, options \\ nil) do
    url =
      (
        query =
          [
            get_field(:per_page, options, nil),
            get_field(:page, options, nil)
          ]
          |> Enum.filter(& &1)

        qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
        github_base() <> "/orgs/#{org}/agents/variables" <> qs
      )

    body = %{}
    api_call(:get, url, body, Noizu.Github.Raw, options)
  end

  @doc """
  List repository organization secrets

  @see https://docs.github.com/rest/agents/secrets#list-repository-organization-secrets
  """
  def list_repo_organization_secrets(options \\ nil) do
    owner = repo_owner(options)
    repo = repo_name(options)

    url =
      (
        query =
          [
            get_field(:per_page, options, nil),
            get_field(:page, options, nil)
          ]
          |> Enum.filter(& &1)

        qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
        github_base() <> "/repos/#{owner}/#{repo}/agents/organization-secrets" <> qs
      )

    body = %{}
    api_call(:get, url, body, Noizu.Github.Raw, options)
  end

  @doc """
  List repository organization variables

  @see https://docs.github.com/rest/agents/variables#list-repository-organization-variables
  """
  def list_repo_organization_variables(options \\ nil) do
    owner = repo_owner(options)
    repo = repo_name(options)

    url =
      (
        query =
          [
            get_field(:per_page, options, nil),
            get_field(:page, options, nil)
          ]
          |> Enum.filter(& &1)

        qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
        github_base() <> "/repos/#{owner}/#{repo}/agents/organization-variables" <> qs
      )

    body = %{}
    api_call(:get, url, body, Noizu.Github.Raw, options)
  end

  @doc """
  List repository secrets

  @see https://docs.github.com/rest/agents/secrets#list-repository-secrets
  """
  def list_repo_secrets(options \\ nil) do
    owner = repo_owner(options)
    repo = repo_name(options)

    url =
      (
        query =
          [
            get_field(:per_page, options, nil),
            get_field(:page, options, nil)
          ]
          |> Enum.filter(& &1)

        qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
        github_base() <> "/repos/#{owner}/#{repo}/agents/secrets" <> qs
      )

    body = %{}
    api_call(:get, url, body, Noizu.Github.Raw, options)
  end

  @doc """
  List repository variables

  @see https://docs.github.com/rest/agents/variables#list-repository-variables
  """
  def list_repo_variables(options \\ nil) do
    owner = repo_owner(options)
    repo = repo_name(options)

    url =
      (
        query =
          [
            get_field(:per_page, options, nil),
            get_field(:page, options, nil)
          ]
          |> Enum.filter(& &1)

        qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
        github_base() <> "/repos/#{owner}/#{repo}/agents/variables" <> qs
      )

    body = %{}
    api_call(:get, url, body, Noizu.Github.Raw, options)
  end

  @doc """
  List selected repositories for an organization secret

  @see https://docs.github.com/rest/agents/secrets#list-selected-repositories-for-an-organization-secret
  """
  def list_selected_repos_for_org_secret(org, secret_name, options \\ nil) do
    url =
      (
        query =
          [
            get_field(:page, options, nil),
            get_field(:per_page, options, nil)
          ]
          |> Enum.filter(& &1)

        qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
        github_base() <> "/orgs/#{org}/agents/secrets/#{secret_name}/repositories" <> qs
      )

    body = %{}
    api_call(:get, url, body, Noizu.Github.Raw, options)
  end

  @doc """
  List selected repositories for an organization variable

  @see https://docs.github.com/rest/agents/variables#list-selected-repositories-for-an-organization-variable
  """
  def list_selected_repos_for_org_variable(org, name, options \\ nil) do
    url =
      (
        query =
          [
            get_field(:page, options, nil),
            get_field(:per_page, options, nil)
          ]
          |> Enum.filter(& &1)

        qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
        github_base() <> "/orgs/#{org}/agents/variables/#{name}/repositories" <> qs
      )

    body = %{}
    api_call(:get, url, body, Noizu.Github.Raw, options)
  end

  @doc """
  Remove selected repository from an organization secret

  @see https://docs.github.com/rest/agents/secrets#remove-selected-repository-from-an-organization-secret
  """
  def remove_selected_repo_from_org_secret(org, secret_name, repository_id, options \\ nil) do
    url =
      github_base() <> "/orgs/#{org}/agents/secrets/#{secret_name}/repositories/#{repository_id}"

    body = %{}
    api_call(:delete, url, body, Noizu.Github.Raw, options)
  end

  @doc """
  Remove selected repository from an organization variable

  @see https://docs.github.com/rest/agents/variables#remove-selected-repository-from-an-organization-variable
  """
  def remove_selected_repo_from_org_variable(org, name, repository_id, options \\ nil) do
    url = github_base() <> "/orgs/#{org}/agents/variables/#{name}/repositories/#{repository_id}"
    body = %{}
    api_call(:delete, url, body, Noizu.Github.Raw, options)
  end

  @doc """
  Set selected repositories for an organization secret

  @see https://docs.github.com/rest/agents/secrets#set-selected-repositories-for-an-organization-secret
  """
  def set_selected_repos_for_org_secret(org, secret_name, body, options \\ nil) do
    url = github_base() <> "/orgs/#{org}/agents/secrets/#{secret_name}/repositories"
    body = body
    api_call(:put, url, body, Noizu.Github.Raw, options)
  end

  @doc """
  Set selected repositories for an organization variable

  @see https://docs.github.com/rest/agents/variables#set-selected-repositories-for-an-organization-variable
  """
  def set_selected_repos_for_org_variable(org, name, body, options \\ nil) do
    url = github_base() <> "/orgs/#{org}/agents/variables/#{name}/repositories"
    body = body
    api_call(:put, url, body, Noizu.Github.Raw, options)
  end

  @doc """
  Update an organization variable

  @see https://docs.github.com/rest/agents/variables#update-an-organization-variable
  """
  def update_org_variable(org, name, body, options \\ nil) do
    url = github_base() <> "/orgs/#{org}/agents/variables/#{name}"
    body = body
    api_call(:patch, url, body, Noizu.Github.Raw, options)
  end

  @doc """
  Update a repository variable

  @see https://docs.github.com/rest/agents/variables#update-a-repository-variable
  """
  def update_repo_variable(name, body, options \\ nil) do
    owner = repo_owner(options)
    repo = repo_name(options)
    url = github_base() <> "/repos/#{owner}/#{repo}/agents/variables/#{name}"
    body = body
    api_call(:patch, url, body, Noizu.Github.Raw, options)
  end
end