octokit / octokit.net

A GitHub API client library for .NET
https://octokitnet.readthedocs.io/en/latest/
MIT License
2.62k stars 1.07k forks source link

[FEAT]: Codespaces: Add support for creating codespaces and get machine types #2915

Open Aaron-Junker opened 2 weeks ago

Aaron-Junker commented 2 weeks ago

Describe the need

This will allow Octokit to generate new codespaces with available machine types from a repository.

A possible implementation could be a function with the signature Codespace GitHubClient.Codespaces.Create(string repoOwner, string repoName, Machine machineType, string ref="main", CodespaceLocation? location= null, string? displayName = null)

CodespaceLocation is an enum with the values EuropeWest, SoutheastAsia, UsEast, UsWest

To get available machine configurations you could run a function with the signature: MachineCollection GitHubClient.Codespaces.GetAvailableMachines(string repoOwner, string repoName, string? ref=null)

MachineCollection will be a new type that can save multiple Machine objects.

Relevant API docs: https://docs.github.com/en/rest/codespaces/codespaces?apiVersion=2022-11-28#create-a-codespace-in-a-repository https://docs.github.com/en/rest/codespaces/machines?apiVersion=2022-11-28#list-available-machine-types-for-a-repository

SDK Version

No response

API Version

No response

Relevant log output

No response

Code of Conduct