GraphQL: Implement runnerCloudProvisioningOptions query
In order to support #437907 (closed) in the frontend, we'll need a GraphQL query that will return the possible values for region, zone, and machine type selections.
Proposal
Add the following query and supporting types as alpha
:
{
project(fullPath: "gitlab-org/playground") {
id
runnerCloudProvisioningOptions(provider: GOOGLE_CLOUD) {
regions(first: 2) {
nodes {
name
description
}
pageInfo {
hasNextPage
endCursor
}
}
zones(region: "us-east1", first: 2) {
nodes {
name
description
}
pageInfo {
hasNextPage
endCursor
}
}
machineTypes(zone: "us-east1-b", first: 2) {
nodes {
name
description
zone
}
pageInfo {
hasNextPage
endCursor
}
}
}
}
}
Proposal
MVP
Using the REST client implemented in #439569 (closed) and services implemented in !143570 (merged), create a runnerCloudProvisioningOptions
GraphQL query inside the ProjectType
object. The new Types::Ci::RunnerCloudProvisioningOptionsType
will have access to the project and its WLIF integration, which will allow it to construct the REST client.