├── README.md ├── flyctl ├── vmSizes.json ├── regions.json └── fly.graphql └── .github └── workflows └── scrape.yml /README.md: -------------------------------------------------------------------------------- 1 | # graphql-scraper 2 | 3 | Track changes to GraphQL APIs by scraping their schemas 4 | 5 | In this repo: 6 | 7 | - [flyctl/fly.graphql](flyctl/fly.graphql) ([history](https://github.com/simonw/graphql-scraper/commits/main/flyctl/fly.graphql)) for `https://api.fly.io/graphql` 8 | - [github/github.graphql](github/github.graphql) ([history](https://github.com/simonw/graphql-scraper/commits/main/github/github.graphql)) for `https://api.github.com/graphql` 9 | 10 | See also [git scraping](https://simonwillison.net/2020/Oct/9/git-scraping/) and [help scraping](https://simonwillison.net/2022/Feb/2/help-scraping/). 11 | -------------------------------------------------------------------------------- /flyctl/vmSizes.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "shared-cpu-1x", 4 | "cpuCores": 1.0, 5 | "maxMemoryMb": 2048, 6 | "memoryGb": 0.25, 7 | "memoryIncrementsMb": [ 8 | 256, 9 | 1024, 10 | 2048 11 | ], 12 | "memoryMb": 256, 13 | "priceMonth": 1.94, 14 | "priceSecond": 7.5E-7 15 | }, 16 | { 17 | "name": "dedicated-cpu-1x", 18 | "cpuCores": 1.0, 19 | "maxMemoryMb": 8192, 20 | "memoryGb": 2.0, 21 | "memoryIncrementsMb": [ 22 | 2048, 23 | 4096, 24 | 8192 25 | ], 26 | "memoryMb": 2048, 27 | "priceMonth": 31.0, 28 | "priceSecond": 0.00001196 29 | }, 30 | { 31 | "name": "dedicated-cpu-2x", 32 | "cpuCores": 2.0, 33 | "maxMemoryMb": 16384, 34 | "memoryGb": 4.0, 35 | "memoryIncrementsMb": [ 36 | 4096, 37 | 8192, 38 | 16384 39 | ], 40 | "memoryMb": 4096, 41 | "priceMonth": 62.0, 42 | "priceSecond": 0.00002392 43 | }, 44 | { 45 | "name": "dedicated-cpu-4x", 46 | "cpuCores": 4.0, 47 | "maxMemoryMb": 32768, 48 | "memoryGb": 8.0, 49 | "memoryIncrementsMb": [ 50 | 8192, 51 | 16384, 52 | 32768 53 | ], 54 | "memoryMb": 8192, 55 | "priceMonth": 124.0, 56 | "priceSecond": 0.00004784 57 | }, 58 | { 59 | "name": "dedicated-cpu-8x", 60 | "cpuCores": 8.0, 61 | "maxMemoryMb": 65536, 62 | "memoryGb": 16.0, 63 | "memoryIncrementsMb": [ 64 | 16384, 65 | 32768, 66 | 65536 67 | ], 68 | "memoryMb": 16384, 69 | "priceMonth": 248.0, 70 | "priceSecond": 0.00009568 71 | } 72 | ] 73 | -------------------------------------------------------------------------------- /.github/workflows/scrape.yml: -------------------------------------------------------------------------------- 1 | name: Scrape latest schemas 2 | 3 | on: 4 | workflow_dispatch: 5 | schedule: 6 | - cron: '42 3 * * *' 7 | 8 | jobs: 9 | scheduled: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - name: Check out this repo 13 | uses: actions/checkout@v2 14 | with: 15 | fetch-depth: 0 16 | - name: Ensure npx uses a cache 17 | uses: actions/setup-node@v2 18 | with: 19 | node-version: '14' 20 | cache: 'npm' 21 | cache-dependency-path: '**/.github/workflows/*.yml' 22 | - name: Configure Git for commits 23 | run: |- 24 | git config user.name "Automated" 25 | git config user.email "actions@users.noreply.github.com" 26 | - name: GitHub 27 | run: |- 28 | mkdir -p github 29 | npx get-graphql-schema https://api.github.com/graphql \ 30 | -h 'Authorization=Bearer ${{ secrets.GITHUB_TOKEN }}' > github/github.graphql 31 | - name: Commit and push if it changed 32 | run: |- 33 | git add -A 34 | timestamp=$(date -u) 35 | git commit -m "GitHub: ${timestamp}" || exit 0 36 | git push 37 | - name: Fly 38 | run: |- 39 | npx get-graphql-schema https://api.fly.io/graphql > flyctl/fly.graphql 40 | - name: Fly regions and vmsizes 41 | env: 42 | FLY_SIMONW_API_TOKEN: ${{ secrets.FLY_SIMONW_API_TOKEN }} 43 | run: |- 44 | curl -X POST \ 45 | -H "Content-Type: application/json" \ 46 | -H "Authorization: Bearer $FLY_SIMONW_API_TOKEN" \ 47 | -d '{"query":"{ platform { regions { code latitude longitude name } } }"}' \ 48 | https://api.fly.io/graphql | jq '.data.platform.regions' > flyctl/regions.json 49 | curl -X POST \ 50 | -H "Content-Type: application/json" \ 51 | -H "Authorization: Bearer $FLY_SIMONW_API_TOKEN" \ 52 | -d '{"query":"{ platform { vmSizes { name cpuCores maxMemoryMb memoryGb memoryIncrementsMb memoryMb priceMonth priceSecond } } }"}' \ 53 | https://api.fly.io/graphql | jq '.data.platform.vmSizes' > flyctl/vmSizes.json 54 | - name: Commit and push if it changed 55 | run: |- 56 | git add -A 57 | timestamp=$(date -u) 58 | git commit -m "Fly: ${timestamp}" || exit 0 59 | git push 60 | -------------------------------------------------------------------------------- /flyctl/regions.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "code": "ams", 4 | "latitude": 52.374342, 5 | "longitude": 4.895439, 6 | "name": "Amsterdam, Netherlands" 7 | }, 8 | { 9 | "code": "arn", 10 | "latitude": 59.6512, 11 | "longitude": 17.9178, 12 | "name": "Stockholm, Sweden" 13 | }, 14 | { 15 | "code": "atl", 16 | "latitude": 33.6407, 17 | "longitude": -84.4277, 18 | "name": "Atlanta, Georgia (US)" 19 | }, 20 | { 21 | "code": "bog", 22 | "latitude": 4.70159, 23 | "longitude": -74.1469, 24 | "name": "Bogotá, Colombia" 25 | }, 26 | { 27 | "code": "bom", 28 | "latitude": 19.097403, 29 | "longitude": 72.874245, 30 | "name": "Mumbai, India" 31 | }, 32 | { 33 | "code": "bos", 34 | "latitude": 42.366978, 35 | "longitude": -71.022362, 36 | "name": "Boston, Massachusetts (US)" 37 | }, 38 | { 39 | "code": "cdg", 40 | "latitude": 48.860875, 41 | "longitude": 2.353477, 42 | "name": "Paris, France" 43 | }, 44 | { 45 | "code": "den", 46 | "latitude": 39.7392, 47 | "longitude": -104.9847, 48 | "name": "Denver, Colorado (US)" 49 | }, 50 | { 51 | "code": "dfw", 52 | "latitude": 32.778287, 53 | "longitude": -96.7984, 54 | "name": "Dallas, Texas (US)" 55 | }, 56 | { 57 | "code": "ewr", 58 | "latitude": 40.789543, 59 | "longitude": -74.056534, 60 | "name": "Secaucus, NJ (US)" 61 | }, 62 | { 63 | "code": "eze", 64 | "latitude": -34.8222, 65 | "longitude": -58.5358, 66 | "name": "Ezeiza, Argentina" 67 | }, 68 | { 69 | "code": "fra", 70 | "latitude": 50.1167, 71 | "longitude": 8.6833, 72 | "name": "Frankfurt, Germany" 73 | }, 74 | { 75 | "code": "gdl", 76 | "latitude": 20.5217, 77 | "longitude": -103.3109, 78 | "name": "Guadalajara, Mexico" 79 | }, 80 | { 81 | "code": "gig", 82 | "latitude": -22.8099, 83 | "longitude": -43.2505, 84 | "name": "Rio de Janeiro, Brazil" 85 | }, 86 | { 87 | "code": "gru", 88 | "latitude": -23.549664, 89 | "longitude": -46.654351, 90 | "name": "Sao Paulo, Brazil" 91 | }, 92 | { 93 | "code": "hkg", 94 | "latitude": 22.250971, 95 | "longitude": 114.203224, 96 | "name": "Hong Kong, Hong Kong" 97 | }, 98 | { 99 | "code": "iad", 100 | "latitude": 39.02214, 101 | "longitude": -77.462556, 102 | "name": "Ashburn, Virginia (US)" 103 | }, 104 | { 105 | "code": "jnb", 106 | "latitude": -26.13629, 107 | "longitude": 28.20298, 108 | "name": "Johannesburg, South Africa" 109 | }, 110 | { 111 | "code": "lax", 112 | "latitude": 33.9416, 113 | "longitude": -118.4085, 114 | "name": "Los Angeles, California (US)" 115 | }, 116 | { 117 | "code": "lhr", 118 | "latitude": 51.516434, 119 | "longitude": -0.125656, 120 | "name": "London, United Kingdom" 121 | }, 122 | { 123 | "code": "mad", 124 | "latitude": 40.4381, 125 | "longitude": -3.82, 126 | "name": "Madrid, Spain" 127 | }, 128 | { 129 | "code": "mia", 130 | "latitude": 25.7877, 131 | "longitude": -80.2241, 132 | "name": "Miami, Florida (US)" 133 | }, 134 | { 135 | "code": "nrt", 136 | "latitude": 35.621608, 137 | "longitude": 139.741851, 138 | "name": "Tokyo, Japan" 139 | }, 140 | { 141 | "code": "ord", 142 | "latitude": 41.891544, 143 | "longitude": -87.630386, 144 | "name": "Chicago, Illinois (US)" 145 | }, 146 | { 147 | "code": "otp", 148 | "latitude": 44.4325, 149 | "longitude": 26.1039, 150 | "name": "Bucharest, Romania" 151 | }, 152 | { 153 | "code": "phx", 154 | "latitude": 33.416084, 155 | "longitude": -112.009482, 156 | "name": "Phoenix, Arizona (US)" 157 | }, 158 | { 159 | "code": "qro", 160 | "latitude": 20.62, 161 | "longitude": -100.1863, 162 | "name": "Querétaro, Mexico" 163 | }, 164 | { 165 | "code": "scl", 166 | "latitude": -33.36572, 167 | "longitude": -70.64292, 168 | "name": "Santiago, Chile" 169 | }, 170 | { 171 | "code": "sea", 172 | "latitude": 47.6097, 173 | "longitude": -122.3331, 174 | "name": "Seattle, Washington (US)" 175 | }, 176 | { 177 | "code": "sin", 178 | "latitude": 1.3, 179 | "longitude": 103.8, 180 | "name": "Singapore, Singapore" 181 | }, 182 | { 183 | "code": "sjc", 184 | "latitude": 37.351601, 185 | "longitude": -121.896744, 186 | "name": "San Jose, California (US)" 187 | }, 188 | { 189 | "code": "syd", 190 | "latitude": -33.866033, 191 | "longitude": 151.20693, 192 | "name": "Sydney, Australia" 193 | }, 194 | { 195 | "code": "waw", 196 | "latitude": 52.1657, 197 | "longitude": 20.9671, 198 | "name": "Warsaw, Poland" 199 | }, 200 | { 201 | "code": "yul", 202 | "latitude": 45.48647, 203 | "longitude": -73.75549, 204 | "name": "Montreal, Canada" 205 | }, 206 | { 207 | "code": "yyz", 208 | "latitude": 43.644632, 209 | "longitude": -79.384228, 210 | "name": "Toronto, Canada" 211 | } 212 | ] 213 | -------------------------------------------------------------------------------- /flyctl/fly.graphql: -------------------------------------------------------------------------------- 1 | schema { 2 | query: Queries 3 | mutation: Mutations 4 | } 5 | 6 | """ 7 | Requires that exactly one field must be supplied and that field must not be `null`. 8 | """ 9 | directive @oneOf on INPUT_OBJECT 10 | 11 | """Exposes a URL that specifies the behavior of this scalar.""" 12 | directive @specifiedBy( 13 | """The URL that specifies the behavior of this scalar.""" 14 | url: String! 15 | ) on SCALAR 16 | 17 | type AccessToken implements Node { 18 | createdAt: ISO8601DateTime! 19 | id: ID! 20 | name: String! 21 | type: AccessTokenType! 22 | } 23 | 24 | """The connection type for AccessToken.""" 25 | type AccessTokenConnection { 26 | """A list of edges.""" 27 | edges: [AccessTokenEdge] 28 | 29 | """A list of nodes.""" 30 | nodes: [AccessToken] 31 | 32 | """Information to aid in pagination.""" 33 | pageInfo: PageInfo! 34 | totalCount: Int! 35 | } 36 | 37 | """An edge in a connection.""" 38 | type AccessTokenEdge { 39 | """A cursor for use in pagination.""" 40 | cursor: String! 41 | 42 | """The item at the end of the edge.""" 43 | node: AccessToken 44 | } 45 | 46 | enum AccessTokenType { 47 | """token generated for and used by flyctl""" 48 | flyctl 49 | 50 | """token generated for our UI frontend""" 51 | ui 52 | 53 | """personal access token generated in the UI""" 54 | pat 55 | 56 | """token for fly-metrics.net""" 57 | grafana 58 | 59 | """used for querying access tokens""" 60 | all 61 | 62 | """used for Sentry""" 63 | sentry 64 | 65 | """access token""" 66 | token 67 | } 68 | 69 | """Autogenerated return type of AddCertificate.""" 70 | type AddCertificatePayload { 71 | app: App 72 | certificate: AppCertificate 73 | check: HostnameCheck 74 | errors: [String!] 75 | } 76 | 77 | type AddOn implements Node { 78 | """The add-on plan""" 79 | addOnPlan: AddOnPlan 80 | 81 | """The display name for an add-on plan""" 82 | addOnPlanName: String 83 | 84 | """The add-on provider""" 85 | addOnProvider: AddOnProvider 86 | 87 | """An app associated with this add-on""" 88 | app: App 89 | 90 | """Apps associated with this add-on""" 91 | apps( 92 | """Returns the elements in the list that come after the specified cursor.""" 93 | after: String 94 | 95 | """ 96 | Returns the elements in the list that come before the specified cursor. 97 | """ 98 | before: String 99 | 100 | """Returns the first _n_ elements from the list.""" 101 | first: Int 102 | 103 | """Returns the last _n_ elements from the list.""" 104 | last: Int 105 | ): AppConnection 106 | createdAt: ISO8601DateTime! 107 | 108 | """Environment variables for the add-on""" 109 | environment: JSON 110 | 111 | """Optional error message when `status` is `error`""" 112 | errorMessage: String 113 | 114 | """DNS hostname for the add-on""" 115 | hostname: String 116 | id: ID! 117 | 118 | """Add-on metadata""" 119 | metadata: JSON 120 | 121 | """The service name according to the provider""" 122 | name: String 123 | 124 | """Add-on options""" 125 | options: JSON 126 | 127 | """Organization that owns this service""" 128 | organization: Organization! 129 | 130 | """Password for the add-on""" 131 | password: String 132 | 133 | """Region where the primary instance is deployed""" 134 | primaryRegion: String 135 | 136 | """Private flycast IP address of the add-on""" 137 | privateIp: String 138 | 139 | """Public URL for this service""" 140 | publicUrl: String 141 | 142 | """Regions where replica instances are deployed""" 143 | readRegions: [String!] 144 | 145 | """Single sign-on link to the add-on dashboard""" 146 | ssoLink: String 147 | 148 | """Redis database statistics""" 149 | stats: JSON 150 | 151 | """Status of the add-on""" 152 | status: String 153 | updatedAt: ISO8601DateTime! 154 | } 155 | 156 | """The connection type for AddOn.""" 157 | type AddOnConnection { 158 | """A list of edges.""" 159 | edges: [AddOnEdge] 160 | 161 | """A list of nodes.""" 162 | nodes: [AddOn] 163 | 164 | """Information to aid in pagination.""" 165 | pageInfo: PageInfo! 166 | totalCount: Int! 167 | } 168 | 169 | """An edge in a connection.""" 170 | type AddOnEdge { 171 | """A cursor for use in pagination.""" 172 | cursor: String! 173 | 174 | """The item at the end of the edge.""" 175 | node: AddOn 176 | } 177 | 178 | type AddOnPlan implements Node { 179 | description: String 180 | displayName: String 181 | id: ID! 182 | maxCommandsPerSec: Int 183 | maxConcurrentConnections: Int 184 | maxDailyBandwidth: String 185 | maxDailyCommands: Int 186 | maxDataSize: String 187 | maxRequestSize: String 188 | name: String 189 | pricePerMonth: Int 190 | } 191 | 192 | """The connection type for AddOnPlan.""" 193 | type AddOnPlanConnection { 194 | """A list of edges.""" 195 | edges: [AddOnPlanEdge] 196 | 197 | """A list of nodes.""" 198 | nodes: [AddOnPlan] 199 | 200 | """Information to aid in pagination.""" 201 | pageInfo: PageInfo! 202 | totalCount: Int! 203 | } 204 | 205 | """An edge in a connection.""" 206 | type AddOnPlanEdge { 207 | """A cursor for use in pagination.""" 208 | cursor: String! 209 | 210 | """The item at the end of the edge.""" 211 | node: AddOnPlan 212 | } 213 | 214 | type AddOnProvider { 215 | asyncProvisioning: Boolean! 216 | autoProvision: Boolean! 217 | beta: Boolean! 218 | detectPlatform: Boolean! 219 | displayName: String 220 | excludedRegions: [Region!] 221 | id: ID! 222 | internal: Boolean! 223 | name: String 224 | nameSuffix: String 225 | provisioningInstructions: String 226 | regions: [Region!] 227 | resourceName: String! 228 | selectName: Boolean! 229 | selectRegion: Boolean! 230 | selectReplicaRegions: Boolean! 231 | tosAgreement: String 232 | tosUrl: String 233 | } 234 | 235 | enum AddOnType { 236 | """An Upstash Redis database""" 237 | redis 238 | 239 | """An Upstash Redis database""" 240 | upstash_redis 241 | 242 | """An Upstash Kafka cluster""" 243 | upstash_kafka 244 | 245 | """An Upstash Vector cluster""" 246 | upstash_vector 247 | 248 | """A Sentry project endpoint""" 249 | sentry 250 | 251 | """A Kubernetes cluster""" 252 | kubernetes 253 | 254 | """A Supabase database""" 255 | supabase 256 | 257 | """A Tigris Data bucket""" 258 | tigris 259 | 260 | """An Enveloop project""" 261 | enveloop 262 | 263 | """A Wafris firewall""" 264 | wafris 265 | 266 | """An Arcjet site""" 267 | arcjet 268 | 269 | """A MySQL database""" 270 | fly_mysql 271 | } 272 | 273 | """Autogenerated input type of AddWireGuardPeer""" 274 | input AddWireGuardPeerInput { 275 | """A unique identifier for the client performing the mutation.""" 276 | clientMutationId: String 277 | 278 | """The node ID of the organization""" 279 | organizationId: ID! 280 | 281 | """The region in which to deploy the peer""" 282 | region: String 283 | 284 | """The name with which to refer to the peer""" 285 | name: String! 286 | 287 | """The 25519 public key for the peer""" 288 | pubkey: String! 289 | 290 | """Network ID to attach wireguard peer to""" 291 | network: String 292 | 293 | """Add via NATS transaction (deprecated - nats is always used)""" 294 | nats: Boolean 295 | 296 | """An ephemeral peer will be destroyed if not validated for too long""" 297 | ephemeral: Boolean 298 | } 299 | 300 | """Autogenerated return type of AddWireGuardPeer.""" 301 | type AddWireGuardPeerPayload { 302 | """A unique identifier for the client performing the mutation.""" 303 | clientMutationId: String 304 | endpointip: String! 305 | network: String 306 | peerip: String! 307 | pubkey: String! 308 | } 309 | 310 | """Autogenerated input type of AllocateEgressIPAddress""" 311 | input AllocateEgressIPAddressInput { 312 | """A unique identifier for the client performing the mutation.""" 313 | clientMutationId: String 314 | 315 | """The ID of the app""" 316 | appId: ID! 317 | 318 | """ID of the machine""" 319 | machineId: ID! 320 | } 321 | 322 | """Autogenerated return type of AllocateEgressIPAddress.""" 323 | type AllocateEgressIPAddressPayload { 324 | """A unique identifier for the client performing the mutation.""" 325 | clientMutationId: String 326 | v4: String! 327 | v6: String! 328 | } 329 | 330 | """Autogenerated input type of AllocateIPAddress""" 331 | input AllocateIPAddressInput { 332 | """A unique identifier for the client performing the mutation.""" 333 | clientMutationId: String 334 | 335 | """The application to allocate the ip address for""" 336 | appId: ID! 337 | 338 | """The type of IP address to allocate (v4, v6, or private_v6)""" 339 | type: IPAddressType! 340 | 341 | """ 342 | The organization whose network should be used for private IP allocation 343 | """ 344 | organizationId: ID 345 | 346 | """Desired IP region (defaults to global)""" 347 | region: String 348 | 349 | """The target network name in the specified organization""" 350 | network: String 351 | 352 | """The name of the associated service""" 353 | serviceName: String 354 | } 355 | 356 | """Autogenerated return type of AllocateIPAddress.""" 357 | type AllocateIPAddressPayload { 358 | app: App! 359 | 360 | """A unique identifier for the client performing the mutation.""" 361 | clientMutationId: String 362 | ipAddress: IPAddress 363 | } 364 | 365 | type Allocation implements Node { 366 | attachedVolumes( 367 | """Returns the elements in the list that come after the specified cursor.""" 368 | after: String 369 | 370 | """ 371 | Returns the elements in the list that come before the specified cursor. 372 | """ 373 | before: String 374 | 375 | """Returns the first _n_ elements from the list.""" 376 | first: Int 377 | 378 | """Returns the last _n_ elements from the list.""" 379 | last: Int 380 | ): VolumeConnection! 381 | canary: Boolean! 382 | checks( 383 | """Filter checks by name""" 384 | name: String 385 | ): [CheckState!]! 386 | createdAt: ISO8601DateTime! 387 | criticalCheckCount: Int! 388 | 389 | """Desired status""" 390 | desiredStatus: String! 391 | events: [AllocationEvent!]! 392 | failed: Boolean! 393 | healthy: Boolean! 394 | 395 | """Unique ID for this instance""" 396 | id: ID! 397 | 398 | """Short unique ID for this instance""" 399 | idShort: ID! 400 | 401 | """Indicates if this instance is from the latest job version""" 402 | latestVersion: Boolean! 403 | passingCheckCount: Int! 404 | 405 | """Private IPv6 address for this instance""" 406 | privateIP: String 407 | recentLogs( 408 | """Max number of entries to return""" 409 | limit: Int = 10 410 | 411 | """Max age of log entries in seconds""" 412 | range: Int = 300 413 | ): [LogEntry!]! 414 | 415 | """Region this allocation is running in""" 416 | region: String! 417 | restarts: Int! 418 | 419 | """Current status""" 420 | status: String! 421 | taskName: String! 422 | totalCheckCount: Int! 423 | transitioning: Boolean! 424 | updatedAt: ISO8601DateTime! 425 | 426 | """The configuration version of this instance""" 427 | version: Int! 428 | warningCheckCount: Int! 429 | } 430 | 431 | type AllocationEvent { 432 | message: String! 433 | timestamp: ISO8601DateTime! 434 | type: String! 435 | } 436 | 437 | type App implements Node { 438 | addOns( 439 | """Returns the elements in the list that come after the specified cursor.""" 440 | after: String 441 | 442 | """ 443 | Returns the elements in the list that come before the specified cursor. 444 | """ 445 | before: String 446 | 447 | """Returns the first _n_ elements from the list.""" 448 | first: Int 449 | 450 | """Returns the last _n_ elements from the list.""" 451 | last: Int 452 | type: AddOnType 453 | ): AddOnConnection! 454 | allocation(id: String!): Allocation 455 | allocations(showCompleted: Boolean): [Allocation!]! 456 | appUrl: String 457 | autoscaling: AutoscalingConfig 458 | backupRegions: [Region!]! 459 | 460 | """[DEPRECATED] Builds of this application""" 461 | builds( 462 | """Returns the elements in the list that come after the specified cursor.""" 463 | after: String 464 | 465 | """ 466 | Returns the elements in the list that come before the specified cursor. 467 | """ 468 | before: String 469 | 470 | """Returns the first _n_ elements from the list.""" 471 | first: Int 472 | 473 | """Returns the last _n_ elements from the list.""" 474 | last: Int 475 | ): BuildConnection! @deprecated(reason: "Superseded by source_builds") 476 | 477 | """Find a certificate by hostname""" 478 | certificate(hostname: String!): AppCertificate 479 | 480 | """Certificates for this app""" 481 | certificates( 482 | """Returns the elements in the list that come after the specified cursor.""" 483 | after: String 484 | 485 | """ 486 | Returns the elements in the list that come before the specified cursor. 487 | """ 488 | before: String 489 | 490 | """Returns the first _n_ elements from the list.""" 491 | first: Int 492 | 493 | """Returns the last _n_ elements from the list.""" 494 | last: Int 495 | filter: String 496 | id: String 497 | ): AppCertificateConnection! 498 | 499 | """Changes to this application""" 500 | changes( 501 | """Returns the elements in the list that come after the specified cursor.""" 502 | after: String 503 | 504 | """ 505 | Returns the elements in the list that come before the specified cursor. 506 | """ 507 | before: String 508 | 509 | """Returns the first _n_ elements from the list.""" 510 | first: Int 511 | 512 | """Returns the last _n_ elements from the list.""" 513 | last: Int 514 | ): AppChangeConnection! 515 | config: AppConfig! 516 | createdAt: ISO8601DateTime! 517 | currentLock: AppLock 518 | currentPlacement: [RegionPlacement!]! 519 | 520 | """The latest release of this application""" 521 | currentRelease: Release 522 | 523 | """The latest release of this application, without any config processing""" 524 | currentReleaseUnprocessed: ReleaseUnprocessed 525 | deployed: Boolean! 526 | 527 | """Continuous deployment configuration""" 528 | deploymentSource: DeploymentSource 529 | 530 | """Find a deployment by id, defaults to latest""" 531 | deploymentStatus(id: ID, evaluationId: String): DeploymentStatus 532 | 533 | """Check if this app has a configured deployment source""" 534 | hasDeploymentSource: Boolean! 535 | healthChecks( 536 | """Returns the elements in the list that come after the specified cursor.""" 537 | after: String 538 | 539 | """ 540 | Returns the elements in the list that come before the specified cursor. 541 | """ 542 | before: String 543 | 544 | """Returns the first _n_ elements from the list.""" 545 | first: Int 546 | 547 | """Returns the last _n_ elements from the list.""" 548 | last: Int 549 | 550 | """Filter health checks by name""" 551 | name: String 552 | ): CheckStateConnection! 553 | 554 | """Host issues affecting this app""" 555 | hostIssues( 556 | """Returns the elements in the list that come after the specified cursor.""" 557 | after: String 558 | 559 | """ 560 | Returns the elements in the list that come before the specified cursor. 561 | """ 562 | before: String 563 | 564 | """Returns the first _n_ elements from the list.""" 565 | first: Int 566 | 567 | """Returns the last _n_ elements from the list.""" 568 | last: Int 569 | ): IssueConnection 570 | 571 | """Autogenerated hostname for this application""" 572 | hostname: String 573 | 574 | """Unique application ID""" 575 | id: ID! 576 | 577 | """Resolve an image from a reference""" 578 | image(ref: String!): Image 579 | 580 | """Image details""" 581 | imageDetails: ImageVersion 582 | imageUpgradeAvailable: Boolean 583 | imageVersionTrackingEnabled: Boolean! 584 | 585 | """Authentication key to use with Instrumentation endpoints""" 586 | instrumentsKey: String 587 | internalId: String! 588 | internalNumericId: Int! 589 | 590 | """Find an ip address by address string""" 591 | ipAddress(address: String!): IPAddress 592 | ipAddresses( 593 | """Returns the elements in the list that come after the specified cursor.""" 594 | after: String 595 | 596 | """ 597 | Returns the elements in the list that come before the specified cursor. 598 | """ 599 | before: String 600 | 601 | """Returns the first _n_ elements from the list.""" 602 | first: Int 603 | 604 | """Returns the last _n_ elements from the list.""" 605 | last: Int 606 | ): IPAddressConnection! 607 | 608 | """This object's unique key""" 609 | key: String! 610 | 611 | """Latest image details""" 612 | latestImageDetails: ImageVersion 613 | limitedAccessTokens( 614 | """Returns the elements in the list that come after the specified cursor.""" 615 | after: String 616 | 617 | """ 618 | Returns the elements in the list that come before the specified cursor. 619 | """ 620 | before: String 621 | 622 | """Returns the first _n_ elements from the list.""" 623 | first: Int 624 | 625 | """Returns the last _n_ elements from the list.""" 626 | last: Int 627 | ): LimitedAccessTokenConnection! 628 | machine(id: String!): Machine 629 | machines( 630 | """Returns the elements in the list that come after the specified cursor.""" 631 | after: String 632 | 633 | """ 634 | Returns the elements in the list that come before the specified cursor. 635 | """ 636 | before: String 637 | 638 | """Returns the first _n_ elements from the list.""" 639 | first: Int 640 | 641 | """Returns the last _n_ elements from the list.""" 642 | last: Int 643 | version: Int 644 | 645 | """Return only started/stopped machines (excludes destroyed, etc.)""" 646 | active: Boolean 647 | ): MachineConnection! 648 | 649 | """The unique application name""" 650 | name: String! 651 | network: String 652 | networkId: Int 653 | 654 | """Organization that owns this app""" 655 | organization: Organization! 656 | parseConfig(definition: JSON!): AppConfig! 657 | 658 | """Fly platform version""" 659 | platformVersion: PlatformVersionEnum 660 | processGroups: [ProcessGroup!]! 661 | regions: [Region!]! 662 | 663 | """Find a specific release""" 664 | release(id: ID, version: Int): Release 665 | 666 | """Individual releases for this application""" 667 | releases( 668 | """Returns the elements in the list that come after the specified cursor.""" 669 | after: String 670 | 671 | """ 672 | Returns the elements in the list that come before the specified cursor. 673 | """ 674 | before: String 675 | 676 | """Returns the first _n_ elements from the list.""" 677 | first: Int 678 | 679 | """Returns the last _n_ elements from the list.""" 680 | last: Int 681 | ): ReleaseConnection! 682 | 683 | """ 684 | Individual releases for this application, without any config processing 685 | """ 686 | releasesUnprocessed( 687 | """Returns the elements in the list that come after the specified cursor.""" 688 | after: String 689 | 690 | """ 691 | Returns the elements in the list that come before the specified cursor. 692 | """ 693 | before: String 694 | 695 | """Returns the first _n_ elements from the list.""" 696 | first: Int 697 | 698 | """Returns the last _n_ elements from the list.""" 699 | last: Int 700 | status: String 701 | ): ReleaseUnprocessedConnection! 702 | role: AppRole 703 | 704 | """Application runtime""" 705 | runtime: RuntimeType! 706 | 707 | """Secrets set on the application""" 708 | secrets: [Secret!]! 709 | services: [Service!]! 710 | sharedIpAddress: String 711 | state: AppState! 712 | 713 | """Application status""" 714 | status: String! 715 | taskGroupCounts: [TaskGroupCount!]! 716 | usage: [AppUsage!]! 717 | version: Int! 718 | vmSize: VMSize! 719 | vms( 720 | """Returns the elements in the list that come after the specified cursor.""" 721 | after: String 722 | 723 | """ 724 | Returns the elements in the list that come before the specified cursor. 725 | """ 726 | before: String 727 | 728 | """Returns the first _n_ elements from the list.""" 729 | first: Int 730 | 731 | """Returns the last _n_ elements from the list.""" 732 | last: Int 733 | showCompleted: Boolean 734 | ): VMConnection! 735 | volume(internalId: String!): Volume 736 | 737 | """Volumes associated with app""" 738 | volumes( 739 | """Returns the elements in the list that come after the specified cursor.""" 740 | after: String 741 | 742 | """ 743 | Returns the elements in the list that come before the specified cursor. 744 | """ 745 | before: String 746 | 747 | """Returns the first _n_ elements from the list.""" 748 | first: Int 749 | 750 | """Returns the last _n_ elements from the list.""" 751 | last: Int 752 | ): VolumeConnection! 753 | } 754 | 755 | type AppCertificate implements Node { 756 | acmeAlpnConfigured: Boolean! @deprecated(reason: "use isAcmeAlpnConfigured") 757 | acmeDnsConfigured: Boolean! @deprecated(reason: "use isAcmeDNSConfigured") 758 | certificateAuthority: String 759 | certificateRequestedAt: ISO8601DateTime 760 | check: Boolean! 761 | clientStatus: String! 762 | configured: Boolean! @deprecated(reason: "use isConfigured") 763 | createdAt: ISO8601DateTime 764 | dnsProvider: String 765 | dnsValidationHostname: String! 766 | dnsValidationInstructions: String! 767 | dnsValidationTarget: String! 768 | domain: String 769 | hostname: String! 770 | id: ID! 771 | isAcmeAlpnConfigured: Boolean! 772 | isAcmeDnsConfigured: Boolean! 773 | isApex: Boolean! 774 | isConfigured: Boolean! 775 | isWildcard: Boolean! 776 | issued( 777 | """Returns the elements in the list that come after the specified cursor.""" 778 | after: String 779 | 780 | """ 781 | Returns the elements in the list that come before the specified cursor. 782 | """ 783 | before: String 784 | 785 | """Returns the first _n_ elements from the list.""" 786 | first: Int 787 | 788 | """Returns the last _n_ elements from the list.""" 789 | last: Int 790 | includeExpired: Boolean 791 | ): CertificateConnection! 792 | source: String 793 | validationErrors: [AppCertificateValidationError!]! 794 | } 795 | 796 | """The connection type for AppCertificate.""" 797 | type AppCertificateConnection { 798 | """A list of edges.""" 799 | edges: [AppCertificateEdge] 800 | 801 | """A list of nodes.""" 802 | nodes: [AppCertificate] 803 | 804 | """Information to aid in pagination.""" 805 | pageInfo: PageInfo! 806 | totalCount: Int! 807 | } 808 | 809 | """An edge in a connection.""" 810 | type AppCertificateEdge { 811 | """A cursor for use in pagination.""" 812 | cursor: String! 813 | 814 | """The item at the end of the edge.""" 815 | node: AppCertificate 816 | } 817 | 818 | type AppCertificateValidationError { 819 | message: String! 820 | timestamp: ISO8601DateTime! 821 | } 822 | 823 | type AppChange implements Node { 824 | """Object that triggered the change""" 825 | actor: AppChangeActor 826 | actorType: String! 827 | app: App! 828 | createdAt: ISO8601DateTime! 829 | description: String! 830 | id: ID! 831 | status: String 832 | updatedAt: ISO8601DateTime! 833 | user: User 834 | } 835 | 836 | """Objects that change apps""" 837 | union AppChangeActor = Build | Release | Secret 838 | 839 | """The connection type for AppChange.""" 840 | type AppChangeConnection { 841 | """A list of edges.""" 842 | edges: [AppChangeEdge] 843 | 844 | """A list of nodes.""" 845 | nodes: [AppChange] 846 | 847 | """Information to aid in pagination.""" 848 | pageInfo: PageInfo! 849 | totalCount: Int! 850 | } 851 | 852 | """An edge in a connection.""" 853 | type AppChangeEdge { 854 | """A cursor for use in pagination.""" 855 | cursor: String! 856 | 857 | """The item at the end of the edge.""" 858 | node: AppChange 859 | } 860 | 861 | type AppConfig { 862 | definition: JSON! 863 | errors: [String!]! 864 | services: [Service!]! 865 | valid: Boolean! 866 | } 867 | 868 | """The connection type for App.""" 869 | type AppConnection { 870 | """A list of edges.""" 871 | edges: [AppEdge] 872 | 873 | """A list of nodes.""" 874 | nodes: [App] 875 | 876 | """Information to aid in pagination.""" 877 | pageInfo: PageInfo! 878 | totalCount: Int! 879 | } 880 | 881 | """An edge in a connection.""" 882 | type AppEdge { 883 | """A cursor for use in pagination.""" 884 | cursor: String! 885 | 886 | """The item at the end of the edge.""" 887 | node: App 888 | } 889 | 890 | """app lock""" 891 | type AppLock { 892 | """Time when the lock expires""" 893 | expiration: ISO8601DateTime! 894 | 895 | """Lock ID""" 896 | lockId: ID! 897 | } 898 | 899 | interface AppRole { 900 | """The name of this role""" 901 | name: String! 902 | } 903 | 904 | enum AppState { 905 | """App has not been deployed""" 906 | PENDING 907 | 908 | """App has been deployed""" 909 | DEPLOYED 910 | 911 | """App has been suspended""" 912 | SUSPENDED 913 | } 914 | 915 | """Application usage data""" 916 | type AppUsage { 917 | """The timespan interval for this usage sample""" 918 | interval: String! 919 | 920 | """Total requests for this time period""" 921 | requestsCount: Int! 922 | 923 | """Total app execution time (in seconds) for this time period""" 924 | totalAppExecS: Int! 925 | 926 | """Total GB transferred out in this time period""" 927 | totalDataOutGB: Float! 928 | 929 | """The start of the timespan for this usage sample""" 930 | ts: ISO8601DateTime! 931 | } 932 | 933 | """Autogenerated input type of AttachPostgresCluster""" 934 | input AttachPostgresClusterInput { 935 | """A unique identifier for the client performing the mutation.""" 936 | clientMutationId: String 937 | 938 | """The postgres cluster application id""" 939 | postgresClusterAppId: ID! 940 | 941 | """The application to attach postgres to""" 942 | appId: ID! 943 | 944 | """ 945 | The database to attach. Defaults to a new database with the same name as the app. 946 | """ 947 | databaseName: String 948 | 949 | """The database user to create. Defaults to using the database name.""" 950 | databaseUser: String 951 | 952 | """ 953 | The environment variable name to set the connection string to. Defaults to DATABASE_URL 954 | """ 955 | variableName: String 956 | 957 | """Flag used to indicate that flyctl will exec calls""" 958 | manualEntry: Boolean 959 | } 960 | 961 | """Autogenerated return type of AttachPostgresCluster.""" 962 | type AttachPostgresClusterPayload { 963 | app: App! 964 | 965 | """A unique identifier for the client performing the mutation.""" 966 | clientMutationId: String 967 | connectionString: String! 968 | environmentVariableName: String! 969 | postgresClusterApp: App! 970 | } 971 | 972 | type AutoscaleRegionConfig { 973 | """The region code""" 974 | code: String! 975 | 976 | """The minimum number of VMs to run in this region""" 977 | minCount: Int 978 | 979 | """The relative weight for this region""" 980 | weight: Int 981 | } 982 | 983 | """Region autoscaling configuration""" 984 | input AutoscaleRegionConfigInput { 985 | """The region code to configure""" 986 | code: String! 987 | 988 | """The weight""" 989 | weight: Int 990 | 991 | """Minimum number of VMs to run in this region""" 992 | minCount: Int 993 | 994 | """Reset the configuration for this region""" 995 | reset: Boolean 996 | } 997 | 998 | enum AutoscaleStrategy { 999 | """autoscaling is disabled""" 1000 | NONE 1001 | 1002 | """place vms in preferred regions by weight""" 1003 | PREFERRED_REGIONS 1004 | 1005 | """place vms in regions near connection sources""" 1006 | CONNECTION_SOURCES 1007 | } 1008 | 1009 | type AutoscalingConfig { 1010 | backupRegions: [String!]! 1011 | balanceRegions: Boolean! 1012 | enabled: Boolean! 1013 | maxCount: Int! 1014 | minCount: Int! 1015 | preferredRegion: String 1016 | regions: [AutoscaleRegionConfig!]! 1017 | strategy: AutoscaleStrategy! 1018 | } 1019 | 1020 | """ 1021 | Represents non-fractional signed whole numeric values. Since the value may 1022 | exceed the size of a 32-bit integer, it's encoded as a string. 1023 | """ 1024 | scalar BigInt 1025 | 1026 | enum BillingStatus { 1027 | CURRENT 1028 | SOURCE_REQUIRED 1029 | PAST_DUE 1030 | DELINQUENT 1031 | TRIAL_ACTIVE 1032 | TRIAL_ENDED 1033 | SUSPENDED 1034 | } 1035 | 1036 | type Build implements Node { 1037 | app: App! 1038 | commitId: String 1039 | commitUrl: String 1040 | createdAt: ISO8601DateTime! 1041 | 1042 | """The user who initiated the build""" 1043 | createdBy: User 1044 | 1045 | """Indicates if this build is complete and failed""" 1046 | failed: Boolean! 1047 | id: ID! 1048 | image: String 1049 | 1050 | """Indicates if this build is currently in progress""" 1051 | inProgress: Boolean! 1052 | 1053 | """Log output""" 1054 | logs: String! 1055 | number: Int! 1056 | 1057 | """Status of the build""" 1058 | status: String! 1059 | 1060 | """Indicates if this build is complete and succeeded""" 1061 | succeeded: Boolean! 1062 | updatedAt: ISO8601DateTime! 1063 | } 1064 | 1065 | """The connection type for Build.""" 1066 | type BuildConnection { 1067 | """A list of edges.""" 1068 | edges: [BuildEdge] 1069 | 1070 | """A list of nodes.""" 1071 | nodes: [Build] 1072 | 1073 | """Information to aid in pagination.""" 1074 | pageInfo: PageInfo! 1075 | totalCount: Int! 1076 | } 1077 | 1078 | """An edge in a connection.""" 1079 | type BuildEdge { 1080 | """A cursor for use in pagination.""" 1081 | cursor: String! 1082 | 1083 | """The item at the end of the edge.""" 1084 | node: Build 1085 | } 1086 | 1087 | input BuilderMetaInput { 1088 | """Local or remote builder type""" 1089 | builderType: String! 1090 | 1091 | """Docker version reported by builder""" 1092 | dockerVersion: String 1093 | 1094 | """Whther or not buildkit is enabled on builder""" 1095 | buildkitEnabled: Boolean 1096 | 1097 | """Platform reported by the builder""" 1098 | platform: String 1099 | 1100 | """Remote builder app used""" 1101 | remoteAppName: ID 1102 | 1103 | """Remote builder machine used""" 1104 | remoteMachineId: ID 1105 | } 1106 | 1107 | input BuildFinalImageInput { 1108 | """Sha256 id of docker image""" 1109 | id: String! 1110 | 1111 | """Tag used for docker image""" 1112 | tag: String! 1113 | 1114 | """Size in bytes of the docker image""" 1115 | sizeBytes: BigInt! 1116 | } 1117 | 1118 | input BuildImageOptsInput { 1119 | """Path to dockerfile, if one exists""" 1120 | dockerfilePath: String 1121 | 1122 | """Unused in cli?""" 1123 | imageRef: String 1124 | 1125 | """Set of build time variables passed to cli""" 1126 | buildArgs: JSON 1127 | 1128 | """Unused in cli?""" 1129 | extraBuildArgs: JSON 1130 | 1131 | """Image label to use when tagging and pushing to the fly registry""" 1132 | imageLabel: String 1133 | 1134 | """Whether publishing to the registry was requested""" 1135 | publish: Boolean 1136 | 1137 | """Docker tag used to publish image to registry""" 1138 | tag: String 1139 | 1140 | """ 1141 | Set the target build stage to build if the Dockerfile has more than one stage 1142 | """ 1143 | target: String 1144 | 1145 | """Do not use the build cache when building the image""" 1146 | noCache: Boolean 1147 | 1148 | """Builtin builder to use""" 1149 | builtIn: String 1150 | 1151 | """Builtin builder settings""" 1152 | builtInSettings: JSON 1153 | 1154 | """Fly.toml build.builder setting""" 1155 | builder: String 1156 | 1157 | """Fly.toml build.buildpacks setting""" 1158 | buildPacks: [String!] 1159 | } 1160 | 1161 | input BuildStrategyAttemptInput { 1162 | """Build strategy attempted""" 1163 | strategy: String! 1164 | 1165 | """Result attempting this strategy""" 1166 | result: String! 1167 | 1168 | """Optional error message from strategy""" 1169 | error: String 1170 | 1171 | """Optional note about this strategy or its result""" 1172 | note: String 1173 | } 1174 | 1175 | input BuildTimingsInput { 1176 | """Time to build and push the image, measured by flyctl""" 1177 | buildAndPushMs: BigInt 1178 | 1179 | """ 1180 | Time to initialize client used to connect to either remote or local builder 1181 | """ 1182 | builderInitMs: BigInt 1183 | 1184 | """Time to build the image including create context, measured by flyctl""" 1185 | buildMs: BigInt 1186 | 1187 | """Time to create the build context tar file, measured by flyctl""" 1188 | contextBuildMs: BigInt 1189 | 1190 | """ 1191 | Time for builder to build image after receiving context, measured by flyctl 1192 | """ 1193 | imageBuildMs: BigInt 1194 | 1195 | """Time to push completed image to registry, measured by flyctl""" 1196 | pushMs: BigInt 1197 | } 1198 | 1199 | """Autogenerated return type of CancelBuild.""" 1200 | type CancelBuildPayload { 1201 | build: Build! 1202 | } 1203 | 1204 | """ 1205 | A set of base64 messagepack encoded macaroon caveats (See https://github.com/superfly/macaroon) 1206 | """ 1207 | scalar CaveatSet 1208 | 1209 | type Certificate implements Node { 1210 | expiresAt: ISO8601DateTime! 1211 | hostname: String! 1212 | id: ID! 1213 | type: String! 1214 | } 1215 | 1216 | """The connection type for Certificate.""" 1217 | type CertificateConnection { 1218 | """A list of edges.""" 1219 | edges: [CertificateEdge] 1220 | 1221 | """A list of nodes.""" 1222 | nodes: [Certificate] 1223 | 1224 | """Information to aid in pagination.""" 1225 | pageInfo: PageInfo! 1226 | totalCount: Int! 1227 | } 1228 | 1229 | """An edge in a connection.""" 1230 | type CertificateEdge { 1231 | """A cursor for use in pagination.""" 1232 | cursor: String! 1233 | 1234 | """The item at the end of the edge.""" 1235 | node: Certificate 1236 | } 1237 | 1238 | """health check""" 1239 | type Check { 1240 | httpHeaders: [CheckHeader!] 1241 | httpMethod: String 1242 | httpPath: String 1243 | httpProtocol: HTTPProtocol 1244 | httpTlsSkipVerify: Boolean 1245 | 1246 | """Check interval in milliseconds""" 1247 | interval: Int! 1248 | name: String 1249 | scriptArgs: [String!] 1250 | scriptCommand: String 1251 | 1252 | """Check timeout in milliseconds""" 1253 | timeout: Int! 1254 | type: CheckType! 1255 | } 1256 | 1257 | """Autogenerated input type of CheckCertificate""" 1258 | input CheckCertificateInput { 1259 | """A unique identifier for the client performing the mutation.""" 1260 | clientMutationId: String 1261 | 1262 | """Application to ID""" 1263 | appId: ID! 1264 | 1265 | """Certificate hostname to check""" 1266 | hostname: String! 1267 | } 1268 | 1269 | """Autogenerated return type of CheckCertificate.""" 1270 | type CheckCertificatePayload { 1271 | app: App 1272 | certificate: AppCertificate 1273 | check: HostnameCheck 1274 | 1275 | """A unique identifier for the client performing the mutation.""" 1276 | clientMutationId: String 1277 | } 1278 | 1279 | """Autogenerated input type of CheckDomain""" 1280 | input CheckDomainInput { 1281 | """A unique identifier for the client performing the mutation.""" 1282 | clientMutationId: String 1283 | 1284 | """Domain name to check""" 1285 | domainName: String! 1286 | } 1287 | 1288 | """Autogenerated return type of CheckDomain.""" 1289 | type CheckDomainPayload { 1290 | """A unique identifier for the client performing the mutation.""" 1291 | clientMutationId: String 1292 | dnsAvailable: Boolean! 1293 | domainName: String! 1294 | registrationAvailable: Boolean! 1295 | registrationPeriod: Int 1296 | registrationPrice: Int 1297 | registrationSupported: Boolean! 1298 | tld: String! 1299 | transferAvailable: Boolean! 1300 | } 1301 | 1302 | """HTTP header for a health check""" 1303 | type CheckHeader { 1304 | name: String! 1305 | value: String! 1306 | } 1307 | 1308 | input CheckHeaderInput { 1309 | name: String! 1310 | value: String! 1311 | } 1312 | 1313 | """check job http response""" 1314 | type CheckHTTPResponse implements Node { 1315 | closeTs: String! 1316 | connectedTs: String! 1317 | dnsTs: String! 1318 | firstTs: String! 1319 | flyioDebug: JSON 1320 | headers: JSON! 1321 | id: ID! 1322 | lastTs: String! 1323 | location: CheckLocation! 1324 | rawHeaders: String! 1325 | rawOutput: [String!]! 1326 | resolvedIp: String! 1327 | sentTs: String! 1328 | startTs: String! 1329 | statusCode: Int! 1330 | tlsTs: String 1331 | } 1332 | 1333 | """The connection type for CheckHTTPResponse.""" 1334 | type CheckHTTPResponseConnection { 1335 | """A list of edges.""" 1336 | edges: [CheckHTTPResponseEdge] 1337 | 1338 | """A list of nodes.""" 1339 | nodes: [CheckHTTPResponse] 1340 | 1341 | """Information to aid in pagination.""" 1342 | pageInfo: PageInfo! 1343 | totalCount: Int! 1344 | } 1345 | 1346 | """An edge in a connection.""" 1347 | type CheckHTTPResponseEdge { 1348 | """A cursor for use in pagination.""" 1349 | cursor: String! 1350 | 1351 | """The item at the end of the edge.""" 1352 | node: CheckHTTPResponse 1353 | } 1354 | 1355 | """All available http checks verbs""" 1356 | enum CheckHTTPVerb { 1357 | GET 1358 | HEAD 1359 | } 1360 | 1361 | input CheckInput { 1362 | type: CheckType! 1363 | name: String 1364 | 1365 | """Check interval in milliseconds""" 1366 | interval: Int 1367 | 1368 | """Check timeout in milliseconds""" 1369 | timeout: Int 1370 | httpMethod: HTTPMethod 1371 | httpPath: String 1372 | httpProtocol: HTTPProtocol 1373 | httpTlsSkipVerify: Boolean 1374 | httpHeaders: [CheckHeaderInput!] 1375 | scriptCommand: String 1376 | scriptArgs: [String!] 1377 | } 1378 | 1379 | """check job""" 1380 | type CheckJob implements Node { 1381 | httpOptions: CheckJobHTTPOptions 1382 | id: ID! 1383 | locations( 1384 | """Returns the elements in the list that come after the specified cursor.""" 1385 | after: String 1386 | 1387 | """ 1388 | Returns the elements in the list that come before the specified cursor. 1389 | """ 1390 | before: String 1391 | 1392 | """Returns the first _n_ elements from the list.""" 1393 | first: Int 1394 | 1395 | """Returns the last _n_ elements from the list.""" 1396 | last: Int 1397 | ): CheckLocationConnection! 1398 | nextRunAt: ISO8601DateTime 1399 | runs( 1400 | """Returns the elements in the list that come after the specified cursor.""" 1401 | after: String 1402 | 1403 | """ 1404 | Returns the elements in the list that come before the specified cursor. 1405 | """ 1406 | before: String 1407 | 1408 | """Returns the first _n_ elements from the list.""" 1409 | first: Int 1410 | 1411 | """Returns the last _n_ elements from the list.""" 1412 | last: Int 1413 | ): CheckJobRunConnection! 1414 | schedule: String 1415 | url: String! 1416 | } 1417 | 1418 | """The connection type for CheckJob.""" 1419 | type CheckJobConnection { 1420 | """A list of edges.""" 1421 | edges: [CheckJobEdge] 1422 | 1423 | """A list of nodes.""" 1424 | nodes: [CheckJob] 1425 | 1426 | """Information to aid in pagination.""" 1427 | pageInfo: PageInfo! 1428 | totalCount: Int! 1429 | } 1430 | 1431 | """An edge in a connection.""" 1432 | type CheckJobEdge { 1433 | """A cursor for use in pagination.""" 1434 | cursor: String! 1435 | 1436 | """The item at the end of the edge.""" 1437 | node: CheckJob 1438 | } 1439 | 1440 | """health check state""" 1441 | type CheckJobHTTPOptions { 1442 | headers: [String!]! 1443 | verb: CheckHTTPVerb! 1444 | } 1445 | 1446 | """health check state""" 1447 | input CheckJobHTTPOptionsInput { 1448 | verb: CheckHTTPVerb! = GET 1449 | headers: [String!] = [] 1450 | } 1451 | 1452 | """check job run""" 1453 | type CheckJobRun implements Node { 1454 | completedAt: ISO8601DateTime 1455 | createdAt: ISO8601DateTime! 1456 | httpOptions: CheckJobHTTPOptions! 1457 | httpResponses( 1458 | """Returns the elements in the list that come after the specified cursor.""" 1459 | after: String 1460 | 1461 | """ 1462 | Returns the elements in the list that come before the specified cursor. 1463 | """ 1464 | before: String 1465 | 1466 | """Returns the first _n_ elements from the list.""" 1467 | first: Int 1468 | 1469 | """Returns the last _n_ elements from the list.""" 1470 | last: Int 1471 | ): CheckHTTPResponseConnection! 1472 | id: ID! 1473 | locations( 1474 | """Returns the elements in the list that come after the specified cursor.""" 1475 | after: String 1476 | 1477 | """ 1478 | Returns the elements in the list that come before the specified cursor. 1479 | """ 1480 | before: String 1481 | 1482 | """Returns the first _n_ elements from the list.""" 1483 | first: Int 1484 | 1485 | """Returns the last _n_ elements from the list.""" 1486 | last: Int 1487 | ): CheckLocationConnection! 1488 | state: String! 1489 | tests: [String!]! 1490 | url: String! 1491 | } 1492 | 1493 | """The connection type for CheckJobRun.""" 1494 | type CheckJobRunConnection { 1495 | """A list of edges.""" 1496 | edges: [CheckJobRunEdge] 1497 | 1498 | """A list of nodes.""" 1499 | nodes: [CheckJobRun] 1500 | 1501 | """Information to aid in pagination.""" 1502 | pageInfo: PageInfo! 1503 | totalCount: Int! 1504 | } 1505 | 1506 | """An edge in a connection.""" 1507 | type CheckJobRunEdge { 1508 | """A cursor for use in pagination.""" 1509 | cursor: String! 1510 | 1511 | """The item at the end of the edge.""" 1512 | node: CheckJobRun 1513 | } 1514 | 1515 | """check location""" 1516 | type CheckLocation { 1517 | coordinates: [Float!]! 1518 | country: String! 1519 | locality: String! 1520 | name: String! 1521 | state: String 1522 | title: String! 1523 | } 1524 | 1525 | """The connection type for CheckLocation.""" 1526 | type CheckLocationConnection { 1527 | """A list of edges.""" 1528 | edges: [CheckLocationEdge] 1529 | 1530 | """A list of nodes.""" 1531 | nodes: [CheckLocation] 1532 | 1533 | """Information to aid in pagination.""" 1534 | pageInfo: PageInfo! 1535 | totalCount: Int! 1536 | } 1537 | 1538 | """An edge in a connection.""" 1539 | type CheckLocationEdge { 1540 | """A cursor for use in pagination.""" 1541 | cursor: String! 1542 | 1543 | """The item at the end of the edge.""" 1544 | node: CheckLocation 1545 | } 1546 | 1547 | """health check state""" 1548 | type CheckState { 1549 | allocation: Allocation! 1550 | allocationId: String! 1551 | name: String! 1552 | output( 1553 | """The number of characters to truncate output to""" 1554 | limit: Int 1555 | 1556 | """Remove newlines and trim whitespace""" 1557 | compact: Boolean 1558 | ): String! 1559 | serviceName: String! 1560 | status: String! 1561 | type: CheckType! 1562 | updatedAt: ISO8601DateTime! 1563 | } 1564 | 1565 | """The connection type for CheckState.""" 1566 | type CheckStateConnection { 1567 | """A list of edges.""" 1568 | edges: [CheckStateEdge] 1569 | 1570 | """A list of nodes.""" 1571 | nodes: [CheckState] 1572 | 1573 | """Information to aid in pagination.""" 1574 | pageInfo: PageInfo! 1575 | totalCount: Int! 1576 | } 1577 | 1578 | """An edge in a connection.""" 1579 | type CheckStateEdge { 1580 | """A cursor for use in pagination.""" 1581 | cursor: String! 1582 | 1583 | """The item at the end of the edge.""" 1584 | node: CheckState 1585 | } 1586 | 1587 | enum CheckType { 1588 | """tcp health check""" 1589 | TCP 1590 | 1591 | """http health check""" 1592 | HTTP 1593 | 1594 | """script health check""" 1595 | SCRIPT 1596 | } 1597 | 1598 | """Autogenerated input type of ConfigureRegions""" 1599 | input ConfigureRegionsInput { 1600 | """A unique identifier for the client performing the mutation.""" 1601 | clientMutationId: String 1602 | 1603 | """The ID of the app""" 1604 | appId: ID! 1605 | 1606 | """Regions to allow running in""" 1607 | allowRegions: [String!] 1608 | 1609 | """Regions to deny running in""" 1610 | denyRegions: [String!] 1611 | 1612 | """Fallback regions. Used if preferred regions are having issues""" 1613 | backupRegions: [String!] 1614 | 1615 | """Process group to modify""" 1616 | group: String 1617 | } 1618 | 1619 | """Autogenerated return type of ConfigureRegions.""" 1620 | type ConfigureRegionsPayload { 1621 | app: App! 1622 | backupRegions: [Region!]! 1623 | 1624 | """A unique identifier for the client performing the mutation.""" 1625 | clientMutationId: String 1626 | group: String 1627 | regions: [Region!]! 1628 | } 1629 | 1630 | """Autogenerated input type of CreateAddOn""" 1631 | input CreateAddOnInput { 1632 | """A unique identifier for the client performing the mutation.""" 1633 | clientMutationId: String 1634 | 1635 | """An optional application ID to attach the add-on to after provisioning""" 1636 | appId: ID 1637 | 1638 | """The organization which owns the add-on""" 1639 | organizationId: ID 1640 | 1641 | """The add-on type to provision""" 1642 | type: AddOnType! 1643 | 1644 | """An optional name for the add-on""" 1645 | name: String 1646 | 1647 | """The add-on plan ID""" 1648 | planId: ID 1649 | 1650 | """A provider organization plan to set along with provisioning""" 1651 | organizationPlanId: String 1652 | 1653 | """Desired primary region for the add-on""" 1654 | primaryRegion: String 1655 | 1656 | """Desired regions to place replicas in""" 1657 | readRegions: [String!] 1658 | 1659 | """Options specific to the add-on""" 1660 | options: JSON 1661 | } 1662 | 1663 | """Autogenerated return type of CreateAddOn.""" 1664 | type CreateAddOnPayload { 1665 | addOn: AddOn! 1666 | 1667 | """A unique identifier for the client performing the mutation.""" 1668 | clientMutationId: String 1669 | } 1670 | 1671 | """Autogenerated input type of CreateAndRegisterDomain""" 1672 | input CreateAndRegisterDomainInput { 1673 | """A unique identifier for the client performing the mutation.""" 1674 | clientMutationId: String 1675 | 1676 | """The node ID of the organization""" 1677 | organizationId: ID! 1678 | 1679 | """The domain name""" 1680 | name: String! 1681 | 1682 | """Enable whois privacy on the registration""" 1683 | whoisPrivacy: Boolean 1684 | 1685 | """Enable auto renew on the registration""" 1686 | autoRenew: Boolean 1687 | } 1688 | 1689 | """Autogenerated return type of CreateAndRegisterDomain.""" 1690 | type CreateAndRegisterDomainPayload { 1691 | """A unique identifier for the client performing the mutation.""" 1692 | clientMutationId: String 1693 | domain: Domain! 1694 | organization: Organization! 1695 | } 1696 | 1697 | """Autogenerated input type of CreateAndTransferDomain""" 1698 | input CreateAndTransferDomainInput { 1699 | """A unique identifier for the client performing the mutation.""" 1700 | clientMutationId: String 1701 | 1702 | """The node ID of the organization""" 1703 | organizationId: ID! 1704 | 1705 | """The domain name""" 1706 | name: String! 1707 | 1708 | """The authorization code""" 1709 | authorizationCode: String! 1710 | } 1711 | 1712 | """Autogenerated return type of CreateAndTransferDomain.""" 1713 | type CreateAndTransferDomainPayload { 1714 | """A unique identifier for the client performing the mutation.""" 1715 | clientMutationId: String 1716 | domain: Domain! 1717 | organization: Organization! 1718 | } 1719 | 1720 | """Autogenerated input type of CreateApp""" 1721 | input CreateAppInput { 1722 | """A unique identifier for the client performing the mutation.""" 1723 | clientMutationId: String 1724 | 1725 | """The node ID of the organization""" 1726 | organizationId: ID! 1727 | 1728 | """The application runtime""" 1729 | runtime: RuntimeType = FIRECRACKER 1730 | 1731 | """The name of the new application. Defaults to a random name.""" 1732 | name: String 1733 | preferredRegion: String 1734 | heroku: Boolean 1735 | network: String 1736 | appRoleId: String 1737 | machines: Boolean = true 1738 | enableSubdomains: Boolean = false 1739 | } 1740 | 1741 | """Autogenerated return type of CreateApp.""" 1742 | type CreateAppPayload { 1743 | app: App! 1744 | 1745 | """A unique identifier for the client performing the mutation.""" 1746 | clientMutationId: String 1747 | } 1748 | 1749 | """Autogenerated input type of CreateBuild""" 1750 | input CreateBuildInput { 1751 | """A unique identifier for the client performing the mutation.""" 1752 | clientMutationId: String 1753 | 1754 | """The name of the app being built""" 1755 | appName: ID! 1756 | 1757 | """The ID of the machine being built (only set for machine builds)""" 1758 | machineId: ID 1759 | 1760 | """Options set for building image""" 1761 | imageOpts: BuildImageOptsInput 1762 | 1763 | """List of available build strategies that will be attempted""" 1764 | strategiesAvailable: [String!]! 1765 | 1766 | """The kind of builder being used""" 1767 | builderType: String! 1768 | } 1769 | 1770 | """Autogenerated return type of CreateBuild.""" 1771 | type CreateBuildPayload { 1772 | """A unique identifier for the client performing the mutation.""" 1773 | clientMutationId: String 1774 | 1775 | """build id""" 1776 | id: ID! 1777 | 1778 | """stored build status""" 1779 | status: String! 1780 | } 1781 | 1782 | """Autogenerated input type of CreateCheckJob""" 1783 | input CreateCheckJobInput { 1784 | """A unique identifier for the client performing the mutation.""" 1785 | clientMutationId: String 1786 | 1787 | """Organization ID""" 1788 | organizationId: ID! 1789 | 1790 | """The URL to check""" 1791 | url: String! 1792 | 1793 | """http checks locations""" 1794 | locations: [String!]! 1795 | 1796 | """http check options""" 1797 | httpOptions: CheckJobHTTPOptionsInput! 1798 | } 1799 | 1800 | """Autogenerated return type of CreateCheckJob.""" 1801 | type CreateCheckJobPayload { 1802 | checkJob: CheckJob! 1803 | checkJobRun: CheckJobRun 1804 | 1805 | """A unique identifier for the client performing the mutation.""" 1806 | clientMutationId: String 1807 | } 1808 | 1809 | """Autogenerated input type of CreateCheckJobRun""" 1810 | input CreateCheckJobRunInput { 1811 | """A unique identifier for the client performing the mutation.""" 1812 | clientMutationId: String 1813 | 1814 | """Check Job ID""" 1815 | checkJobId: ID! 1816 | } 1817 | 1818 | """Autogenerated return type of CreateCheckJobRun.""" 1819 | type CreateCheckJobRunPayload { 1820 | checkJob: CheckJob! 1821 | checkJobRun: CheckJobRun 1822 | 1823 | """A unique identifier for the client performing the mutation.""" 1824 | clientMutationId: String 1825 | } 1826 | 1827 | """Autogenerated input type of CreateDelegatedWireGuardToken""" 1828 | input CreateDelegatedWireGuardTokenInput { 1829 | """A unique identifier for the client performing the mutation.""" 1830 | clientMutationId: String 1831 | 1832 | """The node ID of the organization""" 1833 | organizationId: ID! 1834 | 1835 | """The name with which to refer to the peer""" 1836 | name: String 1837 | } 1838 | 1839 | """Autogenerated return type of CreateDelegatedWireGuardToken.""" 1840 | type CreateDelegatedWireGuardTokenPayload { 1841 | """A unique identifier for the client performing the mutation.""" 1842 | clientMutationId: String 1843 | token: String! 1844 | } 1845 | 1846 | """Autogenerated input type of CreateDNSPortal""" 1847 | input CreateDNSPortalInput { 1848 | """A unique identifier for the client performing the mutation.""" 1849 | clientMutationId: String 1850 | 1851 | """The node ID of the organization""" 1852 | organizationId: ID! 1853 | 1854 | """ 1855 | The unique name of this portal. A random name will be generated if omitted. 1856 | """ 1857 | name: String 1858 | 1859 | """The title of this portal""" 1860 | title: String 1861 | 1862 | """The return url for this portal""" 1863 | returnUrl: String 1864 | 1865 | """The text to display for the return url link""" 1866 | returnUrlText: String 1867 | 1868 | """The support url for this portal""" 1869 | supportUrl: String 1870 | 1871 | """The text to display for the support url link""" 1872 | supportUrlText: String 1873 | 1874 | """The primary branding color""" 1875 | primaryColor: String 1876 | 1877 | """The secondary branding color""" 1878 | accentColor: String 1879 | } 1880 | 1881 | """Autogenerated return type of CreateDNSPortal.""" 1882 | type CreateDNSPortalPayload { 1883 | """A unique identifier for the client performing the mutation.""" 1884 | clientMutationId: String 1885 | dnsPortal: DNSPortal! 1886 | } 1887 | 1888 | """Autogenerated input type of CreateDNSPortalSession""" 1889 | input CreateDNSPortalSessionInput { 1890 | """A unique identifier for the client performing the mutation.""" 1891 | clientMutationId: String 1892 | 1893 | """The node ID of the dns portal""" 1894 | dnsPortalId: ID! 1895 | 1896 | """The node ID of the domain to edit""" 1897 | domainId: ID! 1898 | 1899 | """Optionally override the portal's default title for this session""" 1900 | title: String 1901 | 1902 | """Optionally override the portal's default return url for this session""" 1903 | returnUrl: String 1904 | 1905 | """ 1906 | Optionally override the portal's default return url text for this session 1907 | """ 1908 | returnUrlText: String 1909 | } 1910 | 1911 | """Autogenerated return type of CreateDNSPortalSession.""" 1912 | type CreateDNSPortalSessionPayload { 1913 | """A unique identifier for the client performing the mutation.""" 1914 | clientMutationId: String 1915 | dnsPortalSession: DNSPortalSession! 1916 | } 1917 | 1918 | """Autogenerated input type of CreateDNSRecord""" 1919 | input CreateDNSRecordInput { 1920 | """A unique identifier for the client performing the mutation.""" 1921 | clientMutationId: String 1922 | 1923 | """The node ID of the domain""" 1924 | domainId: ID! 1925 | 1926 | """The type of the record""" 1927 | type: DNSRecordType! 1928 | 1929 | """The dns record name""" 1930 | name: String! 1931 | 1932 | """The TTL in seconds""" 1933 | ttl: Int! 1934 | 1935 | """The content of the record""" 1936 | rdata: String! 1937 | } 1938 | 1939 | """Autogenerated return type of CreateDNSRecord.""" 1940 | type CreateDNSRecordPayload { 1941 | """A unique identifier for the client performing the mutation.""" 1942 | clientMutationId: String 1943 | record: DNSRecord! 1944 | } 1945 | 1946 | """Autogenerated input type of CreateDoctorReport""" 1947 | input CreateDoctorReportInput { 1948 | """A unique identifier for the client performing the mutation.""" 1949 | clientMutationId: String 1950 | 1951 | """The report data""" 1952 | data: JSON! 1953 | } 1954 | 1955 | """Autogenerated return type of CreateDoctorReport.""" 1956 | type CreateDoctorReportPayload { 1957 | """A unique identifier for the client performing the mutation.""" 1958 | clientMutationId: String 1959 | reportId: ID! 1960 | } 1961 | 1962 | """Autogenerated return type of CreateDoctorUrl.""" 1963 | type CreateDoctorUrlPayload { 1964 | putUrl: String! 1965 | } 1966 | 1967 | """Autogenerated input type of CreateDomain""" 1968 | input CreateDomainInput { 1969 | """A unique identifier for the client performing the mutation.""" 1970 | clientMutationId: String 1971 | 1972 | """The node ID of the organization""" 1973 | organizationId: ID! 1974 | 1975 | """The domain name""" 1976 | name: String! 1977 | } 1978 | 1979 | """Autogenerated return type of CreateDomain.""" 1980 | type CreateDomainPayload { 1981 | """A unique identifier for the client performing the mutation.""" 1982 | clientMutationId: String 1983 | domain: Domain! 1984 | organization: Organization! 1985 | } 1986 | 1987 | """Autogenerated input type of CreateExtensionTosAgreement""" 1988 | input CreateExtensionTosAgreementInput { 1989 | """A unique identifier for the client performing the mutation.""" 1990 | clientMutationId: String 1991 | 1992 | """The add-on provider name""" 1993 | addOnProviderName: String! 1994 | 1995 | """The organization that agrees to the ToS""" 1996 | organizationId: ID 1997 | } 1998 | 1999 | """Autogenerated return type of CreateExtensionTosAgreement.""" 2000 | type CreateExtensionTosAgreementPayload { 2001 | """A unique identifier for the client performing the mutation.""" 2002 | clientMutationId: String 2003 | } 2004 | 2005 | """Autogenerated input type of CreateLimitedAccessToken""" 2006 | input CreateLimitedAccessTokenInput { 2007 | """A unique identifier for the client performing the mutation.""" 2008 | clientMutationId: String 2009 | name: String! 2010 | 2011 | """The node ID of the organization""" 2012 | organizationId: ID! 2013 | profile: String! 2014 | profileParams: JSON 2015 | expiry: String 2016 | 2017 | """Names of third-party configurations to opt into""" 2018 | optInThirdParties: [String!] 2019 | 2020 | """Names of third-party configurations to opt out of""" 2021 | optOutThirdParties: [String!] 2022 | } 2023 | 2024 | """Autogenerated return type of CreateLimitedAccessToken.""" 2025 | type CreateLimitedAccessTokenPayload { 2026 | """A unique identifier for the client performing the mutation.""" 2027 | clientMutationId: String 2028 | limitedAccessToken: LimitedAccessToken! 2029 | } 2030 | 2031 | """Autogenerated input type of CreateOrganization""" 2032 | input CreateOrganizationInput { 2033 | """A unique identifier for the client performing the mutation.""" 2034 | clientMutationId: String 2035 | 2036 | """The name of the organization""" 2037 | name: String! 2038 | 2039 | """Whether or not new apps in this org use Apps V2 by default""" 2040 | appsV2DefaultOn: Boolean 2041 | } 2042 | 2043 | """Autogenerated input type of CreateOrganizationInvitation""" 2044 | input CreateOrganizationInvitationInput { 2045 | """A unique identifier for the client performing the mutation.""" 2046 | clientMutationId: String 2047 | 2048 | """The node ID of the organization""" 2049 | organizationId: ID! 2050 | 2051 | """The email to invite""" 2052 | email: String! 2053 | } 2054 | 2055 | """Autogenerated return type of CreateOrganizationInvitation.""" 2056 | type CreateOrganizationInvitationPayload { 2057 | """A unique identifier for the client performing the mutation.""" 2058 | clientMutationId: String 2059 | invitation: OrganizationInvitation! 2060 | } 2061 | 2062 | """Autogenerated return type of CreateOrganization.""" 2063 | type CreateOrganizationPayload { 2064 | """A unique identifier for the client performing the mutation.""" 2065 | clientMutationId: String 2066 | organization: Organization! 2067 | token: String! 2068 | } 2069 | 2070 | """Autogenerated input type of CreatePostgresClusterDatabase""" 2071 | input CreatePostgresClusterDatabaseInput { 2072 | """A unique identifier for the client performing the mutation.""" 2073 | clientMutationId: String 2074 | 2075 | """The name of the postgres cluster app""" 2076 | appName: String! 2077 | 2078 | """The name of the database""" 2079 | databaseName: String! 2080 | } 2081 | 2082 | """Autogenerated return type of CreatePostgresClusterDatabase.""" 2083 | type CreatePostgresClusterDatabasePayload { 2084 | """A unique identifier for the client performing the mutation.""" 2085 | clientMutationId: String 2086 | database: PostgresClusterDatabase! 2087 | postgresClusterRole: PostgresClusterAppRole! 2088 | } 2089 | 2090 | """Autogenerated input type of CreatePostgresClusterUser""" 2091 | input CreatePostgresClusterUserInput { 2092 | """A unique identifier for the client performing the mutation.""" 2093 | clientMutationId: String 2094 | 2095 | """The name of the postgres cluster app""" 2096 | appName: String! 2097 | 2098 | """The name of the database""" 2099 | username: String! 2100 | 2101 | """The password of the user""" 2102 | password: String! 2103 | 2104 | """Should this user be a superuser""" 2105 | superuser: Boolean 2106 | } 2107 | 2108 | """Autogenerated return type of CreatePostgresClusterUser.""" 2109 | type CreatePostgresClusterUserPayload { 2110 | """A unique identifier for the client performing the mutation.""" 2111 | clientMutationId: String 2112 | postgresClusterRole: PostgresClusterAppRole! 2113 | user: PostgresClusterUser! 2114 | } 2115 | 2116 | """Autogenerated input type of CreateRelease""" 2117 | input CreateReleaseInput { 2118 | """A unique identifier for the client performing the mutation.""" 2119 | clientMutationId: String 2120 | 2121 | """The ID of the app""" 2122 | appId: ID! 2123 | 2124 | """The image to deploy""" 2125 | image: String! 2126 | 2127 | """nomad or machines""" 2128 | platformVersion: String! 2129 | 2130 | """app definition""" 2131 | definition: JSON! 2132 | 2133 | """The strategy for replacing existing instances. Defaults to canary.""" 2134 | strategy: DeploymentStrategy! 2135 | 2136 | """The build ID linked to the release""" 2137 | buildId: ID 2138 | } 2139 | 2140 | """Autogenerated return type of CreateRelease.""" 2141 | type CreateReleasePayload { 2142 | app: App! 2143 | 2144 | """A unique identifier for the client performing the mutation.""" 2145 | clientMutationId: String 2146 | release: Release 2147 | } 2148 | 2149 | """Autogenerated input type of CreateTemplateDeployment""" 2150 | input CreateTemplateDeploymentInput { 2151 | """A unique identifier for the client performing the mutation.""" 2152 | clientMutationId: String 2153 | 2154 | """The node ID of the organization to move the app to""" 2155 | organizationId: ID! 2156 | template: JSON! 2157 | variables: [PropertyInput!] 2158 | } 2159 | 2160 | """Autogenerated return type of CreateTemplateDeployment.""" 2161 | type CreateTemplateDeploymentPayload { 2162 | """A unique identifier for the client performing the mutation.""" 2163 | clientMutationId: String 2164 | templateDeployment: TemplateDeployment! 2165 | } 2166 | 2167 | """Autogenerated input type of CreateThirdPartyConfiguration""" 2168 | input CreateThirdPartyConfigurationInput { 2169 | """A unique identifier for the client performing the mutation.""" 2170 | clientMutationId: String 2171 | 2172 | """The node ID of the organization""" 2173 | organizationId: ID! 2174 | 2175 | """Friendly name for this configuration""" 2176 | name: String! 2177 | 2178 | """Location URL of the third-party service capable of discharging""" 2179 | location: String! 2180 | 2181 | """Restrictions to be placed on third-party caveats""" 2182 | caveats: CaveatSet 2183 | 2184 | """ 2185 | Whether to add this third-party caveat on session tokens issued to flyctl 2186 | """ 2187 | flyctlLevel: ThirdPartyConfigurationLevel! 2188 | 2189 | """Whether to add this third-party caveat on Fly.io session tokens""" 2190 | uiexLevel: ThirdPartyConfigurationLevel! 2191 | 2192 | """ 2193 | Whether to add this third-party caveat on tokens issued via `flyctl tokens create` 2194 | """ 2195 | customLevel: ThirdPartyConfigurationLevel! 2196 | } 2197 | 2198 | """Autogenerated return type of CreateThirdPartyConfiguration.""" 2199 | type CreateThirdPartyConfigurationPayload { 2200 | """A unique identifier for the client performing the mutation.""" 2201 | clientMutationId: String 2202 | thirdPartyConfiguration: ThirdPartyConfiguration! 2203 | } 2204 | 2205 | """Autogenerated input type of CreateVolume""" 2206 | input CreateVolumeInput { 2207 | """A unique identifier for the client performing the mutation.""" 2208 | clientMutationId: String 2209 | 2210 | """The application to attach the new volume to""" 2211 | appId: ID! 2212 | 2213 | """Volume name""" 2214 | name: String! 2215 | 2216 | """Desired region for volume""" 2217 | region: String! 2218 | 2219 | """Desired volume size, in GB""" 2220 | sizeGb: Int! 2221 | 2222 | """Volume should be encrypted at rest""" 2223 | encrypted: Boolean = true 2224 | 2225 | """Provision volume in a redundancy zone not already in use by this app""" 2226 | requireUniqueZone: Boolean 2227 | snapshotId: ID 2228 | fsType: FsTypeType = ext4 2229 | } 2230 | 2231 | """Autogenerated return type of CreateVolume.""" 2232 | type CreateVolumePayload { 2233 | app: App! 2234 | 2235 | """A unique identifier for the client performing the mutation.""" 2236 | clientMutationId: String 2237 | volume: Volume! 2238 | } 2239 | 2240 | """Autogenerated input type of CreateVolumeSnapshot""" 2241 | input CreateVolumeSnapshotInput { 2242 | """A unique identifier for the client performing the mutation.""" 2243 | clientMutationId: String 2244 | volumeId: ID! 2245 | } 2246 | 2247 | """Autogenerated return type of CreateVolumeSnapshot.""" 2248 | type CreateVolumeSnapshotPayload { 2249 | """A unique identifier for the client performing the mutation.""" 2250 | clientMutationId: String 2251 | volume: Volume! 2252 | } 2253 | 2254 | type DelegatedWireGuardToken implements Node { 2255 | id: ID! 2256 | name: String! 2257 | } 2258 | 2259 | """The connection type for DelegatedWireGuardToken.""" 2260 | type DelegatedWireGuardTokenConnection { 2261 | """A list of edges.""" 2262 | edges: [DelegatedWireGuardTokenEdge] 2263 | 2264 | """A list of nodes.""" 2265 | nodes: [DelegatedWireGuardToken] 2266 | 2267 | """Information to aid in pagination.""" 2268 | pageInfo: PageInfo! 2269 | totalCount: Int! 2270 | } 2271 | 2272 | """An edge in a connection.""" 2273 | type DelegatedWireGuardTokenEdge { 2274 | """A cursor for use in pagination.""" 2275 | cursor: String! 2276 | 2277 | """The item at the end of the edge.""" 2278 | node: DelegatedWireGuardToken 2279 | } 2280 | 2281 | """Autogenerated input type of DeleteAddOn""" 2282 | input DeleteAddOnInput { 2283 | """A unique identifier for the client performing the mutation.""" 2284 | clientMutationId: String 2285 | 2286 | """The ID of the add-on to delete""" 2287 | addOnId: ID 2288 | 2289 | """The name of the add-on to delete""" 2290 | name: String 2291 | 2292 | """The add-on service provider type""" 2293 | provider: String 2294 | } 2295 | 2296 | """Autogenerated return type of DeleteAddOn.""" 2297 | type DeleteAddOnPayload { 2298 | """A unique identifier for the client performing the mutation.""" 2299 | clientMutationId: String 2300 | deletedAddOnName: String 2301 | } 2302 | 2303 | """Autogenerated return type of DeleteApp.""" 2304 | type DeleteAppPayload { 2305 | """The organization that owned the deleted app""" 2306 | organization: Organization! 2307 | } 2308 | 2309 | """Autogenerated return type of DeleteCertificate.""" 2310 | type DeleteCertificatePayload { 2311 | app: App 2312 | certificate: AppCertificate 2313 | errors: [String!] 2314 | } 2315 | 2316 | """Autogenerated input type of DeleteDelegatedWireGuardToken""" 2317 | input DeleteDelegatedWireGuardTokenInput { 2318 | """A unique identifier for the client performing the mutation.""" 2319 | clientMutationId: String 2320 | 2321 | """The node ID of the organization""" 2322 | organizationId: ID! 2323 | 2324 | """The raw WireGuard token""" 2325 | token: String 2326 | 2327 | """The name with which to refer to the token""" 2328 | name: String 2329 | } 2330 | 2331 | """Autogenerated return type of DeleteDelegatedWireGuardToken.""" 2332 | type DeleteDelegatedWireGuardTokenPayload { 2333 | """A unique identifier for the client performing the mutation.""" 2334 | clientMutationId: String 2335 | token: String! 2336 | } 2337 | 2338 | """Autogenerated input type of DeleteDeploymentSource""" 2339 | input DeleteDeploymentSourceInput { 2340 | """A unique identifier for the client performing the mutation.""" 2341 | clientMutationId: String 2342 | 2343 | """The application to update""" 2344 | appId: String! 2345 | } 2346 | 2347 | """Autogenerated return type of DeleteDeploymentSource.""" 2348 | type DeleteDeploymentSourcePayload { 2349 | app: App 2350 | 2351 | """A unique identifier for the client performing the mutation.""" 2352 | clientMutationId: String 2353 | } 2354 | 2355 | """Autogenerated input type of DeleteDNSPortal""" 2356 | input DeleteDNSPortalInput { 2357 | """A unique identifier for the client performing the mutation.""" 2358 | clientMutationId: String 2359 | 2360 | """The node ID of the dns portal""" 2361 | dnsPortalId: ID! 2362 | } 2363 | 2364 | """Autogenerated return type of DeleteDNSPortal.""" 2365 | type DeleteDNSPortalPayload { 2366 | """A unique identifier for the client performing the mutation.""" 2367 | clientMutationId: String 2368 | 2369 | """The organization that owned the dns portal""" 2370 | organization: Organization! 2371 | } 2372 | 2373 | """Autogenerated input type of DeleteDNSPortalSession""" 2374 | input DeleteDNSPortalSessionInput { 2375 | """A unique identifier for the client performing the mutation.""" 2376 | clientMutationId: String 2377 | 2378 | """The node ID of the dns portal session""" 2379 | dnsPortalSessionId: ID! 2380 | } 2381 | 2382 | """Autogenerated return type of DeleteDNSPortalSession.""" 2383 | type DeleteDNSPortalSessionPayload { 2384 | """A unique identifier for the client performing the mutation.""" 2385 | clientMutationId: String 2386 | 2387 | """The dns portal that owned the session""" 2388 | dnsPortal: DNSPortal! 2389 | } 2390 | 2391 | """Autogenerated input type of DeleteDNSRecord""" 2392 | input DeleteDNSRecordInput { 2393 | """A unique identifier for the client performing the mutation.""" 2394 | clientMutationId: String 2395 | 2396 | """The node ID of the DNS record""" 2397 | recordId: ID! 2398 | } 2399 | 2400 | """Autogenerated return type of DeleteDNSRecord.""" 2401 | type DeleteDNSRecordPayload { 2402 | """A unique identifier for the client performing the mutation.""" 2403 | clientMutationId: String 2404 | domain: Domain! 2405 | } 2406 | 2407 | """Autogenerated input type of DeleteDomain""" 2408 | input DeleteDomainInput { 2409 | """A unique identifier for the client performing the mutation.""" 2410 | clientMutationId: String 2411 | 2412 | """The node ID of the domain""" 2413 | domainId: ID! 2414 | } 2415 | 2416 | """Autogenerated return type of DeleteDomain.""" 2417 | type DeleteDomainPayload { 2418 | """A unique identifier for the client performing the mutation.""" 2419 | clientMutationId: String 2420 | organization: Organization! 2421 | } 2422 | 2423 | """Autogenerated input type of DeleteHealthCheckHandler""" 2424 | input DeleteHealthCheckHandlerInput { 2425 | """A unique identifier for the client performing the mutation.""" 2426 | clientMutationId: String 2427 | 2428 | """The node ID of the organization""" 2429 | organizationId: ID! 2430 | 2431 | """Handler name""" 2432 | name: String! 2433 | } 2434 | 2435 | """Autogenerated return type of DeleteHealthCheckHandler.""" 2436 | type DeleteHealthCheckHandlerPayload { 2437 | """A unique identifier for the client performing the mutation.""" 2438 | clientMutationId: String 2439 | } 2440 | 2441 | """Autogenerated input type of DeleteLimitedAccessToken""" 2442 | input DeleteLimitedAccessTokenInput { 2443 | """A unique identifier for the client performing the mutation.""" 2444 | clientMutationId: String 2445 | 2446 | """The root of the macaroon""" 2447 | token: String 2448 | 2449 | """The node ID for real""" 2450 | id: ID 2451 | 2452 | """The email of the user who revoked the token""" 2453 | revokedBy: String 2454 | } 2455 | 2456 | """Autogenerated return type of DeleteLimitedAccessToken.""" 2457 | type DeleteLimitedAccessTokenPayload { 2458 | """A unique identifier for the client performing the mutation.""" 2459 | clientMutationId: String 2460 | revokedBy: String 2461 | token: String 2462 | } 2463 | 2464 | """Autogenerated input type of DeleteOrganization""" 2465 | input DeleteOrganizationInput { 2466 | """A unique identifier for the client performing the mutation.""" 2467 | clientMutationId: String 2468 | 2469 | """The ID of the organization to delete""" 2470 | organizationId: ID! 2471 | } 2472 | 2473 | """Autogenerated input type of DeleteOrganizationInvitation""" 2474 | input DeleteOrganizationInvitationInput { 2475 | """A unique identifier for the client performing the mutation.""" 2476 | clientMutationId: String 2477 | 2478 | """The node ID of the invitation""" 2479 | invitationId: ID! 2480 | } 2481 | 2482 | """Autogenerated return type of DeleteOrganizationInvitation.""" 2483 | type DeleteOrganizationInvitationPayload { 2484 | """A unique identifier for the client performing the mutation.""" 2485 | clientMutationId: String 2486 | organization: Organization! 2487 | } 2488 | 2489 | """Autogenerated input type of DeleteOrganizationMembership""" 2490 | input DeleteOrganizationMembershipInput { 2491 | """A unique identifier for the client performing the mutation.""" 2492 | clientMutationId: String 2493 | 2494 | """The node ID of the organization""" 2495 | organizationId: ID! 2496 | 2497 | """The node ID of the user""" 2498 | userId: ID! 2499 | } 2500 | 2501 | """Autogenerated return type of DeleteOrganizationMembership.""" 2502 | type DeleteOrganizationMembershipPayload { 2503 | """A unique identifier for the client performing the mutation.""" 2504 | clientMutationId: String 2505 | organization: Organization! 2506 | user: User! 2507 | } 2508 | 2509 | """Autogenerated return type of DeleteOrganization.""" 2510 | type DeleteOrganizationPayload { 2511 | """A unique identifier for the client performing the mutation.""" 2512 | clientMutationId: String 2513 | deletedOrganizationId: ID! 2514 | } 2515 | 2516 | """Autogenerated input type of DeleteRemoteBuilder""" 2517 | input DeleteRemoteBuilderInput { 2518 | """A unique identifier for the client performing the mutation.""" 2519 | clientMutationId: String 2520 | 2521 | """The node ID of the organization""" 2522 | organizationId: ID! 2523 | } 2524 | 2525 | """Autogenerated return type of DeleteRemoteBuilder.""" 2526 | type DeleteRemoteBuilderPayload { 2527 | """A unique identifier for the client performing the mutation.""" 2528 | clientMutationId: String 2529 | organization: Organization! 2530 | } 2531 | 2532 | """Autogenerated input type of DeleteThirdPartyConfiguration""" 2533 | input DeleteThirdPartyConfigurationInput { 2534 | """A unique identifier for the client performing the mutation.""" 2535 | clientMutationId: String 2536 | 2537 | """The node ID of the configuration""" 2538 | thirdPartyConfigurationId: ID! 2539 | } 2540 | 2541 | """Autogenerated return type of DeleteThirdPartyConfiguration.""" 2542 | type DeleteThirdPartyConfigurationPayload { 2543 | """A unique identifier for the client performing the mutation.""" 2544 | clientMutationId: String 2545 | ok: Boolean! 2546 | } 2547 | 2548 | """Autogenerated input type of DeleteVolume""" 2549 | input DeleteVolumeInput { 2550 | """A unique identifier for the client performing the mutation.""" 2551 | clientMutationId: String 2552 | 2553 | """The node ID of the volume""" 2554 | volumeId: ID! 2555 | 2556 | """Unique lock ID""" 2557 | lockId: ID 2558 | } 2559 | 2560 | """Autogenerated return type of DeleteVolume.""" 2561 | type DeleteVolumePayload { 2562 | app: App! 2563 | 2564 | """A unique identifier for the client performing the mutation.""" 2565 | clientMutationId: String 2566 | } 2567 | 2568 | """Autogenerated input type of DeployImage""" 2569 | input DeployImageInput { 2570 | """A unique identifier for the client performing the mutation.""" 2571 | clientMutationId: String 2572 | 2573 | """The ID of the app""" 2574 | appId: ID! 2575 | 2576 | """The image to deploy""" 2577 | image: String! 2578 | 2579 | """Network services to expose""" 2580 | services: [ServiceInput!] 2581 | 2582 | """app definition""" 2583 | definition: JSON 2584 | 2585 | """The strategy for replacing existing instances. Defaults to canary.""" 2586 | strategy: DeploymentStrategy 2587 | } 2588 | 2589 | """Autogenerated return type of DeployImage.""" 2590 | type DeployImagePayload { 2591 | app: App! 2592 | 2593 | """A unique identifier for the client performing the mutation.""" 2594 | clientMutationId: String 2595 | release: Release 2596 | releaseCommand: ReleaseCommand 2597 | } 2598 | 2599 | """Continuous deployment configuration""" 2600 | type DeploymentSource { 2601 | backend: JSON! 2602 | baseDir: String! 2603 | connected: Boolean! 2604 | id: ID! 2605 | provider: String! 2606 | 2607 | """The ref to build from""" 2608 | ref: String! 2609 | repositoryId: String! 2610 | 2611 | """The repository to fetch source code from""" 2612 | repositoryUrl: String! 2613 | } 2614 | 2615 | type DeploymentStatus { 2616 | allocations: [Allocation!]! 2617 | description: String! 2618 | desiredCount: Int! 2619 | healthyCount: Int! 2620 | 2621 | """Unique ID for this deployment""" 2622 | id: ID! 2623 | inProgress: Boolean! 2624 | placedCount: Int! 2625 | promoted: Boolean! 2626 | status: String! 2627 | successful: Boolean! 2628 | unhealthyCount: Int! 2629 | version: Int! 2630 | } 2631 | 2632 | enum DeploymentStrategy { 2633 | """Deploy new instances all at once""" 2634 | IMMEDIATE 2635 | 2636 | """Deploy new instances all at once""" 2637 | SIMPLE 2638 | 2639 | """Incrementally replace old instances with new ones""" 2640 | ROLLING 2641 | 2642 | """Incrementally replace old instances with new ones, 1 by 1""" 2643 | ROLLING_ONE 2644 | 2645 | """ 2646 | Ensure new instances are healthy before continuing with a rolling deployment 2647 | """ 2648 | CANARY 2649 | 2650 | """Launch all new instances before shutting down previous instances""" 2651 | BLUEGREEN 2652 | } 2653 | 2654 | """Autogenerated input type of DetachPostgresCluster""" 2655 | input DetachPostgresClusterInput { 2656 | """A unique identifier for the client performing the mutation.""" 2657 | clientMutationId: String 2658 | 2659 | """The postgres cluster application id""" 2660 | postgresClusterAppId: ID! 2661 | 2662 | """The application to detach postgres from""" 2663 | appId: ID! 2664 | 2665 | """The postgres attachment id""" 2666 | postgresClusterAttachmentId: ID 2667 | } 2668 | 2669 | """Autogenerated return type of DetachPostgresCluster.""" 2670 | type DetachPostgresClusterPayload { 2671 | app: App! 2672 | 2673 | """A unique identifier for the client performing the mutation.""" 2674 | clientMutationId: String 2675 | postgresClusterApp: App! 2676 | } 2677 | 2678 | type DNSPortal implements Node { 2679 | accentColor: String! 2680 | createdAt: ISO8601DateTime! 2681 | id: ID! 2682 | name: String! 2683 | organization: Organization! 2684 | primaryColor: String! 2685 | returnUrl: String 2686 | returnUrlText: String 2687 | supportUrl: String 2688 | supportUrlText: String 2689 | title: String! 2690 | updatedAt: ISO8601DateTime! 2691 | } 2692 | 2693 | """The connection type for DNSPortal.""" 2694 | type DNSPortalConnection { 2695 | """A list of edges.""" 2696 | edges: [DNSPortalEdge] 2697 | 2698 | """A list of nodes.""" 2699 | nodes: [DNSPortal] 2700 | 2701 | """Information to aid in pagination.""" 2702 | pageInfo: PageInfo! 2703 | totalCount: Int! 2704 | } 2705 | 2706 | """An edge in a connection.""" 2707 | type DNSPortalEdge { 2708 | """A cursor for use in pagination.""" 2709 | cursor: String! 2710 | 2711 | """The item at the end of the edge.""" 2712 | node: DNSPortal 2713 | } 2714 | 2715 | type DNSPortalSession implements Node { 2716 | createdAt: ISO8601DateTime! 2717 | 2718 | """The dns portal this session""" 2719 | dnsPortal: DNSPortal! 2720 | expiresAt: ISO8601DateTime! 2721 | id: ID! 2722 | 2723 | """Is this session expired?""" 2724 | isExpired: Boolean! 2725 | 2726 | """The overridden return url for this session""" 2727 | returnUrl: String 2728 | 2729 | """The overridden return url text for this session""" 2730 | returnUrlText: String 2731 | 2732 | """The overridden title for this session""" 2733 | title: String 2734 | 2735 | """The url to access this session's dns portal""" 2736 | url: String! 2737 | } 2738 | 2739 | type DNSRecord implements Node { 2740 | createdAt: ISO8601DateTime! 2741 | 2742 | """The domain this record belongs to""" 2743 | domain: Domain! 2744 | 2745 | """Fully qualified domain name for this record""" 2746 | fqdn: String! 2747 | id: ID! 2748 | 2749 | """Is this record at the zone apex?""" 2750 | isApex: Boolean! 2751 | 2752 | """ 2753 | Is this a system record? System records are managed by fly and not editable. 2754 | """ 2755 | isSystem: Boolean! 2756 | 2757 | """Is this record a wildcard?""" 2758 | isWildcard: Boolean! 2759 | 2760 | """The name of this record. @ indicates the record is at the zone apex.""" 2761 | name: String! 2762 | 2763 | """The record data""" 2764 | rdata: String! 2765 | 2766 | """The number of seconds this record can be cached for""" 2767 | ttl: Int! 2768 | 2769 | """The type of record""" 2770 | type: DNSRecordType! 2771 | updatedAt: ISO8601DateTime! 2772 | } 2773 | 2774 | type DNSRecordAttributes { 2775 | """The name of the record.""" 2776 | name: String! 2777 | 2778 | """The record data.""" 2779 | rdata: String! 2780 | 2781 | """The number of seconds this record can be cached for.""" 2782 | ttl: Int! 2783 | 2784 | """The type of record.""" 2785 | type: DNSRecordType! 2786 | } 2787 | 2788 | enum DNSRecordChangeAction { 2789 | """A record should be created with the provided attributes""" 2790 | CREATE 2791 | 2792 | """A record with the provided ID should be updated""" 2793 | UPDATE 2794 | 2795 | """A record with the provided ID should be deleted""" 2796 | DELETE 2797 | } 2798 | 2799 | input DNSRecordChangeInput { 2800 | """The action to perform on this record.""" 2801 | action: DNSRecordChangeAction! 2802 | 2803 | """ 2804 | The id of the record this action will apply to. This is required if the action is UPDATE or DELETE. 2805 | """ 2806 | recordId: ID 2807 | 2808 | """The record type. This is required if action is CREATE.""" 2809 | type: DNSRecordType 2810 | 2811 | """ 2812 | The name of the record. If omitted it will default to @ - the zone apex. 2813 | """ 2814 | name: String 2815 | 2816 | """ 2817 | The number of seconds this record can be cached for. Defaults to 1 hour. 2818 | """ 2819 | ttl: Int 2820 | 2821 | """The record data. Required if action is CREATE""" 2822 | rdata: String 2823 | } 2824 | 2825 | """The connection type for DNSRecord.""" 2826 | type DNSRecordConnection { 2827 | """A list of edges.""" 2828 | edges: [DNSRecordEdge] 2829 | 2830 | """A list of nodes.""" 2831 | nodes: [DNSRecord] 2832 | 2833 | """Information to aid in pagination.""" 2834 | pageInfo: PageInfo! 2835 | totalCount: Int! 2836 | } 2837 | 2838 | type DNSRecordDiff { 2839 | """The action that was performed.""" 2840 | action: DNSRecordChangeAction! 2841 | 2842 | """The attributes for this record after the action was performed.""" 2843 | newAttributes: DNSRecordAttributes 2844 | 2845 | """The text representation of this record after the action was performed.""" 2846 | newText: String 2847 | 2848 | """The attributes for this record before the action was performed.""" 2849 | oldAttributes: DNSRecordAttributes 2850 | 2851 | """ 2852 | The text representation of this record before the action was performed. 2853 | """ 2854 | oldText: String 2855 | } 2856 | 2857 | """An edge in a connection.""" 2858 | type DNSRecordEdge { 2859 | """A cursor for use in pagination.""" 2860 | cursor: String! 2861 | 2862 | """The item at the end of the edge.""" 2863 | node: DNSRecord 2864 | } 2865 | 2866 | enum DNSRecordType { 2867 | A 2868 | AAAA 2869 | ALIAS 2870 | CNAME 2871 | MX 2872 | NS 2873 | SOA 2874 | TXT 2875 | SRV 2876 | } 2877 | 2878 | type DNSRecordWarning { 2879 | """The action to perform.""" 2880 | action: DNSRecordChangeAction! 2881 | 2882 | """The desired attributes for this record.""" 2883 | attributes: DNSRecordAttributes! 2884 | 2885 | """The warning message.""" 2886 | message: String! 2887 | 2888 | """The record this warning applies to.""" 2889 | record: DNSRecord 2890 | } 2891 | 2892 | type Domain implements Node { 2893 | autoRenew: Boolean 2894 | createdAt: ISO8601DateTime! 2895 | 2896 | """The delegated nameservers for the registration""" 2897 | delegatedNameservers: [String!] 2898 | 2899 | """The dns records for this domain""" 2900 | dnsRecords( 2901 | """Returns the elements in the list that come after the specified cursor.""" 2902 | after: String 2903 | 2904 | """ 2905 | Returns the elements in the list that come before the specified cursor. 2906 | """ 2907 | before: String 2908 | 2909 | """Returns the first _n_ elements from the list.""" 2910 | first: Int 2911 | 2912 | """Returns the last _n_ elements from the list.""" 2913 | last: Int 2914 | ): DNSRecordConnection! 2915 | dnsStatus: DomainDNSStatus! 2916 | expiresAt: ISO8601DateTime 2917 | id: ID! 2918 | 2919 | """The name for this domain""" 2920 | name: String! 2921 | 2922 | """The organization that owns this domain""" 2923 | organization: Organization! 2924 | registrationStatus: DomainRegistrationStatus! 2925 | updatedAt: ISO8601DateTime! 2926 | 2927 | """The nameservers for the hosted zone""" 2928 | zoneNameservers: [String!]! 2929 | } 2930 | 2931 | """The connection type for Domain.""" 2932 | type DomainConnection { 2933 | """A list of edges.""" 2934 | edges: [DomainEdge] 2935 | 2936 | """A list of nodes.""" 2937 | nodes: [Domain] 2938 | 2939 | """Information to aid in pagination.""" 2940 | pageInfo: PageInfo! 2941 | totalCount: Int! 2942 | } 2943 | 2944 | enum DomainDNSStatus { 2945 | """The DNS zone has not been created yet""" 2946 | PENDING 2947 | 2948 | """The DNS zone is being updated""" 2949 | UPDATING 2950 | 2951 | """The DNS zone is ready""" 2952 | READY 2953 | } 2954 | 2955 | """An edge in a connection.""" 2956 | type DomainEdge { 2957 | """A cursor for use in pagination.""" 2958 | cursor: String! 2959 | 2960 | """The item at the end of the edge.""" 2961 | node: Domain 2962 | } 2963 | 2964 | enum DomainRegistrationStatus { 2965 | """The domain is not registered on fly""" 2966 | UNMANAGED 2967 | 2968 | """The domain is being registered""" 2969 | REGISTERING 2970 | 2971 | """The domain is registered""" 2972 | REGISTERED 2973 | 2974 | """The domain is being transferred""" 2975 | TRANSFERRING 2976 | 2977 | """The domain registration has expired""" 2978 | EXPIRED 2979 | } 2980 | 2981 | """Autogenerated input type of DummyWireGuardPeer""" 2982 | input DummyWireGuardPeerInput { 2983 | """A unique identifier for the client performing the mutation.""" 2984 | clientMutationId: String 2985 | 2986 | """The node ID of the organization""" 2987 | organizationId: ID! 2988 | 2989 | """The region in which to deploy the peer""" 2990 | region: String 2991 | } 2992 | 2993 | """Autogenerated return type of DummyWireGuardPeer.""" 2994 | type DummyWireGuardPeerPayload { 2995 | """A unique identifier for the client performing the mutation.""" 2996 | clientMutationId: String 2997 | endpointip: String! 2998 | localpub: String! 2999 | peerip: String! 3000 | privkey: String! 3001 | pubkey: String! 3002 | } 3003 | 3004 | type EgressIPAddress implements Node { 3005 | """ID of the object.""" 3006 | id: ID! 3007 | ip: String! 3008 | region: String! 3009 | version: Int! 3010 | } 3011 | 3012 | """The connection type for EgressIPAddress.""" 3013 | type EgressIPAddressConnection { 3014 | """A list of edges.""" 3015 | edges: [EgressIPAddressEdge] 3016 | 3017 | """A list of nodes.""" 3018 | nodes: [EgressIPAddress] 3019 | 3020 | """Information to aid in pagination.""" 3021 | pageInfo: PageInfo! 3022 | totalCount: Int! 3023 | } 3024 | 3025 | """An edge in a connection.""" 3026 | type EgressIPAddressEdge { 3027 | """A cursor for use in pagination.""" 3028 | cursor: String! 3029 | 3030 | """The item at the end of the edge.""" 3031 | node: EgressIPAddress 3032 | } 3033 | 3034 | type EmptyAppRole implements AppRole { 3035 | """The name of this role""" 3036 | name: String! 3037 | } 3038 | 3039 | """Autogenerated input type of EnablePostgresConsul""" 3040 | input EnablePostgresConsulInput { 3041 | """A unique identifier for the client performing the mutation.""" 3042 | clientMutationId: String 3043 | 3044 | """The ID of the app""" 3045 | appId: ID 3046 | region: String 3047 | } 3048 | 3049 | """Autogenerated return type of EnablePostgresConsul.""" 3050 | type EnablePostgresConsulPayload { 3051 | """A unique identifier for the client performing the mutation.""" 3052 | clientMutationId: String 3053 | consulUrl: String! 3054 | } 3055 | 3056 | """Autogenerated input type of EnsureDepotRemoteBuilder""" 3057 | input EnsureDepotRemoteBuilderInput { 3058 | """A unique identifier for the client performing the mutation.""" 3059 | clientMutationId: String 3060 | 3061 | """The unique application name""" 3062 | appName: String 3063 | 3064 | """The node ID of the organization""" 3065 | organizationId: ID 3066 | 3067 | """Desired region for the remote builder""" 3068 | region: String 3069 | 3070 | """ 3071 | The scope of the builder; either "app" or "organization" 3072 | """ 3073 | builderScope: String 3074 | } 3075 | 3076 | """Autogenerated return type of EnsureDepotRemoteBuilder.""" 3077 | type EnsureDepotRemoteBuilderPayload { 3078 | buildId: String! 3079 | buildToken: String! 3080 | 3081 | """A unique identifier for the client performing the mutation.""" 3082 | clientMutationId: String 3083 | } 3084 | 3085 | """Autogenerated input type of EnsureMachineRemoteBuilder""" 3086 | input EnsureMachineRemoteBuilderInput { 3087 | """A unique identifier for the client performing the mutation.""" 3088 | clientMutationId: String 3089 | 3090 | """The unique application name""" 3091 | appName: String 3092 | 3093 | """The node ID of the organization""" 3094 | organizationId: ID 3095 | 3096 | """Desired region for the remote builder""" 3097 | region: String 3098 | 3099 | """Use v2 machines""" 3100 | v2: Boolean 3101 | } 3102 | 3103 | """Autogenerated return type of EnsureMachineRemoteBuilder.""" 3104 | type EnsureMachineRemoteBuilderPayload { 3105 | app: App! 3106 | 3107 | """A unique identifier for the client performing the mutation.""" 3108 | clientMutationId: String 3109 | machine: Machine! 3110 | } 3111 | 3112 | """Autogenerated input type of EstablishSSHKey""" 3113 | input EstablishSSHKeyInput { 3114 | """A unique identifier for the client performing the mutation.""" 3115 | clientMutationId: String 3116 | 3117 | """The node ID of the organization""" 3118 | organizationId: ID! 3119 | 3120 | """Establish a key even if one is already set""" 3121 | override: Boolean 3122 | } 3123 | 3124 | """Autogenerated return type of EstablishSSHKey.""" 3125 | type EstablishSSHKeyPayload { 3126 | certificate: String! 3127 | 3128 | """A unique identifier for the client performing the mutation.""" 3129 | clientMutationId: String 3130 | } 3131 | 3132 | """Autogenerated input type of ExportDNSZone""" 3133 | input ExportDNSZoneInput { 3134 | """A unique identifier for the client performing the mutation.""" 3135 | clientMutationId: String 3136 | 3137 | """ID of the domain to export""" 3138 | domainId: ID! 3139 | } 3140 | 3141 | """Autogenerated return type of ExportDNSZone.""" 3142 | type ExportDNSZonePayload { 3143 | """A unique identifier for the client performing the mutation.""" 3144 | clientMutationId: String 3145 | contents: String! 3146 | domain: Domain! 3147 | } 3148 | 3149 | """Autogenerated input type of ExtendVolume""" 3150 | input ExtendVolumeInput { 3151 | """A unique identifier for the client performing the mutation.""" 3152 | clientMutationId: String 3153 | 3154 | """The node ID of the volume""" 3155 | volumeId: ID! 3156 | 3157 | """The target volume size""" 3158 | sizeGb: Int! 3159 | } 3160 | 3161 | """Autogenerated return type of ExtendVolume.""" 3162 | type ExtendVolumePayload { 3163 | app: App! 3164 | 3165 | """A unique identifier for the client performing the mutation.""" 3166 | clientMutationId: String 3167 | needsRestart: Boolean! 3168 | volume: Volume! 3169 | } 3170 | 3171 | """Autogenerated input type of FinishBuild""" 3172 | input FinishBuildInput { 3173 | """A unique identifier for the client performing the mutation.""" 3174 | clientMutationId: String 3175 | 3176 | """Build id returned by createBuild() mutation""" 3177 | buildId: ID! 3178 | 3179 | """The name of the app being built""" 3180 | appName: ID! 3181 | 3182 | """The ID of the machine being built (only set for machine builds)""" 3183 | machineId: ID 3184 | 3185 | """Indicate whether build completed or failed""" 3186 | status: String! 3187 | 3188 | """ 3189 | Build strategies attempted and their result, should be in order of attempt 3190 | """ 3191 | strategiesAttempted: [BuildStrategyAttemptInput!] 3192 | 3193 | """Metadata about the builder""" 3194 | builderMeta: BuilderMetaInput 3195 | 3196 | """Information about the docker image that was built""" 3197 | finalImage: BuildFinalImageInput 3198 | 3199 | """Timings for different phases of the build""" 3200 | timings: BuildTimingsInput 3201 | 3202 | """Log or error output""" 3203 | logs: String 3204 | } 3205 | 3206 | """Autogenerated return type of FinishBuild.""" 3207 | type FinishBuildPayload { 3208 | """A unique identifier for the client performing the mutation.""" 3209 | clientMutationId: String 3210 | 3211 | """build id""" 3212 | id: ID! 3213 | 3214 | """stored build status""" 3215 | status: String! 3216 | 3217 | """wall clock time for this build""" 3218 | wallclockTimeMs: Int! 3219 | } 3220 | 3221 | type FlyctlMachineHostAppRole implements AppRole { 3222 | """The name of this role""" 3223 | name: String! 3224 | } 3225 | 3226 | type FlyctlRelease { 3227 | timestamp: ISO8601DateTime! 3228 | version: String! 3229 | } 3230 | 3231 | type FlyPlatform { 3232 | """Latest flyctl release details""" 3233 | flyctl: FlyctlRelease! 3234 | 3235 | """Fly global regions""" 3236 | regions: [Region!]! 3237 | 3238 | """Region current request from""" 3239 | requestRegion: String 3240 | 3241 | """Available VM sizes""" 3242 | vmSizes: [VMSize!]! 3243 | } 3244 | 3245 | """Autogenerated input type of ForkVolume""" 3246 | input ForkVolumeInput { 3247 | """A unique identifier for the client performing the mutation.""" 3248 | clientMutationId: String 3249 | 3250 | """The application to attach the new volume to""" 3251 | appId: ID! 3252 | 3253 | """The volume to fork""" 3254 | sourceVolId: ID! 3255 | 3256 | """Volume name""" 3257 | name: String 3258 | 3259 | """Lock the new volume to only usable on machines""" 3260 | machinesOnly: Boolean 3261 | 3262 | """Unique lock ID""" 3263 | lockId: ID 3264 | 3265 | """Enables experimental cross-host volume forking""" 3266 | remote: Boolean 3267 | } 3268 | 3269 | """Autogenerated return type of ForkVolume.""" 3270 | type ForkVolumePayload { 3271 | app: App! 3272 | 3273 | """A unique identifier for the client performing the mutation.""" 3274 | clientMutationId: String 3275 | volume: Volume! 3276 | } 3277 | 3278 | enum FsTypeType { 3279 | """default ext4 filesystem""" 3280 | ext4 3281 | 3282 | """raw block device, no filesystem""" 3283 | raw 3284 | } 3285 | 3286 | type GithubAppInstallation { 3287 | editUrl: String! 3288 | id: ID! 3289 | owner: String! 3290 | repositories: [GithubRepository!]! 3291 | } 3292 | 3293 | type GithubIntegration { 3294 | installationUrl: String! 3295 | installations: [GithubAppInstallation!]! 3296 | viewerAuthenticated: Boolean! 3297 | } 3298 | 3299 | type GithubRepository { 3300 | fork: Boolean! 3301 | fullName: String! 3302 | id: String! 3303 | name: String! 3304 | private: Boolean! 3305 | } 3306 | 3307 | """Autogenerated input type of GrantPostgresClusterUserAccess""" 3308 | input GrantPostgresClusterUserAccessInput { 3309 | """A unique identifier for the client performing the mutation.""" 3310 | clientMutationId: String 3311 | 3312 | """The name of the postgres cluster app""" 3313 | appName: String! 3314 | 3315 | """The name of the database""" 3316 | username: String! 3317 | 3318 | """The database to grant access to""" 3319 | databaseName: String! 3320 | } 3321 | 3322 | """Autogenerated return type of GrantPostgresClusterUserAccess.""" 3323 | type GrantPostgresClusterUserAccessPayload { 3324 | """A unique identifier for the client performing the mutation.""" 3325 | clientMutationId: String 3326 | database: PostgresClusterDatabase! 3327 | postgresClusterRole: PostgresClusterAppRole! 3328 | user: PostgresClusterUser! 3329 | } 3330 | 3331 | type HealthCheck { 3332 | """Raw name of entity""" 3333 | entity: String! 3334 | 3335 | """Time check last passed""" 3336 | lastPassing: ISO8601DateTime 3337 | 3338 | """Check name""" 3339 | name: String! 3340 | 3341 | """Latest check output""" 3342 | output: String 3343 | 3344 | """Current check state""" 3345 | state: String! 3346 | } 3347 | 3348 | """The connection type for HealthCheck.""" 3349 | type HealthCheckConnection { 3350 | """A list of edges.""" 3351 | edges: [HealthCheckEdge] 3352 | 3353 | """A list of nodes.""" 3354 | nodes: [HealthCheck] 3355 | 3356 | """Information to aid in pagination.""" 3357 | pageInfo: PageInfo! 3358 | totalCount: Int! 3359 | } 3360 | 3361 | """An edge in a connection.""" 3362 | type HealthCheckEdge { 3363 | """A cursor for use in pagination.""" 3364 | cursor: String! 3365 | 3366 | """The item at the end of the edge.""" 3367 | node: HealthCheck 3368 | } 3369 | 3370 | type HealthCheckHandler { 3371 | """Handler name""" 3372 | name: String! 3373 | 3374 | """Handler type (Slack or Pagerduty)""" 3375 | type: String! 3376 | } 3377 | 3378 | """The connection type for HealthCheckHandler.""" 3379 | type HealthCheckHandlerConnection { 3380 | """A list of edges.""" 3381 | edges: [HealthCheckHandlerEdge] 3382 | 3383 | """A list of nodes.""" 3384 | nodes: [HealthCheckHandler] 3385 | 3386 | """Information to aid in pagination.""" 3387 | pageInfo: PageInfo! 3388 | totalCount: Int! 3389 | } 3390 | 3391 | """An edge in a connection.""" 3392 | type HealthCheckHandlerEdge { 3393 | """A cursor for use in pagination.""" 3394 | cursor: String! 3395 | 3396 | """The item at the end of the edge.""" 3397 | node: HealthCheckHandler 3398 | } 3399 | 3400 | type HerokuApp { 3401 | id: String! 3402 | name: String! 3403 | region: String 3404 | releasedAt: ISO8601DateTime! 3405 | stack: String 3406 | teamName: String 3407 | } 3408 | 3409 | type HerokuIntegration { 3410 | herokuApps: [HerokuApp!]! 3411 | viewerAuthenticated: Boolean! 3412 | } 3413 | 3414 | type Host implements Node { 3415 | id: ID! 3416 | } 3417 | 3418 | type HostnameCheck { 3419 | aRecords: [String!]! 3420 | aaaaRecords: [String!]! 3421 | acmeDnsConfigured: Boolean! 3422 | caaRecords: [String!]! 3423 | cnameRecords: [String!]! 3424 | dnsConfigured: Boolean! 3425 | dnsProvider: String 3426 | dnsVerificationRecord: String 3427 | errors: [String!] 3428 | id: ID! 3429 | isProxied: Boolean! 3430 | resolvedAddresses: [String!]! 3431 | soa: String 3432 | } 3433 | 3434 | enum HTTPMethod { 3435 | GET 3436 | POST 3437 | PUT 3438 | PATCH 3439 | HEAD 3440 | DELETE 3441 | } 3442 | 3443 | enum HTTPProtocol { 3444 | """HTTP protocol""" 3445 | HTTP 3446 | 3447 | """HTTPS protocol""" 3448 | HTTPS 3449 | } 3450 | 3451 | type Image { 3452 | absoluteRef: String! 3453 | compressedSize: Int! @deprecated(reason: "Int cannot handle sizes over 2GB. Use compressed_size_full instead") 3454 | compressedSizeFull: BigInt! 3455 | config: JSON! 3456 | configDigest: JSON! 3457 | createdAt: ISO8601DateTime! 3458 | digest: String! 3459 | id: ID! 3460 | label: String! 3461 | manifest: JSON! 3462 | ref: String! 3463 | registry: String! 3464 | repository: String! 3465 | tag: String 3466 | } 3467 | 3468 | type ImageVersion { 3469 | digest: String! 3470 | registry: String! 3471 | repository: String! 3472 | tag: String! 3473 | version: String 3474 | } 3475 | 3476 | """Autogenerated return type of ImportCertificate.""" 3477 | type ImportCertificatePayload { 3478 | app: App 3479 | appCertificate: AppCertificate 3480 | certificate: Certificate 3481 | errors: [String!] 3482 | } 3483 | 3484 | """Autogenerated input type of ImportDNSZone""" 3485 | input ImportDNSZoneInput { 3486 | """A unique identifier for the client performing the mutation.""" 3487 | clientMutationId: String 3488 | 3489 | """ID of the domain to export""" 3490 | domainId: ID! 3491 | zonefile: String! 3492 | } 3493 | 3494 | """Autogenerated return type of ImportDNSZone.""" 3495 | type ImportDNSZonePayload { 3496 | changes: [DNSRecordDiff!]! 3497 | 3498 | """A unique identifier for the client performing the mutation.""" 3499 | clientMutationId: String 3500 | domain: Domain! 3501 | warnings: [DNSRecordWarning!]! 3502 | } 3503 | 3504 | type IPAddress implements Node { 3505 | address: String! 3506 | createdAt: ISO8601DateTime! 3507 | id: ID! 3508 | network: Network 3509 | region: String 3510 | serviceName: String 3511 | type: IPAddressType! 3512 | } 3513 | 3514 | """The connection type for IPAddress.""" 3515 | type IPAddressConnection { 3516 | """A list of edges.""" 3517 | edges: [IPAddressEdge] 3518 | 3519 | """A list of nodes.""" 3520 | nodes: [IPAddress] 3521 | 3522 | """Information to aid in pagination.""" 3523 | pageInfo: PageInfo! 3524 | totalCount: Int! 3525 | } 3526 | 3527 | """An edge in a connection.""" 3528 | type IPAddressEdge { 3529 | """A cursor for use in pagination.""" 3530 | cursor: String! 3531 | 3532 | """The item at the end of the edge.""" 3533 | node: IPAddress 3534 | } 3535 | 3536 | enum IPAddressType { 3537 | v4 3538 | v6 3539 | private_v6 3540 | shared_v4 3541 | } 3542 | 3543 | """An ISO 8601-encoded datetime""" 3544 | scalar ISO8601DateTime 3545 | 3546 | type Issue implements Node { 3547 | createdAt: ISO8601DateTime! 3548 | id: ID! 3549 | internalId: String! 3550 | 3551 | """Issue message""" 3552 | message: String 3553 | resolvedAt: ISO8601DateTime 3554 | updatedAt: ISO8601DateTime! 3555 | } 3556 | 3557 | """Autogenerated input type of IssueCertificate""" 3558 | input IssueCertificateInput { 3559 | """A unique identifier for the client performing the mutation.""" 3560 | clientMutationId: String 3561 | 3562 | """The node ID of the organization""" 3563 | organizationId: ID! 3564 | 3565 | """The names of the apps this certificate will be limited to accessing""" 3566 | appNames: [String!] 3567 | 3568 | """Hours for which certificate will be valid""" 3569 | validHours: Int 3570 | 3571 | """SSH principals for certificate (e.g. ["fly", "root"])""" 3572 | principals: [String!] 3573 | 3574 | """The openssh-formatted ED25519 public key to issue the certificate for""" 3575 | publicKey: String 3576 | } 3577 | 3578 | """Autogenerated return type of IssueCertificate.""" 3579 | type IssueCertificatePayload { 3580 | certificate: String! 3581 | 3582 | """A unique identifier for the client performing the mutation.""" 3583 | clientMutationId: String 3584 | 3585 | """The private key, if a public_key wasn't specified""" 3586 | key: String @deprecated(reason: "Specify your own public key") 3587 | } 3588 | 3589 | """The connection type for Issue.""" 3590 | type IssueConnection { 3591 | """A list of edges.""" 3592 | edges: [IssueEdge] 3593 | 3594 | """A list of nodes.""" 3595 | nodes: [Issue] 3596 | 3597 | """Information to aid in pagination.""" 3598 | pageInfo: PageInfo! 3599 | totalCount: Int! 3600 | } 3601 | 3602 | """An edge in a connection.""" 3603 | type IssueEdge { 3604 | """A cursor for use in pagination.""" 3605 | cursor: String! 3606 | 3607 | """The item at the end of the edge.""" 3608 | node: Issue 3609 | } 3610 | 3611 | """Untyped JSON data""" 3612 | scalar JSON 3613 | 3614 | """Autogenerated input type of KillMachine""" 3615 | input KillMachineInput { 3616 | """A unique identifier for the client performing the mutation.""" 3617 | clientMutationId: String 3618 | 3619 | """The ID of the app""" 3620 | appId: ID 3621 | 3622 | """machine id""" 3623 | id: String! 3624 | } 3625 | 3626 | """Autogenerated return type of KillMachine.""" 3627 | type KillMachinePayload { 3628 | """A unique identifier for the client performing the mutation.""" 3629 | clientMutationId: String 3630 | machine: Machine! 3631 | } 3632 | 3633 | """Autogenerated input type of LaunchMachine""" 3634 | input LaunchMachineInput { 3635 | """A unique identifier for the client performing the mutation.""" 3636 | clientMutationId: String 3637 | 3638 | """The ID of the app""" 3639 | appId: ID 3640 | 3641 | """The node ID of the organization""" 3642 | organizationId: ID 3643 | 3644 | """The ID of the machine""" 3645 | id: String 3646 | 3647 | """The name of the machine""" 3648 | name: String 3649 | 3650 | """Region for the machine""" 3651 | region: String 3652 | 3653 | """Configuration""" 3654 | config: JSON! 3655 | } 3656 | 3657 | """Autogenerated return type of LaunchMachine.""" 3658 | type LaunchMachinePayload { 3659 | app: App! 3660 | 3661 | """A unique identifier for the client performing the mutation.""" 3662 | clientMutationId: String 3663 | machine: Machine! 3664 | } 3665 | 3666 | type LimitedAccessToken implements Node { 3667 | createdAt: ISO8601DateTime! 3668 | expiresAt: ISO8601DateTime! 3669 | id: ID! 3670 | name: String! 3671 | profile: String! 3672 | revokedAt: ISO8601DateTime 3673 | revokedBy: String 3674 | token: String! 3675 | tokenHeader: String 3676 | user: User! 3677 | } 3678 | 3679 | """The connection type for LimitedAccessToken.""" 3680 | type LimitedAccessTokenConnection { 3681 | """A list of edges.""" 3682 | edges: [LimitedAccessTokenEdge] 3683 | 3684 | """A list of nodes.""" 3685 | nodes: [LimitedAccessToken] 3686 | 3687 | """Information to aid in pagination.""" 3688 | pageInfo: PageInfo! 3689 | totalCount: Int! 3690 | } 3691 | 3692 | """An edge in a connection.""" 3693 | type LimitedAccessTokenEdge { 3694 | """A cursor for use in pagination.""" 3695 | cursor: String! 3696 | 3697 | """The item at the end of the edge.""" 3698 | node: LimitedAccessToken 3699 | } 3700 | 3701 | """Autogenerated input type of LockApp""" 3702 | input LockAppInput { 3703 | """A unique identifier for the client performing the mutation.""" 3704 | clientMutationId: String 3705 | 3706 | """The ID of the app""" 3707 | appId: ID! 3708 | } 3709 | 3710 | """Autogenerated return type of LockApp.""" 3711 | type LockAppPayload { 3712 | """A unique identifier for the client performing the mutation.""" 3713 | clientMutationId: String 3714 | 3715 | """When this lock automatically expires""" 3716 | expiration: ISO8601DateTime 3717 | 3718 | """Unique lock ID""" 3719 | lockId: ID 3720 | } 3721 | 3722 | type LogEntry { 3723 | id: String! 3724 | instanceId: String! 3725 | level: String! 3726 | message: String! 3727 | region: String! 3728 | timestamp: ISO8601DateTime! 3729 | } 3730 | 3731 | type LoggedCertificate implements Node { 3732 | cert: String! 3733 | id: ID! 3734 | root: Boolean! 3735 | } 3736 | 3737 | """The connection type for LoggedCertificate.""" 3738 | type LoggedCertificateConnection { 3739 | """A list of edges.""" 3740 | edges: [LoggedCertificateEdge] 3741 | 3742 | """A list of nodes.""" 3743 | nodes: [LoggedCertificate] 3744 | 3745 | """Information to aid in pagination.""" 3746 | pageInfo: PageInfo! 3747 | totalCount: Int! 3748 | } 3749 | 3750 | """An edge in a connection.""" 3751 | type LoggedCertificateEdge { 3752 | """A cursor for use in pagination.""" 3753 | cursor: String! 3754 | 3755 | """The item at the end of the edge.""" 3756 | node: LoggedCertificate 3757 | } 3758 | 3759 | """Autogenerated input type of LogOut""" 3760 | input LogOutInput { 3761 | """A unique identifier for the client performing the mutation.""" 3762 | clientMutationId: String 3763 | } 3764 | 3765 | """Autogenerated return type of LogOut.""" 3766 | type LogOutPayload { 3767 | """A unique identifier for the client performing the mutation.""" 3768 | clientMutationId: String 3769 | ok: Boolean! 3770 | } 3771 | 3772 | type Macaroon implements Principal { 3773 | """URL for avatar or placeholder""" 3774 | avatarUrl: String! 3775 | createdAt: ISO8601DateTime @deprecated(reason: "Use User fragment on Viewer instead") 3776 | 3777 | """Email address for principal""" 3778 | email: String! 3779 | featureFlags: [String!] @deprecated(reason: "Use User fragment on Viewer instead") 3780 | hasNodeproxyApps: Boolean @deprecated(reason: "Use User fragment on Viewer instead") 3781 | id: ID @deprecated(reason: "Use User fragment on Viewer instead") 3782 | lastRegion: String @deprecated(reason: "Use User fragment on Viewer instead") 3783 | 3784 | """Display name of principal""" 3785 | name: String 3786 | organizations( 3787 | """Returns the elements in the list that come after the specified cursor.""" 3788 | after: String 3789 | 3790 | """ 3791 | Returns the elements in the list that come before the specified cursor. 3792 | """ 3793 | before: String 3794 | 3795 | """Returns the first _n_ elements from the list.""" 3796 | first: Int 3797 | 3798 | """Returns the last _n_ elements from the list.""" 3799 | last: Int 3800 | ): OrganizationConnection @deprecated(reason: "Use User fragment on Viewer instead") 3801 | personalOrganization: Organization @deprecated(reason: "Use User fragment on Viewer instead") 3802 | trust: OrganizationTrust! 3803 | twoFactorProtection: Boolean @deprecated(reason: "Use User fragment on Viewer instead") 3804 | username: String @deprecated(reason: "Use User fragment on Viewer instead") 3805 | } 3806 | 3807 | type Machine implements Node { 3808 | app: App! 3809 | config: JSON! 3810 | createdAt: ISO8601DateTime! 3811 | egressIpAddresses( 3812 | """Returns the elements in the list that come after the specified cursor.""" 3813 | after: String 3814 | 3815 | """ 3816 | Returns the elements in the list that come before the specified cursor. 3817 | """ 3818 | before: String 3819 | 3820 | """Returns the first _n_ elements from the list.""" 3821 | first: Int 3822 | 3823 | """Returns the last _n_ elements from the list.""" 3824 | last: Int 3825 | ): EgressIPAddressConnection! 3826 | events( 3827 | """Returns the elements in the list that come after the specified cursor.""" 3828 | after: String 3829 | 3830 | """ 3831 | Returns the elements in the list that come before the specified cursor. 3832 | """ 3833 | before: String 3834 | 3835 | """Returns the first _n_ elements from the list.""" 3836 | first: Int 3837 | 3838 | """Returns the last _n_ elements from the list.""" 3839 | last: Int 3840 | kind: String 3841 | ): MachineEventConnection! 3842 | host: Host! 3843 | id: ID! 3844 | instanceId: String! 3845 | ips( 3846 | """Returns the elements in the list that come after the specified cursor.""" 3847 | after: String 3848 | 3849 | """ 3850 | Returns the elements in the list that come before the specified cursor. 3851 | """ 3852 | before: String 3853 | 3854 | """Returns the first _n_ elements from the list.""" 3855 | first: Int 3856 | 3857 | """Returns the last _n_ elements from the list.""" 3858 | last: Int 3859 | ): MachineIPConnection! 3860 | name: String! 3861 | region: String! 3862 | state: String! 3863 | updatedAt: ISO8601DateTime! 3864 | } 3865 | 3866 | """The connection type for Machine.""" 3867 | type MachineConnection { 3868 | """A list of edges.""" 3869 | edges: [MachineEdge] 3870 | 3871 | """A list of nodes.""" 3872 | nodes: [Machine] 3873 | 3874 | """Information to aid in pagination.""" 3875 | pageInfo: PageInfo! 3876 | totalCount: Int! 3877 | } 3878 | 3879 | """An edge in a connection.""" 3880 | type MachineEdge { 3881 | """A cursor for use in pagination.""" 3882 | cursor: String! 3883 | 3884 | """The item at the end of the edge.""" 3885 | node: Machine 3886 | } 3887 | 3888 | """A machine state change event""" 3889 | interface MachineEvent { 3890 | id: ID! 3891 | kind: String! 3892 | timestamp: ISO8601DateTime! 3893 | } 3894 | 3895 | """The connection type for MachineEvent.""" 3896 | type MachineEventConnection { 3897 | """A list of edges.""" 3898 | edges: [MachineEventEdge] 3899 | 3900 | """A list of nodes.""" 3901 | nodes: [MachineEvent] 3902 | 3903 | """Information to aid in pagination.""" 3904 | pageInfo: PageInfo! 3905 | } 3906 | 3907 | type MachineEventDestroy implements MachineEvent { 3908 | id: ID! 3909 | kind: String! 3910 | timestamp: ISO8601DateTime! 3911 | } 3912 | 3913 | """An edge in a connection.""" 3914 | type MachineEventEdge { 3915 | """A cursor for use in pagination.""" 3916 | cursor: String! 3917 | 3918 | """The item at the end of the edge.""" 3919 | node: MachineEvent 3920 | } 3921 | 3922 | type MachineEventExit implements MachineEvent { 3923 | exitCode: Int! 3924 | id: ID! 3925 | kind: String! 3926 | metadata: JSON! 3927 | oomKilled: Boolean! 3928 | requestedStop: Boolean! 3929 | timestamp: ISO8601DateTime! 3930 | } 3931 | 3932 | type MachineEventGeneric implements MachineEvent { 3933 | id: ID! 3934 | kind: String! 3935 | timestamp: ISO8601DateTime! 3936 | } 3937 | 3938 | type MachineEventStart implements MachineEvent { 3939 | id: ID! 3940 | kind: String! 3941 | timestamp: ISO8601DateTime! 3942 | } 3943 | 3944 | type MachineIP implements Node { 3945 | family: String! 3946 | 3947 | """ID of the object.""" 3948 | id: ID! 3949 | ip: String! 3950 | kind: String! 3951 | maskSize: Int! 3952 | } 3953 | 3954 | """The connection type for MachineIP.""" 3955 | type MachineIPConnection { 3956 | """A list of edges.""" 3957 | edges: [MachineIPEdge] 3958 | 3959 | """A list of nodes.""" 3960 | nodes: [MachineIP] 3961 | 3962 | """Information to aid in pagination.""" 3963 | pageInfo: PageInfo! 3964 | totalCount: Int! 3965 | } 3966 | 3967 | """An edge in a connection.""" 3968 | type MachineIPEdge { 3969 | """A cursor for use in pagination.""" 3970 | cursor: String! 3971 | 3972 | """The item at the end of the edge.""" 3973 | node: MachineIP 3974 | } 3975 | 3976 | """Autogenerated input type of MoveApp""" 3977 | input MoveAppInput { 3978 | """A unique identifier for the client performing the mutation.""" 3979 | clientMutationId: String 3980 | 3981 | """The application to move""" 3982 | appId: ID! 3983 | 3984 | """The node ID of the organization to move the app to""" 3985 | organizationId: ID! 3986 | } 3987 | 3988 | """Autogenerated return type of MoveApp.""" 3989 | type MoveAppPayload { 3990 | app: App! 3991 | 3992 | """A unique identifier for the client performing the mutation.""" 3993 | clientMutationId: String 3994 | } 3995 | 3996 | type Mutations { 3997 | addCertificate( 3998 | """The application to attach the new hostname to""" 3999 | appId: ID! 4000 | 4001 | """Certificate's hostname""" 4002 | hostname: String! 4003 | ): AddCertificatePayload 4004 | addWireGuardPeer( 4005 | """Parameters for AddWireGuardPeer""" 4006 | input: AddWireGuardPeerInput! 4007 | ): AddWireGuardPeerPayload 4008 | allocateEgressIpAddress( 4009 | """Parameters for AllocateEgressIPAddress""" 4010 | input: AllocateEgressIPAddressInput! 4011 | ): AllocateEgressIPAddressPayload 4012 | allocateIpAddress( 4013 | """Parameters for AllocateIPAddress""" 4014 | input: AllocateIPAddressInput! 4015 | ): AllocateIPAddressPayload 4016 | attachPostgresCluster( 4017 | """Parameters for AttachPostgresCluster""" 4018 | input: AttachPostgresClusterInput! 4019 | ): AttachPostgresClusterPayload 4020 | cancelBuild( 4021 | """The node ID of the build""" 4022 | buildId: ID! 4023 | ): CancelBuildPayload 4024 | checkCertificate( 4025 | """Parameters for CheckCertificate""" 4026 | input: CheckCertificateInput! 4027 | ): CheckCertificatePayload 4028 | checkDomain( 4029 | """Parameters for CheckDomain""" 4030 | input: CheckDomainInput! 4031 | ): CheckDomainPayload 4032 | configureRegions( 4033 | """Parameters for ConfigureRegions""" 4034 | input: ConfigureRegionsInput! 4035 | ): ConfigureRegionsPayload 4036 | createAddOn( 4037 | """Parameters for CreateAddOn""" 4038 | input: CreateAddOnInput! 4039 | ): CreateAddOnPayload 4040 | createAndRegisterDomain( 4041 | """Parameters for CreateAndRegisterDomain""" 4042 | input: CreateAndRegisterDomainInput! 4043 | ): CreateAndRegisterDomainPayload 4044 | createAndTransferDomain( 4045 | """Parameters for CreateAndTransferDomain""" 4046 | input: CreateAndTransferDomainInput! 4047 | ): CreateAndTransferDomainPayload 4048 | createApp( 4049 | """Parameters for CreateApp""" 4050 | input: CreateAppInput! 4051 | ): CreateAppPayload 4052 | createBuild( 4053 | """Parameters for CreateBuild""" 4054 | input: CreateBuildInput! 4055 | ): CreateBuildPayload 4056 | createCheckJob( 4057 | """Parameters for CreateCheckJob""" 4058 | input: CreateCheckJobInput! 4059 | ): CreateCheckJobPayload 4060 | createCheckJobRun( 4061 | """Parameters for CreateCheckJobRun""" 4062 | input: CreateCheckJobRunInput! 4063 | ): CreateCheckJobRunPayload 4064 | createDelegatedWireGuardToken( 4065 | """Parameters for CreateDelegatedWireGuardToken""" 4066 | input: CreateDelegatedWireGuardTokenInput! 4067 | ): CreateDelegatedWireGuardTokenPayload 4068 | createDnsPortal( 4069 | """Parameters for CreateDNSPortal""" 4070 | input: CreateDNSPortalInput! 4071 | ): CreateDNSPortalPayload 4072 | createDnsPortalSession( 4073 | """Parameters for CreateDNSPortalSession""" 4074 | input: CreateDNSPortalSessionInput! 4075 | ): CreateDNSPortalSessionPayload 4076 | createDnsRecord( 4077 | """Parameters for CreateDNSRecord""" 4078 | input: CreateDNSRecordInput! 4079 | ): CreateDNSRecordPayload 4080 | createDoctorReport( 4081 | """Parameters for CreateDoctorReport""" 4082 | input: CreateDoctorReportInput! 4083 | ): CreateDoctorReportPayload 4084 | createDoctorUrl: CreateDoctorUrlPayload 4085 | createDomain( 4086 | """Parameters for CreateDomain""" 4087 | input: CreateDomainInput! 4088 | ): CreateDomainPayload 4089 | createExtensionTosAgreement( 4090 | """Parameters for CreateExtensionTosAgreement""" 4091 | input: CreateExtensionTosAgreementInput! 4092 | ): CreateExtensionTosAgreementPayload 4093 | createLimitedAccessToken( 4094 | """Parameters for CreateLimitedAccessToken""" 4095 | input: CreateLimitedAccessTokenInput! 4096 | ): CreateLimitedAccessTokenPayload 4097 | createOrganization( 4098 | """Parameters for CreateOrganization""" 4099 | input: CreateOrganizationInput! 4100 | ): CreateOrganizationPayload 4101 | createOrganizationInvitation( 4102 | """Parameters for CreateOrganizationInvitation""" 4103 | input: CreateOrganizationInvitationInput! 4104 | ): CreateOrganizationInvitationPayload 4105 | createPostgresClusterDatabase( 4106 | """Parameters for CreatePostgresClusterDatabase""" 4107 | input: CreatePostgresClusterDatabaseInput! 4108 | ): CreatePostgresClusterDatabasePayload 4109 | createPostgresClusterUser( 4110 | """Parameters for CreatePostgresClusterUser""" 4111 | input: CreatePostgresClusterUserInput! 4112 | ): CreatePostgresClusterUserPayload 4113 | createRelease( 4114 | """Parameters for CreateRelease""" 4115 | input: CreateReleaseInput! 4116 | ): CreateReleasePayload 4117 | createTemplateDeployment( 4118 | """Parameters for CreateTemplateDeployment""" 4119 | input: CreateTemplateDeploymentInput! 4120 | ): CreateTemplateDeploymentPayload 4121 | createThirdPartyConfiguration( 4122 | """Parameters for CreateThirdPartyConfiguration""" 4123 | input: CreateThirdPartyConfigurationInput! 4124 | ): CreateThirdPartyConfigurationPayload 4125 | createVolume( 4126 | """Parameters for CreateVolume""" 4127 | input: CreateVolumeInput! 4128 | ): CreateVolumePayload 4129 | createVolumeSnapshot( 4130 | """Parameters for CreateVolumeSnapshot""" 4131 | input: CreateVolumeSnapshotInput! 4132 | ): CreateVolumeSnapshotPayload 4133 | deleteAddOn( 4134 | """Parameters for DeleteAddOn""" 4135 | input: DeleteAddOnInput! 4136 | ): DeleteAddOnPayload 4137 | 4138 | """Delete an app""" 4139 | deleteApp( 4140 | """The application to delete""" 4141 | appId: ID! 4142 | ): DeleteAppPayload 4143 | deleteCertificate( 4144 | """Application to remove hostname from""" 4145 | appId: ID! 4146 | 4147 | """Certificate hostname to delete""" 4148 | hostname: String! 4149 | ): DeleteCertificatePayload 4150 | deleteDelegatedWireGuardToken( 4151 | """Parameters for DeleteDelegatedWireGuardToken""" 4152 | input: DeleteDelegatedWireGuardTokenInput! 4153 | ): DeleteDelegatedWireGuardTokenPayload 4154 | deleteDeploymentSource( 4155 | """Parameters for DeleteDeploymentSource""" 4156 | input: DeleteDeploymentSourceInput! 4157 | ): DeleteDeploymentSourcePayload 4158 | deleteDnsPortal( 4159 | """Parameters for DeleteDNSPortal""" 4160 | input: DeleteDNSPortalInput! 4161 | ): DeleteDNSPortalPayload 4162 | deleteDnsPortalSession( 4163 | """Parameters for DeleteDNSPortalSession""" 4164 | input: DeleteDNSPortalSessionInput! 4165 | ): DeleteDNSPortalSessionPayload 4166 | deleteDnsRecord( 4167 | """Parameters for DeleteDNSRecord""" 4168 | input: DeleteDNSRecordInput! 4169 | ): DeleteDNSRecordPayload 4170 | deleteDomain( 4171 | """Parameters for DeleteDomain""" 4172 | input: DeleteDomainInput! 4173 | ): DeleteDomainPayload 4174 | deleteHealthCheckHandler( 4175 | """Parameters for DeleteHealthCheckHandler""" 4176 | input: DeleteHealthCheckHandlerInput! 4177 | ): DeleteHealthCheckHandlerPayload 4178 | deleteLimitedAccessToken( 4179 | """Parameters for DeleteLimitedAccessToken""" 4180 | input: DeleteLimitedAccessTokenInput! 4181 | ): DeleteLimitedAccessTokenPayload 4182 | deleteOrganization( 4183 | """Parameters for DeleteOrganization""" 4184 | input: DeleteOrganizationInput! 4185 | ): DeleteOrganizationPayload 4186 | deleteOrganizationInvitation( 4187 | """Parameters for DeleteOrganizationInvitation""" 4188 | input: DeleteOrganizationInvitationInput! 4189 | ): DeleteOrganizationInvitationPayload 4190 | deleteOrganizationMembership( 4191 | """Parameters for DeleteOrganizationMembership""" 4192 | input: DeleteOrganizationMembershipInput! 4193 | ): DeleteOrganizationMembershipPayload 4194 | deleteRemoteBuilder( 4195 | """Parameters for DeleteRemoteBuilder""" 4196 | input: DeleteRemoteBuilderInput! 4197 | ): DeleteRemoteBuilderPayload 4198 | deleteThirdPartyConfiguration( 4199 | """Parameters for DeleteThirdPartyConfiguration""" 4200 | input: DeleteThirdPartyConfigurationInput! 4201 | ): DeleteThirdPartyConfigurationPayload 4202 | deleteVolume( 4203 | """Parameters for DeleteVolume""" 4204 | input: DeleteVolumeInput! 4205 | ): DeleteVolumePayload 4206 | deployImage( 4207 | """Parameters for DeployImage""" 4208 | input: DeployImageInput! 4209 | ): DeployImagePayload 4210 | detachPostgresCluster( 4211 | """Parameters for DetachPostgresCluster""" 4212 | input: DetachPostgresClusterInput! 4213 | ): DetachPostgresClusterPayload 4214 | dummyWireGuardPeer( 4215 | """Parameters for DummyWireGuardPeer""" 4216 | input: DummyWireGuardPeerInput! 4217 | ): DummyWireGuardPeerPayload 4218 | enablePostgresConsul( 4219 | """Parameters for EnablePostgresConsul""" 4220 | input: EnablePostgresConsulInput! 4221 | ): EnablePostgresConsulPayload 4222 | ensureDepotRemoteBuilder( 4223 | """Parameters for EnsureDepotRemoteBuilder""" 4224 | input: EnsureDepotRemoteBuilderInput! 4225 | ): EnsureDepotRemoteBuilderPayload 4226 | ensureMachineRemoteBuilder( 4227 | """Parameters for EnsureMachineRemoteBuilder""" 4228 | input: EnsureMachineRemoteBuilderInput! 4229 | ): EnsureMachineRemoteBuilderPayload 4230 | establishSshKey( 4231 | """Parameters for EstablishSSHKey""" 4232 | input: EstablishSSHKeyInput! 4233 | ): EstablishSSHKeyPayload 4234 | exportDnsZone( 4235 | """Parameters for ExportDNSZone""" 4236 | input: ExportDNSZoneInput! 4237 | ): ExportDNSZonePayload 4238 | extendVolume( 4239 | """Parameters for ExtendVolume""" 4240 | input: ExtendVolumeInput! 4241 | ): ExtendVolumePayload 4242 | finishBuild( 4243 | """Parameters for FinishBuild""" 4244 | input: FinishBuildInput! 4245 | ): FinishBuildPayload 4246 | forkVolume( 4247 | """Parameters for ForkVolume""" 4248 | input: ForkVolumeInput! 4249 | ): ForkVolumePayload 4250 | grantPostgresClusterUserAccess( 4251 | """Parameters for GrantPostgresClusterUserAccess""" 4252 | input: GrantPostgresClusterUserAccessInput! 4253 | ): GrantPostgresClusterUserAccessPayload 4254 | importCertificate( 4255 | """The application to attach the new hostname to""" 4256 | appId: ID! 4257 | 4258 | """Full chain for certificate""" 4259 | fullchain: String! 4260 | 4261 | """Private signing key for certificate""" 4262 | privateKey: String! 4263 | 4264 | """Hostname for certificate (certificate Common Name by default)""" 4265 | hostname: String 4266 | ): ImportCertificatePayload 4267 | importDnsZone( 4268 | """Parameters for ImportDNSZone""" 4269 | input: ImportDNSZoneInput! 4270 | ): ImportDNSZonePayload 4271 | issueCertificate( 4272 | """Parameters for IssueCertificate""" 4273 | input: IssueCertificateInput! 4274 | ): IssueCertificatePayload 4275 | killMachine( 4276 | """Parameters for KillMachine""" 4277 | input: KillMachineInput! 4278 | ): KillMachinePayload 4279 | launchMachine( 4280 | """Parameters for LaunchMachine""" 4281 | input: LaunchMachineInput! 4282 | ): LaunchMachinePayload 4283 | lockApp( 4284 | """Parameters for LockApp""" 4285 | input: LockAppInput! 4286 | ): LockAppPayload 4287 | logOut( 4288 | """Parameters for LogOut""" 4289 | input: LogOutInput! 4290 | ): LogOutPayload 4291 | moveApp( 4292 | """Parameters for MoveApp""" 4293 | input: MoveAppInput! 4294 | ): MoveAppPayload 4295 | nomadToMachinesMigration( 4296 | """Parameters for NomadToMachinesMigration""" 4297 | input: NomadToMachinesMigrationInput! 4298 | ): NomadToMachinesMigrationPayload 4299 | nomadToMachinesMigrationPrep( 4300 | """Parameters for NomadToMachinesMigrationPrep""" 4301 | input: NomadToMachinesMigrationPrepInput! 4302 | ): NomadToMachinesMigrationPrepPayload 4303 | pauseApp( 4304 | """Parameters for PauseApp""" 4305 | input: PauseAppInput! 4306 | ): PauseAppPayload 4307 | registerDomain( 4308 | """Parameters for RegisterDomain""" 4309 | input: RegisterDomainInput! 4310 | ): RegisterDomainPayload 4311 | releaseEgressIpAddress( 4312 | """Parameters for ReleaseEgressIPAddress""" 4313 | input: ReleaseEgressIPAddressInput! 4314 | ): ReleaseEgressIPAddressPayload 4315 | releaseIpAddress( 4316 | """Parameters for ReleaseIPAddress""" 4317 | input: ReleaseIPAddressInput! 4318 | ): ReleaseIPAddressPayload 4319 | removeMachine( 4320 | """Parameters for RemoveMachine""" 4321 | input: RemoveMachineInput! 4322 | ): RemoveMachinePayload 4323 | removeWireGuardPeer( 4324 | """Parameters for RemoveWireGuardPeer""" 4325 | input: RemoveWireGuardPeerInput! 4326 | ): RemoveWireGuardPeerPayload 4327 | resetAddOnPassword( 4328 | """Parameters for ResetAddOnPassword""" 4329 | input: ResetAddOnPasswordInput! 4330 | ): ResetAddOnPasswordPayload 4331 | restartAllocation( 4332 | """Parameters for RestartAllocation""" 4333 | input: RestartAllocationInput! 4334 | ): RestartAllocationPayload 4335 | restartApp( 4336 | """Parameters for RestartApp""" 4337 | input: RestartAppInput! 4338 | ): RestartAppPayload 4339 | restoreVolumeSnapshot( 4340 | """Parameters for RestoreVolumeSnapshot""" 4341 | input: RestoreVolumeSnapshotInput! 4342 | ): RestoreVolumeSnapshotPayload 4343 | resumeApp( 4344 | """Parameters for ResumeApp""" 4345 | input: ResumeAppInput! 4346 | ): ResumeAppPayload 4347 | revokePostgresClusterUserAccess( 4348 | """Parameters for RevokePostgresClusterUserAccess""" 4349 | input: RevokePostgresClusterUserAccessInput! 4350 | ): RevokePostgresClusterUserAccessPayload 4351 | saveDeploymentSource( 4352 | """Parameters for SaveDeploymentSource""" 4353 | input: SaveDeploymentSourceInput! 4354 | ): SaveDeploymentSourcePayload 4355 | scaleApp( 4356 | """Parameters for ScaleApp""" 4357 | input: ScaleAppInput! 4358 | ): ScaleAppPayload 4359 | setAppsV2DefaultOn( 4360 | """Parameters for SetAppsv2DefaultOn""" 4361 | input: SetAppsv2DefaultOnInput! 4362 | ): SetAppsv2DefaultOnPayload 4363 | setPagerdutyHandler( 4364 | """Parameters for SetPagerdutyHandler""" 4365 | input: SetPagerdutyHandlerInput! 4366 | ): SetPagerdutyHandlerPayload 4367 | setPlatformVersion( 4368 | """Parameters for SetPlatformVersion""" 4369 | input: SetPlatformVersionInput! 4370 | ): SetPlatformVersionPayload 4371 | setSecrets( 4372 | """Parameters for SetSecrets""" 4373 | input: SetSecretsInput! 4374 | ): SetSecretsPayload 4375 | setSlackHandler( 4376 | """Parameters for SetSlackHandler""" 4377 | input: SetSlackHandlerInput! 4378 | ): SetSlackHandlerPayload 4379 | setVmCount( 4380 | """Parameters for SetVMCount""" 4381 | input: SetVMCountInput! 4382 | ): SetVMCountPayload 4383 | setVmSize( 4384 | """Parameters for SetVMSize""" 4385 | input: SetVMSizeInput! 4386 | ): SetVMSizePayload 4387 | startBuild( 4388 | """Parameters for StartBuild""" 4389 | input: StartBuildInput! 4390 | ): StartBuildPayload 4391 | startMachine( 4392 | """Parameters for StartMachine""" 4393 | input: StartMachineInput! 4394 | ): StartMachinePayload 4395 | stopAllocation( 4396 | """Parameters for StopAllocation""" 4397 | input: StopAllocationInput! 4398 | ): StopAllocationPayload 4399 | stopMachine( 4400 | """Parameters for StopMachine""" 4401 | input: StopMachineInput! 4402 | ): StopMachinePayload 4403 | unlockApp( 4404 | """Parameters for UnlockApp""" 4405 | input: UnlockAppInput! 4406 | ): UnlockAppPayload 4407 | unsetSecrets( 4408 | """Parameters for UnsetSecrets""" 4409 | input: UnsetSecretsInput! 4410 | ): UnsetSecretsPayload 4411 | updateAddOn( 4412 | """Parameters for UpdateAddOn""" 4413 | input: UpdateAddOnInput! 4414 | ): UpdateAddOnPayload 4415 | updateAutoscaleConfig( 4416 | """Parameters for UpdateAutoscaleConfig""" 4417 | input: UpdateAutoscaleConfigInput! 4418 | ): UpdateAutoscaleConfigPayload 4419 | updateDnsPortal( 4420 | """Parameters for UpdateDNSPortal""" 4421 | input: UpdateDNSPortalInput! 4422 | ): UpdateDNSPortalPayload 4423 | updateDnsRecord( 4424 | """Parameters for UpdateDNSRecord""" 4425 | input: UpdateDNSRecordInput! 4426 | ): UpdateDNSRecordPayload 4427 | updateDnsRecords( 4428 | """Parameters for UpdateDNSRecords""" 4429 | input: UpdateDNSRecordsInput! 4430 | ): UpdateDNSRecordsPayload 4431 | updateOrganizationMembership( 4432 | """Parameters for UpdateOrganizationMembership""" 4433 | input: UpdateOrganizationMembershipInput! 4434 | ): UpdateOrganizationMembershipPayload 4435 | updateRelease( 4436 | """Parameters for UpdateRelease""" 4437 | input: UpdateReleaseInput! 4438 | ): UpdateReleasePayload 4439 | updateRemoteBuilder( 4440 | """Parameters for UpdateRemoteBuilder""" 4441 | input: UpdateRemoteBuilderInput! 4442 | ): UpdateRemoteBuilderPayload 4443 | updateThirdPartyConfiguration( 4444 | """Parameters for UpdateThirdPartyConfiguration""" 4445 | input: UpdateThirdPartyConfigurationInput! 4446 | ): UpdateThirdPartyConfigurationPayload 4447 | validateWireGuardPeers( 4448 | """Parameters for ValidateWireGuardPeers""" 4449 | input: ValidateWireGuardPeersInput! 4450 | ): ValidateWireGuardPeersPayload 4451 | } 4452 | 4453 | type Network implements Node { 4454 | createdAt: ISO8601DateTime! 4455 | 4456 | """ID of the object.""" 4457 | id: ID! 4458 | name: String! 4459 | organization: Organization! 4460 | updatedAt: ISO8601DateTime! 4461 | } 4462 | 4463 | """An object with an ID.""" 4464 | interface Node { 4465 | """ID of the object.""" 4466 | id: ID! 4467 | } 4468 | 4469 | """Autogenerated input type of NomadToMachinesMigration""" 4470 | input NomadToMachinesMigrationInput { 4471 | """A unique identifier for the client performing the mutation.""" 4472 | clientMutationId: String 4473 | 4474 | """The application to move""" 4475 | appId: ID! 4476 | } 4477 | 4478 | """Autogenerated return type of NomadToMachinesMigration.""" 4479 | type NomadToMachinesMigrationPayload { 4480 | app: App! 4481 | 4482 | """A unique identifier for the client performing the mutation.""" 4483 | clientMutationId: String 4484 | } 4485 | 4486 | """Autogenerated input type of NomadToMachinesMigrationPrep""" 4487 | input NomadToMachinesMigrationPrepInput { 4488 | """A unique identifier for the client performing the mutation.""" 4489 | clientMutationId: String 4490 | 4491 | """The application to move""" 4492 | appId: ID! 4493 | } 4494 | 4495 | """Autogenerated return type of NomadToMachinesMigrationPrep.""" 4496 | type NomadToMachinesMigrationPrepPayload { 4497 | app: App! 4498 | 4499 | """A unique identifier for the client performing the mutation.""" 4500 | clientMutationId: String 4501 | } 4502 | 4503 | type Organization implements Node { 4504 | activeDiscountName: String 4505 | 4506 | """Single sign-on link for the given integration type""" 4507 | addOnSsoLink: String 4508 | 4509 | """List third party integrations associated with an organization""" 4510 | addOns( 4511 | """Returns the elements in the list that come after the specified cursor.""" 4512 | after: String 4513 | 4514 | """ 4515 | Returns the elements in the list that come before the specified cursor. 4516 | """ 4517 | before: String 4518 | 4519 | """Returns the first _n_ elements from the list.""" 4520 | first: Int 4521 | 4522 | """Returns the last _n_ elements from the list.""" 4523 | last: Int 4524 | type: AddOnType 4525 | ): AddOnConnection! 4526 | 4527 | """ 4528 | Check if the organization has agreed to the extension provider terms of service 4529 | """ 4530 | agreedToProviderTos(providerName: String!): Boolean! 4531 | apps( 4532 | """Returns the elements in the list that come after the specified cursor.""" 4533 | after: String 4534 | 4535 | """ 4536 | Returns the elements in the list that come before the specified cursor. 4537 | """ 4538 | before: String 4539 | 4540 | """Returns the first _n_ elements from the list.""" 4541 | first: Int 4542 | 4543 | """Returns the last _n_ elements from the list.""" 4544 | last: Int 4545 | ): AppConnection! 4546 | billable: Boolean! 4547 | billingStatus: BillingStatus! 4548 | 4549 | """The account credits in cents""" 4550 | creditBalance: Int! 4551 | 4552 | """The formatted account credits""" 4553 | creditBalanceFormatted: String! @deprecated(reason: "Use credit_balance instead") 4554 | delegatedWireGuardTokens( 4555 | """Returns the elements in the list that come after the specified cursor.""" 4556 | after: String 4557 | 4558 | """ 4559 | Returns the elements in the list that come before the specified cursor. 4560 | """ 4561 | before: String 4562 | 4563 | """Returns the first _n_ elements from the list.""" 4564 | first: Int 4565 | 4566 | """Returns the last _n_ elements from the list.""" 4567 | last: Int 4568 | ): DelegatedWireGuardTokenConnection! 4569 | 4570 | """Find a dns portal by name""" 4571 | dnsPortal(name: String!): DNSPortal! 4572 | dnsPortals( 4573 | """Returns the elements in the list that come after the specified cursor.""" 4574 | after: String 4575 | 4576 | """ 4577 | Returns the elements in the list that come before the specified cursor. 4578 | """ 4579 | before: String 4580 | 4581 | """Returns the first _n_ elements from the list.""" 4582 | first: Int 4583 | 4584 | """Returns the last _n_ elements from the list.""" 4585 | last: Int 4586 | ): DNSPortalConnection! 4587 | 4588 | """Find a domain by name""" 4589 | domain(name: String!): Domain 4590 | domains( 4591 | """Returns the elements in the list that come after the specified cursor.""" 4592 | after: String 4593 | 4594 | """ 4595 | Returns the elements in the list that come before the specified cursor. 4596 | """ 4597 | before: String 4598 | 4599 | """Returns the first _n_ elements from the list.""" 4600 | first: Int 4601 | 4602 | """Returns the last _n_ elements from the list.""" 4603 | last: Int 4604 | ): DomainConnection! 4605 | 4606 | """Single sign-on link for the given extension type""" 4607 | extensionSsoLink(provider: String!): String 4608 | healthCheckHandlers( 4609 | """Returns the elements in the list that come after the specified cursor.""" 4610 | after: String 4611 | 4612 | """ 4613 | Returns the elements in the list that come before the specified cursor. 4614 | """ 4615 | before: String 4616 | 4617 | """Returns the first _n_ elements from the list.""" 4618 | first: Int 4619 | 4620 | """Returns the last _n_ elements from the list.""" 4621 | last: Int 4622 | ): HealthCheckHandlerConnection! 4623 | healthChecks( 4624 | """Returns the elements in the list that come after the specified cursor.""" 4625 | after: String 4626 | 4627 | """ 4628 | Returns the elements in the list that come before the specified cursor. 4629 | """ 4630 | before: String 4631 | 4632 | """Returns the first _n_ elements from the list.""" 4633 | first: Int 4634 | 4635 | """Returns the last _n_ elements from the list.""" 4636 | last: Int 4637 | ): HealthCheckConnection! 4638 | id: ID! 4639 | internalNumericId: BigInt! 4640 | invitations( 4641 | """Returns the elements in the list that come after the specified cursor.""" 4642 | after: String 4643 | 4644 | """ 4645 | Returns the elements in the list that come before the specified cursor. 4646 | """ 4647 | before: String 4648 | 4649 | """Returns the first _n_ elements from the list.""" 4650 | first: Int 4651 | 4652 | """Returns the last _n_ elements from the list.""" 4653 | last: Int 4654 | ): OrganizationInvitationConnection! 4655 | isCreditCardSaved: Boolean! 4656 | limitedAccessTokens( 4657 | """Returns the elements in the list that come after the specified cursor.""" 4658 | after: String 4659 | 4660 | """ 4661 | Returns the elements in the list that come before the specified cursor. 4662 | """ 4663 | before: String 4664 | 4665 | """Returns the first _n_ elements from the list.""" 4666 | first: Int 4667 | 4668 | """Returns the last _n_ elements from the list.""" 4669 | last: Int 4670 | ): LimitedAccessTokenConnection! 4671 | loggedCertificates( 4672 | """Returns the elements in the list that come after the specified cursor.""" 4673 | after: String 4674 | 4675 | """ 4676 | Returns the elements in the list that come before the specified cursor. 4677 | """ 4678 | before: String 4679 | 4680 | """Returns the first _n_ elements from the list.""" 4681 | first: Int 4682 | 4683 | """Returns the last _n_ elements from the list.""" 4684 | last: Int 4685 | ): LoggedCertificateConnection 4686 | members( 4687 | """Returns the elements in the list that come after the specified cursor.""" 4688 | after: String 4689 | 4690 | """ 4691 | Returns the elements in the list that come before the specified cursor. 4692 | """ 4693 | before: String 4694 | 4695 | """Returns the first _n_ elements from the list.""" 4696 | first: Int 4697 | 4698 | """Returns the last _n_ elements from the list.""" 4699 | last: Int 4700 | ): OrganizationMembershipsConnection! 4701 | 4702 | """Organization name""" 4703 | name: String! 4704 | paidPlan: Boolean! 4705 | 4706 | """Whether the organization can provision beta extensions""" 4707 | provisionsBetaExtensions: Boolean! 4708 | 4709 | """Unmodified unique org slug""" 4710 | rawSlug: String! 4711 | remoteBuilderApp: App 4712 | remoteBuilderImage: String! 4713 | settings: JSON 4714 | 4715 | """Unique organization slug""" 4716 | slug: String! 4717 | sshCertificate: String 4718 | 4719 | """Configurations for third-party caveats to be issued on user macaroons""" 4720 | thirdPartyConfigurations( 4721 | """Returns the elements in the list that come after the specified cursor.""" 4722 | after: String 4723 | 4724 | """ 4725 | Returns the elements in the list that come before the specified cursor. 4726 | """ 4727 | before: String 4728 | 4729 | """Returns the first _n_ elements from the list.""" 4730 | first: Int 4731 | 4732 | """Returns the last _n_ elements from the list.""" 4733 | last: Int 4734 | ): ThirdPartyConfigurationConnection! 4735 | trust: OrganizationTrust! 4736 | 4737 | """The type of organization""" 4738 | type: OrganizationType! 4739 | 4740 | """The current user's role in the org""" 4741 | viewerRole: String! 4742 | 4743 | """Find a peer by name""" 4744 | wireGuardPeer(name: String!): WireGuardPeer! 4745 | wireGuardPeers( 4746 | """Returns the elements in the list that come after the specified cursor.""" 4747 | after: String 4748 | 4749 | """ 4750 | Returns the elements in the list that come before the specified cursor. 4751 | """ 4752 | before: String 4753 | 4754 | """Returns the first _n_ elements from the list.""" 4755 | first: Int 4756 | 4757 | """Returns the last _n_ elements from the list.""" 4758 | last: Int 4759 | ): WireGuardPeerConnection! 4760 | } 4761 | 4762 | enum OrganizationAlertsEnabled { 4763 | """The user has alerts enabled""" 4764 | ENABLED 4765 | 4766 | """The user does not have alerts enabled""" 4767 | NOT_ENABLED 4768 | } 4769 | 4770 | """The connection type for Organization.""" 4771 | type OrganizationConnection { 4772 | """A list of edges.""" 4773 | edges: [OrganizationEdge] 4774 | 4775 | """A list of nodes.""" 4776 | nodes: [Organization] 4777 | 4778 | """Information to aid in pagination.""" 4779 | pageInfo: PageInfo! 4780 | totalCount: Int! 4781 | } 4782 | 4783 | """An edge in a connection.""" 4784 | type OrganizationEdge { 4785 | """A cursor for use in pagination.""" 4786 | cursor: String! 4787 | 4788 | """The item at the end of the edge.""" 4789 | node: Organization 4790 | } 4791 | 4792 | type OrganizationInvitation implements Node { 4793 | createdAt: ISO8601DateTime! 4794 | email: String! 4795 | id: ID! 4796 | 4797 | """The user who created the invitation""" 4798 | inviter: User! 4799 | organization: Organization! 4800 | redeemed: Boolean! 4801 | redeemedAt: ISO8601DateTime 4802 | } 4803 | 4804 | """The connection type for OrganizationInvitation.""" 4805 | type OrganizationInvitationConnection { 4806 | """A list of edges.""" 4807 | edges: [OrganizationInvitationEdge] 4808 | 4809 | """A list of nodes.""" 4810 | nodes: [OrganizationInvitation] 4811 | 4812 | """Information to aid in pagination.""" 4813 | pageInfo: PageInfo! 4814 | totalCount: Int! 4815 | } 4816 | 4817 | """An edge in a connection.""" 4818 | type OrganizationInvitationEdge { 4819 | """A cursor for use in pagination.""" 4820 | cursor: String! 4821 | 4822 | """The item at the end of the edge.""" 4823 | node: OrganizationInvitation 4824 | } 4825 | 4826 | enum OrganizationMemberRole { 4827 | """The user is an administrator of the organization""" 4828 | ADMIN 4829 | 4830 | """The user is a member of the organization""" 4831 | MEMBER 4832 | } 4833 | 4834 | """The connection type for User.""" 4835 | type OrganizationMembershipsConnection { 4836 | """A list of edges.""" 4837 | edges: [OrganizationMembershipsEdge] 4838 | 4839 | """A list of nodes.""" 4840 | nodes: [User] 4841 | 4842 | """Information to aid in pagination.""" 4843 | pageInfo: PageInfo! 4844 | totalCount: Int! 4845 | } 4846 | 4847 | """An edge in a connection.""" 4848 | type OrganizationMembershipsEdge { 4849 | """The alerts settings the user has in this organization""" 4850 | alertsEnabled: OrganizationAlertsEnabled! 4851 | 4852 | """A cursor for use in pagination.""" 4853 | cursor: String! 4854 | 4855 | """The date the user joined the organization""" 4856 | joinedAt: ISO8601DateTime! 4857 | 4858 | """The item at the end of the edge.""" 4859 | node: User 4860 | 4861 | """The role the user has in this organization""" 4862 | role: OrganizationMemberRole! 4863 | } 4864 | 4865 | enum OrganizationTrust { 4866 | """We haven't set a trust level yet""" 4867 | UNKNOWN 4868 | 4869 | """Organization has limited access to our service""" 4870 | RESTRICTED 4871 | 4872 | """Organization cannot use our services""" 4873 | BANNED 4874 | 4875 | """ 4876 | Organization has to prove that is not fraud over time but can use our services 4877 | """ 4878 | LOW 4879 | 4880 | """Organization proved that it's safe to use our services""" 4881 | HIGH 4882 | } 4883 | 4884 | enum OrganizationType { 4885 | """A user's personal organization""" 4886 | PERSONAL 4887 | 4888 | """An organization shared between one or more users""" 4889 | SHARED 4890 | } 4891 | 4892 | """Information about pagination in a connection.""" 4893 | type PageInfo { 4894 | """When paginating forwards, the cursor to continue.""" 4895 | endCursor: String 4896 | 4897 | """When paginating forwards, are there more items?""" 4898 | hasNextPage: Boolean! 4899 | 4900 | """When paginating backwards, are there more items?""" 4901 | hasPreviousPage: Boolean! 4902 | 4903 | """When paginating backwards, the cursor to continue.""" 4904 | startCursor: String 4905 | } 4906 | 4907 | """Autogenerated input type of PauseApp""" 4908 | input PauseAppInput { 4909 | """A unique identifier for the client performing the mutation.""" 4910 | clientMutationId: String 4911 | 4912 | """The ID of the app""" 4913 | appId: ID! 4914 | } 4915 | 4916 | """Autogenerated return type of PauseApp.""" 4917 | type PauseAppPayload { 4918 | app: App! 4919 | 4920 | """A unique identifier for the client performing the mutation.""" 4921 | clientMutationId: String 4922 | } 4923 | 4924 | enum PlatformVersionEnum { 4925 | """Nomad managed application""" 4926 | nomad 4927 | 4928 | """App with only machines""" 4929 | machines 4930 | 4931 | """App in migration between nomad and machines""" 4932 | detached 4933 | } 4934 | 4935 | type PostgresClusterAppRole implements AppRole { 4936 | databases: [PostgresClusterDatabase!]! 4937 | 4938 | """The name of this role""" 4939 | name: String! 4940 | users: [PostgresClusterUser!]! 4941 | } 4942 | 4943 | type PostgresClusterAttachment implements Node { 4944 | databaseName: String! 4945 | databaseUser: String! 4946 | environmentVariableName: String! 4947 | id: ID! 4948 | } 4949 | 4950 | """The connection type for PostgresClusterAttachment.""" 4951 | type PostgresClusterAttachmentConnection { 4952 | """A list of edges.""" 4953 | edges: [PostgresClusterAttachmentEdge] 4954 | 4955 | """A list of nodes.""" 4956 | nodes: [PostgresClusterAttachment] 4957 | 4958 | """Information to aid in pagination.""" 4959 | pageInfo: PageInfo! 4960 | totalCount: Int! 4961 | } 4962 | 4963 | """An edge in a connection.""" 4964 | type PostgresClusterAttachmentEdge { 4965 | """A cursor for use in pagination.""" 4966 | cursor: String! 4967 | 4968 | """The item at the end of the edge.""" 4969 | node: PostgresClusterAttachment 4970 | } 4971 | 4972 | type PostgresClusterDatabase { 4973 | name: String! 4974 | users: [String!]! 4975 | } 4976 | 4977 | type PostgresClusterUser { 4978 | databases: [String!]! 4979 | isSuperuser: Boolean! 4980 | username: String! 4981 | } 4982 | 4983 | type PriceTier { 4984 | unitAmount: String 4985 | upTo: BigInt 4986 | } 4987 | 4988 | interface Principal { 4989 | """URL for avatar or placeholder""" 4990 | avatarUrl: String! 4991 | createdAt: ISO8601DateTime @deprecated(reason: "Use User fragment on Viewer instead") 4992 | 4993 | """Email address for principal""" 4994 | email: String! 4995 | featureFlags: [String!] @deprecated(reason: "Use User fragment on Viewer instead") 4996 | hasNodeproxyApps: Boolean @deprecated(reason: "Use User fragment on Viewer instead") 4997 | id: ID @deprecated(reason: "Use User fragment on Viewer instead") 4998 | lastRegion: String @deprecated(reason: "Use User fragment on Viewer instead") 4999 | 5000 | """Display name of principal""" 5001 | name: String 5002 | organizations( 5003 | """Returns the elements in the list that come after the specified cursor.""" 5004 | after: String 5005 | 5006 | """ 5007 | Returns the elements in the list that come before the specified cursor. 5008 | """ 5009 | before: String 5010 | 5011 | """Returns the first _n_ elements from the list.""" 5012 | first: Int 5013 | 5014 | """Returns the last _n_ elements from the list.""" 5015 | last: Int 5016 | ): OrganizationConnection @deprecated(reason: "Use User fragment on Viewer instead") 5017 | personalOrganization: Organization @deprecated(reason: "Use User fragment on Viewer instead") 5018 | trust: OrganizationTrust! 5019 | twoFactorProtection: Boolean @deprecated(reason: "Use User fragment on Viewer instead") 5020 | username: String @deprecated(reason: "Use User fragment on Viewer instead") 5021 | } 5022 | 5023 | type ProcessGroup { 5024 | maxPerRegion: Int! 5025 | name: String! 5026 | regions: [String!]! 5027 | vmSize: VMSize! 5028 | } 5029 | 5030 | type Product { 5031 | name: String! 5032 | tiers: [PriceTier!]! 5033 | type: String! 5034 | unitLabel: String 5035 | } 5036 | 5037 | input PropertyInput { 5038 | """The name of the property""" 5039 | name: String! 5040 | 5041 | """The value of the property""" 5042 | value: String 5043 | } 5044 | 5045 | type Queries { 5046 | accessTokens( 5047 | """Returns the elements in the list that come after the specified cursor.""" 5048 | after: String 5049 | 5050 | """ 5051 | Returns the elements in the list that come before the specified cursor. 5052 | """ 5053 | before: String 5054 | 5055 | """Returns the first _n_ elements from the list.""" 5056 | first: Int 5057 | 5058 | """Returns the last _n_ elements from the list.""" 5059 | last: Int 5060 | type: AccessTokenType = pat 5061 | ): AccessTokenConnection! 5062 | 5063 | """Find an add-on by ID or name""" 5064 | addOn(id: ID, name: String, provider: String): AddOn 5065 | 5066 | """List add-on service plans""" 5067 | addOnPlans( 5068 | """Returns the elements in the list that come after the specified cursor.""" 5069 | after: String 5070 | 5071 | """ 5072 | Returns the elements in the list that come before the specified cursor. 5073 | """ 5074 | before: String 5075 | 5076 | """Returns the first _n_ elements from the list.""" 5077 | first: Int 5078 | 5079 | """Returns the last _n_ elements from the list.""" 5080 | last: Int 5081 | type: AddOnType 5082 | ): AddOnPlanConnection! 5083 | addOnProvider(name: String!): AddOnProvider! 5084 | 5085 | """List add-ons associated with an organization""" 5086 | addOns( 5087 | """Returns the elements in the list that come after the specified cursor.""" 5088 | after: String 5089 | 5090 | """ 5091 | Returns the elements in the list that come before the specified cursor. 5092 | """ 5093 | before: String 5094 | 5095 | """Returns the first _n_ elements from the list.""" 5096 | first: Int 5097 | 5098 | """Returns the last _n_ elements from the list.""" 5099 | last: Int 5100 | type: AddOnType 5101 | ): AddOnConnection! 5102 | 5103 | """Find an app by name""" 5104 | app(name: String, internalId: String): App 5105 | 5106 | """Validates an app name for app creation""" 5107 | appNameAvailable( 5108 | """The app name to be validated""" 5109 | name: String! 5110 | ): Boolean! 5111 | 5112 | """List apps""" 5113 | apps( 5114 | """Returns the elements in the list that come after the specified cursor.""" 5115 | after: String 5116 | 5117 | """ 5118 | Returns the elements in the list that come before the specified cursor. 5119 | """ 5120 | before: String 5121 | 5122 | """Returns the first _n_ elements from the list.""" 5123 | first: Int 5124 | 5125 | """Returns the last _n_ elements from the list.""" 5126 | last: Int 5127 | active: Boolean 5128 | role: String 5129 | platform: String 5130 | organizationId: ID 5131 | ): AppConnection! 5132 | 5133 | """Verifies if an app can undergo a bluegreen deployment""" 5134 | canPerformBluegreenDeployment( 5135 | """The name of the app""" 5136 | name: String! 5137 | ): Boolean! 5138 | 5139 | """Find a certificate by ID""" 5140 | certificate(id: ID!): AppCertificate 5141 | checkJobs( 5142 | """Returns the elements in the list that come after the specified cursor.""" 5143 | after: String 5144 | 5145 | """ 5146 | Returns the elements in the list that come before the specified cursor. 5147 | """ 5148 | before: String 5149 | 5150 | """Returns the first _n_ elements from the list.""" 5151 | first: Int 5152 | 5153 | """Returns the last _n_ elements from the list.""" 5154 | last: Int 5155 | ): CheckJobConnection! 5156 | checkLocations: [CheckLocation!]! 5157 | currentUser: User! @deprecated(reason: "use viewer instead") 5158 | 5159 | """Find a domain by name""" 5160 | domain(name: String!): Domain 5161 | 5162 | """internal field for inter-service authz check""" 5163 | flapsAuthzCheck: Boolean! 5164 | githubIntegration: GithubIntegration! @deprecated(reason: "deprecated") 5165 | herokuIntegration: HerokuIntegration! 5166 | 5167 | """Find an ip address by ID""" 5168 | ipAddress(id: ID!): IPAddress 5169 | 5170 | """Returns the latest available tag for a given image repository""" 5171 | latestImageDetails( 5172 | """/:""" 5173 | image: String! 5174 | 5175 | """Fly version to use for tag resolution""" 5176 | flyVersion: String 5177 | ): ImageVersion! 5178 | 5179 | """Returns the latest available tag for a given image repository""" 5180 | latestImageTag(repository: String!, snapshotId: ID): String! 5181 | 5182 | """Get a single machine""" 5183 | machine(machineId: String!): Machine! 5184 | 5185 | """List machines""" 5186 | machines( 5187 | """Returns the elements in the list that come after the specified cursor.""" 5188 | after: String 5189 | 5190 | """ 5191 | Returns the elements in the list that come before the specified cursor. 5192 | """ 5193 | before: String 5194 | 5195 | """Returns the first _n_ elements from the list.""" 5196 | first: Int 5197 | 5198 | """Returns the last _n_ elements from the list.""" 5199 | last: Int 5200 | appId: String 5201 | state: String 5202 | version: Int 5203 | ): MachineConnection! 5204 | nearestRegion(wireguardGateway: Boolean): Region! 5205 | 5206 | """Fetches an object given its ID.""" 5207 | node( 5208 | """ID of the object.""" 5209 | id: ID! 5210 | ): Node 5211 | 5212 | """Fetches a list of objects given a list of IDs.""" 5213 | nodes( 5214 | """IDs of the objects.""" 5215 | ids: [ID!]! 5216 | ): [Node]! 5217 | 5218 | """Find an organization by ID""" 5219 | organization(id: ID, name: String, slug: String): Organization 5220 | organizations( 5221 | """Returns the elements in the list that come after the specified cursor.""" 5222 | after: String 5223 | 5224 | """ 5225 | Returns the elements in the list that come before the specified cursor. 5226 | """ 5227 | before: String 5228 | 5229 | """Returns the first _n_ elements from the list.""" 5230 | first: Int 5231 | 5232 | """Returns the last _n_ elements from the list.""" 5233 | last: Int 5234 | withBillingIssuesOnly: Boolean 5235 | admin: Boolean 5236 | type: OrganizationType 5237 | ): OrganizationConnection! 5238 | personalOrganization: Organization! 5239 | 5240 | """fly.io platform information""" 5241 | platform: FlyPlatform! 5242 | 5243 | """List postgres attachments""" 5244 | postgresAttachments( 5245 | """Returns the elements in the list that come after the specified cursor.""" 5246 | after: String 5247 | 5248 | """ 5249 | Returns the elements in the list that come before the specified cursor. 5250 | """ 5251 | before: String 5252 | 5253 | """Returns the first _n_ elements from the list.""" 5254 | first: Int 5255 | 5256 | """Returns the last _n_ elements from the list.""" 5257 | last: Int 5258 | appName: String 5259 | postgresAppName: String! 5260 | ): PostgresClusterAttachmentConnection! 5261 | 5262 | """Fly.io product and price information""" 5263 | products: [Product!]! 5264 | 5265 | """Whether the authentication token only allows for user access""" 5266 | userOnlyToken: Boolean! 5267 | validateConfig(definition: JSON!): AppConfig! 5268 | viewer: Principal! 5269 | 5270 | """Find a persistent volume by ID""" 5271 | volume(id: ID!): Volume 5272 | } 5273 | 5274 | type Region { 5275 | """The IATA airport code for this region""" 5276 | code: String! 5277 | gatewayAvailable: Boolean! 5278 | 5279 | """The latitude of this region""" 5280 | latitude: Float 5281 | 5282 | """The longitude of this region""" 5283 | longitude: Float 5284 | 5285 | """The name of this region""" 5286 | name: String! 5287 | processGroup: String 5288 | requiresPaidPlan: Boolean! 5289 | } 5290 | 5291 | type RegionPlacement { 5292 | """The desired number of allocations""" 5293 | count: Int 5294 | 5295 | """The region code""" 5296 | region: String! 5297 | } 5298 | 5299 | """Autogenerated input type of RegisterDomain""" 5300 | input RegisterDomainInput { 5301 | """A unique identifier for the client performing the mutation.""" 5302 | clientMutationId: String 5303 | 5304 | """The node ID of the domain""" 5305 | domainId: ID! 5306 | 5307 | """Enable whois privacy on the registration""" 5308 | whoisPrivacy: Boolean 5309 | 5310 | """Enable auto renew on the registration""" 5311 | autoRenew: Boolean 5312 | } 5313 | 5314 | """Autogenerated return type of RegisterDomain.""" 5315 | type RegisterDomainPayload { 5316 | """A unique identifier for the client performing the mutation.""" 5317 | clientMutationId: String 5318 | domain: Domain! 5319 | } 5320 | 5321 | type Release implements Node { 5322 | config: AppConfig 5323 | createdAt: ISO8601DateTime! 5324 | deploymentStrategy: DeploymentStrategy! 5325 | 5326 | """A description of the release""" 5327 | description: String! 5328 | evaluationId: String 5329 | 5330 | """Unique ID""" 5331 | id: ID! 5332 | 5333 | """Docker image""" 5334 | image: Image 5335 | 5336 | """Docker image URI""" 5337 | imageRef: String 5338 | inProgress: Boolean! @deprecated(reason: "use deployment.inProgress") 5339 | metadata: JSON 5340 | 5341 | """The reason for the release""" 5342 | reason: String! 5343 | 5344 | """Version release reverted to""" 5345 | revertedTo: Int 5346 | stable: Boolean! 5347 | 5348 | """The status of the release""" 5349 | status: String! 5350 | updatedAt: ISO8601DateTime! 5351 | 5352 | """The user who created the release""" 5353 | user: User 5354 | 5355 | """The version of the release""" 5356 | version: Int! 5357 | } 5358 | 5359 | type ReleaseCommand implements Node { 5360 | app: App! 5361 | command: String! 5362 | evaluationId: String 5363 | exitCode: Int 5364 | failed: Boolean! 5365 | id: ID! 5366 | inProgress: Boolean! 5367 | instanceId: String 5368 | status: String! 5369 | succeeded: Boolean! 5370 | } 5371 | 5372 | """The connection type for Release.""" 5373 | type ReleaseConnection { 5374 | """A list of edges.""" 5375 | edges: [ReleaseEdge] 5376 | 5377 | """A list of nodes.""" 5378 | nodes: [Release] 5379 | 5380 | """Information to aid in pagination.""" 5381 | pageInfo: PageInfo! 5382 | totalCount: Int! 5383 | } 5384 | 5385 | """An edge in a connection.""" 5386 | type ReleaseEdge { 5387 | """A cursor for use in pagination.""" 5388 | cursor: String! 5389 | 5390 | """The item at the end of the edge.""" 5391 | node: Release 5392 | } 5393 | 5394 | """Autogenerated input type of ReleaseEgressIPAddress""" 5395 | input ReleaseEgressIPAddressInput { 5396 | """A unique identifier for the client performing the mutation.""" 5397 | clientMutationId: String 5398 | 5399 | """The ID of the app""" 5400 | appId: ID! 5401 | 5402 | """The ID of the machine""" 5403 | machineId: ID! 5404 | } 5405 | 5406 | """Autogenerated return type of ReleaseEgressIPAddress.""" 5407 | type ReleaseEgressIPAddressPayload { 5408 | """A unique identifier for the client performing the mutation.""" 5409 | clientMutationId: String 5410 | v4: String 5411 | v6: String 5412 | } 5413 | 5414 | """Autogenerated input type of ReleaseIPAddress""" 5415 | input ReleaseIPAddressInput { 5416 | """A unique identifier for the client performing the mutation.""" 5417 | clientMutationId: String 5418 | 5419 | """The ID of the app""" 5420 | appId: ID 5421 | 5422 | """The id of the ip address to release""" 5423 | ipAddressId: ID 5424 | ip: String 5425 | 5426 | """The name of the associated service""" 5427 | serviceName: String 5428 | } 5429 | 5430 | """Autogenerated return type of ReleaseIPAddress.""" 5431 | type ReleaseIPAddressPayload { 5432 | app: App! 5433 | 5434 | """A unique identifier for the client performing the mutation.""" 5435 | clientMutationId: String 5436 | } 5437 | 5438 | type ReleaseUnprocessed implements Node { 5439 | configDefinition: JSON 5440 | createdAt: ISO8601DateTime! 5441 | deploymentStrategy: DeploymentStrategy! 5442 | 5443 | """A description of the release""" 5444 | description: String! 5445 | evaluationId: String 5446 | 5447 | """Unique ID""" 5448 | id: ID! 5449 | 5450 | """Docker image""" 5451 | image: Image 5452 | 5453 | """Docker image URI""" 5454 | imageRef: String 5455 | inProgress: Boolean! @deprecated(reason: "use deployment.inProgress") 5456 | 5457 | """The reason for the release""" 5458 | reason: String! 5459 | 5460 | """Version release reverted to""" 5461 | revertedTo: Int 5462 | stable: Boolean! 5463 | 5464 | """The status of the release""" 5465 | status: String! 5466 | updatedAt: ISO8601DateTime! 5467 | 5468 | """The user who created the release""" 5469 | user: User 5470 | 5471 | """The version of the release""" 5472 | version: Int! 5473 | } 5474 | 5475 | """The connection type for ReleaseUnprocessed.""" 5476 | type ReleaseUnprocessedConnection { 5477 | """A list of edges.""" 5478 | edges: [ReleaseUnprocessedEdge] 5479 | 5480 | """A list of nodes.""" 5481 | nodes: [ReleaseUnprocessed] 5482 | 5483 | """Information to aid in pagination.""" 5484 | pageInfo: PageInfo! 5485 | totalCount: Int! 5486 | } 5487 | 5488 | """An edge in a connection.""" 5489 | type ReleaseUnprocessedEdge { 5490 | """A cursor for use in pagination.""" 5491 | cursor: String! 5492 | 5493 | """The item at the end of the edge.""" 5494 | node: ReleaseUnprocessed 5495 | } 5496 | 5497 | type RemoteDockerBuilderAppRole implements AppRole { 5498 | """The name of this role""" 5499 | name: String! 5500 | } 5501 | 5502 | """Autogenerated input type of RemoveMachine""" 5503 | input RemoveMachineInput { 5504 | """A unique identifier for the client performing the mutation.""" 5505 | clientMutationId: String 5506 | 5507 | """The ID of the app""" 5508 | appId: ID 5509 | 5510 | """machine id""" 5511 | id: String! 5512 | 5513 | """force kill machine if it's running""" 5514 | kill: Boolean 5515 | } 5516 | 5517 | """Autogenerated return type of RemoveMachine.""" 5518 | type RemoveMachinePayload { 5519 | """A unique identifier for the client performing the mutation.""" 5520 | clientMutationId: String 5521 | machine: Machine! 5522 | } 5523 | 5524 | """Autogenerated input type of RemoveWireGuardPeer""" 5525 | input RemoveWireGuardPeerInput { 5526 | """A unique identifier for the client performing the mutation.""" 5527 | clientMutationId: String 5528 | 5529 | """The node ID of the organization""" 5530 | organizationId: ID! 5531 | 5532 | """The name of the peer to remove""" 5533 | name: String! 5534 | 5535 | """Add via NATS transaction (for testing only, nosy users)""" 5536 | nats: Boolean 5537 | } 5538 | 5539 | """Autogenerated return type of RemoveWireGuardPeer.""" 5540 | type RemoveWireGuardPeerPayload { 5541 | """A unique identifier for the client performing the mutation.""" 5542 | clientMutationId: String 5543 | 5544 | """The organization that owned the peer""" 5545 | organization: Organization! 5546 | } 5547 | 5548 | """Autogenerated input type of ResetAddOnPassword""" 5549 | input ResetAddOnPasswordInput { 5550 | """A unique identifier for the client performing the mutation.""" 5551 | clientMutationId: String 5552 | 5553 | """The ID of the add-on whose password should be reset""" 5554 | name: String! 5555 | } 5556 | 5557 | """Autogenerated return type of ResetAddOnPassword.""" 5558 | type ResetAddOnPasswordPayload { 5559 | addOn: AddOn! 5560 | 5561 | """A unique identifier for the client performing the mutation.""" 5562 | clientMutationId: String 5563 | } 5564 | 5565 | """Autogenerated input type of RestartAllocation""" 5566 | input RestartAllocationInput { 5567 | """A unique identifier for the client performing the mutation.""" 5568 | clientMutationId: String 5569 | 5570 | """The ID of the app""" 5571 | appId: ID! 5572 | 5573 | """The ID of the app""" 5574 | allocId: ID! 5575 | } 5576 | 5577 | """Autogenerated return type of RestartAllocation.""" 5578 | type RestartAllocationPayload { 5579 | allocation: Allocation! 5580 | app: App! 5581 | 5582 | """A unique identifier for the client performing the mutation.""" 5583 | clientMutationId: String 5584 | } 5585 | 5586 | """Autogenerated input type of RestartApp""" 5587 | input RestartAppInput { 5588 | """A unique identifier for the client performing the mutation.""" 5589 | clientMutationId: String 5590 | 5591 | """The ID of the app""" 5592 | appId: ID! 5593 | } 5594 | 5595 | """Autogenerated return type of RestartApp.""" 5596 | type RestartAppPayload { 5597 | app: App! 5598 | 5599 | """A unique identifier for the client performing the mutation.""" 5600 | clientMutationId: String 5601 | } 5602 | 5603 | """Autogenerated input type of RestoreVolumeSnapshot""" 5604 | input RestoreVolumeSnapshotInput { 5605 | """A unique identifier for the client performing the mutation.""" 5606 | clientMutationId: String 5607 | volumeId: ID! 5608 | snapshotId: ID! 5609 | } 5610 | 5611 | """Autogenerated return type of RestoreVolumeSnapshot.""" 5612 | type RestoreVolumeSnapshotPayload { 5613 | """A unique identifier for the client performing the mutation.""" 5614 | clientMutationId: String 5615 | snapshot: VolumeSnapshot! 5616 | volume: Volume! 5617 | } 5618 | 5619 | """Autogenerated input type of ResumeApp""" 5620 | input ResumeAppInput { 5621 | """A unique identifier for the client performing the mutation.""" 5622 | clientMutationId: String 5623 | 5624 | """The ID of the app""" 5625 | appId: ID! 5626 | } 5627 | 5628 | """Autogenerated return type of ResumeApp.""" 5629 | type ResumeAppPayload { 5630 | app: App! 5631 | 5632 | """A unique identifier for the client performing the mutation.""" 5633 | clientMutationId: String 5634 | } 5635 | 5636 | """Autogenerated input type of RevokePostgresClusterUserAccess""" 5637 | input RevokePostgresClusterUserAccessInput { 5638 | """A unique identifier for the client performing the mutation.""" 5639 | clientMutationId: String 5640 | 5641 | """The name of the postgres cluster app""" 5642 | appName: String! 5643 | 5644 | """The username to revoke""" 5645 | username: String! 5646 | 5647 | """The database to revoke access to""" 5648 | databaseName: String! 5649 | } 5650 | 5651 | """Autogenerated return type of RevokePostgresClusterUserAccess.""" 5652 | type RevokePostgresClusterUserAccessPayload { 5653 | """A unique identifier for the client performing the mutation.""" 5654 | clientMutationId: String 5655 | database: PostgresClusterDatabase! 5656 | postgresClusterRole: PostgresClusterAppRole! 5657 | user: PostgresClusterUser! 5658 | } 5659 | 5660 | enum RuntimeType { 5661 | """Fly Container Runtime""" 5662 | FIRECRACKER 5663 | 5664 | """Fly JavaScript Runtime""" 5665 | NODEPROXY 5666 | } 5667 | 5668 | """Autogenerated input type of SaveDeploymentSource""" 5669 | input SaveDeploymentSourceInput { 5670 | """A unique identifier for the client performing the mutation.""" 5671 | clientMutationId: String 5672 | 5673 | """The application to update""" 5674 | appId: String! 5675 | provider: String! 5676 | repositoryId: String! 5677 | ref: String 5678 | baseDir: String 5679 | skipBuild: Boolean 5680 | } 5681 | 5682 | """Autogenerated return type of SaveDeploymentSource.""" 5683 | type SaveDeploymentSourcePayload { 5684 | app: App 5685 | build: Build 5686 | 5687 | """A unique identifier for the client performing the mutation.""" 5688 | clientMutationId: String 5689 | } 5690 | 5691 | """Autogenerated input type of ScaleApp""" 5692 | input ScaleAppInput { 5693 | """A unique identifier for the client performing the mutation.""" 5694 | clientMutationId: String 5695 | 5696 | """The ID of the app""" 5697 | appId: ID! 5698 | 5699 | """Regions to scale""" 5700 | regions: [ScaleRegionInput!]! 5701 | } 5702 | 5703 | """Autogenerated return type of ScaleApp.""" 5704 | type ScaleAppPayload { 5705 | app: App! 5706 | 5707 | """A unique identifier for the client performing the mutation.""" 5708 | clientMutationId: String 5709 | delta: [ScaleRegionChange!]! 5710 | placement: [RegionPlacement!]! 5711 | } 5712 | 5713 | type ScaleRegionChange { 5714 | """The original value""" 5715 | fromCount: Int! 5716 | 5717 | """The region code""" 5718 | region: String! 5719 | 5720 | """The new value""" 5721 | toCount: Int 5722 | } 5723 | 5724 | """Region placement configuration""" 5725 | input ScaleRegionInput { 5726 | """The region to configure""" 5727 | region: String! 5728 | 5729 | """The value to change by""" 5730 | count: Int! 5731 | } 5732 | 5733 | type Secret implements Node { 5734 | createdAt: ISO8601DateTime! 5735 | 5736 | """The digest of the secret value""" 5737 | digest: String! 5738 | id: ID! 5739 | 5740 | """The name of the secret""" 5741 | name: String! 5742 | 5743 | """The user who initiated the deployment""" 5744 | user: User 5745 | } 5746 | 5747 | """A secure configuration value""" 5748 | input SecretInput { 5749 | """The unqiue key for this secret""" 5750 | key: String! 5751 | 5752 | """The value of this secret""" 5753 | value: String! 5754 | } 5755 | 5756 | """Global port routing""" 5757 | type Service { 5758 | """Health checks""" 5759 | checks: [Check!]! 5760 | description: String! 5761 | 5762 | """Hard concurrency limit""" 5763 | hardConcurrency: Int! 5764 | 5765 | """Application port to forward traffic to""" 5766 | internalPort: Int! 5767 | 5768 | """Ports to listen on""" 5769 | ports: [ServicePort!]! 5770 | 5771 | """Protocol to listen on""" 5772 | protocol: ServiceProtocolType! 5773 | 5774 | """Soft concurrency limit""" 5775 | softConcurrency: Int! 5776 | } 5777 | 5778 | enum ServiceHandlerType { 5779 | """Convert TLS connection to unencrypted TCP""" 5780 | TLS 5781 | 5782 | """Handle TLS for PostgreSQL connections""" 5783 | PG_TLS 5784 | 5785 | """Convert TCP connection to HTTP""" 5786 | HTTP 5787 | 5788 | """Convert TCP connection to HTTP (at the edge)""" 5789 | EDGE_HTTP 5790 | 5791 | """Wrap TCP connection in PROXY protocol""" 5792 | PROXY_PROTO 5793 | } 5794 | 5795 | """Global port routing""" 5796 | input ServiceInput { 5797 | """Protocol to listen on""" 5798 | protocol: ServiceProtocolType! 5799 | 5800 | """Ports to listen on""" 5801 | ports: [ServiceInputPort!] 5802 | 5803 | """Application port to forward traffic to""" 5804 | internalPort: Int! 5805 | 5806 | """Health checks""" 5807 | checks: [CheckInput!] 5808 | 5809 | """Soft concurrency limit""" 5810 | softConcurrency: Int 5811 | 5812 | """Hard concurrency limit""" 5813 | hardConcurrency: Int 5814 | } 5815 | 5816 | """Service port""" 5817 | input ServiceInputPort { 5818 | """Port to listen on""" 5819 | port: Int! 5820 | 5821 | """Handlers to apply before forwarding service traffic""" 5822 | handlers: [ServiceHandlerType!] 5823 | 5824 | """tls options""" 5825 | tlsOptions: ServicePortTlsOptionsInput 5826 | } 5827 | 5828 | """Service port""" 5829 | type ServicePort { 5830 | """End port for range""" 5831 | endPort: Int 5832 | 5833 | """Handlers to apply before forwarding service traffic""" 5834 | handlers: [ServiceHandlerType!]! 5835 | 5836 | """Port to listen on""" 5837 | port: Int 5838 | 5839 | """Start port for range""" 5840 | startPort: Int 5841 | } 5842 | 5843 | """TLS handshakes options for a port""" 5844 | input ServicePortTlsOptionsInput { 5845 | defaultSelfSigned: Boolean 5846 | } 5847 | 5848 | enum ServiceProtocolType { 5849 | """TCP protocol""" 5850 | TCP 5851 | 5852 | """UDP protocl""" 5853 | UDP 5854 | } 5855 | 5856 | """Autogenerated input type of SetAppsv2DefaultOn""" 5857 | input SetAppsv2DefaultOnInput { 5858 | """A unique identifier for the client performing the mutation.""" 5859 | clientMutationId: String 5860 | 5861 | """The organization slug""" 5862 | organizationSlug: String! 5863 | 5864 | """Whether or not new apps in this org use Apps V2 by default""" 5865 | defaultOn: Boolean! 5866 | } 5867 | 5868 | """Autogenerated return type of SetAppsv2DefaultOn.""" 5869 | type SetAppsv2DefaultOnPayload { 5870 | """A unique identifier for the client performing the mutation.""" 5871 | clientMutationId: String 5872 | organization: Organization! 5873 | } 5874 | 5875 | """Autogenerated input type of SetPagerdutyHandler""" 5876 | input SetPagerdutyHandlerInput { 5877 | """A unique identifier for the client performing the mutation.""" 5878 | clientMutationId: String 5879 | 5880 | """The node ID of the organization""" 5881 | organizationId: ID! 5882 | 5883 | """Handler name""" 5884 | name: String! 5885 | 5886 | """PagerDuty API token""" 5887 | pagerdutyToken: String! 5888 | 5889 | """Map of alert severity levels to PagerDuty severity levels""" 5890 | pagerdutyStatusMap: JSON 5891 | } 5892 | 5893 | """Autogenerated return type of SetPagerdutyHandler.""" 5894 | type SetPagerdutyHandlerPayload { 5895 | """A unique identifier for the client performing the mutation.""" 5896 | clientMutationId: String 5897 | handler: HealthCheckHandler! 5898 | } 5899 | 5900 | """Autogenerated input type of SetPlatformVersion""" 5901 | input SetPlatformVersionInput { 5902 | """A unique identifier for the client performing the mutation.""" 5903 | clientMutationId: String 5904 | 5905 | """The ID of the app""" 5906 | appId: ID! 5907 | 5908 | """nomad or machines""" 5909 | platformVersion: String! 5910 | 5911 | """Unique lock ID""" 5912 | lockId: ID 5913 | } 5914 | 5915 | """Autogenerated return type of SetPlatformVersion.""" 5916 | type SetPlatformVersionPayload { 5917 | app: App! 5918 | 5919 | """A unique identifier for the client performing the mutation.""" 5920 | clientMutationId: String 5921 | } 5922 | 5923 | """Autogenerated input type of SetSecrets""" 5924 | input SetSecretsInput { 5925 | """A unique identifier for the client performing the mutation.""" 5926 | clientMutationId: String 5927 | 5928 | """The ID of the app""" 5929 | appId: ID! 5930 | 5931 | """Secrets to set""" 5932 | secrets: [SecretInput!]! 5933 | 5934 | """ 5935 | By default, we set only the secrets you specify. Set this to true to replace all secrets. 5936 | """ 5937 | replaceAll: Boolean 5938 | } 5939 | 5940 | """Autogenerated return type of SetSecrets.""" 5941 | type SetSecretsPayload { 5942 | app: App! 5943 | 5944 | """A unique identifier for the client performing the mutation.""" 5945 | clientMutationId: String 5946 | release: Release 5947 | } 5948 | 5949 | """Autogenerated input type of SetSlackHandler""" 5950 | input SetSlackHandlerInput { 5951 | """A unique identifier for the client performing the mutation.""" 5952 | clientMutationId: String 5953 | 5954 | """The node ID of the organization""" 5955 | organizationId: ID! 5956 | 5957 | """Handler name""" 5958 | name: String! 5959 | 5960 | """Slack Webhook URL to use for health check notifications""" 5961 | slackWebhookUrl: String! 5962 | 5963 | """Slack channel to send messages to, defaults to #general""" 5964 | slackChannel: String 5965 | 5966 | """User name to display on Slack Messages (defaults to Fly)""" 5967 | slackUsername: String 5968 | 5969 | """Icon to show with Slack messages""" 5970 | slackIconUrl: String 5971 | } 5972 | 5973 | """Autogenerated return type of SetSlackHandler.""" 5974 | type SetSlackHandlerPayload { 5975 | """A unique identifier for the client performing the mutation.""" 5976 | clientMutationId: String 5977 | handler: HealthCheckHandler! 5978 | } 5979 | 5980 | """Autogenerated input type of SetVMCount""" 5981 | input SetVMCountInput { 5982 | """A unique identifier for the client performing the mutation.""" 5983 | clientMutationId: String 5984 | 5985 | """The ID of the app""" 5986 | appId: ID! 5987 | 5988 | """Counts for VM groups""" 5989 | groupCounts: [VMCountInput!]! 5990 | 5991 | """Unique lock ID""" 5992 | lockId: ID 5993 | } 5994 | 5995 | """Autogenerated return type of SetVMCount.""" 5996 | type SetVMCountPayload { 5997 | app: App! 5998 | 5999 | """A unique identifier for the client performing the mutation.""" 6000 | clientMutationId: String 6001 | release: Release 6002 | taskGroupCounts: [TaskGroupCount!]! 6003 | warnings: [String!]! 6004 | } 6005 | 6006 | """Autogenerated input type of SetVMSize""" 6007 | input SetVMSizeInput { 6008 | """A unique identifier for the client performing the mutation.""" 6009 | clientMutationId: String 6010 | 6011 | """The ID of the app""" 6012 | appId: ID! 6013 | 6014 | """The name of the vm size to set""" 6015 | sizeName: String! 6016 | 6017 | """Optionally request more memory""" 6018 | memoryMb: Int 6019 | 6020 | """Process group to modify""" 6021 | group: String 6022 | } 6023 | 6024 | """Autogenerated return type of SetVMSize.""" 6025 | type SetVMSizePayload { 6026 | app: App! 6027 | 6028 | """A unique identifier for the client performing the mutation.""" 6029 | clientMutationId: String 6030 | 6031 | """Process Group scale change applied to (if any)""" 6032 | processGroup: ProcessGroup 6033 | 6034 | """Default app vm size""" 6035 | vmSize: VMSize 6036 | } 6037 | 6038 | """Autogenerated input type of StartBuild""" 6039 | input StartBuildInput { 6040 | """A unique identifier for the client performing the mutation.""" 6041 | clientMutationId: String 6042 | 6043 | """The ID of the app""" 6044 | appId: ID! 6045 | } 6046 | 6047 | """Autogenerated return type of StartBuild.""" 6048 | type StartBuildPayload { 6049 | build: Build! 6050 | 6051 | """A unique identifier for the client performing the mutation.""" 6052 | clientMutationId: String 6053 | } 6054 | 6055 | """Autogenerated input type of StartMachine""" 6056 | input StartMachineInput { 6057 | """A unique identifier for the client performing the mutation.""" 6058 | clientMutationId: String 6059 | 6060 | """The ID of the app""" 6061 | appId: ID 6062 | 6063 | """machine id""" 6064 | id: String! 6065 | } 6066 | 6067 | """Autogenerated return type of StartMachine.""" 6068 | type StartMachinePayload { 6069 | """A unique identifier for the client performing the mutation.""" 6070 | clientMutationId: String 6071 | machine: Machine! 6072 | } 6073 | 6074 | """Autogenerated input type of StopAllocation""" 6075 | input StopAllocationInput { 6076 | """A unique identifier for the client performing the mutation.""" 6077 | clientMutationId: String 6078 | 6079 | """The ID of the app""" 6080 | appId: ID! 6081 | 6082 | """The ID of the app""" 6083 | allocId: ID! 6084 | } 6085 | 6086 | """Autogenerated return type of StopAllocation.""" 6087 | type StopAllocationPayload { 6088 | allocation: Allocation! 6089 | app: App! 6090 | 6091 | """A unique identifier for the client performing the mutation.""" 6092 | clientMutationId: String 6093 | } 6094 | 6095 | """Autogenerated input type of StopMachine""" 6096 | input StopMachineInput { 6097 | """A unique identifier for the client performing the mutation.""" 6098 | clientMutationId: String 6099 | 6100 | """The ID of the app""" 6101 | appId: ID 6102 | 6103 | """machine id""" 6104 | id: String! 6105 | 6106 | """signal to send the machine""" 6107 | signal: String 6108 | 6109 | """how long to wait before force killing the machine""" 6110 | killTimeoutSecs: Int 6111 | } 6112 | 6113 | """Autogenerated return type of StopMachine.""" 6114 | type StopMachinePayload { 6115 | """A unique identifier for the client performing the mutation.""" 6116 | clientMutationId: String 6117 | machine: Machine! 6118 | } 6119 | 6120 | type TaskGroupCount { 6121 | count: Int! 6122 | name: String! 6123 | } 6124 | 6125 | type TemplateDeployment implements Node { 6126 | apps( 6127 | """Returns the elements in the list that come after the specified cursor.""" 6128 | after: String 6129 | 6130 | """ 6131 | Returns the elements in the list that come before the specified cursor. 6132 | """ 6133 | before: String 6134 | 6135 | """Returns the first _n_ elements from the list.""" 6136 | first: Int 6137 | 6138 | """Returns the last _n_ elements from the list.""" 6139 | last: Int 6140 | ): AppConnection! 6141 | id: ID! 6142 | organization: Organization! 6143 | status: String! 6144 | } 6145 | 6146 | """Configuration for third-party caveats to be added to user macaroons""" 6147 | type ThirdPartyConfiguration implements Node { 6148 | """Restrictions to be placed on third-party caveats""" 6149 | caveats: CaveatSet 6150 | createdAt: ISO8601DateTime! 6151 | 6152 | """ 6153 | Whether to add this third-party caveat on tokens issued via `flyctl tokens create` 6154 | """ 6155 | customLevel: ThirdPartyConfigurationLevel! 6156 | 6157 | """ 6158 | Whether to add this third-party caveat on session tokens issued to flyctl 6159 | """ 6160 | flyctlLevel: ThirdPartyConfigurationLevel! 6161 | id: ID! 6162 | 6163 | """Location URL of the third-party service capable of discharging""" 6164 | location: String! 6165 | 6166 | """Friendly name for this configuration""" 6167 | name: String! 6168 | 6169 | """Organization that owns this third party configuration""" 6170 | organization: Organization! 6171 | 6172 | """Whether to add this third-party caveat on Fly.io session tokens""" 6173 | uiexLevel: ThirdPartyConfigurationLevel! 6174 | updatedAt: ISO8601DateTime! 6175 | } 6176 | 6177 | """The connection type for ThirdPartyConfiguration.""" 6178 | type ThirdPartyConfigurationConnection { 6179 | """A list of edges.""" 6180 | edges: [ThirdPartyConfigurationEdge] 6181 | 6182 | """A list of nodes.""" 6183 | nodes: [ThirdPartyConfiguration] 6184 | 6185 | """Information to aid in pagination.""" 6186 | pageInfo: PageInfo! 6187 | totalCount: Int! 6188 | } 6189 | 6190 | """An edge in a connection.""" 6191 | type ThirdPartyConfigurationEdge { 6192 | """A cursor for use in pagination.""" 6193 | cursor: String! 6194 | 6195 | """The item at the end of the edge.""" 6196 | node: ThirdPartyConfiguration 6197 | } 6198 | 6199 | enum ThirdPartyConfigurationLevel { 6200 | """Configuration is disabled and cannot be opted into""" 6201 | DISABLED 6202 | 6203 | """Configuration can be manually opted into""" 6204 | OPT_IN 6205 | 6206 | """Configuration is enabled by default. All members can opt out""" 6207 | MEMBER_OPT_OUT 6208 | 6209 | """Configuration is enabled by default. Admins can opt out""" 6210 | ADMIN_OPT_OUT 6211 | 6212 | """Configuration is enabled by default. No one can opt out""" 6213 | REQUIRED 6214 | } 6215 | 6216 | """Autogenerated input type of UnlockApp""" 6217 | input UnlockAppInput { 6218 | """A unique identifier for the client performing the mutation.""" 6219 | clientMutationId: String 6220 | 6221 | """The ID of the app""" 6222 | appId: ID! 6223 | 6224 | """Unique lock ID""" 6225 | lockId: ID! 6226 | } 6227 | 6228 | """Autogenerated return type of UnlockApp.""" 6229 | type UnlockAppPayload { 6230 | app: App! 6231 | 6232 | """A unique identifier for the client performing the mutation.""" 6233 | clientMutationId: String 6234 | } 6235 | 6236 | """Autogenerated input type of UnsetSecrets""" 6237 | input UnsetSecretsInput { 6238 | """A unique identifier for the client performing the mutation.""" 6239 | clientMutationId: String 6240 | 6241 | """The ID of the app""" 6242 | appId: ID! 6243 | 6244 | """Secret keys to unset""" 6245 | keys: [String!]! 6246 | } 6247 | 6248 | """Autogenerated return type of UnsetSecrets.""" 6249 | type UnsetSecretsPayload { 6250 | app: App! 6251 | 6252 | """A unique identifier for the client performing the mutation.""" 6253 | clientMutationId: String 6254 | release: Release 6255 | } 6256 | 6257 | """Autogenerated input type of UpdateAddOn""" 6258 | input UpdateAddOnInput { 6259 | """A unique identifier for the client performing the mutation.""" 6260 | clientMutationId: String 6261 | 6262 | """The add-on ID to update""" 6263 | addOnId: ID 6264 | 6265 | """The add-on name to update""" 6266 | name: String 6267 | 6268 | """The add-on plan ID""" 6269 | planId: ID 6270 | 6271 | """Options specific to the add-on""" 6272 | options: JSON 6273 | 6274 | """Metadata for the add-on""" 6275 | metadata: JSON 6276 | 6277 | """Desired regions to place replicas in""" 6278 | readRegions: [String!] 6279 | 6280 | """The add-on service provider type""" 6281 | provider: String 6282 | } 6283 | 6284 | """Autogenerated return type of UpdateAddOn.""" 6285 | type UpdateAddOnPayload { 6286 | addOn: AddOn! 6287 | 6288 | """A unique identifier for the client performing the mutation.""" 6289 | clientMutationId: String 6290 | } 6291 | 6292 | """Autogenerated input type of UpdateAutoscaleConfig""" 6293 | input UpdateAutoscaleConfigInput { 6294 | """A unique identifier for the client performing the mutation.""" 6295 | clientMutationId: String 6296 | 6297 | """The ID of the app""" 6298 | appId: ID! 6299 | enabled: Boolean 6300 | minCount: Int 6301 | maxCount: Int 6302 | balanceRegions: Boolean 6303 | 6304 | """Region configs""" 6305 | regions: [AutoscaleRegionConfigInput!] 6306 | resetRegions: Boolean 6307 | } 6308 | 6309 | """Autogenerated return type of UpdateAutoscaleConfig.""" 6310 | type UpdateAutoscaleConfigPayload { 6311 | app: App! 6312 | 6313 | """A unique identifier for the client performing the mutation.""" 6314 | clientMutationId: String 6315 | } 6316 | 6317 | """Autogenerated input type of UpdateDNSPortal""" 6318 | input UpdateDNSPortalInput { 6319 | """A unique identifier for the client performing the mutation.""" 6320 | clientMutationId: String 6321 | 6322 | """The node ID of the organization""" 6323 | dnsPortalId: ID! 6324 | 6325 | """The unique name of this portal.""" 6326 | name: String 6327 | 6328 | """The title of this portal""" 6329 | title: String 6330 | 6331 | """The return url for this portal""" 6332 | returnUrl: String 6333 | 6334 | """The text to display for the return url link""" 6335 | returnUrlText: String 6336 | 6337 | """The support url for this portal""" 6338 | supportUrl: String 6339 | 6340 | """The text to display for the support url link""" 6341 | supportUrlText: String 6342 | 6343 | """The primary branding color""" 6344 | primaryColor: String 6345 | 6346 | """The secondary branding color""" 6347 | accentColor: String 6348 | } 6349 | 6350 | """Autogenerated return type of UpdateDNSPortal.""" 6351 | type UpdateDNSPortalPayload { 6352 | """A unique identifier for the client performing the mutation.""" 6353 | clientMutationId: String 6354 | dnsPortal: DNSPortal! 6355 | } 6356 | 6357 | """Autogenerated input type of UpdateDNSRecord""" 6358 | input UpdateDNSRecordInput { 6359 | """A unique identifier for the client performing the mutation.""" 6360 | clientMutationId: String 6361 | 6362 | """The node ID of the DNS record""" 6363 | recordId: ID! 6364 | 6365 | """The dns record name""" 6366 | name: String 6367 | 6368 | """The TTL in seconds""" 6369 | ttl: Int 6370 | 6371 | """The content of the record""" 6372 | rdata: String 6373 | } 6374 | 6375 | """Autogenerated return type of UpdateDNSRecord.""" 6376 | type UpdateDNSRecordPayload { 6377 | """A unique identifier for the client performing the mutation.""" 6378 | clientMutationId: String 6379 | record: DNSRecord! 6380 | } 6381 | 6382 | """Autogenerated input type of UpdateDNSRecords""" 6383 | input UpdateDNSRecordsInput { 6384 | """A unique identifier for the client performing the mutation.""" 6385 | clientMutationId: String 6386 | 6387 | """The node ID of the domain""" 6388 | domainId: ID! 6389 | changes: [DNSRecordChangeInput!]! 6390 | } 6391 | 6392 | """Autogenerated return type of UpdateDNSRecords.""" 6393 | type UpdateDNSRecordsPayload { 6394 | changes: [DNSRecordDiff!]! 6395 | 6396 | """A unique identifier for the client performing the mutation.""" 6397 | clientMutationId: String 6398 | domain: Domain! 6399 | warnings: [DNSRecordWarning!]! 6400 | } 6401 | 6402 | """Autogenerated input type of UpdateOrganizationMembership""" 6403 | input UpdateOrganizationMembershipInput { 6404 | """A unique identifier for the client performing the mutation.""" 6405 | clientMutationId: String 6406 | 6407 | """The node ID of the organization""" 6408 | organizationId: ID! 6409 | 6410 | """The node ID of the user""" 6411 | userId: ID! 6412 | 6413 | """The new role for the user""" 6414 | role: OrganizationMemberRole! 6415 | 6416 | """The new alert settings for the user""" 6417 | alertsEnabled: OrganizationAlertsEnabled 6418 | } 6419 | 6420 | """Autogenerated return type of UpdateOrganizationMembership.""" 6421 | type UpdateOrganizationMembershipPayload { 6422 | """A unique identifier for the client performing the mutation.""" 6423 | clientMutationId: String 6424 | organization: Organization! 6425 | user: User! 6426 | } 6427 | 6428 | """Autogenerated input type of UpdateRelease""" 6429 | input UpdateReleaseInput { 6430 | """A unique identifier for the client performing the mutation.""" 6431 | clientMutationId: String 6432 | 6433 | """The ID of the release""" 6434 | releaseId: ID! 6435 | 6436 | """The new status for the release""" 6437 | status: String 6438 | 6439 | """The metadata for the release""" 6440 | metadata: JSON 6441 | } 6442 | 6443 | """Autogenerated return type of UpdateRelease.""" 6444 | type UpdateReleasePayload { 6445 | """A unique identifier for the client performing the mutation.""" 6446 | clientMutationId: String 6447 | release: Release! 6448 | } 6449 | 6450 | """Autogenerated input type of UpdateRemoteBuilder""" 6451 | input UpdateRemoteBuilderInput { 6452 | """A unique identifier for the client performing the mutation.""" 6453 | clientMutationId: String 6454 | 6455 | """The node ID of the organization""" 6456 | organizationId: ID! 6457 | 6458 | """Docker image reference""" 6459 | image: String! 6460 | } 6461 | 6462 | """Autogenerated return type of UpdateRemoteBuilder.""" 6463 | type UpdateRemoteBuilderPayload { 6464 | """A unique identifier for the client performing the mutation.""" 6465 | clientMutationId: String 6466 | organization: Organization! 6467 | } 6468 | 6469 | """Autogenerated input type of UpdateThirdPartyConfiguration""" 6470 | input UpdateThirdPartyConfigurationInput { 6471 | """A unique identifier for the client performing the mutation.""" 6472 | clientMutationId: String 6473 | 6474 | """The node ID of the configuration""" 6475 | thirdPartyConfigurationId: ID! 6476 | 6477 | """Friendly name for this configuration""" 6478 | name: String 6479 | 6480 | """Location URL of the third-party service capable of discharging""" 6481 | location: String 6482 | 6483 | """Restrictions to be placed on third-party caveats""" 6484 | caveats: CaveatSet 6485 | 6486 | """ 6487 | Whether to add this third-party caveat on session tokens issued to flyctl 6488 | """ 6489 | flyctlLevel: ThirdPartyConfigurationLevel 6490 | 6491 | """Whether to add this third-party caveat on Fly.io session tokens""" 6492 | uiexLevel: ThirdPartyConfigurationLevel 6493 | 6494 | """ 6495 | Whether to add this third-party caveat on tokens issued via `flyctl tokens create` 6496 | """ 6497 | customLevel: ThirdPartyConfigurationLevel 6498 | } 6499 | 6500 | """Autogenerated return type of UpdateThirdPartyConfiguration.""" 6501 | type UpdateThirdPartyConfigurationPayload { 6502 | """A unique identifier for the client performing the mutation.""" 6503 | clientMutationId: String 6504 | thirdPartyConfiguration: ThirdPartyConfiguration! 6505 | } 6506 | 6507 | type User implements Node & Principal { 6508 | """ 6509 | Check if the organization has agreed to the extension provider terms of service 6510 | """ 6511 | agreedToProviderTos(providerName: String!): Boolean! 6512 | 6513 | """URL for avatar or placeholder""" 6514 | avatarUrl: String! 6515 | createdAt: ISO8601DateTime! 6516 | 6517 | """Email address for user (private)""" 6518 | email: String! 6519 | 6520 | """Whether to create new organizations under Hobby plan""" 6521 | enablePaidHobby: Boolean! 6522 | featureFlags: [String!]! 6523 | hasNodeproxyApps: Boolean! 6524 | id: ID! 6525 | internalNumericId: Int! 6526 | lastRegion: String 6527 | 6528 | """Display / full name for user (private)""" 6529 | name: String 6530 | organizations( 6531 | """Returns the elements in the list that come after the specified cursor.""" 6532 | after: String 6533 | 6534 | """ 6535 | Returns the elements in the list that come before the specified cursor. 6536 | """ 6537 | before: String 6538 | 6539 | """Returns the first _n_ elements from the list.""" 6540 | first: Int 6541 | 6542 | """Returns the last _n_ elements from the list.""" 6543 | last: Int 6544 | ): OrganizationConnection! @deprecated(reason: "Use query.organizations instead") 6545 | personalOrganization: Organization! @deprecated(reason: "Use query.personalOrganization instead") 6546 | trust: OrganizationTrust! 6547 | twoFactorProtection: Boolean! 6548 | 6549 | """Public username for user""" 6550 | username: String 6551 | } 6552 | 6553 | type UserCoupon implements Node { 6554 | createdAt: ISO8601DateTime! 6555 | id: ID! 6556 | 6557 | """Organization that owns this app""" 6558 | organization: Organization! 6559 | updatedAt: ISO8601DateTime! 6560 | } 6561 | 6562 | """Autogenerated input type of ValidateWireGuardPeers""" 6563 | input ValidateWireGuardPeersInput { 6564 | """A unique identifier for the client performing the mutation.""" 6565 | clientMutationId: String 6566 | peerIps: [String!]! 6567 | } 6568 | 6569 | """Autogenerated return type of ValidateWireGuardPeers.""" 6570 | type ValidateWireGuardPeersPayload { 6571 | """A unique identifier for the client performing the mutation.""" 6572 | clientMutationId: String 6573 | invalidPeerIps: [String!]! 6574 | validPeerIps: [String!]! 6575 | } 6576 | 6577 | type VM implements Node { 6578 | attachedVolumes( 6579 | """Returns the elements in the list that come after the specified cursor.""" 6580 | after: String 6581 | 6582 | """ 6583 | Returns the elements in the list that come before the specified cursor. 6584 | """ 6585 | before: String 6586 | 6587 | """Returns the first _n_ elements from the list.""" 6588 | first: Int 6589 | 6590 | """Returns the last _n_ elements from the list.""" 6591 | last: Int 6592 | ): VolumeConnection! 6593 | canary: Boolean! 6594 | checks( 6595 | """Filter checks by name""" 6596 | name: String 6597 | ): [CheckState!]! 6598 | createdAt: ISO8601DateTime! 6599 | criticalCheckCount: Int! 6600 | 6601 | """Desired status""" 6602 | desiredStatus: String! 6603 | events: [AllocationEvent!]! 6604 | failed: Boolean! 6605 | healthy: Boolean! 6606 | 6607 | """Unique ID for this instance""" 6608 | id: ID! 6609 | 6610 | """Short unique ID for this instance""" 6611 | idShort: ID! 6612 | 6613 | """Indicates if this instance is from the latest job version""" 6614 | latestVersion: Boolean! 6615 | passingCheckCount: Int! 6616 | 6617 | """Private IPv6 address for this instance""" 6618 | privateIP: String 6619 | recentLogs( 6620 | """Max number of entries to return""" 6621 | limit: Int = 10 6622 | 6623 | """Max age of log entries in seconds""" 6624 | range: Int = 300 6625 | ): [LogEntry!]! 6626 | 6627 | """Region this allocation is running in""" 6628 | region: String! 6629 | restarts: Int! 6630 | 6631 | """Current status""" 6632 | status: String! 6633 | taskName: String! 6634 | totalCheckCount: Int! 6635 | transitioning: Boolean! 6636 | updatedAt: ISO8601DateTime! 6637 | 6638 | """The configuration version of this instance""" 6639 | version: Int! 6640 | warningCheckCount: Int! 6641 | } 6642 | 6643 | """The connection type for VM.""" 6644 | type VMConnection { 6645 | activeCount: Int! 6646 | completeCount: Int! 6647 | 6648 | """A list of edges.""" 6649 | edges: [VMEdge] 6650 | failedCount: Int! 6651 | inactiveCount: Int! 6652 | lostCount: Int! 6653 | 6654 | """A list of nodes.""" 6655 | nodes: [VM] 6656 | 6657 | """Information to aid in pagination.""" 6658 | pageInfo: PageInfo! 6659 | pendingCount: Int! 6660 | runningCount: Int! 6661 | totalCount: Int! 6662 | } 6663 | 6664 | input VMCountInput { 6665 | """VM group name""" 6666 | group: String 6667 | 6668 | """The desired count""" 6669 | count: Int 6670 | 6671 | """Max number of VMs to allow per region""" 6672 | maxPerRegion: Int 6673 | } 6674 | 6675 | """An edge in a connection.""" 6676 | type VMEdge { 6677 | """A cursor for use in pagination.""" 6678 | cursor: String! 6679 | 6680 | """The item at the end of the edge.""" 6681 | node: VM 6682 | } 6683 | 6684 | type VMSize { 6685 | cpuCores: Float! 6686 | maxMemoryMb: Int! 6687 | memoryGb: Float! 6688 | memoryIncrementsMb: [Int!]! 6689 | memoryMb: Int! 6690 | name: String! 6691 | priceMonth: Float! 6692 | priceSecond: Float! 6693 | } 6694 | 6695 | type Volume implements Node { 6696 | app: App! 6697 | attachedAllocation: Allocation 6698 | attachedAllocationId: String 6699 | attachedMachine: Machine 6700 | createdAt: ISO8601DateTime! 6701 | encrypted: Boolean! 6702 | host: Host! 6703 | id: ID! 6704 | internalId: String! 6705 | name: String! 6706 | region: String! 6707 | sizeGb: Int! 6708 | snapshotRetentionDays: Int 6709 | snapshots( 6710 | """Returns the elements in the list that come after the specified cursor.""" 6711 | after: String 6712 | 6713 | """ 6714 | Returns the elements in the list that come before the specified cursor. 6715 | """ 6716 | before: String 6717 | 6718 | """Returns the first _n_ elements from the list.""" 6719 | first: Int 6720 | 6721 | """Returns the last _n_ elements from the list.""" 6722 | last: Int 6723 | ): VolumeSnapshotConnection! 6724 | state: String! 6725 | status: String! 6726 | usedBytes: BigInt! 6727 | } 6728 | 6729 | """The connection type for Volume.""" 6730 | type VolumeConnection { 6731 | """A list of edges.""" 6732 | edges: [VolumeEdge] 6733 | 6734 | """A list of nodes.""" 6735 | nodes: [Volume] 6736 | 6737 | """Information to aid in pagination.""" 6738 | pageInfo: PageInfo! 6739 | totalCount: Int! 6740 | } 6741 | 6742 | """An edge in a connection.""" 6743 | type VolumeEdge { 6744 | """A cursor for use in pagination.""" 6745 | cursor: String! 6746 | 6747 | """The item at the end of the edge.""" 6748 | node: Volume 6749 | } 6750 | 6751 | type VolumeSnapshot implements Node { 6752 | createdAt: ISO8601DateTime! 6753 | digest: String! 6754 | id: ID! 6755 | retentionDays: Int 6756 | size: BigInt! 6757 | volume: Volume! 6758 | } 6759 | 6760 | """The connection type for VolumeSnapshot.""" 6761 | type VolumeSnapshotConnection { 6762 | """A list of edges.""" 6763 | edges: [VolumeSnapshotEdge] 6764 | 6765 | """A list of nodes.""" 6766 | nodes: [VolumeSnapshot] 6767 | 6768 | """Information to aid in pagination.""" 6769 | pageInfo: PageInfo! 6770 | totalCount: Int! 6771 | } 6772 | 6773 | """An edge in a connection.""" 6774 | type VolumeSnapshotEdge { 6775 | """A cursor for use in pagination.""" 6776 | cursor: String! 6777 | 6778 | """The item at the end of the edge.""" 6779 | node: VolumeSnapshot 6780 | } 6781 | 6782 | type WireGuardPeer implements Node { 6783 | id: ID! 6784 | name: String! 6785 | network: String 6786 | peerip: String! 6787 | pubkey: String! 6788 | region: String! 6789 | } 6790 | 6791 | """The connection type for WireGuardPeer.""" 6792 | type WireGuardPeerConnection { 6793 | """A list of edges.""" 6794 | edges: [WireGuardPeerEdge] 6795 | 6796 | """A list of nodes.""" 6797 | nodes: [WireGuardPeer] 6798 | 6799 | """Information to aid in pagination.""" 6800 | pageInfo: PageInfo! 6801 | totalCount: Int! 6802 | } 6803 | 6804 | """An edge in a connection.""" 6805 | type WireGuardPeerEdge { 6806 | """A cursor for use in pagination.""" 6807 | cursor: String! 6808 | 6809 | """The item at the end of the edge.""" 6810 | node: WireGuardPeer 6811 | } 6812 | 6813 | --------------------------------------------------------------------------------