defmodule GitHub.EnterpriseAdmin do @moduledoc """ Provides API endpoints related to enterprise admin """ @default_client GitHub.Client @doc """ Add custom labels to a self-hosted runner for an enterprise ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#add-custom-labels-to-a-self-hosted-runner-for-an-enterprise) """ @spec add_custom_labels_to_self_hosted_runner_for_enterprise(String.t(), integer, map, keyword) :: {:ok, map} | {:error, GitHub.Error.t()} def add_custom_labels_to_self_hosted_runner_for_enterprise( enterprise, runner_id, body, opts \\ [] ) do client = opts[:client] || @default_client client.request(%{ url: "/enterprises/#{enterprise}/actions/runners/#{runner_id}/labels", body: body, method: :post, request: [{"application/json", :map}], response: [ {200, :map}, {404, {GitHub.BasicError, :t}}, {422, {GitHub.ValidationError, :simple}} ], opts: opts }) end @doc """ Add organization access to a self-hosted runner group in an enterprise ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#add-organization-access-to-a-self-hosted-runner-group-in-an-enterprise) """ @spec add_org_access_to_self_hosted_runner_group_in_enterprise( String.t(), integer, integer, keyword ) :: :ok | {:error, GitHub.Error.t()} def add_org_access_to_self_hosted_runner_group_in_enterprise( enterprise, runner_group_id, org_id, opts \\ [] ) do client = opts[:client] || @default_client client.request(%{ url: "/enterprises/#{enterprise}/actions/runner-groups/#{runner_group_id}/organizations/#{org_id}", method: :put, response: [{204, nil}], opts: opts }) end @doc """ Add a self-hosted runner to a group for an enterprise ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#add-a-self-hosted-runner-to-a-group-for-an-enterprise) """ @spec add_self_hosted_runner_to_group_for_enterprise(String.t(), integer, integer, keyword) :: :ok | {:error, GitHub.Error.t()} def add_self_hosted_runner_to_group_for_enterprise( enterprise, runner_group_id, runner_id, opts \\ [] ) do client = opts[:client] || @default_client client.request(%{ url: "/enterprises/#{enterprise}/actions/runner-groups/#{runner_group_id}/runners/#{runner_id}", method: :put, response: [{204, nil}], opts: opts }) end @doc """ Create a registration token for an enterprise ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#create-a-registration-token-for-an-enterprise) """ @spec create_registration_token_for_enterprise(String.t(), keyword) :: {:ok, GitHub.AuthenticationToken.t()} | {:error, GitHub.Error.t()} def create_registration_token_for_enterprise(enterprise, opts \\ []) do client = opts[:client] || @default_client client.request(%{ url: "/enterprises/#{enterprise}/actions/runners/registration-token", method: :post, response: [{201, {GitHub.AuthenticationToken, :t}}], opts: opts }) end @doc """ Create a remove token for an enterprise ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#create-a-remove-token-for-an-enterprise) """ @spec create_remove_token_for_enterprise(String.t(), keyword) :: {:ok, GitHub.AuthenticationToken.t()} | {:error, GitHub.Error.t()} def create_remove_token_for_enterprise(enterprise, opts \\ []) do client = opts[:client] || @default_client client.request(%{ url: "/enterprises/#{enterprise}/actions/runners/remove-token", method: :post, response: [{201, {GitHub.AuthenticationToken, :t}}], opts: opts }) end @doc """ Create a self-hosted runner group for an enterprise ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#create-self-hosted-runner-group-for-an-enterprise) """ @spec create_self_hosted_runner_group_for_enterprise(String.t(), map, keyword) :: {:ok, GitHub.Actions.Runner.GroupsEnterprise.t()} | {:error, GitHub.Error.t()} def create_self_hosted_runner_group_for_enterprise(enterprise, body, opts \\ []) do client = opts[:client] || @default_client client.request(%{ url: "/enterprises/#{enterprise}/actions/runner-groups", body: body, method: :post, request: [{"application/json", :map}], response: [{201, {GitHub.Actions.Runner.GroupsEnterprise, :t}}], opts: opts }) end @doc """ Delete a self-hosted runner from an enterprise ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#delete-self-hosted-runner-from-an-enterprise) """ @spec delete_self_hosted_runner_from_enterprise(String.t(), integer, keyword) :: :ok | {:error, GitHub.Error.t()} def delete_self_hosted_runner_from_enterprise(enterprise, runner_id, opts \\ []) do client = opts[:client] || @default_client client.request(%{ url: "/enterprises/#{enterprise}/actions/runners/#{runner_id}", method: :delete, response: [{204, nil}], opts: opts }) end @doc """ Delete a self-hosted runner group from an enterprise ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#delete-a-self-hosted-runner-group-from-an-enterprise) """ @spec delete_self_hosted_runner_group_from_enterprise(String.t(), integer, keyword) :: :ok | {:error, GitHub.Error.t()} def delete_self_hosted_runner_group_from_enterprise(enterprise, runner_group_id, opts \\ []) do client = opts[:client] || @default_client client.request(%{ url: "/enterprises/#{enterprise}/actions/runner-groups/#{runner_group_id}", method: :delete, response: [{204, nil}], opts: opts }) end @doc """ Disable a selected organization for GitHub Actions in an enterprise ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#disable-a-selected-organization-for-github-actions-in-an-enterprise) """ @spec disable_selected_organization_github_actions_enterprise(String.t(), integer, keyword) :: :ok | {:error, GitHub.Error.t()} def disable_selected_organization_github_actions_enterprise(enterprise, org_id, opts \\ []) do client = opts[:client] || @default_client client.request(%{ url: "/enterprises/#{enterprise}/actions/permissions/organizations/#{org_id}", method: :delete, response: [{204, nil}], opts: opts }) end @doc """ Enable a selected organization for GitHub Actions in an enterprise ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#enable-a-selected-organization-for-github-actions-in-an-enterprise) """ @spec enable_selected_organization_github_actions_enterprise(String.t(), integer, keyword) :: :ok | {:error, GitHub.Error.t()} def enable_selected_organization_github_actions_enterprise(enterprise, org_id, opts \\ []) do client = opts[:client] || @default_client client.request(%{ url: "/enterprises/#{enterprise}/actions/permissions/organizations/#{org_id}", method: :put, response: [{204, nil}], opts: opts }) end @doc """ Get allowed actions and reusable workflows for an enterprise ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#get-allowed-actions-for-an-enterprise) """ @spec get_allowed_actions_enterprise(String.t(), keyword) :: {:ok, GitHub.SelectedActions.t()} | {:error, GitHub.Error.t()} def get_allowed_actions_enterprise(enterprise, opts \\ []) do client = opts[:client] || @default_client client.request(%{ url: "/enterprises/#{enterprise}/actions/permissions/selected-actions", method: :get, response: [{200, {GitHub.SelectedActions, :t}}], opts: opts }) end @doc """ Get GitHub Actions permissions for an enterprise ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#get-github-actions-permissions-for-an-enterprise) """ @spec get_github_actions_permissions_enterprise(String.t(), keyword) :: {:ok, GitHub.Actions.EnterprisePermissions.t()} | {:error, GitHub.Error.t()} def get_github_actions_permissions_enterprise(enterprise, opts \\ []) do client = opts[:client] || @default_client client.request(%{ url: "/enterprises/#{enterprise}/actions/permissions", method: :get, response: [{200, {GitHub.Actions.EnterprisePermissions, :t}}], opts: opts }) end @doc """ Get a self-hosted runner for an enterprise ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-for-an-enterprise) """ @spec get_self_hosted_runner_for_enterprise(String.t(), integer, keyword) :: {:ok, GitHub.Actions.Runner.t()} | {:error, GitHub.Error.t()} def get_self_hosted_runner_for_enterprise(enterprise, runner_id, opts \\ []) do client = opts[:client] || @default_client client.request(%{ url: "/enterprises/#{enterprise}/actions/runners/#{runner_id}", method: :get, response: [{200, {GitHub.Actions.Runner, :t}}], opts: opts }) end @doc """ Get a self-hosted runner group for an enterprise ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-group-for-an-enterprise) """ @spec get_self_hosted_runner_group_for_enterprise(String.t(), integer, keyword) :: {:ok, GitHub.Actions.Runner.GroupsEnterprise.t()} | {:error, GitHub.Error.t()} def get_self_hosted_runner_group_for_enterprise(enterprise, runner_group_id, opts \\ []) do client = opts[:client] || @default_client client.request(%{ url: "/enterprises/#{enterprise}/actions/runner-groups/#{runner_group_id}", method: :get, response: [{200, {GitHub.Actions.Runner.GroupsEnterprise, :t}}], opts: opts }) end @doc """ Get GitHub Enterprise Server statistics ## Options * `date_start` (String.t()): A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. * `date_end` (String.t()): A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. ## Resources * [API method documentation](https://docs.github.com/rest/reference/enterprise-admin#get-github-enterprise-server-statistics) """ @spec get_server_statistics(String.t(), keyword) :: {:ok, [map]} | {:error, GitHub.Error.t()} def get_server_statistics(enterprise_or_org, opts \\ []) do client = opts[:client] || @default_client query = Keyword.take(opts, [:date_end, :date_start]) client.request(%{ url: "/enterprise-installation/#{enterprise_or_org}/server-statistics", method: :get, query: query, response: [{200, {:array, :map}}], opts: opts }) end @doc """ List labels for a self-hosted runner for an enterprise ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#list-labels-for-a-self-hosted-runner-for-an-enterprise) """ @spec list_labels_for_self_hosted_runner_for_enterprise(String.t(), integer, keyword) :: {:ok, map} | {:error, GitHub.Error.t()} def list_labels_for_self_hosted_runner_for_enterprise(enterprise, runner_id, opts \\ []) do client = opts[:client] || @default_client client.request(%{ url: "/enterprises/#{enterprise}/actions/runners/#{runner_id}/labels", method: :get, response: [{200, :map}, {404, {GitHub.BasicError, :t}}], opts: opts }) end @doc """ List organization access to a self-hosted runner group in an enterprise ## Options * `per_page` (integer): The number of results per page (max 100). * `page` (integer): Page number of the results to fetch. ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#list-organization-access-to-a-self-hosted-runner-group-in-a-enterprise) """ @spec list_org_access_to_self_hosted_runner_group_in_enterprise(String.t(), integer, keyword) :: {:ok, map} | {:error, GitHub.Error.t()} def list_org_access_to_self_hosted_runner_group_in_enterprise( enterprise, runner_group_id, opts \\ [] ) do client = opts[:client] || @default_client query = Keyword.take(opts, [:page, :per_page]) client.request(%{ url: "/enterprises/#{enterprise}/actions/runner-groups/#{runner_group_id}/organizations", method: :get, query: query, response: [{200, :map}], opts: opts }) end @doc """ List runner applications for an enterprise ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#list-runner-applications-for-an-enterprise) """ @spec list_runner_applications_for_enterprise(String.t(), keyword) :: {:ok, [GitHub.Actions.Runner.Application.t()]} | {:error, GitHub.Error.t()} def list_runner_applications_for_enterprise(enterprise, opts \\ []) do client = opts[:client] || @default_client client.request(%{ url: "/enterprises/#{enterprise}/actions/runners/downloads", method: :get, response: [{200, {:array, {GitHub.Actions.Runner.Application, :t}}}], opts: opts }) end @doc """ List selected organizations enabled for GitHub Actions in an enterprise ## Options * `per_page` (integer): The number of results per page (max 100). * `page` (integer): Page number of the results to fetch. ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#list-selected-organizations-enabled-for-github-actions-in-an-enterprise) """ @spec list_selected_organizations_enabled_github_actions_enterprise(String.t(), keyword) :: {:ok, map} | {:error, GitHub.Error.t()} def list_selected_organizations_enabled_github_actions_enterprise(enterprise, opts \\ []) do client = opts[:client] || @default_client query = Keyword.take(opts, [:page, :per_page]) client.request(%{ url: "/enterprises/#{enterprise}/actions/permissions/organizations", method: :get, query: query, response: [{200, :map}], opts: opts }) end @doc """ List self-hosted runner groups for an enterprise ## Options * `per_page` (integer): The number of results per page (max 100). * `page` (integer): Page number of the results to fetch. * `visible_to_organization` (String.t()): Only return runner groups that are allowed to be used by this organization. ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#list-self-hosted-runner-groups-for-an-enterprise) """ @spec list_self_hosted_runner_groups_for_enterprise(String.t(), keyword) :: {:ok, map} | {:error, GitHub.Error.t()} def list_self_hosted_runner_groups_for_enterprise(enterprise, opts \\ []) do client = opts[:client] || @default_client query = Keyword.take(opts, [:page, :per_page, :visible_to_organization]) client.request(%{ url: "/enterprises/#{enterprise}/actions/runner-groups", method: :get, query: query, response: [{200, :map}], opts: opts }) end @doc """ List self-hosted runners for an enterprise ## Options * `per_page` (integer): The number of results per page (max 100). * `page` (integer): Page number of the results to fetch. ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#list-self-hosted-runners-for-an-enterprise) """ @spec list_self_hosted_runners_for_enterprise(String.t(), keyword) :: {:ok, map} | {:error, GitHub.Error.t()} def list_self_hosted_runners_for_enterprise(enterprise, opts \\ []) do client = opts[:client] || @default_client query = Keyword.take(opts, [:page, :per_page]) client.request(%{ url: "/enterprises/#{enterprise}/actions/runners", method: :get, query: query, response: [{200, :map}], opts: opts }) end @doc """ List self-hosted runners in a group for an enterprise ## Options * `per_page` (integer): The number of results per page (max 100). * `page` (integer): Page number of the results to fetch. ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#list-self-hosted-runners-in-a-group-for-an-enterprise) """ @spec list_self_hosted_runners_in_group_for_enterprise(String.t(), integer, keyword) :: {:ok, map} | {:error, GitHub.Error.t()} def list_self_hosted_runners_in_group_for_enterprise(enterprise, runner_group_id, opts \\ []) do client = opts[:client] || @default_client query = Keyword.take(opts, [:page, :per_page]) client.request(%{ url: "/enterprises/#{enterprise}/actions/runner-groups/#{runner_group_id}/runners", method: :get, query: query, response: [{200, :map}], opts: opts }) end @doc """ Remove all custom labels from a self-hosted runner for an enterprise ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#remove-all-custom-labels-from-a-self-hosted-runner-for-an-enterprise) """ @spec remove_all_custom_labels_from_self_hosted_runner_for_enterprise( String.t(), integer, keyword ) :: {:ok, map} | {:error, GitHub.Error.t()} def remove_all_custom_labels_from_self_hosted_runner_for_enterprise( enterprise, runner_id, opts \\ [] ) do client = opts[:client] || @default_client client.request(%{ url: "/enterprises/#{enterprise}/actions/runners/#{runner_id}/labels", method: :delete, response: [ {200, :map}, {404, {GitHub.BasicError, :t}}, {422, {GitHub.ValidationError, :simple}} ], opts: opts }) end @doc """ Remove a custom label from a self-hosted runner for an enterprise ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#remove-a-custom-label-from-a-self-hosted-runner-for-an-enterprise) """ @spec remove_custom_label_from_self_hosted_runner_for_enterprise( String.t(), integer, String.t(), keyword ) :: {:ok, map} | {:error, GitHub.Error.t()} def remove_custom_label_from_self_hosted_runner_for_enterprise( enterprise, runner_id, name, opts \\ [] ) do client = opts[:client] || @default_client client.request(%{ url: "/enterprises/#{enterprise}/actions/runners/#{runner_id}/labels/#{name}", method: :delete, response: [ {200, :map}, {404, {GitHub.BasicError, :t}}, {422, {GitHub.ValidationError, :simple}} ], opts: opts }) end @doc """ Remove organization access to a self-hosted runner group in an enterprise ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#remove-organization-access-to-a-self-hosted-runner-group-in-an-enterprise) """ @spec remove_org_access_to_self_hosted_runner_group_in_enterprise( String.t(), integer, integer, keyword ) :: :ok | {:error, GitHub.Error.t()} def remove_org_access_to_self_hosted_runner_group_in_enterprise( enterprise, runner_group_id, org_id, opts \\ [] ) do client = opts[:client] || @default_client client.request(%{ url: "/enterprises/#{enterprise}/actions/runner-groups/#{runner_group_id}/organizations/#{org_id}", method: :delete, response: [{204, nil}], opts: opts }) end @doc """ Remove a self-hosted runner from a group for an enterprise ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#remove-a-self-hosted-runner-from-a-group-for-an-enterprise) """ @spec remove_self_hosted_runner_from_group_for_enterprise(String.t(), integer, integer, keyword) :: :ok | {:error, GitHub.Error.t()} def remove_self_hosted_runner_from_group_for_enterprise( enterprise, runner_group_id, runner_id, opts \\ [] ) do client = opts[:client] || @default_client client.request(%{ url: "/enterprises/#{enterprise}/actions/runner-groups/#{runner_group_id}/runners/#{runner_id}", method: :delete, response: [{204, nil}], opts: opts }) end @doc """ Get code security and analysis features for an enterprise ## Resources * [API method documentation](https://docs.github.com/rest/enterprise-admin#get-code-security-analysis-features-for-an-enterprise) """ @spec secret_scanning_get_security_analysis_settings_for_enterprise(String.t(), keyword) :: {:ok, GitHub.EnterpriseSecurityAnalysisSettings.t()} | {:error, GitHub.Error.t()} def secret_scanning_get_security_analysis_settings_for_enterprise(enterprise, opts \\ []) do client = opts[:client] || @default_client client.request(%{ url: "/enterprises/#{enterprise}/code_security_and_analysis", method: :get, response: [ {200, {GitHub.EnterpriseSecurityAnalysisSettings, :t}}, {404, {GitHub.BasicError, :t}} ], opts: opts }) end @doc """ Update code security and analysis features for an enterprise ## Resources * [API method documentation](https://docs.github.com/rest/enterprise-admin#update-code-security-and-analysis-features-for-an-enterprise) """ @spec secret_scanning_patch_security_analysis_settings_for_enterprise(String.t(), map, keyword) :: :ok | {:error, GitHub.Error.t()} def secret_scanning_patch_security_analysis_settings_for_enterprise( enterprise, body, opts \\ [] ) do client = opts[:client] || @default_client client.request(%{ url: "/enterprises/#{enterprise}/code_security_and_analysis", body: body, method: :patch, request: [{"application/json", :map}], response: [{204, nil}, {404, {GitHub.BasicError, :t}}, {422, nil}], opts: opts }) end @doc """ Enable or disable a security feature ## Resources * [API method documentation](https://docs.github.com/rest/enterprise-admin#enable-or-disable-a-security-feature) """ @spec secret_scanning_post_security_product_enablement_for_enterprise( String.t(), String.t(), String.t(), keyword ) :: :ok | {:error, GitHub.Error.t()} def secret_scanning_post_security_product_enablement_for_enterprise( enterprise, security_product, enablement, opts \\ [] ) do client = opts[:client] || @default_client client.request(%{ url: "/enterprises/#{enterprise}/#{security_product}/#{enablement}", method: :post, response: [{204, nil}, {404, {GitHub.BasicError, :t}}, {422, nil}], opts: opts }) end @doc """ Set allowed actions and reusable workflows for an enterprise ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#set-allowed-actions-for-an-enterprise) """ @spec set_allowed_actions_enterprise(String.t(), GitHub.SelectedActions.t(), keyword) :: :ok | {:error, GitHub.Error.t()} def set_allowed_actions_enterprise(enterprise, body, opts \\ []) do client = opts[:client] || @default_client client.request(%{ url: "/enterprises/#{enterprise}/actions/permissions/selected-actions", body: body, method: :put, request: [{"application/json", {GitHub.SelectedActions, :t}}], response: [{204, nil}], opts: opts }) end @doc """ Set custom labels for a self-hosted runner for an enterprise ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#set-custom-labels-for-a-self-hosted-runner-for-an-enterprise) """ @spec set_custom_labels_for_self_hosted_runner_for_enterprise(String.t(), integer, map, keyword) :: {:ok, map} | {:error, GitHub.Error.t()} def set_custom_labels_for_self_hosted_runner_for_enterprise( enterprise, runner_id, body, opts \\ [] ) do client = opts[:client] || @default_client client.request(%{ url: "/enterprises/#{enterprise}/actions/runners/#{runner_id}/labels", body: body, method: :put, request: [{"application/json", :map}], response: [ {200, :map}, {404, {GitHub.BasicError, :t}}, {422, {GitHub.ValidationError, :simple}} ], opts: opts }) end @doc """ Set GitHub Actions permissions for an enterprise ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#set-github-actions-permissions-for-an-enterprise) """ @spec set_github_actions_permissions_enterprise(String.t(), map, keyword) :: :ok | {:error, GitHub.Error.t()} def set_github_actions_permissions_enterprise(enterprise, body, opts \\ []) do client = opts[:client] || @default_client client.request(%{ url: "/enterprises/#{enterprise}/actions/permissions", body: body, method: :put, request: [{"application/json", :map}], response: [{204, nil}], opts: opts }) end @doc """ Set organization access for a self-hosted runner group in an enterprise ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#set-organization-access-to-a-self-hosted-runner-group-in-an-enterprise) """ @spec set_org_access_to_self_hosted_runner_group_in_enterprise( String.t(), integer, map, keyword ) :: :ok | {:error, GitHub.Error.t()} def set_org_access_to_self_hosted_runner_group_in_enterprise( enterprise, runner_group_id, body, opts \\ [] ) do client = opts[:client] || @default_client client.request(%{ url: "/enterprises/#{enterprise}/actions/runner-groups/#{runner_group_id}/organizations", body: body, method: :put, request: [{"application/json", :map}], response: [{204, nil}], opts: opts }) end @doc """ Set selected organizations enabled for GitHub Actions in an enterprise ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#set-selected-organizations-enabled-for-github-actions-in-an-enterprise) """ @spec set_selected_organizations_enabled_github_actions_enterprise(String.t(), map, keyword) :: :ok | {:error, GitHub.Error.t()} def set_selected_organizations_enabled_github_actions_enterprise(enterprise, body, opts \\ []) do client = opts[:client] || @default_client client.request(%{ url: "/enterprises/#{enterprise}/actions/permissions/organizations", body: body, method: :put, request: [{"application/json", :map}], response: [{204, nil}], opts: opts }) end @doc """ Set self-hosted runners in a group for an enterprise ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#set-self-hosted-runners-in-a-group-for-an-enterprise) """ @spec set_self_hosted_runners_in_group_for_enterprise(String.t(), integer, map, keyword) :: :ok | {:error, GitHub.Error.t()} def set_self_hosted_runners_in_group_for_enterprise( enterprise, runner_group_id, body, opts \\ [] ) do client = opts[:client] || @default_client client.request(%{ url: "/enterprises/#{enterprise}/actions/runner-groups/#{runner_group_id}/runners", body: body, method: :put, request: [{"application/json", :map}], response: [{204, nil}], opts: opts }) end @doc """ Update a self-hosted runner group for an enterprise ## Resources * [API method documentation](https://docs.github.com/rest/reference/actions#update-a-self-hosted-runner-group-for-an-enterprise) """ @spec update_self_hosted_runner_group_for_enterprise(String.t(), integer, map, keyword) :: {:ok, GitHub.Actions.Runner.GroupsEnterprise.t()} | {:error, GitHub.Error.t()} def update_self_hosted_runner_group_for_enterprise( enterprise, runner_group_id, body, opts \\ [] ) do client = opts[:client] || @default_client client.request(%{ url: "/enterprises/#{enterprise}/actions/runner-groups/#{runner_group_id}", body: body, method: :patch, request: [{"application/json", :map}], response: [{200, {GitHub.Actions.Runner.GroupsEnterprise, :t}}], opts: opts }) end end