diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 824bd88e0..7809b988f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -77,12 +77,15 @@ jobs: if [[ $GITHUB_REF_SLUG =~ ^v?[0-9]+\.[0-9]+\.[0-9]+$ ]]; then VERSION=$(echo $GITHUB_REF_SLUG | sed 's/^v//') echo "TAG=latest" >> $GITHUB_ENV + echo "CONSOLE_GRAPHQL=https://console.settlemint.com/api/graphql" >> $GITHUB_ENV elif [[ $GITHUB_REF_NAME == "main" ]]; then VERSION="${OLD_VERSION}-main$(echo $GITHUB_SHA_SHORT | sed 's/^v//')" echo "TAG=main" >> $GITHUB_ENV + echo "CONSOLE_GRAPHQL=https://console-release.settlemint.com/api/graphql" >> $GITHUB_ENV else VERSION="${OLD_VERSION}-pr$(echo $GITHUB_SHA_SHORT | sed 's/^v//')" echo "TAG=pr" >> $GITHUB_ENV + echo "CONSOLE_GRAPHQL=https://console-release.settlemint.com/api/graphql" >> $GITHUB_ENV fi echo "VERSION=$VERSION" >> $GITHUB_ENV echo "Updating version to $VERSION" @@ -127,6 +130,7 @@ jobs: run: bunx turbo format lint build attw publint test:coverage --concurrency=100% --summarize --env-mode=loose env: OP_SERVICE_ACCOUNT_TOKEN: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }} + CONSOLE_GRAPHQL: ${{ env.CONSOLE_GRAPHQL }} - name: Publish SDK JS package uses: JS-DevTools/npm-publish@v3 @@ -138,6 +142,36 @@ jobs: strategy: all tag: ${{ env.TAG }} + - name: Publish SDK Utils package + uses: JS-DevTools/npm-publish@v3 + with: + token: ${{ secrets.NPM_TOKEN }} + package: ./packages/utils/package.json + access: public + provenance: false + strategy: all + tag: ${{ env.TAG }} + + - name: Publish SDK Hasura package + uses: JS-DevTools/npm-publish@v3 + with: + token: ${{ secrets.NPM_TOKEN }} + package: ./packages/hasura/package.json + access: public + provenance: false + strategy: all + tag: ${{ env.TAG }} + + - name: Publish SDK The Graph package + uses: JS-DevTools/npm-publish@v3 + with: + token: ${{ secrets.NPM_TOKEN }} + package: ./packages/thegraph/package.json + access: public + provenance: false + strategy: all + tag: ${{ env.TAG }} + - name: Publish SDK Next package uses: JS-DevTools/npm-publish@v3 with: @@ -180,6 +214,10 @@ jobs: | SDK Cli | `@settlemint/sdk-cli@${{ env.VERSION }}` | | SDK Config | `@settlemint/sdk-config@${{ env.VERSION }}` | | SDK Next | `@settlemint/sdk-next@${{ env.VERSION }}` | + | SDK The Graph | `@settlemint/sdk-thegraph@${{ env.VERSION }}` | + | SDK Hasura | `@settlemint/sdk-hasura@${{ env.VERSION }}` | + | SDK JS | `@settlemint/sdk-js@${{ env.VERSION }}` | + | SDK Utils | `@settlemint/sdk-utils@${{ env.VERSION }}` | - name: Auto-commit updated package versions uses: stefanzweifel/git-auto-commit-action@v5 @@ -187,5 +225,5 @@ jobs: with: commit_message: "chore: update package versions [skip ci]" branch: main - file_pattern: 'package.json' + file_pattern: 'package.json schema.graphql' diff --git a/bun.lockb b/bun.lockb index 0ecccb23b..10999c826 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/packages/hasura/.gitignore b/packages/hasura/.gitignore new file mode 100644 index 000000000..e69de29bb diff --git a/packages/hasura/LICENSE b/packages/hasura/LICENSE new file mode 100644 index 000000000..d74c76357 --- /dev/null +++ b/packages/hasura/LICENSE @@ -0,0 +1,110 @@ +# Functional Source License, Version 1.1, MIT Future License + +## Abbreviation + +FSL-1.1-MIT + +## Notice + +Copyright 2024 SettleMint + +## Terms and Conditions + +### Licensor ("We") + +The party offering the Software under these Terms and Conditions. + +### The Software + +The "Software" is each version of the software that we make available under +these Terms and Conditions, as indicated by our inclusion of these Terms and +Conditions with the Software. + +### License Grant + +Subject to your compliance with this License Grant and the Patents, +Redistribution and Trademark clauses below, we hereby grant you the right to +use, copy, modify, create derivative works, publicly perform, publicly display +and redistribute the Software for any Permitted Purpose identified below. + +### Permitted Purpose + +A Permitted Purpose is any purpose other than a Competing Use. A Competing Use +means making the Software available to others in a commercial product or +service that: + +1. substitutes for the Software; + +2. substitutes for any other product or service we offer using the Software + that exists as of the date we make the Software available; or + +3. offers the same or substantially similar functionality as the Software. + +Permitted Purposes specifically include using the Software: + +1. for your internal use and access; + +2. for non-commercial education; + +3. for non-commercial research; and + +4. in connection with professional services that you provide to a licensee + using the Software in accordance with these Terms and Conditions. + +### Patents + +To the extent your use for a Permitted Purpose would necessarily infringe our +patents, the license grant above includes a license under our patents. If you +make a claim against any party that the Software infringes or contributes to +the infringement of any patent, then your patent license to the Software ends +immediately. + +### Redistribution + +The Terms and Conditions apply to all copies, modifications and derivatives of +the Software. + +If you redistribute any copies, modifications or derivatives of the Software, +you must include a copy of or a link to these Terms and Conditions and not +remove any copyright notices provided in or with the Software. + +### Disclaimer + +THE SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTIES OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING WITHOUT LIMITATION WARRANTIES OF FITNESS FOR A PARTICULAR +PURPOSE, MERCHANTABILITY, TITLE OR NON-INFRINGEMENT. + +IN NO EVENT WILL WE HAVE ANY LIABILITY TO YOU ARISING OUT OF OR RELATED TO THE +SOFTWARE, INCLUDING INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES, +EVEN IF WE HAVE BEEN INFORMED OF THEIR POSSIBILITY IN ADVANCE. + +### Trademarks + +Except for displaying the License Details and identifying us as the origin of +the Software, you have no right under these Terms and Conditions to use our +trademarks, trade names, service marks or product names. + +## Grant of Future License + +We hereby irrevocably grant you an additional license to use the Software under +the MIT license that is effective on the second anniversary of the date we make +the Software available. On or after that date, you may use the Software under +the MIT license, in which case the following will apply: + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/packages/hasura/README.md b/packages/hasura/README.md new file mode 100644 index 000000000..77fc25444 --- /dev/null +++ b/packages/hasura/README.md @@ -0,0 +1,172 @@ +

+ SettleMint logo +

SettleMint SDK

+

+ ✨ https://settlemint.com ✨ +
+ Integrate SettleMint into your application with ease. +

+

+ +

+CI status +License +npm +stars +

+ +
+ Documentation +   •   + Discord +   •   + NPM +   •   + Issues +
+
+ +## Table of Contents + +- [Installation](#installation) +- [Usage](#usage) +- [API Reference](#api-reference) +- [Examples](#examples) +- [Contributing](#contributing) +- [License](#license) + +## Installation + +To install the SettleMint SDK, you can use one of the following package managers: + +```bash +# Using npm +npm install @settlemint/sdk + +# Using yarn +yarn add @settlemint/sdk + +# Using pnpm +pnpm add @settlemint/sdk + +# Using Bun +bun add @settlemint/sdk +``` + +We recommend using Bun for faster installation and better performance. + +## Usage + +To use the SettleMint SDK in your Node.js application, follow these steps: + +1. Import the SDK: + +```javascript +import { createSettleMintClient } from '@settlemint/sdk'; +``` + +2. Create a client instance: + +```javascript +const client = createSettleMintClient({ + accessToken: 'your_access_token', + instance: 'https://console.settlemint.com' +}); +``` + +3. Use the client to interact with SettleMint resources: + +```javascript +// Example: List workspaces +const workspaces = await client.workspace.list(); +console.log(workspaces); +``` + +## API Reference + +The SettleMint SDK provides access to various resources. Here's an overview of the available methods: + +### Workspace + +- `workspace.list()`: List all workspaces and their applications +- `workspace.read(workspaceId)`: Read a specific workspace and its applications + +### Blockchain Network + +- `blockchainNetwork.list(applicationId)`: List blockchain networks for a given application +- `blockchainNetwork.read(blockchainNetworkId)`: Read a specific blockchain network + +### Blockchain Node + +- `blockchainNode.list(applicationId)`: List blockchain nodes for a given application +- `blockchainNode.read(blockchainNodeId)`: Read a specific blockchain node + +### Middleware + +- `middleware.list(applicationId)`: List middlewares for a given application +- `middleware.read(middlewareId)`: Read a specific middleware + +### Integration Tool + +- `integrationTool.list(applicationId)`: List integration tools for a given application +- `integrationTool.read(integrationId)`: Read a specific integration tool + +### Storage + +- `storage.list(applicationId)`: List storage items for a given application +- `storage.read(storageId)`: Read a specific storage item + +### Private Key + +- `privateKey.list(applicationId)`: List private keys for a given application +- `privateKey.read(privateKeyId)`: Read a specific private key + +### Insights + +- `insights.list(applicationId)`: List insights for a given application +- `insights.read(insightsId)`: Read a specific insight + +## Examples + +Here are some examples of how to use the SettleMint SDK: + +### List Workspaces + +```javascript +const client = createSettleMintClient({ + accessToken: 'your_access_token', + instance: 'https://console.settlemint.com' +}); + +const workspaces = await client.workspace.list(); +console.log(workspaces); +``` + +### Read a Specific Blockchain Network + +```javascript +const client = createSettleMintClient({ + accessToken: 'your_access_token', + instance: 'https://console.settlemint.com' +}); + +const networkId = 'your_network_id'; +const network = await client.blockchainNetwork.read(networkId); +console.log(network); +``` + +## Contributing + +We welcome contributions to the SettleMint SDK! If you'd like to contribute, please follow these steps: + +1. Fork the repository +2. Create a new branch for your feature or bug fix +3. Make your changes and commit them with a clear commit message +4. Push your changes to your fork +5. Create a pull request to the main repository + +Please ensure that your code follows the existing style and includes appropriate tests and documentation. + +## License + +The SettleMint SDK is released under the [FSL Software License](https://fsl.software). See the [LICENSE](LICENSE) file for more details. \ No newline at end of file diff --git a/packages/hasura/knip.json b/packages/hasura/knip.json new file mode 100644 index 000000000..dc6220535 --- /dev/null +++ b/packages/hasura/knip.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://unpkg.com/knip@5/schema.json", + "ignoreDependencies": [], + "ignore": ["dist/**"], + "entry": ["src/settlemint.ts"] +} diff --git a/packages/hasura/package.json b/packages/hasura/package.json new file mode 100644 index 000000000..b6de59b49 --- /dev/null +++ b/packages/hasura/package.json @@ -0,0 +1,59 @@ +{ + "name": "@settlemint/sdk-hasura", + "description": "SettleMint SDK, integrate SettleMint into your application with ease.", + "version": "0.0.1", + "type": "module", + "private": false, + "license": "FSL-1.1-MIT", + "author": { + "name": "SettleMint", + "email": "support@settlemint.com", + "url": "https://settlemint.com" + }, + "homepage": "https://github.com/settlemint/sdk/blob/main/packages/js/README.md", + "repository": { + "type": "git", + "url": "git+https://github.com/settlemint/sdk.git", + "directory": "packages/hasura" + }, + "bugs": { + "url": "https://github.com/settlemint/sdk/issues", + "email": "support@settlemint.com" + }, + "files": ["dist"], + "main": "./dist/hasura.cjs", + "module": "./dist/hasura.mjs", + "types": "./dist/hasura.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "types": "./dist/hasura.d.ts", + "default": "./dist/hasura.mjs" + }, + "require": { + "types": "./dist/hasura.d.cts", + "default": "./dist/hasura.cjs" + } + } + }, + "scripts": { + "build": "tsup-node", + "dev": "tsup-node --watch", + "publint": "publint run --strict", + "attw": "attw --pack .", + "test": "bun test", + "test:coverage": "bun test --coverage", + "typecheck": "tsc --noEmit" + }, + "devDependencies": {}, + "dependencies": { + "@settlemint/sdk-utils": "workspace:*", + "graphql-request": "^7", + "zod": "^3" + }, + "peerDependencies": {}, + "engines": { + "node": ">=20" + } +} diff --git a/packages/hasura/src/hasura.ts b/packages/hasura/src/hasura.ts new file mode 100644 index 000000000..bfc16328c --- /dev/null +++ b/packages/hasura/src/hasura.ts @@ -0,0 +1,88 @@ +import { ensureServer } from "@settlemint/sdk-utils/runtime"; +import { validate } from "@settlemint/sdk-utils/validation"; +import { type AbstractSetupSchema, initGraphQLTada } from "gql.tada"; +import { GraphQLClient } from "graphql-request"; +import { type ClientOptions, ClientOptionsSchema, ServerClientOptionsSchema } from "./helpers/client-options.schema.js"; + +export type RequestConfig = ConstructorParameters[1]; + +/** + * Creates a Hasura client for client-side use. + * + * @param options - The client options for configuring the Hasura client. + * @param requestConfig - Optional configuration for GraphQL requests. + * @returns An object containing the GraphQL client and the initialized graphql function. + * @throws Will throw an error if the options fail validation. + * + * @example + * const { client, graphql } = createHasuraClient<{ + * introspection: introspection; + * disableMasking: true; + * scalars: { + * DateTime: Date; + * JSON: Record; + * }; + * }>({ + * instance: 'https://your-hasura-instance.com', + * }); + */ +export function createHasuraClient( + options: ClientOptions, + requestConfig?: RequestConfig, +) { + const validatedOptions = validate(ClientOptionsSchema, options); + + const graphql = initGraphQLTada(); + + return { + client: new GraphQLClient(`${validatedOptions.instance}/v1/graphql`, requestConfig), + graphql, + }; +} + +/** + * Creates a Hasura client for server-side use with additional authentication. + * + * @param options - The server client options for configuring the Hasura client. + * @param requestConfig - Optional configuration for GraphQL requests. + * @returns An object containing the GraphQL client and the initialized graphql function. + * @throws Will throw an error if not called on the server or if the options fail validation. + * + * @example + * const { client, graphql } = createServerHasuraClient<{ + * introspection: introspection; + * disableMasking: true; + * scalars: { + * DateTime: Date; + * JSON: Record; + * }; + * }>({ + * instance: 'https://your-hasura-instance.com', + * accessToken: 'your-access-token', + * adminSecret: 'your-admin-secret', + * }); + */ +export function createServerHasuraClient( + options: ClientOptions, + requestConfig?: RequestConfig, +) { + ensureServer(); + const validatedOptions = validate(ServerClientOptionsSchema, options); + + const graphql = initGraphQLTada(); + + return { + client: new GraphQLClient(`${validatedOptions.instance}/v1/graphql`, { + ...requestConfig, + headers: { + ...requestConfig?.headers, + "x-auth-token": validatedOptions.accessToken, + "x-hasura-admin-secret": validatedOptions.adminSecret, + }, + }), + graphql, + }; +} + +export { readFragment } from "gql.tada"; +export type { FragmentOf, ResultOf, VariablesOf } from "gql.tada"; diff --git a/packages/hasura/src/helpers/client-options.schema.ts b/packages/hasura/src/helpers/client-options.schema.ts new file mode 100644 index 000000000..fb209d8c1 --- /dev/null +++ b/packages/hasura/src/helpers/client-options.schema.ts @@ -0,0 +1,28 @@ +import { AccessTokenSchema, UrlSchema } from "@settlemint/sdk-utils/validation"; +import { z } from "zod"; + +/** + * Schema for validating client options for the Hasura client. + */ +export const ClientOptionsSchema = z.object({ + instance: UrlSchema, +}); + +/** + * Type definition for client options derived from the ClientOptionsSchema. + */ +export type ClientOptions = z.infer; + +/** + * Schema for validating server client options for the Hasura client. + * Extends the ClientOptionsSchema with additional server-specific fields. + */ +export const ServerClientOptionsSchema = ClientOptionsSchema.extend({ + accessToken: AccessTokenSchema, + adminSecret: z.string(), +}); + +/** + * Type definition for server client options derived from the ServerClientOptionsSchema. + */ +export type ServerClientOptions = z.infer; diff --git a/packages/hasura/tsconfig.json b/packages/hasura/tsconfig.json new file mode 100644 index 000000000..136719a44 --- /dev/null +++ b/packages/hasura/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "declaration": true, + "esModuleInterop": true, + "isolatedModules": true, + "lib": ["es2022", "DOM", "DOM.Iterable"], + "module": "NodeNext", + "moduleResolution": "NodeNext", + "noUncheckedIndexedAccess": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "strict": true, + "target": "ES2022", + "outDir": "dist", + "jsx": "react-jsx", + "noEmit": true, + "paths": { + "@/*": ["./src/*"] + } + }, + "include": ["src"], + "exclude": ["node_modules", "dist"] +} diff --git a/packages/hasura/tsup.config.ts b/packages/hasura/tsup.config.ts new file mode 100644 index 000000000..8d61fdae9 --- /dev/null +++ b/packages/hasura/tsup.config.ts @@ -0,0 +1,21 @@ +import { type Options, defineConfig } from "tsup"; + +const sharedConfig: Options = { + sourcemap: true, + dts: true, + splitting: false, + treeshake: false, + format: ["cjs", "esm"], + outExtension: ({ format }) => ({ + js: format === "esm" ? ".mjs" : ".cjs", + }), +}; + +export default defineConfig(({ watch }) => { + return [ + { + entry: ["src/hasura.ts"], + ...sharedConfig, + }, + ]; +}); diff --git a/packages/js/package.json b/packages/js/package.json index 357833572..95f47f387 100644 --- a/packages/js/package.json +++ b/packages/js/package.json @@ -21,23 +21,24 @@ "email": "support@settlemint.com" }, "files": ["dist"], - "main": "./dist/index.cjs", - "module": "./dist/index.mjs", - "types": "./dist/index.d.ts", + "main": "./dist/settlemint.cjs", + "module": "./dist/settlemint.mjs", + "types": "./dist/settlemint.d.ts", "exports": { "./package.json": "./package.json", ".": { "import": { - "types": "./dist/index.d.ts", - "default": "./dist/index.mjs" + "types": "./dist/settlemint.d.ts", + "default": "./dist/settlemint.mjs" }, "require": { - "types": "./dist/index.d.cts", - "default": "./dist/index.cjs" + "types": "./dist/settlemint.d.cts", + "default": "./dist/settlemint.cjs" } } }, "scripts": { + "codegen": "gql-tada generate-schema ${CONSOLE_GRAPHQL:-https://console.settlemint.com/api/graphql}", "build": "tsup-node", "dev": "tsup-node --watch", "publint": "publint run --strict", @@ -50,9 +51,10 @@ "@0no-co/graphqlsp": "1.12.16" }, "dependencies": { - "gql.tada": "1.8.10", - "graphql-request": "7.1.0", - "zod": "3.23.8" + "gql.tada": "^1", + "graphql-request": "^7", + "zod": "^3", + "@settlemint/sdk-utils": "workspace:*" }, "peerDependencies": {}, "engines": { diff --git a/packages/js/schema.graphql b/packages/js/schema.graphql new file mode 100644 index 000000000..99a3cf11e --- /dev/null +++ b/packages/js/schema.graphql @@ -0,0 +1,21867 @@ +type AbiFragment { + """Whether the ABI fragment is anonymous""" + anonymous: Boolean + + """The inputs of the ABI fragment""" + inputs: [AbiFragmentInput!]! + + """The name of the ABI fragment""" + name: String + + """The outputs of the ABI fragment""" + outputs: [AbiFragmentOutput!] + + """The state mutability of the ABI fragment""" + stateMutability: String + + """The type of the ABI fragment""" + type: String! +} + +type AbiFragmentInput { + """Indicates if the input is indexed""" + indexed: Boolean + + """The internal type of the input""" + internalType: String! + + """The name of the input""" + name: String! + + """The type of the input""" + type: String! +} + +input AbiFragmentInputInputType { + """Indicates if the input is indexed""" + indexed: Boolean + + """The internal type of the input""" + internalType: String! + + """The name of the input""" + name: String! + + """The type of the input""" + type: String! +} + +input AbiFragmentInputType { + """Whether the ABI fragment is anonymous""" + anonymous: Boolean + + """The inputs of the ABI fragment""" + inputs: [AbiFragmentInputInputType!]! + + """The name of the ABI fragment""" + name: String + + """The outputs of the ABI fragment""" + outputs: [AbiFragmentOutputInputType!] + + """The state mutability of the ABI fragment""" + stateMutability: String + + """The type of the ABI fragment""" + type: String! +} + +type AbiFragmentOutput { + """The internal type of the output""" + internalType: String! + + """The name of the output""" + name: String! + + """The type of the output""" + type: String! +} + +input AbiFragmentOutputInputType { + """The internal type of the output""" + internalType: String! + + """The name of the output""" + name: String! + + """The type of the output""" + type: String! +} + +interface AbstractClusterService implements AbstractEntity { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + + """Name of the service""" + name: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +interface AbstractEntity { + """Date and time when the entity was created""" + createdAt: DateTime! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Unique identifier of the entity""" + id: ID! + + """Date and time when the entity was last updated""" + updatedAt: DateTime! +} + +type AcceptWorkspaceTransferCodeResult { + """The child workspace, if any""" + child: Workspace + + """The status of the workspace transfer""" + status: WorkspaceTransferStatus! +} + +enum AccessTokenValidityPeriod { + CUSTOM + DAYS_7 + DAYS_30 + DAYS_60 + DAYS_90 + NONE +} + +type AccessibleEcdsaP256PrivateKey implements AbstractClusterService & AbstractEntity & PrivateKey { + """The address associated with the private key""" + address: String + + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + blockchainNodes: [BlockchainNodeType!] + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + derivationPath: String! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + identityOf: [BlockchainNode!] + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + mnemonic: String! + + """Name of the service""" + name: String! + namespace: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + privateKey: String! + + """The type of private key""" + privateKeyType: PrivateKeyType! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """The public key associated with the private key""" + publicKey: String + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + userWallets: [UserWallet!] + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type AdvancedDeploymentConfig { + """Deployment configuration""" + deployment: AdvancedDeploymentConfigDeployment + + """Ingress configuration""" + ingress: AdvancedDeploymentConfigIngress + + """Service definitions""" + services: [AdvancedDeploymentConfigServiceDefinition!] +} + +type AdvancedDeploymentConfigAffinity { + """Label selectors for pod affinity/anti-affinity""" + labelSelectors: [AdvancedDeploymentConfigAffinityLabelSelector!] + + """Whether to match fields for node affinity""" + matchFields: Boolean + + """Namespace selector for pod affinity/anti-affinity""" + namespaceSelector: String + + """Node selector terms for node affinity""" + nodeSelectorTerms: [AdvancedDeploymentConfigAffinityLabelSelector!] + + """Scheduling policy for affinity""" + schedulingPolicy: AffinitySchedulingPolicy! + + """Topology key for pod affinity/anti-affinity""" + topologyKey: String + + """Type of affinity""" + type: AffinityType! + + """Weight for preferred scheduling""" + weight: Int +} + +input AdvancedDeploymentConfigAffinityInput { + """Label selectors for pod affinity/anti-affinity""" + labelSelectors: [AdvancedDeploymentConfigAffinityLabelSelectorInput!] + + """Whether to match fields for node affinity""" + matchFields: Boolean + + """Namespace selector for pod affinity/anti-affinity""" + namespaceSelector: String + + """Node selector terms for node affinity""" + nodeSelectorTerms: [AdvancedDeploymentConfigAffinityLabelSelectorInput!] + + """Scheduling policy for affinity""" + schedulingPolicy: AffinitySchedulingPolicy! + + """Topology key for pod affinity/anti-affinity""" + topologyKey: String + + """Type of affinity""" + type: AffinityType! + + """Weight for preferred scheduling""" + weight: Int +} + +type AdvancedDeploymentConfigAffinityLabelSelector { + """Key of the label selector""" + key: String! + + """Operator for the label selector""" + operator: AffinityOperator! + + """Values of the label selector""" + values: [String!]! +} + +input AdvancedDeploymentConfigAffinityLabelSelectorInput { + """Key of the label selector""" + key: String! + + """Operator for the label selector""" + operator: AffinityOperator! + + """Values of the label selector""" + values: [String!]! +} + +type AdvancedDeploymentConfigDeployment { + """Affinities for the deployment""" + affinities: [AdvancedDeploymentConfigAffinity!] + + """Annotations for the deployment""" + annotations: [AdvancedDeploymentConfigKeyValue!] + + """Environment variables for the deployment""" + environment: [AdvancedDeploymentConfigKeyValue!] + + """Labels for the deployment""" + labels: [AdvancedDeploymentConfigKeyValue!] + + """Node selector for the deployment""" + nodeSelector: [AdvancedDeploymentConfigKeyValue!] + + """Resource configuration""" + resources: AdvancedDeploymentConfigResources + + """Tolerations for the deployment""" + tolerations: [AdvancedDeploymentConfigToleration!] +} + +input AdvancedDeploymentConfigDeploymentInput { + """Affinities for the deployment""" + affinities: [AdvancedDeploymentConfigAffinityInput!] + + """Annotations for the deployment""" + annotations: [AdvancedDeploymentConfigKeyValueInput!] + + """Environment variables for the deployment""" + environment: [AdvancedDeploymentConfigKeyValueInput!] + + """Labels for the deployment""" + labels: [AdvancedDeploymentConfigKeyValueInput!] + + """Node selector for the deployment""" + nodeSelector: [AdvancedDeploymentConfigKeyValueInput!] + + """Resource configuration""" + resources: AdvancedDeploymentConfigResourcesInput + + """Tolerations for the deployment""" + tolerations: [AdvancedDeploymentConfigTolerationInput!] +} + +type AdvancedDeploymentConfigIngress { + """Annotations for the ingress""" + annotations: [AdvancedDeploymentConfigKeyValue!] + + """Labels for the ingress""" + labels: [AdvancedDeploymentConfigKeyValue!] +} + +input AdvancedDeploymentConfigIngressInput { + """Annotations for the ingress""" + annotations: [AdvancedDeploymentConfigKeyValueInput!] + + """Labels for the ingress""" + labels: [AdvancedDeploymentConfigKeyValueInput!] +} + +input AdvancedDeploymentConfigInput { + """Deployment configuration""" + deployment: AdvancedDeploymentConfigDeploymentInput + + """Ingress configuration""" + ingress: AdvancedDeploymentConfigIngressInput + + """Service definitions""" + services: [AdvancedDeploymentConfigServiceDefinitionInput!] +} + +type AdvancedDeploymentConfigKeyValue { + """Key of the key-value pair""" + key: String! + + """Value of the key-value pair""" + value: String! +} + +input AdvancedDeploymentConfigKeyValueInput { + """Key of the key-value pair""" + key: String! + + """Value of the key-value pair""" + value: String! +} + +type AdvancedDeploymentConfigResourceLimitsRequest { + """CPU resource limit""" + cpu: String + + """Memory resource limit""" + memory: String +} + +input AdvancedDeploymentConfigResourceLimitsRequestInput { + """CPU resource limit""" + cpu: String + + """Memory resource limit""" + memory: String +} + +type AdvancedDeploymentConfigResources { + """Resource limits""" + limits: AdvancedDeploymentConfigResourceLimitsRequest + + """Resource requests""" + requests: AdvancedDeploymentConfigResourceLimitsRequest +} + +input AdvancedDeploymentConfigResourcesInput { + """Resource limits""" + limits: AdvancedDeploymentConfigResourceLimitsRequestInput + + """Resource requests""" + requests: AdvancedDeploymentConfigResourceLimitsRequestInput +} + +type AdvancedDeploymentConfigServiceDefinition { + """Annotations for the service""" + annotations: [AdvancedDeploymentConfigKeyValue!] + + """Labels for the service""" + labels: [AdvancedDeploymentConfigKeyValue!] + + """Template for the service name""" + serviceNameTemplate: String! +} + +input AdvancedDeploymentConfigServiceDefinitionInput { + """Annotations for the service""" + annotations: [AdvancedDeploymentConfigKeyValueInput!] + + """Labels for the service""" + labels: [AdvancedDeploymentConfigKeyValueInput!] + + """Template for the service name""" + serviceNameTemplate: String! +} + +type AdvancedDeploymentConfigToleration { + """Effect of the toleration""" + effect: TolerationEffect! + + """Key of the toleration""" + key: String! + + """Operator of the toleration""" + operator: TolerationOperator! + + """Toleration seconds""" + tolerationSeconds: Int + + """Value of the toleration""" + value: String +} + +input AdvancedDeploymentConfigTolerationInput { + """Effect of the toleration""" + effect: TolerationEffect! + + """Key of the toleration""" + key: String! + + """Operator of the toleration""" + operator: TolerationOperator! + + """Toleration seconds""" + tolerationSeconds: Int + + """Value of the toleration""" + value: String +} + +enum AffinityOperator { + DoesNotExist + Exists + Gt + In + Lt + NotIn +} + +enum AffinitySchedulingPolicy { + preferredDuringSchedulingIgnoredDuringExecution + requiredDuringSchedulingIgnoredDuringExecution +} + +enum AffinityType { + nodeAffinity + podAffinity + podAntiAffinity +} + +"""An application""" +type Application { + blockchainNetworks: [BlockchainNetwork!]! + blockchainNodes: [BlockchainNode!]! + + """Date and time when the entity was created""" + createdAt: DateTime! + customDeployments: [CustomDeployment!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + errors: Int! + + """HubSpot ID associated with the application""" + hubspotId: String + + """Unique identifier of the entity""" + id: ID! + insights: [Insights!]! + integrations: [Integration!]! + loadBalancers: [LoadBalancer!]! + middlewares: [Middleware!]! + + """The name of the application""" + name: String! + privateKeys: [PrivateKey!]! + + """Application settings""" + settings: JSON + + """Slug for the application""" + slug: String! + smartcontractSets: [SmartContractSet!]! + storages: [Storage!]! + + """Unique name combining slug and UUID""" + uniqueName: String! + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + + """Unique identifier for the application""" + uuid: String! + warnings: Int! + + """The workspace this application belongs to""" + workspace: Workspace! +} + +type ApplicationAccessToken { + """The blockchain network scope of the token""" + blockchainNetworkScope: BlockchainNetworkScope! + + """The blockchain node scope of the token""" + blockchainNodeScope: BlockchainNodeScope! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """The custom deployment scope of the token""" + customDeploymentScope: CustomDeploymentScope! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """The expiration date of the token""" + expiresAt: DateTime + + """Unique identifier of the entity""" + id: ID! + + """The insights scope of the token""" + insightsScope: InsightsScope! + + """The integration scope of the token""" + integrationScope: IntegrationScope! + + """The last used date of the token""" + lastUsedAt: DateTime + + """The load balancer scope of the token""" + loadBalancerScope: LoadBalancerScope! + + """The middleware scope of the token""" + middlewareScope: MiddlewareScope! + + """The name of the application access token""" + name: String! + + """The smart contract set scope of the token""" + smartContractSetScope: SmartContractSetScope! + + """The storage scope of the token""" + storageScope: StorageScope! + + """The unique token string""" + token: String! + + """Date and time when the entity was last updated""" + updatedAt: DateTime! +} + +enum ApplicationAccessTokenScopeType { + ALL + SPECIFIC +} + +"""Workspace running costs""" +type ApplicationCostsInfo { + """Date when the application was deleted, if applicable""" + applicationDeletedAt: DateTime + + """Unique identifier of the application""" + applicationId: ID! + + """Name of the application""" + applicationName: ID! + + """Detailed breakdown of costs by product""" + costsDetails: [ProductCostInfo!]! + + """Total cost from the beginning of the month to the current date""" + monthToDateCost: Float! + + """End date of the cost calculation period""" + periodEnd: DateTime! + + """Start date of the cost calculation period""" + periodStart: DateTime! + + """Total runtime of the application in seconds""" + runtime: Float! +} + +type ApplicationServiceCount { + """Count of blockchain networks""" + blockchainNetworkCount: Int! + + """Count of blockchain nodes""" + blockchainNodeCount: Int! + + """Count of custom deployments""" + customDeploymentCount: Int! + + """Count of insights""" + insightsCount: Int! + + """Count of integrations""" + integrationCount: Int! + + """Count of load balancers""" + loadBalancerCount: Int! + + """Count of middleware""" + middlewareCount: Int! + + """Count of private keys""" + privateKeyCount: Int! + + """Count of smart contract sets""" + smartContractSetCount: Int! + + """Count of storage""" + storageCount: Int! +} + +input ApplicationSettingsInput { + customJwtConfiguration: CustomJwtConfigurationInput +} + +input ApplicationUpdateInput { + id: ID! + name: String + settings: ApplicationSettingsInput +} + +type ArbitrumBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the Arbitrum network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Network ID of the Arbitrum network""" + networkId: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Public EVM node database name""" + publicEvmNodeDbName: String + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type ArbitrumBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type ArbitrumGoerliBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the Arbitrum Goerli network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Network ID of the Arbitrum Goerli network""" + networkId: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Public EVM node database name""" + publicEvmNodeDbName: String + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type ArbitrumGoerliBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type ArbitrumSepoliaBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the Arbitrum Sepolia network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Network ID of the Arbitrum Sepolia network""" + networkId: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Public EVM node database name""" + publicEvmNodeDbName: String + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type ArbitrumSepoliaBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type AttestationIndexerMiddleware implements AbstractClusterService & AbstractEntity & Middleware { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """Database name for the attestation indexer""" + attestationIndexerDbName: String + blockchainNode: BlockchainNode + + """Starting block number for contract indexing""" + contractStartBlock: Float + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """EAS contract address""" + easContractAddress: String + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """The interface type of the middleware""" + interface: MiddlewareType! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + loadBalancer: LoadBalancer + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + + """Schema registry contract address""" + schemaRegistryContractAddress: String + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """The associated smart contract set""" + smartContractSet: SmartContractSetType + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + storage: StorageType + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +"""Chronological record tracking system events""" +type AuditLog { + """The action performed in the audit log""" + action: AuditLogAction! + + """The ID of the associated application""" + applicationId: ID! + + """The abstract entity name of the cluster service""" + clusterServiceAbstractEntityName: String + + """The entity name of the cluster service""" + clusterServiceEntityName: String! + + """The ID of the associated cluster service""" + clusterServiceId: String! + + """The name of the cluster service""" + clusterServiceName: String! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Unique identifier of the entity""" + id: ID! + + """The mutation performed in the audit log""" + mutation: String! + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + + """The user associated with the audit log""" + user: User! + + """The variables associated with the audit log action""" + variables: JSON! +} + +enum AuditLogAction { + CREATE + DELETE + EDIT + PAUSE + RESTART + RESUME + RETRY + SCALE +} + +enum AutoPauseReason { + no_card_no_credits + payment_failed +} + +type AvalancheBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the Avalanche network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Gas cap for Coreth transactions""" + corethGasCap: String! + + """Transaction fee cap for Coreth transactions""" + corethTxFeeCap: Int! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Creation transaction fee in nAVAX""" + creationTxFee: Int! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Network ID of the Avalanche network""" + networkId: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Public EVM node database name""" + publicEvmNodeDbName: String + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Transaction fee cap""" + txFeeCap: Int! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type AvalancheBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type AvalancheFujiBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the Avalanche Fuji network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Gas cap for Coreth transactions""" + corethGasCap: String! + + """Transaction fee cap for Coreth transactions""" + corethTxFeeCap: Int! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Creation transaction fee in nAVAX""" + creationTxFee: Int! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Network ID of the Avalanche Fuji network""" + networkId: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Public EVM node database name""" + publicEvmNodeDbName: String + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Transaction fee cap""" + txFeeCap: Int! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type AvalancheFujiBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +interface BaseBesuGenesis { + """Initial account balances and contract code""" + alloc: JSON! + + """The miner's address""" + coinbase: String! + + """Difficulty level of the genesis block""" + difficulty: String! + + """Extra data included in the genesis block""" + extraData: String + + """Gas limit for the genesis block""" + gasLimit: String! + + """Hash combined with the nonce""" + mixHash: String! + + """Cryptographic value used to generate the block hash""" + nonce: String! + + """Timestamp of the genesis block""" + timestamp: String! +} + +interface BaseBesuGenesisConfig { + """The block number for the Berlin hard fork""" + berlinBlock: Float + + """The block number for the Byzantium hard fork""" + byzantiumBlock: Float + + """The chain ID of the network""" + chainId: Float! + + """The block number for the Constantinople hard fork""" + constantinopleBlock: Float + + """The contract size limit""" + contractSizeLimit: Float! + + """The Besu discovery configuration""" + discovery: BesuDiscoveryType + + """The block number for the EIP-150 hard fork""" + eip150Block: Float + + """The hash for the EIP-150 hard fork""" + eip150Hash: String + + """The block number for the EIP-155 hard fork""" + eip155Block: Float + + """The block number for the EIP-158 hard fork""" + eip158Block: Float + + """The EVM stack size""" + evmStackSize: Float! + + """The block number for the Homestead hard fork""" + homesteadBlock: Float + + """The block number for the Istanbul hard fork""" + istanbulBlock: Float + + """The block number for the London hard fork""" + londonBlock: Float + + """The block number for the Muir Glacier hard fork""" + muirglacierblock: Float + + """The block number for the Petersburg hard fork""" + petersburgBlock: Float + + """Whether to use zero base fee""" + zeroBaseFee: Boolean +} + +input BesuBftGenesisConfigDataInput { + """The block period in seconds for the BFT consensus""" + blockperiodseconds: Float! + + """The epoch length for the BFT consensus""" + epochlength: Float! + + """The request timeout in seconds for the BFT consensus""" + requesttimeoutseconds: Float! +} + +type BesuBftGenesisConfigDataType { + """The block period in seconds for the BFT consensus""" + blockperiodseconds: Float! + + """The epoch length for the BFT consensus""" + epochlength: Float! + + """The request timeout in seconds for the BFT consensus""" + requesttimeoutseconds: Float! +} + +input BesuCliqueGenesisConfigDataInput { + """The block period in seconds for the Clique consensus""" + blockperiodseconds: Float! + + """The epoch length for the Clique consensus""" + epochlength: Float! +} + +type BesuCliqueGenesisConfigDataType { + """The block period in seconds for the Clique consensus""" + blockperiodseconds: Float! + + """The epoch length for the Clique consensus""" + epochlength: Float! +} + +input BesuDiscoveryInput { + """List of bootnode enode URLs for the Besu network""" + bootnodes: [String!]! +} + +type BesuDiscoveryType { + """List of bootnode enode URLs for the Besu network""" + bootnodes: [String!]! +} + +union BesuGenesisConfigUnion = BesuIbft2GenesisConfigType | BesuQbftGenesisConfigType | BesusCliqueGenesisConfigType + +type BesuGenesisType implements BaseBesuGenesis { + """Initial account balances and contract code""" + alloc: JSON! + + """The miner's address""" + coinbase: String! + + """Genesis configuration for Besu""" + config: BesuGenesisConfigUnion! + + """Difficulty level of the genesis block""" + difficulty: String! + + """Extra data included in the genesis block""" + extraData: String + + """Gas limit for the genesis block""" + gasLimit: String! + + """Hash combined with the nonce""" + mixHash: String! + + """Cryptographic value used to generate the block hash""" + nonce: String! + + """Timestamp of the genesis block""" + timestamp: String! +} + +input BesuIbft2GenesisConfigInput { + """The block number for the Berlin hard fork""" + berlinBlock: Float + + """The block number for the Byzantium hard fork""" + byzantiumBlock: Float + + """The chain ID of the network""" + chainId: Float! + + """The block number for the Constantinople hard fork""" + constantinopleBlock: Float + + """The contract size limit""" + contractSizeLimit: Float! + + """The Besu discovery configuration""" + discovery: BesuDiscoveryInput + + """The block number for the EIP-150 hard fork""" + eip150Block: Float + + """The hash for the EIP-150 hard fork""" + eip150Hash: String + + """The block number for the EIP-155 hard fork""" + eip155Block: Float + + """The block number for the EIP-158 hard fork""" + eip158Block: Float + + """The EVM stack size""" + evmStackSize: Float! + + """The block number for the Homestead hard fork""" + homesteadBlock: Float + + """The IBFT2 genesis configuration data""" + ibft2: BesuBftGenesisConfigDataInput! + + """The block number for the Istanbul hard fork""" + istanbulBlock: Float + + """The block number for the London hard fork""" + londonBlock: Float + + """The block number for the Muir Glacier hard fork""" + muirglacierblock: Float + + """The block number for the Petersburg hard fork""" + petersburgBlock: Float + + """Whether to use zero base fee""" + zeroBaseFee: Boolean +} + +type BesuIbft2GenesisConfigType implements BaseBesuGenesisConfig { + """The block number for the Berlin hard fork""" + berlinBlock: Float + + """The block number for the Byzantium hard fork""" + byzantiumBlock: Float + + """The chain ID of the network""" + chainId: Float! + + """The block number for the Constantinople hard fork""" + constantinopleBlock: Float + + """The contract size limit""" + contractSizeLimit: Float! + + """The Besu discovery configuration""" + discovery: BesuDiscoveryType + + """The block number for the EIP-150 hard fork""" + eip150Block: Float + + """The hash for the EIP-150 hard fork""" + eip150Hash: String + + """The block number for the EIP-155 hard fork""" + eip155Block: Float + + """The block number for the EIP-158 hard fork""" + eip158Block: Float + + """The EVM stack size""" + evmStackSize: Float! + + """The block number for the Homestead hard fork""" + homesteadBlock: Float + + """The IBFT2 genesis configuration data""" + ibft2: BesuBftGenesisConfigDataType! + + """The block number for the Istanbul hard fork""" + istanbulBlock: Float + + """The block number for the London hard fork""" + londonBlock: Float + + """The block number for the Muir Glacier hard fork""" + muirglacierblock: Float + + """The block number for the Petersburg hard fork""" + petersburgBlock: Float + + """Whether to use zero base fee""" + zeroBaseFee: Boolean +} + +input BesuIbft2GenesisInput { + """Initial account balances and contract code""" + alloc: JSON! + + """The miner's address""" + coinbase: String! + + """IBFT2 specific genesis configuration for Besu""" + config: BesuIbft2GenesisConfigInput! + + """Difficulty level of the genesis block""" + difficulty: String! + + """Extra data included in the genesis block""" + extraData: String + + """Gas limit for the genesis block""" + gasLimit: String! + + """Hash combined with the nonce""" + mixHash: String! + + """Cryptographic value used to generate the block hash""" + nonce: String! + + """Timestamp of the genesis block""" + timestamp: String! +} + +type BesuIbftv2BlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the blockchain network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Contract size limit for the blockchain network""" + contractSizeLimit: Int! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """EVM stack size for the blockchain network""" + evmStackSize: Int! + + """External nodes of the blockchain network""" + externalNodes: [BlockchainNetworkExternalNode!] + + """Date when the service failed""" + failedAt: DateTime! + + """Gas limit for the blockchain network""" + gasLimit: String! + + """Gas price for the blockchain network""" + gasPrice: Int! + + """Genesis configuration for the Besu blockchain network""" + genesis: BesuGenesisType! + genesisWithDiscoveryConfig: BesuGenesisType! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """List of predeployed contract addresses""" + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + + """Number of seconds per block""" + secondsPerBlock: Int! + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type BesuIbftv2BlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + + """Key material for the blockchain node""" + keyMaterial: AccessibleEcdsaP256PrivateKey + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type BesuMiddleware implements AbstractClusterService & AbstractEntity & Middleware { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """The interface type of the middleware""" + interface: MiddlewareType! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """The associated smart contract set""" + smartContractSet: SmartContractSetType + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + storage: StorageType + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type BesuQBFTBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the blockchain network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Contract size limit for the blockchain network""" + contractSizeLimit: Int! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """EVM stack size for the blockchain network""" + evmStackSize: Int! + + """External nodes of the blockchain network""" + externalNodes: [BlockchainNetworkExternalNode!] + + """Date when the service failed""" + failedAt: DateTime! + + """Gas limit for the blockchain network""" + gasLimit: String! + + """Gas price for the blockchain network""" + gasPrice: Int! + + """Genesis configuration for the Besu blockchain network""" + genesis: BesuGenesisType! + genesisWithDiscoveryConfig: BesuGenesisType! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """List of predeployed contract addresses""" + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + + """Number of seconds per block""" + secondsPerBlock: Int! + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type BesuQBFTBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + + """Key material for the blockchain node""" + keyMaterial: AccessibleEcdsaP256PrivateKey + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +input BesuQbftGenesisConfigInput { + """The block number for the Berlin hard fork""" + berlinBlock: Float + + """The block number for the Byzantium hard fork""" + byzantiumBlock: Float + + """The chain ID of the network""" + chainId: Float! + + """The block number for the Constantinople hard fork""" + constantinopleBlock: Float + + """The contract size limit""" + contractSizeLimit: Float! + + """The Besu discovery configuration""" + discovery: BesuDiscoveryInput + + """The block number for the EIP-150 hard fork""" + eip150Block: Float + + """The hash for the EIP-150 hard fork""" + eip150Hash: String + + """The block number for the EIP-155 hard fork""" + eip155Block: Float + + """The block number for the EIP-158 hard fork""" + eip158Block: Float + + """The EVM stack size""" + evmStackSize: Float! + + """The block number for the Homestead hard fork""" + homesteadBlock: Float + + """The block number for the Istanbul hard fork""" + istanbulBlock: Float + + """The block number for the London hard fork""" + londonBlock: Float + + """The block number for the Muir Glacier hard fork""" + muirglacierblock: Float + + """The block number for the Petersburg hard fork""" + petersburgBlock: Float + + """The QBFT genesis configuration data""" + qbft: BesuBftGenesisConfigDataInput! + + """Whether to use zero base fee""" + zeroBaseFee: Boolean +} + +type BesuQbftGenesisConfigType implements BaseBesuGenesisConfig { + """The block number for the Berlin hard fork""" + berlinBlock: Float + + """The block number for the Byzantium hard fork""" + byzantiumBlock: Float + + """The chain ID of the network""" + chainId: Float! + + """The block number for the Constantinople hard fork""" + constantinopleBlock: Float + + """The contract size limit""" + contractSizeLimit: Float! + + """The Besu discovery configuration""" + discovery: BesuDiscoveryType + + """The block number for the EIP-150 hard fork""" + eip150Block: Float + + """The hash for the EIP-150 hard fork""" + eip150Hash: String + + """The block number for the EIP-155 hard fork""" + eip155Block: Float + + """The block number for the EIP-158 hard fork""" + eip158Block: Float + + """The EVM stack size""" + evmStackSize: Float! + + """The block number for the Homestead hard fork""" + homesteadBlock: Float + + """The block number for the Istanbul hard fork""" + istanbulBlock: Float + + """The block number for the London hard fork""" + londonBlock: Float + + """The block number for the Muir Glacier hard fork""" + muirglacierblock: Float + + """The block number for the Petersburg hard fork""" + petersburgBlock: Float + + """The QBFT genesis configuration data""" + qbft: BesuBftGenesisConfigDataType! + + """Whether to use zero base fee""" + zeroBaseFee: Boolean +} + +input BesuQbftGenesisInput { + """Initial account balances and contract code""" + alloc: JSON! + + """The miner's address""" + coinbase: String! + + """QBFT specific genesis configuration for Besu""" + config: BesuQbftGenesisConfigInput! + + """Difficulty level of the genesis block""" + difficulty: String! + + """Extra data included in the genesis block""" + extraData: String + + """Gas limit for the genesis block""" + gasLimit: String! + + """Hash combined with the nonce""" + mixHash: String! + + """Cryptographic value used to generate the block hash""" + nonce: String! + + """Timestamp of the genesis block""" + timestamp: String! +} + +type BesusCliqueGenesisConfigType implements BaseBesuGenesisConfig { + """The block number for the Berlin hard fork""" + berlinBlock: Float + + """The block number for the Byzantium hard fork""" + byzantiumBlock: Float + + """The chain ID of the network""" + chainId: Float! + + """The Clique genesis configuration data""" + clique: BesuCliqueGenesisConfigDataType! + + """The block number for the Constantinople hard fork""" + constantinopleBlock: Float + + """The contract size limit""" + contractSizeLimit: Float! + + """The Besu discovery configuration""" + discovery: BesuDiscoveryType + + """The block number for the EIP-150 hard fork""" + eip150Block: Float + + """The hash for the EIP-150 hard fork""" + eip150Hash: String + + """The block number for the EIP-155 hard fork""" + eip155Block: Float + + """The block number for the EIP-158 hard fork""" + eip158Block: Float + + """The EVM stack size""" + evmStackSize: Float! + + """The block number for the Homestead hard fork""" + homesteadBlock: Float + + """The block number for the Istanbul hard fork""" + istanbulBlock: Float + + """The block number for the London hard fork""" + londonBlock: Float + + """The block number for the Muir Glacier hard fork""" + muirglacierblock: Float + + """The block number for the Petersburg hard fork""" + petersburgBlock: Float + + """Whether to use zero base fee""" + zeroBaseFee: Boolean +} + +"""Billing Information""" +type Billing { + """Date and time when the entity was created""" + createdAt: DateTime! + + """Available credits""" + credits: Float! + + """Remaining credits""" + creditsRemaining: Float! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Indicates if auto-collection is disabled""" + disableAutoCollection: Boolean! + + """Indicates if the account is free""" + free: Boolean! + + """Indicates if pricing should be hidden""" + hidePricing: Boolean! + + """Unique identifier of the entity""" + id: ID! + + """Date of the next invoice""" + nextInvoiceDate: DateTime! + + """Current payment status""" + paymentStatus: PaymentStatusEnum! + + """Stripe customer ID""" + stripeCustomerId: String! + + """Stripe subscriptions""" + stripeSubscriptions: [StripeSubscription!]! + + """Upcoming charges""" + upcoming: Float! + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + + """Get cost breakdown for workspace""" + workspaceCosts(subtractMonth: Int! = 0): WorkspaceCostsInfo! +} + +type BillingDto { + enabled: Boolean! + id: ID! + stripePublishableKey: String +} + +type BlockchainExplorer implements AbstractClusterService & AbstractEntity & Insights { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The associated blockchain node""" + blockchainNode: BlockchainNodeType + + """Database name for the Blockscout blockchain explorer""" + blockscoutBlockchainExplorerDbName: String + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """The category of insights""" + insightsCategory: InsightsCategory! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The associated load balancer""" + loadBalancer: LoadBalancerType! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +interface BlockchainNetwork implements AbstractClusterService & AbstractEntity { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + dependants: [Dependant!]! + dependantsTree: DependantsTree! + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """The product name of this blockchain network""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type BlockchainNetworkExternalNode { + """The address of the external node""" + address: String + + """The enode URL of the external node""" + enode: String + + """Indicates if the node is a bootnode""" + isBootnode: Boolean! + + """Indicates if the node is a static node""" + isStaticNode: Boolean! + + """Type of the external node""" + nodeType: ExternalNodeType! +} + +input BlockchainNetworkExternalNodeInput { + """The address of the external node""" + address: String + + """The enode URL of the external node""" + enode: String + + """Indicates if the node is a bootnode""" + isBootnode: Boolean! + + """Indicates if the node is a static node""" + isStaticNode: Boolean! = true + + """Type of the external node""" + nodeType: ExternalNodeType! = NON_VALIDATOR +} + +"""An invitation to a blockchain network""" +type BlockchainNetworkInvite { + """The date and time when the invite was accepted""" + acceptedAt: DateTime + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """The email address the invite was sent to""" + email: String! + + """Unique identifier of the entity""" + id: ID! + + """Optional message included with the invite""" + message: String + + """The permissions granted to the invitee""" + permissions: [BlockchainNetworkPermission!]! + + """Date and time when the entity was last updated""" + updatedAt: DateTime! +} + +"""Represents a participant in a blockchain network""" +type BlockchainNetworkParticipant { + """Indicates if the participant is the owner of the network""" + isOwner: Boolean! + + """List of permissions granted to the participant""" + permissions: [BlockchainNetworkPermission!]! + + """The workspace associated with the participant""" + workspace: Workspace! +} + +"""The permissions that can be extended to a participant of the network""" +enum BlockchainNetworkPermission { + CAN_ADD_VALIDATING_NODES + CAN_INVITE_WORKSPACES +} + +"""Scope for blockchain network access""" +type BlockchainNetworkScope { + """Type of the access token scope""" + type: ApplicationAccessTokenScopeType! + + """Array of service IDs within the scope""" + values: [ID!]! +} + +input BlockchainNetworkScopeInputType { + """Type of the access token scope""" + type: ApplicationAccessTokenScopeType! + + """Array of service IDs within the scope""" + values: [ID!]! +} + +union BlockchainNetworkType = ArbitrumBlockchainNetwork | ArbitrumGoerliBlockchainNetwork | ArbitrumSepoliaBlockchainNetwork | AvalancheBlockchainNetwork | AvalancheFujiBlockchainNetwork | BesuIbftv2BlockchainNetwork | BesuQBFTBlockchainNetwork | BscPoWBlockchainNetwork | BscPoWTestnetBlockchainNetwork | CordaBlockchainNetwork | FabricRaftBlockchainNetwork | FantomMainnetBlockchainNetwork | FantomTestnetBlockchainNetwork | GethCliqueBlockchainNetwork | GethGoerliBlockchainNetwork | GethPoSRinkebyBlockchainNetwork | GethPoWBlockchainNetwork | GethVenidiumBlockchainNetwork | HederaMainnetBlockchainNetwork | HederaTestnetBlockchainNetwork | HoleskyBlockchainNetwork | OptimismBlockchainNetwork | OptimismGoerliBlockchainNetwork | OptimismSepoliaBlockchainNetwork | PolygonAmoyBlockchainNetwork | PolygonBlockchainNetwork | PolygonEdgePoABlockchainNetwork | PolygonMumbaiBlockchainNetwork | PolygonSupernetBlockchainNetwork | PolygonZkEvmBlockchainNetwork | PolygonZkEvmTestnetBlockchainNetwork | QuorumQBFTBlockchainNetwork | SepoliaBlockchainNetwork | SoneiumMinatoBlockchainNetwork | TezosBlockchainNetwork | TezosTestnetBlockchainNetwork + +interface BlockchainNode implements AbstractClusterService & AbstractEntity { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + dependants: [Dependant!]! + dependantsTree: DependantsTree! + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """The product name of this blockchain node""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type BlockchainNodeActionCheck { + """The cluster service action associated with this check""" + action: ClusterServiceAction! + + """Indicates if this action check is disabled""" + disabled: Boolean! + + """Node types this action check is intended for""" + intendedFor: [NodeType!]! + + """The warning message key for this action check""" + warning: BlockchainNodeActionMessageKey! +} + +type BlockchainNodeActionChecks { + """List of blockchain node action checks""" + checks: [BlockchainNodeActionCheck!]! +} + +enum BlockchainNodeActionMessageKey { + CANNOT_EDIT_LAST_VALIDATOR_TO_NON_VALIDATOR + HAS_NO_PEERS_FOR_ORDERERS + NETWORK_CANNOT_PRODUCE_BLOCKS + NETWORK_CANNOT_PRODUCE_BLOCKS_IF_NO_EXTERNAL_VALIDATORS + NETWORK_WILL_BECOME_NON_BYZANTINE_FAULT_TOLERANT + NETWORK_WILL_BECOME_NON_BYZANTINE_FAULT_TOLERANT_IF_NO_EXTERNAL_VALIDATORS + NETWORK_WILL_NOT_PRODUCE_BLOCKS + NETWORK_WILL_NOT_PRODUCE_BLOCKS_IF_NO_EXTERNAL_VALIDATORS + NOT_PERMITTED_TO_CREATE_VALIDATORS + VALIDATOR_CANNOT_BE_ADDED + VALIDATOR_CANNOT_BE_ADDED_IF_NO_EXTERNAL_VALIDATORS + VALIDATOR_WILL_BECOME_NON_VALIDATOR + WILL_HAVE_NO_ORDERERS_FOR_PEERS + WILL_HAVE_NO_PEERS_FOR_ORDERERS + WILL_LOSE_RAFT_FAULT_TOLERANCE + WILL_REDUCE_RAFT_FAULT_TOLERANCE +} + +"""Scope for blockchain node access""" +type BlockchainNodeScope { + """Type of the access token scope""" + type: ApplicationAccessTokenScopeType! + + """Array of service IDs within the scope""" + values: [ID!]! +} + +input BlockchainNodeScopeInputType { + """Type of the access token scope""" + type: ApplicationAccessTokenScopeType! + + """Array of service IDs within the scope""" + values: [ID!]! +} + +union BlockchainNodeType = ArbitrumBlockchainNode | ArbitrumGoerliBlockchainNode | ArbitrumSepoliaBlockchainNode | AvalancheBlockchainNode | AvalancheFujiBlockchainNode | BesuIbftv2BlockchainNode | BesuQBFTBlockchainNode | BscBlockchainNode | BscTestnetBlockchainNode | CordaBlockchainNode | FabricBlockchainNode | FantomMainnetBlockchainNode | FantomTestnetBlockchainNode | GethBlockchainNode | GethCliqueBlockchainNode | GethGoerliBlockchainNode | GethRinkebyBlockchainNode | GethVenidiumBlockchainNode | HederaMainnetBlockchainNode | HederaTestnetBlockchainNode | HoleskyBlockchainNode | OptimismBlockchainNode | OptimismGoerliBlockchainNode | OptimismSepoliaBlockchainNode | PolygonAmoyBlockchainNode | PolygonBlockchainNode | PolygonEdgeBlockchainNode | PolygonMumbaiBlockchainNode | PolygonSupernetBlockchainNode | PolygonZkEvmBlockchainNode | PolygonZkEvmTestnetBlockchainNode | QuorumQBFTBlockchainNode | SepoliaBlockchainNode | SoneiumMinatoBlockchainNode | TezosBlockchainNode | TezosTestnetBlockchainNode + +type BscBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type BscPoWBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the BSC PoW network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Network ID of the BSC PoW network""" + networkId: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Public EVM node database name""" + publicEvmNodeDbName: String + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type BscPoWTestnetBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the BSC PoW Testnet network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Network ID of the BSC PoW Testnet network""" + networkId: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Public EVM node database name""" + publicEvmNodeDbName: String + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type BscTestnetBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +enum ClusterServiceAction { + AUTO_PAUSE + CREATE + DELETE + PAUSE + RESTART + RESUME + RETRY + SCALE + UPDATE +} + +"""Credentials for a cluster service""" +type ClusterServiceCredentials { + """Display value of the credential""" + displayValue: String! + + """ID of the credential""" + id: ID! + + """Indicates if the credential is a secret""" + isSecret: Boolean! + + """Label for the credential""" + label: String! + + """Link value of the credential""" + linkValue: String +} + +enum ClusterServiceDeploymentStatus { + AUTO_PAUSED + AUTO_PAUSING + COMPLETED + CONNECTING + DEPLOYING + DESTROYING + FAILED + PAUSED + PAUSING + RESTARTING + RESUMING + RETRYING + SCALING + WAITING +} + +"""Endpoints for a cluster service""" +type ClusterServiceEndpoints { + """Display value of the endpoint""" + displayValue: String! + + """Indicates if the endpoint is hidden""" + hidden: Boolean + + """ID of the endpoint""" + id: ID! + + """Indicates if the endpoint is a secret""" + isSecret: Boolean + + """Label for the endpoint""" + label: String! + + """Link value of the endpoint""" + linkValue: String +} + +enum ClusterServiceHealthStatus { + HAS_INDEXING_BACKLOG + HEALTHY + MISSING_DEPLOYMENT_HEAD + NODE_TYPE_CONFLICT + NOT_BFT + NOT_HA + NOT_RAFT_FAULT_TOLERANT + NO_PEERS +} + +enum ClusterServiceResourceStatus { + CRITICAL + HEALTHY + SUBOPTIMAL +} + +enum ClusterServiceSize { + CUSTOM + LARGE + MEDIUM + SMALL +} + +enum ClusterServiceType { + DEDICATED + SHARED +} + +interface Company { + """The address of the company""" + address: String + + """The city of the company""" + city: String + + """The country of the company""" + country: String + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """The domain of the company""" + domain: String + + """The HubSpot ID of the company""" + hubspotId: String! + + """Unique identifier of the entity""" + id: ID! + + """The name of the company""" + name: String! + + """The phone number of the company""" + phone: String + + """The state of the company""" + state: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + + """The zip code of the company""" + zip: String +} + +enum ConsensusAlgorithm { + ARBITRUM + ARBITRUM_GOERLI + ARBITRUM_SEPOLIA + AVALANCHE + AVALANCHE_FUJI + BESU_IBFTv2 + BESU_QBFT + BSC_POW + BSC_POW_TESTNET + CORDA + FABRIC_RAFT + FANTOM_MAINNET + FANTOM_TESTNET + GETH_CLIQUE + GETH_GOERLI + GETH_POS_RINKEBY + GETH_POW + GETH_VENIDIUM + HEDERA_MAINNET + HEDERA_TESTNET + HOLESKY + OPTIMISM + OPTIMISM_GOERLI + OPTIMISM_SEPOLIA + POLYGON + POLYGON_AMOY + POLYGON_EDGE_POA + POLYGON_MUMBAI + POLYGON_SUPERNET + POLYGON_ZK_EVM + POLYGON_ZK_EVM_TESTNET + QUORUM_QBFT + SEPOLIA + SONEIUM_MINATO + TEZOS + TEZOS_TESTNET +} + +"""Contract addresses for EAS and Schema Registry""" +type ContractAddresses { + """The address of the EAS contract""" + eas: String + + """The address of the Schema Registry contract""" + schemaRegistry: String +} + +type CordaBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + + """Maximum message size for the Corda blockchain network""" + maximumMessageSize: Int! + + """Maximum transaction size for the Corda blockchain network""" + maximumTransactionSize: Int! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type CordaBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type CordappSmartContractSet implements AbstractClusterService & AbstractEntity & SmartContractSet { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain node associated with this smart contract set""" + blockchainNode: BlockchainNodeType! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + + """The language of the smart contract set""" + language: SmartContractLanguage! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + + """The use case of the smart contract set""" + useCase: String! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +input CreateMultiServiceBlockchainNetworkArgs { + """The absolute maximum bytes for Fabric Raft consensus""" + absoluteMaxBytes: Int = 10 + + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfigInput + + """The batch timeout for Fabric Raft consensus""" + batchTimeout: Float = 2 + + """The genesis configuration for Besu IBFTv2 networks""" + besuIbft2Genesis: BesuIbft2GenesisInput + + """The genesis configuration for Besu QBFT networks""" + besuQbftGenesis: BesuQbftGenesisInput + + """The chain ID for permissioned EVM networks""" + chainId: Int + + """The consensus algorithm for the blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + + """The contract size limit for Besu networks""" + contractSizeLimit: Int + + """Disk space in MiB""" + diskSpace: Int + + """The endorsement policy for Fabric Raft consensus""" + endorsementPolicy: FabricEndorsementPolicy + + """The EVM stack size for Besu networks""" + evmStackSize: Int + + """List of external nodes for permissioned EVM networks""" + externalNodes: [BlockchainNetworkExternalNodeInput!] + + """The gas limit for permissioned EVM networks""" + gasLimit: String + + """The gas price for permissioned EVM networks""" + gasPrice: Int + + """The genesis configuration for Geth networks""" + gethGenesis: GethGenesisInput + + """The key material for permissioned EVM networks""" + keyMaterial: ID + + """CPU limit in cores""" + limitCpu: Int + + """Memory limit in MiB""" + limitMemory: Int + + """The maximum code size for Quorum networks""" + maxCodeSize: Int + + """The maximum message count for Fabric Raft consensus""" + maxMessageCount: Int = 500 + + """Name of the cluster service""" + name: String! + + """The name of the node""" + nodeName: String! + nodeRef: String! + + """The genesis configuration for Polygon Edge networks""" + polygonEdgeGenesis: PolygonEdgeGenesisInput + + """The preferred maximum bytes for Fabric Raft consensus""" + preferredMaxBytes: Int = 2 + + """Provider of the cluster service""" + provider: String! + + """The genesis configuration for Quorum networks""" + quorumGenesis: QuorumGenesisInput + ref: String! + + """Region of the cluster service""" + region: String! + + """CPU requests in millicores (m)""" + requestsCpu: Int + + """Memory requests in MiB""" + requestsMemory: Int + + """The number of seconds per block for permissioned EVM networks""" + secondsPerBlock: Int + + """Size of the cluster service""" + size: ClusterServiceSize + + """The transaction size limit for Quorum networks""" + txnSizeLimit: Int + + """Type of the cluster service""" + type: ClusterServiceType +} + +input CreateMultiServiceBlockchainNodeArgs { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfigInput + blockchainNetworkRef: String + + """Disk space in MiB""" + diskSpace: Int + + """The key material for the blockchain node""" + keyMaterial: ID + + """CPU limit in cores""" + limitCpu: Int + + """Memory limit in MiB""" + limitMemory: Int + + """Name of the cluster service""" + name: String! + + """The type of the blockchain node""" + nodeType: NodeType + + """Provider of the cluster service""" + provider: String! + ref: String! + + """Region of the cluster service""" + region: String! + + """CPU requests in millicores (m)""" + requestsCpu: Int + + """Memory requests in MiB""" + requestsMemory: Int + + """Size of the cluster service""" + size: ClusterServiceSize + + """Type of the cluster service""" + type: ClusterServiceType +} + +input CreateMultiServiceCustomDeploymentArgs { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfigInput + + """Custom domains for the deployment""" + customDomains: [String!] + + """Disk space in MiB""" + diskSpace: Int + + """Environment variables for the custom deployment""" + environmentVariables: JSON + + """The name of the Docker image""" + imageName: String! + + """The repository of the Docker image""" + imageRepository: String! + + """The tag of the Docker image""" + imageTag: String! + + """CPU limit in cores""" + limitCpu: Int + + """Memory limit in MiB""" + limitMemory: Int + + """Name of the cluster service""" + name: String! + + """The port number for the custom deployment""" + port: Int! + + """Provider of the cluster service""" + provider: String! + ref: String! + + """Region of the cluster service""" + region: String! + + """CPU requests in millicores (m)""" + requestsCpu: Int + + """Memory requests in MiB""" + requestsMemory: Int + + """Size of the cluster service""" + size: ClusterServiceSize + + """Type of the cluster service""" + type: ClusterServiceType +} + +input CreateMultiServiceInsightsArgs { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfigInput + blockchainNodeRef: String + + """Disk space in MiB""" + diskSpace: Int + + """The category of insights""" + insightsCategory: InsightsCategory! + + """CPU limit in cores""" + limitCpu: Int + + """Memory limit in MiB""" + limitMemory: Int + loadBalancerRef: String + + """Name of the cluster service""" + name: String! + + """Provider of the cluster service""" + provider: String! + ref: String! + + """Region of the cluster service""" + region: String! + + """CPU requests in millicores (m)""" + requestsCpu: Int + + """Memory requests in MiB""" + requestsMemory: Int + + """Size of the cluster service""" + size: ClusterServiceSize + + """Type of the cluster service""" + type: ClusterServiceType +} + +input CreateMultiServiceIntegrationArgs { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfigInput + + """Disk space in MiB""" + diskSpace: Int + + """The type of integration to create""" + integrationType: IntegrationType! + + """CPU limit in cores""" + limitCpu: Int + + """Memory limit in MiB""" + limitMemory: Int + + """Name of the cluster service""" + name: String! + + """Provider of the cluster service""" + provider: String! + ref: String! + + """Region of the cluster service""" + region: String! + + """CPU requests in millicores (m)""" + requestsCpu: Int + + """Memory requests in MiB""" + requestsMemory: Int + + """Size of the cluster service""" + size: ClusterServiceSize + + """Type of the cluster service""" + type: ClusterServiceType +} + +input CreateMultiServiceLoadBalancerArgs { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfigInput + blockchainNetworkRef: String! + connectedNodeRefs: [String!]! + + """Disk space in MiB""" + diskSpace: Int + + """CPU limit in cores""" + limitCpu: Int + + """Memory limit in MiB""" + limitMemory: Int + + """Name of the cluster service""" + name: String! + + """Provider of the cluster service""" + provider: String! + ref: String! + + """Region of the cluster service""" + region: String! + + """CPU requests in millicores (m)""" + requestsCpu: Int + + """Memory requests in MiB""" + requestsMemory: Int + + """Size of the cluster service""" + size: ClusterServiceSize + + """Type of the cluster service""" + type: ClusterServiceType +} + +input CreateMultiServiceMiddlewareArgs { + """Array of smart contract ABIs""" + abis: [SmartContractPortalMiddlewareAbiInputDto!] + + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfigInput + blockchainNodeRef: String + + """Disk space in MiB""" + diskSpace: Int + + """Address of the EAS contract""" + easContractAddress: String + + """Array of predeployed ABIs to include""" + includePredeployedAbis: [String!] + + """The interface type of the middleware""" + interface: MiddlewareType! + + """CPU limit in cores""" + limitCpu: Int + + """Memory limit in MiB""" + limitMemory: Int + loadBalancerRef: String + + """Name of the cluster service""" + name: String! + + """Provider of the cluster service""" + provider: String! + ref: String! + + """Region of the cluster service""" + region: String! + + """CPU requests in millicores (m)""" + requestsCpu: Int + + """Memory requests in MiB""" + requestsMemory: Int + + """Address of the schema registry contract""" + schemaRegistryContractAddress: String + + """Size of the cluster service""" + size: ClusterServiceSize + smartContractSetRef: String + storageRef: String + + """Type of the cluster service""" + type: ClusterServiceType +} + +input CreateMultiServicePrivateKeyArgs { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfigInput + blockchainNodeRefs: [String!] + + """Derivation path for the private key""" + derivationPath: String + + """Disk space in MiB""" + diskSpace: Int + + """CPU limit in cores""" + limitCpu: Int + + """Memory limit in MiB""" + limitMemory: Int + + """Mnemonic phrase for the private key""" + mnemonic: String + + """Name of the cluster service""" + name: String! + + """Type of the private key""" + privateKeyType: PrivateKeyType! + + """Provider of the cluster service""" + provider: String! + ref: String! + + """Region of the cluster service""" + region: String! + + """CPU requests in millicores (m)""" + requestsCpu: Int + + """Memory requests in MiB""" + requestsMemory: Int + + """Size of the cluster service""" + size: ClusterServiceSize = SMALL + + """Type of the cluster service""" + type: ClusterServiceType +} + +input CreateMultiServiceSmartContractSetArgs { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfigInput + blockchainNodeRef: String! + + """Disk space in MiB""" + diskSpace: Int + fabricOrdererBlockchainNodeRef: String + + """CPU limit in cores""" + limitCpu: Int + + """Memory limit in MiB""" + limitMemory: Int + + """Name of the cluster service""" + name: String! + + """Provider of the cluster service""" + provider: String! + ref: String! + + """Region of the cluster service""" + region: String! + + """CPU requests in millicores (m)""" + requestsCpu: Int + + """Memory requests in MiB""" + requestsMemory: Int + + """Size of the cluster service""" + size: ClusterServiceSize + + """Type of the cluster service""" + type: ClusterServiceType + + """Use case for the smart contract set""" + useCase: String! + + """Unique identifier of the user""" + userId: ID +} + +input CreateMultiServiceStorageArgs { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfigInput + + """Disk space in MiB""" + diskSpace: Int + + """CPU limit in cores""" + limitCpu: Int + + """Memory limit in MiB""" + limitMemory: Int + + """Name of the cluster service""" + name: String! + + """Provider of the cluster service""" + provider: String! + ref: String! + + """Region of the cluster service""" + region: String! + + """CPU requests in millicores (m)""" + requestsCpu: Int + + """Memory requests in MiB""" + requestsMemory: Int + + """Size of the cluster service""" + size: ClusterServiceSize + + """The storage protocol to be used""" + storageProtocol: StorageProtocol! + + """Type of the cluster service""" + type: ClusterServiceType +} + +type CustomDeployment implements AbstractClusterService & AbstractEntity { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + customDomains: [CustomDomain!] + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + dependants: [Dependant!]! + dependantsTree: DependantsTree! + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """DNS config for custom domains""" + dnsConfig: CustomDomainDnsConfig + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Environment Variables""" + environmentVariables: JSON + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Image name for the custom deployment""" + imageName: String! + + """Image repository for the custom deployment""" + imageRepository: String! + + """Image tag for the custom deployment""" + imageTag: String! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """Port number for the custom deployment""" + port: Int! + + """Product name for the custom deployment""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + + """Number of replicas for the custom deployment""" + replicas: Int! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +"""Scope for custom deployment access""" +type CustomDeploymentScope { + """Type of the access token scope""" + type: ApplicationAccessTokenScopeType! + + """Array of service IDs within the scope""" + values: [ID!]! +} + +input CustomDeploymentScopeInputType { + """Type of the access token scope""" + type: ApplicationAccessTokenScopeType! + + """Array of service IDs within the scope""" + values: [ID!]! +} + +type CustomDomain implements AbstractEntity { + """Date and time when the entity was created""" + createdAt: DateTime! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """The domain name for the custom domain""" + domain: String! + + """Unique identifier of the entity""" + id: ID! + + """Date and time when the entity was last updated""" + updatedAt: DateTime! +} + +"""Configuration for custom domain DNS settings""" +type CustomDomainDnsConfig { + """The type of DNS record, either CNAME or A""" + type: String! + + """The value of the DNS record""" + value: String! +} + +input CustomJwtConfigurationInput { + audience: String + headerName: String + jwksEndpoint: String +} + +""" +A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the `date-time` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar. +""" +scalar DateTime + +type Dependant implements RelatedService { + """The unique identifier of the related service""" + id: ID! + + """Indicates whether the dependant service is paused""" + isPaused: Boolean! + + """The name of the related service""" + name: String! + + """The type of the related service""" + type: String! +} + +"""Represents the structure of dependants in a tree format""" +type DependantsTree { + """Array of all edges connecting nodes in the dependants tree""" + edges: [DependantsTreeEdge!]! + + """Array of all nodes in the dependants tree""" + nodes: [DependantsTreeNode!]! + + """The root node of the dependants tree""" + root: DependantsTreeNode! +} + +"""Represents an edge in the dependants tree""" +type DependantsTreeEdge { + """Unique identifier for the edge""" + id: String! + + """Source node of the edge""" + source: DependantsTreeNode! + + """Target node of the edge""" + target: DependantsTreeNode! +} + +"""Represents a node in the dependants tree""" +type DependantsTreeNode { + """Blockchain network ID of the cluster service""" + blockchainNetworkId: String + + """Category type of the cluster service""" + categoryType: String + + """Type of the entity""" + entityType: String + + """Health status of the cluster service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier for the node""" + id: String! + + """Insights category of the cluster service""" + insightsCategory: String + + """Integration type of the cluster service""" + integrationType: String + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Name of the cluster service""" + name: String! + + """Private key type of the cluster service""" + privateKeyType: String + + """Provider of the cluster service""" + provider: String! + + """Region of the cluster service""" + region: String! + + """Resource status of the cluster service""" + resourceStatus: ClusterServiceResourceStatus! + + """Size of the cluster service""" + size: ClusterServiceSize! + + """Deployment status of the cluster service""" + status: ClusterServiceDeploymentStatus! + + """Storage type of the cluster service""" + storageType: String + + """Type of the cluster service""" + type: String! + + """Use case of the cluster service""" + useCase: String +} + +type Dependency implements RelatedService { + """The unique identifier of the related service""" + id: ID! + + """Indicates whether the dependency service is running""" + isRunning: Boolean! + + """The name of the related service""" + name: String! + + """The type of the related service""" + type: String! +} + +type DeploymentEngineTargetCluster { + capabilities: [DeploymentEngineTargetClusterCapabilities!]! + disabled: Boolean! + icon: String! + id: ID! + location: DeploymentEngineTargetLocation! + name: String! +} + +enum DeploymentEngineTargetClusterCapabilities { + MIXED_LOAD_BALANCERS + NODE_PORTS + P2P_LOAD_BALANCERS +} + +type DeploymentEngineTargetGroup { + clusters: [DeploymentEngineTargetCluster!]! + disabled: Boolean! + icon: String! + id: ID! + name: String! +} + +type DeploymentEngineTargetLocation { + id: ID! + lat: Float! + long: Float! +} + +type EVMLoadBalancer implements AbstractClusterService & AbstractEntity & LoadBalancer { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + blockchainNetwork: BlockchainNetworkType! + connectedNodes: [BlockchainNodeType!]! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The protocol used by the load balancer""" + loadBalancerProtocol: LoadBalancerProtocol! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type EthMainnetBlockStats { + """The amount of gas used in the block""" + gasUsed: String + + """The block number""" + number: Int + + """The block timestamp""" + timestamp: Int + + """The number of transactions in the block""" + transactionCount: Int +} + +type EthMainnetStats { + """The current block number""" + blockNumber: Int + + """The chain ID of the Ethereum mainnet""" + chainId: String + + """The current gas limit""" + currentGasLimit: String + + """The current gas price""" + currentGasPrice: String + + """The current gas used""" + currentGasUsed: String + + """The timestamp of the last block""" + lastBlockTime: Int + + """Statistics for the last ten blocks""" + lastTenBlocks: [EthMainnetBlockStats!] +} + +enum ExternalNodeType { + NON_VALIDATOR + VALIDATOR +} + +type FabricBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + downloadConnectionProfileUri: String! + downloadCryptoMaterialUri: String! + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +"""The default endorsement policy of a Fabric network""" +enum FabricEndorsementPolicy { + ALL + MAJORITY +} + +type FabricLoadBalancer implements AbstractClusterService & AbstractEntity & LoadBalancer { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + blockchainNetwork: BlockchainNetworkType! + connectedNodes: [BlockchainNodeType!]! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The protocol used by the load balancer""" + loadBalancerProtocol: LoadBalancerProtocol! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type FabricRaftBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """ + The absolute maximum number of bytes allowed for the serialized messages in a batch. The maximum block size is this value plus the size of the associated metadata (usually a few KB depending upon the size of the signing identities). Any transaction larger than this value will be rejected by ordering. + """ + absoluteMaxBytes: Int! + + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The amount of time to wait before creating a batch.""" + batchTimeout: Float! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """ + Fabric's system-channel's name. The system channel defines the set of ordering nodes that form the ordering service and the set of organizations that serve as ordering service administrators. The system channel also includes the organizations that are members of blockchain consortium. + """ + channelId: String! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + downloadChannelConfigUri: String! + + """Default endorsement policy for a chaincode.""" + endorsementPolicy: FabricEndorsementPolicy! + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + + """ + The maximum number of messages to permit in a batch. No block will contain more than this number of messages. + """ + maxMessageCount: Int! + metrics: Metric! + + """Current application participant object""" + mspSettings: JSON + + """Name of the service""" + name: String! + namespace: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """ + The preferred maximum number of bytes allowed for the serialized messages in a batch. Roughly, this field may be considered the best effort maximum size of a batch. A batch will fill with messages until this size is reached (or the max message count, or batch timeout is exceeded). If adding a new message to the batch would cause the batch to exceed the preferred max bytes, then the current batch is closed and written to a block, and a new batch containing the new message is created. If a message larger than the preferred max bytes is received, then its batch will contain only that message. Because messages may be larger than preferred max bytes (up to AbsoluteMaxBytes), some batches may exceed the preferred max bytes, but will always contain exactly one transaction. + """ + preferredMaxBytes: Int! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +enum FabricSmartContractRuntimeLang { + GOLANG + NODE +} + +type FabricSmartContractSet implements AbstractClusterService & AbstractEntity & SmartContractSet { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain node associated with this smart contract set""" + blockchainNode: BlockchainNodeType! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + + """The language of the smart contract set""" + language: SmartContractLanguage! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """ + The orderer blockchain node associated with this Fabric smart contract set + """ + ordererBlockchainNode: FabricBlockchainNode! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """The runtime language of the Fabric smart contract""" + runtimeLang: FabricSmartContractRuntimeLang! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """The source language of the Fabric smart contract""" + srcLang: FabricSmartContractSrcLang! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + + """The use case of the smart contract set""" + useCase: String! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +enum FabricSmartContractSrcLang { + GOLANG + JAVASCRIPT + TYPESCRIPT +} + +type FantomMainnetBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the Fantom Mainnet network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Network ID of the Fantom Mainnet network""" + networkId: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Public EVM node database name""" + publicEvmNodeDbName: String + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type FantomMainnetBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type FantomTestnetBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the Fantom Testnet network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Network ID of the Fantom Testnet network""" + networkId: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Public EVM node database name""" + publicEvmNodeDbName: String + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type FantomTestnetBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +"""The feature flags of the user.""" +enum FeatureFlag { + ALL + APPLICATION_ACCESS_TOKENS + APPLICATION_FIRST_WIZARD + AUDIT_LOGS + BUYCREDITS + CUSTOMDEPLOYMENTS + CUSTOMJWT + FABCONNECT + FABRICAZURE + HYPERLEDGER_EXPLORER + INSIGHTS + INTEGRATION + JOIN_EXTERNAL_NETWORK + JOIN_PARTNER + LEGACYTEMPLATES + LOADBALANCERS + MIDDLEWARES + NEWCHAINS + NEW_APP_DASHBOARD + RESELLERS + SMARTCONTRACTSETS + STORAGE +} + +type FireflyFabconnectMiddleware implements AbstractClusterService & AbstractEntity & Middleware { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """The interface type of the middleware""" + interface: MiddlewareType! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """The associated smart contract set""" + smartContractSet: SmartContractSetType + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + storage: StorageType + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type GethBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type GethCliqueBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the blockchain network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """External nodes of the blockchain network""" + externalNodes: [BlockchainNetworkExternalNode!] + + """Date when the service failed""" + failedAt: DateTime! + + """Gas limit for the blockchain network""" + gasLimit: String! + + """Gas price for the blockchain network""" + gasPrice: Int! + + """Genesis configuration for the Geth blockchain network""" + genesis: GethGenesisType! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + + """Number of seconds per block""" + secondsPerBlock: Int! + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type GethCliqueBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + + """Key material for the blockchain node""" + keyMaterial: AccessibleEcdsaP256PrivateKey + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +input GethGenesisCliqueInput { + """The number of blocks after which to reset all votes""" + epoch: Float! + + """The block period in seconds for the Clique consensus""" + period: Float! +} + +type GethGenesisCliqueType { + """The number of blocks after which to reset all votes""" + epoch: Float! + + """The block period in seconds for the Clique consensus""" + period: Float! +} + +input GethGenesisConfigInput { + """The block number for the Arrow Glacier hard fork""" + arrowGlacierBlock: Float + + """The block number for the Berlin hard fork""" + berlinBlock: Float + + """The block number for the Byzantium hard fork""" + byzantiumBlock: Float + + """The chain ID of the network""" + chainId: Float! + + """The Clique consensus configuration""" + clique: GethGenesisCliqueInput + + """The block number for the Constantinople hard fork""" + constantinopleBlock: Float + + """The block number for the EIP-150 hard fork""" + eip150Block: Float + + """The block number for the EIP-155 hard fork""" + eip155Block: Float + + """The block number for the EIP-158 hard fork""" + eip158Block: Float + + """The block number for the Gray Glacier hard fork""" + grayGlacierBlock: Float + + """The block number for the Homestead hard fork""" + homesteadBlock: Float + + """The block number for the Istanbul hard fork""" + istanbulBlock: Float + + """The block number for the London hard fork""" + londonBlock: Float + + """The block number for the Muir Glacier hard fork""" + muirGlacierBlock: Float + + """The block number for the Petersburg hard fork""" + petersburgBlock: Float +} + +type GethGenesisConfigType { + """The block number for the Arrow Glacier hard fork""" + arrowGlacierBlock: Float + + """The block number for the Berlin hard fork""" + berlinBlock: Float + + """The block number for the Byzantium hard fork""" + byzantiumBlock: Float + + """The chain ID of the network""" + chainId: Float! + + """The Clique consensus configuration""" + clique: GethGenesisCliqueType + + """The block number for the Constantinople hard fork""" + constantinopleBlock: Float + + """The block number for the EIP-150 hard fork""" + eip150Block: Float + + """The block number for the EIP-155 hard fork""" + eip155Block: Float + + """The block number for the EIP-158 hard fork""" + eip158Block: Float + + """The block number for the Gray Glacier hard fork""" + grayGlacierBlock: Float + + """The block number for the Homestead hard fork""" + homesteadBlock: Float + + """The block number for the Istanbul hard fork""" + istanbulBlock: Float + + """The block number for the London hard fork""" + londonBlock: Float + + """The block number for the Muir Glacier hard fork""" + muirGlacierBlock: Float + + """The block number for the Petersburg hard fork""" + petersburgBlock: Float +} + +input GethGenesisInput { + """Initial account balances and contract code""" + alloc: JSON! + + """Genesis configuration for Geth""" + config: GethGenesisConfigInput! + + """Difficulty level of the genesis block""" + difficulty: String! + + """Extra data included in the genesis block""" + extraData: String + + """Gas limit for the genesis block""" + gasLimit: String! +} + +type GethGenesisType { + """Initial account balances and contract code""" + alloc: JSON! + + """Genesis configuration for Geth""" + config: GethGenesisConfigType! + + """Difficulty level of the genesis block""" + difficulty: String! + + """Extra data included in the genesis block""" + extraData: String + + """Gas limit for the genesis block""" + gasLimit: String! +} + +type GethGoerliBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the Geth Goerli network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Network ID of the Geth Goerli network""" + networkId: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Public EVM node database name""" + publicEvmNodeDbName: String + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type GethGoerliBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type GethPoSRinkebyBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the Geth PoS Rinkeby network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Network ID of the Geth PoS Rinkeby network""" + networkId: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Public EVM node database name""" + publicEvmNodeDbName: String + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type GethPoWBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the Geth PoW network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Network ID of the Geth PoW network""" + networkId: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Public EVM node database name""" + publicEvmNodeDbName: String + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type GethRinkebyBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type GethVenidiumBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the Geth Venidium network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Network ID of the Geth Venidium network""" + networkId: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Public EVM node database name""" + publicEvmNodeDbName: String + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type GethVenidiumBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type GraphMiddleware implements AbstractClusterService & AbstractEntity & Middleware { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Database name for the Graph middleware""" + graphMiddlewareDbName: String + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """The interface type of the middleware""" + interface: MiddlewareType! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """The associated smart contract set""" + smartContractSet: SmartContractSetType + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + storage: StorageType + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type HAGraphMiddleware implements AbstractClusterService & AbstractEntity & Middleware { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + blockchainNode: BlockchainNode + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Database name for the HA Graph middleware""" + graphMiddlewareDbName: String + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """The interface type of the middleware""" + interface: MiddlewareType! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + loadBalancer: LoadBalancer + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """The associated smart contract set""" + smartContractSet: SmartContractSetType + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + storage: StorageType + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type Hasura implements AbstractClusterService & AbstractEntity & Integration { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """The type of integration""" + integrationType: IntegrationType! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type HdEcdsaP256PrivateKey implements AbstractClusterService & AbstractEntity & PrivateKey { + """The address associated with the private key""" + address: String + + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + blockchainNodes: [BlockchainNodeType!] + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + derivationPath: String! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + identityOf: [BlockchainNode!] + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + mnemonic: String! + + """Name of the service""" + name: String! + namespace: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + privateKey: String! + + """The type of private key""" + privateKeyType: PrivateKeyType! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """The public key associated with the private key""" + publicKey: String + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + userWallets: [UserWallet!] + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type HederaMainnetBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the Hedera Mainnet network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Network ID of the Hedera Mainnet network""" + networkId: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Public EVM node database name""" + publicEvmNodeDbName: String + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type HederaMainnetBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type HederaTestnetBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the Hedera Testnet network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Network ID of the Hedera Testnet network""" + networkId: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Public EVM node database name""" + publicEvmNodeDbName: String + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type HederaTestnetBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type HoleskyBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the Holesky network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Network ID of the Holesky network""" + networkId: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Public EVM node database name""" + publicEvmNodeDbName: String + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type HoleskyBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type HsmEcDsaP256PrivateKey implements AbstractClusterService & AbstractEntity & PrivateKey { + """The address associated with the private key""" + address: String + + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + blockchainNodes: [BlockchainNodeType!] + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + identityOf: [BlockchainNode!] + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The type of private key""" + privateKeyType: PrivateKeyType! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """The public key associated with the private key""" + publicKey: String + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + userWallets: [UserWallet!] + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type HyperledgerExplorer implements AbstractClusterService & AbstractEntity & Insights { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The associated blockchain node""" + blockchainNode: BlockchainNodeType + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Database name for the Hyperledger blockchain explorer""" + hyperledgerBlockchainExplorerDbName: String + + """Unique identifier of the entity""" + id: ID! + + """The category of insights""" + insightsCategory: InsightsCategory! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The associated load balancer""" + loadBalancer: LoadBalancerType! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type IPFSStorage implements AbstractClusterService & AbstractEntity & Storage { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The peer ID of the IPFS node""" + peerId: String! + + """The private key of the IPFS node""" + privateKey: String! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """The public key of the IPFS node""" + publicKey: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """The storage protocol used""" + storageProtocol: StorageProtocol! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +interface Insights implements AbstractClusterService & AbstractEntity { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The associated blockchain node""" + blockchainNode: BlockchainNodeType + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + dependants: [Dependant!]! + dependantsTree: DependantsTree! + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """The category of insights""" + insightsCategory: InsightsCategory! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The associated load balancer""" + loadBalancer: LoadBalancerType! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The product name for the insights""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +enum InsightsCategory { + BLOCKCHAIN_EXPLORER + HYPERLEDGER_EXPLORER + OTTERSCAN_BLOCKCHAIN_EXPLORER +} + +"""Scope for insights access""" +type InsightsScope { + """Type of the access token scope""" + type: ApplicationAccessTokenScopeType! + + """Array of service IDs within the scope""" + values: [ID!]! +} + +input InsightsScopeInputType { + """Type of the access token scope""" + type: ApplicationAccessTokenScopeType! + + """Array of service IDs within the scope""" + values: [ID!]! +} + +union InsightsTypeUnion = BlockchainExplorer | HyperledgerExplorer | OtterscanBlockchainExplorer + +type InstantMetric { + backendLatency: String + backendLatestBlock: String + backendsInSync: String + besuNetworkAverageBlockTime: String + besuNetworkBlockHeight: String + besuNetworkGasLimit: String + besuNetworkSecondsSinceLatestBlock: String + besuNodeAverageBlockTime: String + besuNodeBlockHeight: String + besuNodePeers: String + besuNodePendingTransactions: String + besuNodeSecondsSinceLatestBlock: String + blockNumber: String + chainId: String + compute: String + compute7dAvgPercentage: String + computePercentage: String + computeQuota: String + currentGasLimit: String + currentGasPrice: String + currentGasUsed: String + fabricConsensusActiveNodes: String + fabricConsensusClusterSize: String + fabricConsensusCommitedBlockHeight: String + fabricNodeLedgerHeight: String + fabricOrdererConsensusRelation: String + fabricOrdererIsLeader: Boolean + fabricOrdererParticipationStatus: String + gethCliqueNetworkAverageBlockTime: String + gethCliqueNetworkBlockHeight: String + gethCliqueNodeAverageBlockTime: String + gethCliqueNodeBlockHeight: String + gethCliqueNodePeers: String + gethCliqueNodePendingTransactions: String + graphMiddlewareDeploymentCount: String + graphMiddlewareDeploymentHead: String + graphMiddlewareEthereumChainHead: String + graphMiddlewareIndexingBacklog: String + + """Unique identifier for the instant metric""" + id: ID! + isPodRunning: Boolean + memory: String + memory7dAvgPercentage: String + memoryPercentage: String + memoryQuota: String + + """Namespace of the instant metric""" + namespace: String! + polygonEdgeNetworkAverageConsensusRounds: String + polygonEdgeNetworkLastAverageBlockTime: String + polygonEdgeNetworkMaxConsensusRounds: String + polygonEdgeNodeLastBlockTime: String + polygonEdgeNodePeers: String + polygonEdgeNodePendingTransactions: String + quorumNetworkAverageBlockTime: String + quorumNetworkBlockHeight: String + quorumNodeAverageBlockTime: String + quorumNodeBlockHeight: String + quorumNodePeers: String + quorumNodePendingTransactions: String + storage: String + storage7dAvgPercentage: String + storagePercentage: String + storageQuota: String + totalBackends: String +} + +interface Integration implements AbstractClusterService & AbstractEntity { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + dependants: [Dependant!]! + dependantsTree: DependantsTree! + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """The type of integration""" + integrationType: IntegrationType! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The product name for the integration""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +"""Scope for integration access""" +type IntegrationScope { + """Type of the access token scope""" + type: ApplicationAccessTokenScopeType! + + """Array of service IDs within the scope""" + values: [ID!]! +} + +input IntegrationScopeInputType { + """Type of the access token scope""" + type: ApplicationAccessTokenScopeType! + + """Array of service IDs within the scope""" + values: [ID!]! +} + +type IntegrationStudio implements AbstractClusterService & AbstractEntity & Integration { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """The type of integration""" + integrationType: IntegrationType! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +enum IntegrationType { + HASURA + INTEGRATION_STUDIO +} + +union IntegrationTypeUnion = Hasura | IntegrationStudio + +"""Invoice details""" +type InvoiceInfo { + """The total amount of the invoice""" + amount: Float! + + """The date of the invoice""" + date: DateTime! + + """The URL to download the invoice""" + downloadUrl: String! +} + +""" +The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). +""" +scalar JSON @specifiedBy(url: "http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf") + +"""The language preference of the user.""" +enum Language { + BROWSER + EN +} + +input ListClusterServiceOptions { + """Flag to include only completed status""" + onlyCompletedStatus: Boolean! = true +} + +interface LoadBalancer implements AbstractClusterService & AbstractEntity { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + blockchainNetwork: BlockchainNetworkType! + connectedNodes: [BlockchainNodeType!]! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + dependants: [Dependant!]! + dependantsTree: DependantsTree! + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The protocol used by the load balancer""" + loadBalancerProtocol: LoadBalancerProtocol! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The product name for the load balancer""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +input LoadBalancerInputType { + """Array of connected node IDs""" + connectedNodes: [ID!]! = [] + + """The ID of the load balancer entity""" + entityId: ID! +} + +enum LoadBalancerProtocol { + EVM + FABRIC +} + +"""Scope for load balancer access""" +type LoadBalancerScope { + """Type of the access token scope""" + type: ApplicationAccessTokenScopeType! + + """Array of service IDs within the scope""" + values: [ID!]! +} + +input LoadBalancerScopeInputType { + """Type of the access token scope""" + type: ApplicationAccessTokenScopeType! + + """Array of service IDs within the scope""" + values: [ID!]! +} + +union LoadBalancerType = EVMLoadBalancer | FabricLoadBalancer + +type Metric { + """Unique identifier for the metric""" + id: ID! + instant: InstantMetric! + + """Namespace of the metric""" + namespace: String! + range: RangeMetric! +} + +interface Middleware implements AbstractClusterService & AbstractEntity { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + dependants: [Dependant!]! + dependantsTree: DependantsTree! + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """The interface type of the middleware""" + interface: MiddlewareType! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The product name for the middleware""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """The associated smart contract set""" + smartContractSet: SmartContractSetType + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + storage: StorageType + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +"""Scope for middleware access""" +type MiddlewareScope { + """Type of the access token scope""" + type: ApplicationAccessTokenScopeType! + + """Array of service IDs within the scope""" + values: [ID!]! +} + +input MiddlewareScopeInputType { + """Type of the access token scope""" + type: ApplicationAccessTokenScopeType! + + """Array of service IDs within the scope""" + values: [ID!]! +} + +enum MiddlewareType { + ATTESTATION_INDEXER + BESU + FIREFLY_FABCONNECT + GRAPH + HA_GRAPH + SMART_CONTRACT_PORTAL +} + +union MiddlewareUnionType = AttestationIndexerMiddleware | BesuMiddleware | FireflyFabconnectMiddleware | GraphMiddleware | HAGraphMiddleware | SmartContractPortalMiddleware + +type MinioStorage implements AbstractClusterService & AbstractEntity & Storage { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """The storage protocol used""" + storageProtocol: StorageProtocol! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type Mutation { + """Accepts an invitation to a blockchain network""" + acceptBlockchainNetworkInvite( + """The ID of the application accepting the invite""" + applicationId: ID! + + """The ID of the blockchain network invite""" + inviteId: ID! + ): Boolean! + + """Accepts an invitation to a workspace""" + acceptWorkspaceInvite(inviteId: ID!): Boolean! + acceptWorkspaceTransferCode( + """Secret code for workspace transfer""" + secretCode: String! + + """Unique identifier of the workspace""" + workspaceId: ID! + ): AcceptWorkspaceTransferCodeResult! + addCredits( + """The amount of credits to add""" + amount: Float! + + """The ID of the workspace to add credits to""" + workspaceId: String! + ): Boolean! + + """Adds a participant to a network""" + addParticipantToNetwork( + """The ID of the application to be added to the network""" + applicationId: ID! + + """The ID of the blockchain network""" + networkId: ID! + + """The permissions granted to the application on the network""" + permissions: [BlockchainNetworkPermission!]! + ): Boolean! + attachPaymentMethod( + """Unique identifier of the payment method to attach""" + paymentMethodId: String! + + """Unique identifier of the workspace""" + workspaceId: ID! + ): Workspace! + createApplication(name: String!, workspaceId: ID!): Application! + createApplicationAccessToken( + """Unique identifier of the application""" + applicationId: ID! + + """Scope for blockchain network access""" + blockchainNetworkScope: BlockchainNetworkScopeInputType! + + """Scope for blockchain node access""" + blockchainNodeScope: BlockchainNodeScopeInputType! + + """Scope for custom deployment access""" + customDeploymentScope: CustomDeploymentScopeInputType! + + """Expiration date of the access token""" + expirationDate: DateTime + + """Scope for insights access""" + insightsScope: InsightsScopeInputType! + + """Scope for integration access""" + integrationScope: IntegrationScopeInputType! + + """Scope for load balancer access""" + loadBalancerScope: LoadBalancerScopeInputType! + + """Scope for middleware access""" + middlewareScope: MiddlewareScopeInputType! + + """Name of the application access token""" + name: String! + + """Scope for smart contract set access""" + smartContractSetScope: SmartContractSetScopeInputType! + + """Scope for storage access""" + storageScope: StorageScopeInputType! + + """Validity period of the access token""" + validityPeriod: AccessTokenValidityPeriod! + ): ApplicationAccessToken! + + """Creates a new BlockchainNetwork service""" + createBlockchainNetwork( + """The absolute maximum bytes for Fabric Raft consensus""" + absoluteMaxBytes: Int = 10 + + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfigInput + + """The unique identifier of the application""" + applicationId: ID! + + """The batch timeout for Fabric Raft consensus""" + batchTimeout: Float = 2 + + """The genesis configuration for Besu IBFTv2 networks""" + besuIbft2Genesis: BesuIbft2GenesisInput + + """The genesis configuration for Besu QBFT networks""" + besuQbftGenesis: BesuQbftGenesisInput + + """The chain ID for permissioned EVM networks""" + chainId: Int + + """The consensus algorithm for the blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + + """The contract size limit for Besu networks""" + contractSizeLimit: Int + + """Disk space in MiB""" + diskSpace: Int + + """The endorsement policy for Fabric Raft consensus""" + endorsementPolicy: FabricEndorsementPolicy + + """The EVM stack size for Besu networks""" + evmStackSize: Int + + """List of external nodes for permissioned EVM networks""" + externalNodes: [BlockchainNetworkExternalNodeInput!] + + """The gas limit for permissioned EVM networks""" + gasLimit: String + + """The gas price for permissioned EVM networks""" + gasPrice: Int + + """The genesis configuration for Geth networks""" + gethGenesis: GethGenesisInput + + """The key material for permissioned EVM networks""" + keyMaterial: ID + + """CPU limit in cores""" + limitCpu: Int + + """Memory limit in MiB""" + limitMemory: Int + + """The maximum code size for Quorum networks""" + maxCodeSize: Int + + """The maximum message count for Fabric Raft consensus""" + maxMessageCount: Int = 500 + + """Name of the cluster service""" + name: String! + + """The name of the node""" + nodeName: String! + + """The genesis configuration for Polygon Edge networks""" + polygonEdgeGenesis: PolygonEdgeGenesisInput + + """The preferred maximum bytes for Fabric Raft consensus""" + preferredMaxBytes: Int = 2 + + """Provider of the cluster service""" + provider: String! + + """The genesis configuration for Quorum networks""" + quorumGenesis: QuorumGenesisInput + + """Region of the cluster service""" + region: String! + + """CPU requests in millicores (m)""" + requestsCpu: Int + + """Memory requests in MiB""" + requestsMemory: Int + + """The number of seconds per block for permissioned EVM networks""" + secondsPerBlock: Int + + """Size of the cluster service""" + size: ClusterServiceSize + + """The transaction size limit for Quorum networks""" + txnSizeLimit: Int + + """Type of the cluster service""" + type: ClusterServiceType + ): BlockchainNetworkType! + + """Creates a new invitation to a blockchain network""" + createBlockchainNetworkInvite( + """The email address of the user to invite""" + email: String! + + """An optional message to include with the invite""" + message: String + + """The ID of the blockchain network to invite to""" + networkId: ID! + + """The permissions to grant to the invited user""" + permissions: [BlockchainNetworkPermission!]! + ): BlockchainNetworkInvite! + + """Creates a new BlockchainNode service""" + createBlockchainNode( + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfigInput + + """The unique identifier of the application""" + applicationId: ID! + + """The ID of the blockchain network to create the node in""" + blockchainNetworkId: ID! + + """Disk space in MiB""" + diskSpace: Int + + """The key material for the blockchain node""" + keyMaterial: ID + + """CPU limit in cores""" + limitCpu: Int + + """Memory limit in MiB""" + limitMemory: Int + + """Name of the cluster service""" + name: String! + + """The type of the blockchain node""" + nodeType: NodeType + + """Provider of the cluster service""" + provider: String! + + """Region of the cluster service""" + region: String! + + """CPU requests in millicores (m)""" + requestsCpu: Int + + """Memory requests in MiB""" + requestsMemory: Int + + """Size of the cluster service""" + size: ClusterServiceSize + + """Type of the cluster service""" + type: ClusterServiceType + ): BlockchainNodeType! + + """Creates a new CustomDeployment service""" + createCustomDeployment( + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfigInput + + """The unique identifier of the application""" + applicationId: ID! + + """Custom domains for the deployment""" + customDomains: [String!] + + """Disk space in MiB""" + diskSpace: Int + + """Environment variables for the custom deployment""" + environmentVariables: JSON + + """The name of the Docker image""" + imageName: String! + + """The repository of the Docker image""" + imageRepository: String! + + """The tag of the Docker image""" + imageTag: String! + + """CPU limit in cores""" + limitCpu: Int + + """Memory limit in MiB""" + limitMemory: Int + + """Name of the cluster service""" + name: String! + + """The port number for the custom deployment""" + port: Int! + + """Provider of the cluster service""" + provider: String! + + """Region of the cluster service""" + region: String! + + """CPU requests in millicores (m)""" + requestsCpu: Int + + """Memory requests in MiB""" + requestsMemory: Int + + """Size of the cluster service""" + size: ClusterServiceSize + + """Type of the cluster service""" + type: ClusterServiceType + ): CustomDeployment! + + """Creates a new Insights service""" + createInsights( + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfigInput + + """The unique identifier of the application""" + applicationId: ID! + + """The ID of the blockchain node""" + blockchainNode: ID + + """Disk space in MiB""" + diskSpace: Int + + """The category of insights""" + insightsCategory: InsightsCategory! + + """CPU limit in cores""" + limitCpu: Int + + """Memory limit in MiB""" + limitMemory: Int + + """The ID of the load balancer""" + loadBalancer: ID + + """Name of the cluster service""" + name: String! + + """Provider of the cluster service""" + provider: String! + + """Region of the cluster service""" + region: String! + + """CPU requests in millicores (m)""" + requestsCpu: Int + + """Memory requests in MiB""" + requestsMemory: Int + + """Size of the cluster service""" + size: ClusterServiceSize + + """Type of the cluster service""" + type: ClusterServiceType + ): InsightsTypeUnion! + + """Creates a new Integration service""" + createIntegration( + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfigInput + + """The unique identifier of the application""" + applicationId: ID! + + """Disk space in MiB""" + diskSpace: Int + + """The type of integration to create""" + integrationType: IntegrationType! + + """CPU limit in cores""" + limitCpu: Int + + """Memory limit in MiB""" + limitMemory: Int + + """Name of the cluster service""" + name: String! + + """Provider of the cluster service""" + provider: String! + + """Region of the cluster service""" + region: String! + + """CPU requests in millicores (m)""" + requestsCpu: Int + + """Memory requests in MiB""" + requestsMemory: Int + + """Size of the cluster service""" + size: ClusterServiceSize + + """Type of the cluster service""" + type: ClusterServiceType + ): IntegrationTypeUnion! + + """Creates a new LoadBalancer service""" + createLoadBalancer( + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfigInput + + """The unique identifier of the application""" + applicationId: ID! + + """The ID of the blockchain network""" + blockchainNetworkId: ID! + + """Array of connected node IDs""" + connectedNodes: [ID!]! + + """Disk space in MiB""" + diskSpace: Int + + """CPU limit in cores""" + limitCpu: Int + + """Memory limit in MiB""" + limitMemory: Int + + """Name of the cluster service""" + name: String! + + """Provider of the cluster service""" + provider: String! + + """Region of the cluster service""" + region: String! + + """CPU requests in millicores (m)""" + requestsCpu: Int + + """Memory requests in MiB""" + requestsMemory: Int + + """Size of the cluster service""" + size: ClusterServiceSize + + """Type of the cluster service""" + type: ClusterServiceType + ): LoadBalancerType! + + """Creates a new Middleware service""" + createMiddleware( + """Array of smart contract ABIs""" + abis: [SmartContractPortalMiddlewareAbiInputDto!] + + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfigInput + + """The unique identifier of the application""" + applicationId: ID! + + """ID of the blockchain node""" + blockchainNodeId: ID + + """Disk space in MiB""" + diskSpace: Int + + """Address of the EAS contract""" + easContractAddress: String + + """Array of predeployed ABIs to include""" + includePredeployedAbis: [String!] + + """The interface type of the middleware""" + interface: MiddlewareType! + + """CPU limit in cores""" + limitCpu: Int + + """Memory limit in MiB""" + limitMemory: Int + + """ID of the load balancer""" + loadBalancerId: ID + + """Name of the cluster service""" + name: String! + + """Provider of the cluster service""" + provider: String! + + """Region of the cluster service""" + region: String! + + """CPU requests in millicores (m)""" + requestsCpu: Int + + """Memory requests in MiB""" + requestsMemory: Int + + """Address of the schema registry contract""" + schemaRegistryContractAddress: String + + """Size of the cluster service""" + size: ClusterServiceSize + + """ID of the smart contract set""" + smartContractSetId: ID + + """ID of the storage""" + storageId: ID + + """Type of the cluster service""" + type: ClusterServiceType + ): MiddlewareUnionType! + + """Creates multiple services at once""" + createMultiService(applicationId: ID!, blockchainNetworks: [CreateMultiServiceBlockchainNetworkArgs!], blockchainNodes: [CreateMultiServiceBlockchainNodeArgs!], customDeployments: [CreateMultiServiceCustomDeploymentArgs!], insights: [CreateMultiServiceInsightsArgs!], integrations: [CreateMultiServiceIntegrationArgs!], loadBalancers: [CreateMultiServiceLoadBalancerArgs!], middlewares: [CreateMultiServiceMiddlewareArgs!], privateKeys: [CreateMultiServicePrivateKeyArgs!], smartContractSets: [CreateMultiServiceSmartContractSetArgs!], storages: [CreateMultiServiceStorageArgs!]): ServiceRefMap! + + """Create or update a smart contract portal middleware ABI""" + createOrUpdateSmartContractPortalMiddlewareAbi(abi: SmartContractPortalMiddlewareAbiInputDto!, middlewareId: ID!): SmartContractPortalMiddlewareAbi! + createPersonalAccessToken( + """Expiration date of the personal access token""" + expirationDate: DateTime + + """Name of the personal access token""" + name: String! + + """Scopes of the personal access token""" + scopes: [String!] + + """Validity period of the personal access token""" + validityPeriod: AccessTokenValidityPeriod! + ): PersonalAccessToken! + + """Creates a new PrivateKey service""" + createPrivateKey( + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfigInput + + """The unique identifier of the application""" + applicationId: ID! + + """Array of blockchain node IDs""" + blockchainNodes: [ID!] + + """Derivation path for the private key""" + derivationPath: String + + """Disk space in MiB""" + diskSpace: Int + + """CPU limit in cores""" + limitCpu: Int + + """Memory limit in MiB""" + limitMemory: Int + + """Mnemonic phrase for the private key""" + mnemonic: String + + """Name of the cluster service""" + name: String! + + """Type of the private key""" + privateKeyType: PrivateKeyType! + + """Provider of the cluster service""" + provider: String! + + """Region of the cluster service""" + region: String! + + """CPU requests in millicores (m)""" + requestsCpu: Int + + """Memory requests in MiB""" + requestsMemory: Int + + """Size of the cluster service""" + size: ClusterServiceSize = SMALL + + """Type of the cluster service""" + type: ClusterServiceType + ): PrivateKeyUnionType! + createSetupIntent: SetupIntent! + + """Creates a new SmartContractSet service""" + createSmartContractSet( + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfigInput + + """The unique identifier of the application""" + applicationId: ID! + + """Unique identifier of the blockchain node""" + blockchainNodeId: ID! + + """Disk space in MiB""" + diskSpace: Int + + """Unique identifier of the Fabric orderer blockchain node""" + fabricOrdererBlockchainNodeId: ID + + """CPU limit in cores""" + limitCpu: Int + + """Memory limit in MiB""" + limitMemory: Int + + """Name of the cluster service""" + name: String! + + """Provider of the cluster service""" + provider: String! + + """Region of the cluster service""" + region: String! + + """CPU requests in millicores (m)""" + requestsCpu: Int + + """Memory requests in MiB""" + requestsMemory: Int + + """Size of the cluster service""" + size: ClusterServiceSize + + """Type of the cluster service""" + type: ClusterServiceType + + """Use case for the smart contract set""" + useCase: String! + + """Unique identifier of the user""" + userId: ID! + ): SmartContractSetType! + + """Creates a new Storage service""" + createStorage( + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfigInput + + """The unique identifier of the application""" + applicationId: ID! + + """Disk space in MiB""" + diskSpace: Int + + """CPU limit in cores""" + limitCpu: Int + + """Memory limit in MiB""" + limitMemory: Int + + """Name of the cluster service""" + name: String! + + """Provider of the cluster service""" + provider: String! + + """Region of the cluster service""" + region: String! + + """CPU requests in millicores (m)""" + requestsCpu: Int + + """Memory requests in MiB""" + requestsMemory: Int + + """Size of the cluster service""" + size: ClusterServiceSize + + """The storage protocol to be used""" + storageProtocol: StorageProtocol! + + """Type of the cluster service""" + type: ClusterServiceType + ): StorageType! + + """Creates an application based on a use-case template.""" + createUseCaseApplication( + """Application Name""" + name: String! + + """Use Case ID""" + useCaseId: String + + """Workspace ID""" + workspaceId: String! + ): Application! + createUserWallet( + """HD ECDSA P256 Private Key""" + hdEcdsaP256PrivateKey: ID! + + """Name of the user wallet""" + name: String! + + """Wallet index""" + walletIndex: Int + ): UserWallet! + createWorkspace( + """First line of the address""" + addressLine1: String + + """Second line of the address""" + addressLine2: String + + """City name""" + city: String + + """Name of the company""" + companyName: String + + """Country name""" + country: String + name: String! + parentId: String + + """ID of the payment method""" + paymentMethodId: String + + """Postal code""" + postalCode: String + + """Type of the tax ID""" + taxIdType: String + + """Value of the tax ID""" + taxIdValue: String + ): Workspace! + + """Creates a new invitation to a workspace""" + createWorkspaceInvite( + """Email address of the invited user""" + email: String! + + """Optional message to include with the invite""" + message: String + + """Role of the invited member in the workspace""" + role: WorkspaceMemberRole! + + """Unique identifier of the workspace""" + workspaceId: ID! + ): WorkspaceInvite! + createWorkspaceTransferCode( + """Email address for the workspace transfer""" + email: String! + + """Optional message for the workspace transfer""" + message: String + + """Unique identifier of the workspace""" + workspaceId: ID! + ): WorkspaceTransferCode! + + """Delete all BlockchainNetwork services for an application""" + deleteAllBlockchainNetwork( + """The unique identifier of the application""" + applicationId: ID! + ): Boolean! + + """Delete all BlockchainNode services for an application""" + deleteAllBlockchainNode( + """The unique identifier of the application""" + applicationId: ID! + ): Boolean! + + """Delete all CustomDeployment services for an application""" + deleteAllCustomDeployment( + """The unique identifier of the application""" + applicationId: ID! + ): Boolean! + + """Delete all Insights services for an application""" + deleteAllInsights( + """The unique identifier of the application""" + applicationId: ID! + ): Boolean! + + """Delete all Integration services for an application""" + deleteAllIntegration( + """The unique identifier of the application""" + applicationId: ID! + ): Boolean! + + """Delete all LoadBalancer services for an application""" + deleteAllLoadBalancer( + """The unique identifier of the application""" + applicationId: ID! + ): Boolean! + + """Delete all Middleware services for an application""" + deleteAllMiddleware( + """The unique identifier of the application""" + applicationId: ID! + ): Boolean! + + """Delete all PrivateKey services for an application""" + deleteAllPrivateKey( + """The unique identifier of the application""" + applicationId: ID! + ): Boolean! + + """Delete all SmartContractSet services for an application""" + deleteAllSmartContractSet( + """The unique identifier of the application""" + applicationId: ID! + ): Boolean! + + """Delete all Storage services for an application""" + deleteAllStorage( + """The unique identifier of the application""" + applicationId: ID! + ): Boolean! + deleteApplication(id: ID!): Application! + deleteApplicationAccessToken(id: String!): Boolean! + + """Delete a BlockchainNetwork service""" + deleteBlockchainNetwork( + """The unique identifier of the entity""" + entityId: ID! + ): BlockchainNetworkType! + deleteBlockchainNetworkInvite( + """The ID of the blockchain network invite to delete""" + inviteId: ID! + ): BlockchainNetworkInvite! + + """Delete a participant from a network""" + deleteBlockchainNetworkParticipant( + """The ID of the blockchain network""" + blockchainNetworkId: ID! + + """The ID of the workspace""" + workspaceId: ID! + ): Boolean! + + """Delete a BlockchainNode service""" + deleteBlockchainNode( + """The unique identifier of the entity""" + entityId: ID! + ): BlockchainNodeType! + + """Delete a CustomDeployment service""" + deleteCustomDeployment( + """The unique identifier of the entity""" + entityId: ID! + ): CustomDeployment! + + """Delete a Insights service""" + deleteInsights( + """The unique identifier of the entity""" + entityId: ID! + ): InsightsTypeUnion! + + """Delete a Integration service""" + deleteIntegration( + """The unique identifier of the entity""" + entityId: ID! + ): IntegrationTypeUnion! + + """Delete a LoadBalancer service""" + deleteLoadBalancer( + """The unique identifier of the entity""" + entityId: ID! + ): LoadBalancerType! + + """Delete a Middleware service""" + deleteMiddleware( + """The unique identifier of the entity""" + entityId: ID! + ): MiddlewareUnionType! + deletePersonalAccessToken(apiKeyId: String!): Boolean! + + """Delete a PrivateKey service""" + deletePrivateKey( + """The unique identifier of the entity""" + entityId: ID! + ): PrivateKeyUnionType! + + """Delete a smart contract portal middleware ABI""" + deleteSmartContractPortalMiddlewareAbi(id: String!, middlewareId: ID!): SmartContractPortalMiddlewareAbi! + + """Delete a smart contract portal middleware webhook consumer""" + deleteSmartContractPortalWebhookConsumer(consumerId: ID!, middlewareId: ID!): SmartContractPortalWebhookConsumer! + + """Delete a SmartContractSet service""" + deleteSmartContractSet( + """The unique identifier of the entity""" + entityId: ID! + ): SmartContractSetType! + + """Delete a Storage service""" + deleteStorage( + """The unique identifier of the entity""" + entityId: ID! + ): StorageType! + deleteUserWallet(id: String!): UserWallet! + deleteWorkspace(workspaceId: ID!): Workspace! + deleteWorkspaceInvite( + """Unique identifier of the invite to delete""" + inviteId: ID! + + """Unique identifier of the workspace""" + workspaceId: ID! + ): WorkspaceInvite! + deleteWorkspaceMember( + """Unique identifier of the user to be removed from the workspace""" + userId: ID! + + """Unique identifier of the workspace""" + workspaceId: ID! + ): Boolean! + + """Disable a smart contract portal middleware webhook consumer""" + disableSmartContractPortalWebhookConsumer(consumerId: ID!, middlewareId: ID!): SmartContractPortalWebhookConsumer! + + """Edit a BlockchainNetwork service""" + editBlockchainNetwork( + """Advanced deployment configuration for the cluster service""" + advancedDeploymentConfig: AdvancedDeploymentConfigInput + + """Genesis configuration for Besu IBFT2 consensus""" + besuIbft2Genesis: BesuIbft2GenesisInput + + """Genesis configuration for Besu QBFT consensus""" + besuQbftGenesis: BesuQbftGenesisInput + + """The unique identifier of the entity""" + entityId: ID! + + """List of external nodes for the blockchain network""" + externalNodes: [BlockchainNetworkExternalNodeInput!] + + """Genesis configuration for Geth Clique consensus""" + gethGenesis: GethGenesisInput + + """New name for the cluster service""" + name: String + + """Genesis configuration for Polygon Edge PoA consensus""" + polygonEdgeGenesis: PolygonEdgeGenesisInput + + """Genesis configuration for Quorum QBFT consensus""" + quorumGenesis: QuorumGenesisInput + ): BlockchainNetworkType! + + """Edit a BlockchainNode service""" + editBlockchainNode( + """Advanced deployment configuration for the cluster service""" + advancedDeploymentConfig: AdvancedDeploymentConfigInput + + """The unique identifier of the entity""" + entityId: ID! + + """New name for the cluster service""" + name: String + + """The type of the blockchain node""" + nodeType: NodeType + ): BlockchainNodeType! + + """Edit a CustomDeployment service""" + editCustomDeployment( + """Advanced deployment configuration for the cluster service""" + advancedDeploymentConfig: AdvancedDeploymentConfigInput + + """Custom domains for the deployment""" + customDomains: [String!] + + """The unique identifier of the entity""" + entityId: ID! + + """Environment variables for the custom deployment""" + environmentVariables: JSON + + """The name of the Docker image""" + imageName: String + + """The repository of the Docker image""" + imageRepository: String + + """The tag of the Docker image""" + imageTag: String + + """New name for the cluster service""" + name: String + + """The port number for the custom deployment""" + port: Int + ): CustomDeployment! + + """Edit a Insights service""" + editInsights( + """Advanced deployment configuration for the cluster service""" + advancedDeploymentConfig: AdvancedDeploymentConfigInput + + """The unique identifier of the entity""" + entityId: ID! + + """New name for the cluster service""" + name: String + ): InsightsTypeUnion! + + """Edit a Integration service""" + editIntegration( + """Advanced deployment configuration for the cluster service""" + advancedDeploymentConfig: AdvancedDeploymentConfigInput + + """The unique identifier of the entity""" + entityId: ID! + + """New name for the cluster service""" + name: String + ): IntegrationTypeUnion! + + """Edit a LoadBalancer service""" + editLoadBalancer( + """Advanced deployment configuration for the cluster service""" + advancedDeploymentConfig: AdvancedDeploymentConfigInput + + """The unique identifier of the entity""" + entityId: ID! + + """New name for the cluster service""" + name: String + ): LoadBalancerType! + + """Edit a Middleware service""" + editMiddleware( + """Advanced deployment configuration for the cluster service""" + advancedDeploymentConfig: AdvancedDeploymentConfigInput + + """ID of the blockchain node""" + blockchainNodeId: ID + + """The unique identifier of the entity""" + entityId: ID! + + """ID of the load balancer""" + loadBalancerId: ID + + """New name for the cluster service""" + name: String + ): MiddlewareUnionType! + + """Edit a PrivateKey service""" + editPrivateKey( + """Advanced deployment configuration for the cluster service""" + advancedDeploymentConfig: AdvancedDeploymentConfigInput + + """The unique identifier of the entity""" + entityId: ID! + + """New name for the cluster service""" + name: String + ): PrivateKeyUnionType! + + """Edit a SmartContractSet service""" + editSmartContractSet( + """Advanced deployment configuration for the cluster service""" + advancedDeploymentConfig: AdvancedDeploymentConfigInput + + """The unique identifier of the entity""" + entityId: ID! + + """New name for the cluster service""" + name: String + ): SmartContractSetType! + + """Edit a Storage service""" + editStorage( + """Advanced deployment configuration for the cluster service""" + advancedDeploymentConfig: AdvancedDeploymentConfigInput + + """The unique identifier of the entity""" + entityId: ID! + + """New name for the cluster service""" + name: String + ): StorageType! + + """Enable a smart contract portal middleware webhook consumer""" + enableSmartContractPortalWebhookConsumer(consumerId: ID!, middlewareId: ID!): SmartContractPortalWebhookConsumer! + + """Pause all BlockchainNetwork services for an application""" + pauseAllBlockchainNetwork( + """The unique identifier of the application""" + applicationId: ID! + ): Boolean! + + """Pause all BlockchainNode services for an application""" + pauseAllBlockchainNode( + """The unique identifier of the application""" + applicationId: ID! + ): Boolean! + + """Pause all CustomDeployment services for an application""" + pauseAllCustomDeployment( + """The unique identifier of the application""" + applicationId: ID! + ): Boolean! + + """Pause all Insights services for an application""" + pauseAllInsights( + """The unique identifier of the application""" + applicationId: ID! + ): Boolean! + + """Pause all Integration services for an application""" + pauseAllIntegration( + """The unique identifier of the application""" + applicationId: ID! + ): Boolean! + + """Pause all LoadBalancer services for an application""" + pauseAllLoadBalancer( + """The unique identifier of the application""" + applicationId: ID! + ): Boolean! + + """Pause all Middleware services for an application""" + pauseAllMiddleware( + """The unique identifier of the application""" + applicationId: ID! + ): Boolean! + + """Pause all PrivateKey services for an application""" + pauseAllPrivateKey( + """The unique identifier of the application""" + applicationId: ID! + ): Boolean! + + """Pause all SmartContractSet services for an application""" + pauseAllSmartContractSet( + """The unique identifier of the application""" + applicationId: ID! + ): Boolean! + + """Pause all Storage services for an application""" + pauseAllStorage( + """The unique identifier of the application""" + applicationId: ID! + ): Boolean! + + """Pause a BlockchainNetwork service""" + pauseBlockchainNetwork( + """The unique identifier of the entity""" + entityId: ID! + ): BlockchainNetworkType! + + """Pause a BlockchainNode service""" + pauseBlockchainNode( + """The unique identifier of the entity""" + entityId: ID! + ): BlockchainNodeType! + + """Pause a CustomDeployment service""" + pauseCustomDeployment( + """The unique identifier of the entity""" + entityId: ID! + ): CustomDeployment! + + """Pause a Insights service""" + pauseInsights( + """The unique identifier of the entity""" + entityId: ID! + ): InsightsTypeUnion! + + """Pause a Integration service""" + pauseIntegration( + """The unique identifier of the entity""" + entityId: ID! + ): IntegrationTypeUnion! + + """Pause a LoadBalancer service""" + pauseLoadBalancer( + """The unique identifier of the entity""" + entityId: ID! + ): LoadBalancerType! + + """Pause a Middleware service""" + pauseMiddleware( + """The unique identifier of the entity""" + entityId: ID! + ): MiddlewareUnionType! + + """Pause a PrivateKey service""" + pausePrivateKey( + """The unique identifier of the entity""" + entityId: ID! + ): PrivateKeyUnionType! + + """Pause a SmartContractSet service""" + pauseSmartContractSet( + """The unique identifier of the entity""" + entityId: ID! + ): SmartContractSetType! + + """Pause a Storage service""" + pauseStorage( + """The unique identifier of the entity""" + entityId: ID! + ): StorageType! + + """Restart BlockchainNetwork service""" + restartBlockchainNetwork( + """The unique identifier of the entity""" + entityId: ID! + ): BlockchainNetworkType! + + """Restart BlockchainNode service""" + restartBlockchainNode( + """The unique identifier of the entity""" + entityId: ID! + ): BlockchainNodeType! + + """Restart CustomDeployment service""" + restartCustomDeployment( + """The unique identifier of the entity""" + entityId: ID! + ): CustomDeployment! + + """Restart Insights service""" + restartInsights( + """The unique identifier of the entity""" + entityId: ID! + ): InsightsTypeUnion! + + """Restart Integration service""" + restartIntegration( + """The unique identifier of the entity""" + entityId: ID! + ): IntegrationTypeUnion! + + """Restart LoadBalancer service""" + restartLoadBalancer( + """The unique identifier of the entity""" + entityId: ID! + ): LoadBalancerType! + + """Restart Middleware service""" + restartMiddleware( + """The unique identifier of the entity""" + entityId: ID! + ): MiddlewareUnionType! + + """Restart PrivateKey service""" + restartPrivateKey( + """The unique identifier of the entity""" + entityId: ID! + ): PrivateKeyUnionType! + + """Restart SmartContractSet service""" + restartSmartContractSet( + """The unique identifier of the entity""" + entityId: ID! + ): SmartContractSetType! + + """Restart Storage service""" + restartStorage( + """The unique identifier of the entity""" + entityId: ID! + ): StorageType! + + """Resume a BlockchainNetwork service""" + resumeBlockchainNetwork( + """The unique identifier of the entity""" + entityId: ID! + ): BlockchainNetworkType! + + """Resume a BlockchainNode service""" + resumeBlockchainNode( + """The unique identifier of the entity""" + entityId: ID! + ): BlockchainNodeType! + + """Resume a CustomDeployment service""" + resumeCustomDeployment( + """The unique identifier of the entity""" + entityId: ID! + ): CustomDeployment! + + """Resume a Insights service""" + resumeInsights( + """The unique identifier of the entity""" + entityId: ID! + ): InsightsTypeUnion! + + """Resume a Integration service""" + resumeIntegration( + """The unique identifier of the entity""" + entityId: ID! + ): IntegrationTypeUnion! + + """Resume a LoadBalancer service""" + resumeLoadBalancer( + """The unique identifier of the entity""" + entityId: ID! + ): LoadBalancerType! + + """Resume a Middleware service""" + resumeMiddleware( + """The unique identifier of the entity""" + entityId: ID! + ): MiddlewareUnionType! + + """Resume a PrivateKey service""" + resumePrivateKey( + """The unique identifier of the entity""" + entityId: ID! + ): PrivateKeyUnionType! + + """Resume a SmartContractSet service""" + resumeSmartContractSet( + """The unique identifier of the entity""" + entityId: ID! + ): SmartContractSetType! + + """Resume a Storage service""" + resumeStorage( + """The unique identifier of the entity""" + entityId: ID! + ): StorageType! + + """Retry deployment of BlockchainNetwork service""" + retryBlockchainNetwork( + """The unique identifier of the entity""" + entityId: ID! + ): BlockchainNetworkType! + + """Retry deployment of BlockchainNode service""" + retryBlockchainNode( + """The unique identifier of the entity""" + entityId: ID! + ): BlockchainNodeType! + + """Retry deployment of CustomDeployment service""" + retryCustomDeployment( + """The unique identifier of the entity""" + entityId: ID! + ): CustomDeployment! + + """Retry deployment of Insights service""" + retryInsights( + """The unique identifier of the entity""" + entityId: ID! + ): InsightsTypeUnion! + + """Retry deployment of Integration service""" + retryIntegration( + """The unique identifier of the entity""" + entityId: ID! + ): IntegrationTypeUnion! + + """Retry deployment of LoadBalancer service""" + retryLoadBalancer( + """The unique identifier of the entity""" + entityId: ID! + ): LoadBalancerType! + + """Retry deployment of Middleware service""" + retryMiddleware( + """The unique identifier of the entity""" + entityId: ID! + ): MiddlewareUnionType! + + """Retry deployment of PrivateKey service""" + retryPrivateKey( + """The unique identifier of the entity""" + entityId: ID! + ): PrivateKeyUnionType! + + """Retry deployment of SmartContractSet service""" + retrySmartContractSet( + """The unique identifier of the entity""" + entityId: ID! + ): SmartContractSetType! + + """Retry deployment of Storage service""" + retryStorage( + """The unique identifier of the entity""" + entityId: ID! + ): StorageType! + + """Scale a BlockchainNetwork service""" + scaleBlockchainNetwork( + """The new disk space in mebibytes (Mi)""" + diskSpace: Int + + """The unique identifier of the entity""" + entityId: ID! + + """The new CPU limit in cores""" + limitCpu: Int + + """The new memory limit in mebibytes (Mi)""" + limitMemory: Int + + """The new CPU request in millicores (m)""" + requestsCpu: Int + + """The new memory request in mebibytes (Mi)""" + requestsMemory: Int + + """The new size for the cluster service""" + size: ClusterServiceSize + + """The new type for the cluster service""" + type: ClusterServiceType + ): BlockchainNetworkType! + + """Scale a BlockchainNode service""" + scaleBlockchainNode( + """The new disk space in mebibytes (Mi)""" + diskSpace: Int + + """The unique identifier of the entity""" + entityId: ID! + + """The new CPU limit in cores""" + limitCpu: Int + + """The new memory limit in mebibytes (Mi)""" + limitMemory: Int + + """The new CPU request in millicores (m)""" + requestsCpu: Int + + """The new memory request in mebibytes (Mi)""" + requestsMemory: Int + + """The new size for the cluster service""" + size: ClusterServiceSize + + """The new type for the cluster service""" + type: ClusterServiceType + ): BlockchainNodeType! + + """Scale a CustomDeployment service""" + scaleCustomDeployment( + """The new disk space in mebibytes (Mi)""" + diskSpace: Int + + """The unique identifier of the entity""" + entityId: ID! + + """The new CPU limit in cores""" + limitCpu: Int + + """The new memory limit in mebibytes (Mi)""" + limitMemory: Int + + """The new CPU request in millicores (m)""" + requestsCpu: Int + + """The new memory request in mebibytes (Mi)""" + requestsMemory: Int + + """The new size for the cluster service""" + size: ClusterServiceSize + + """The new type for the cluster service""" + type: ClusterServiceType + ): CustomDeployment! + + """Scale a Insights service""" + scaleInsights( + """The new disk space in mebibytes (Mi)""" + diskSpace: Int + + """The unique identifier of the entity""" + entityId: ID! + + """The new CPU limit in cores""" + limitCpu: Int + + """The new memory limit in mebibytes (Mi)""" + limitMemory: Int + + """The new CPU request in millicores (m)""" + requestsCpu: Int + + """The new memory request in mebibytes (Mi)""" + requestsMemory: Int + + """The new size for the cluster service""" + size: ClusterServiceSize + + """The new type for the cluster service""" + type: ClusterServiceType + ): InsightsTypeUnion! + + """Scale a Integration service""" + scaleIntegration( + """The new disk space in mebibytes (Mi)""" + diskSpace: Int + + """The unique identifier of the entity""" + entityId: ID! + + """The new CPU limit in cores""" + limitCpu: Int + + """The new memory limit in mebibytes (Mi)""" + limitMemory: Int + + """The new CPU request in millicores (m)""" + requestsCpu: Int + + """The new memory request in mebibytes (Mi)""" + requestsMemory: Int + + """The new size for the cluster service""" + size: ClusterServiceSize + + """The new type for the cluster service""" + type: ClusterServiceType + ): IntegrationTypeUnion! + + """Scale a LoadBalancer service""" + scaleLoadBalancer( + """The new disk space in mebibytes (Mi)""" + diskSpace: Int + + """The unique identifier of the entity""" + entityId: ID! + + """The new CPU limit in cores""" + limitCpu: Int + + """The new memory limit in mebibytes (Mi)""" + limitMemory: Int + + """The new CPU request in millicores (m)""" + requestsCpu: Int + + """The new memory request in mebibytes (Mi)""" + requestsMemory: Int + + """The new size for the cluster service""" + size: ClusterServiceSize + + """The new type for the cluster service""" + type: ClusterServiceType + ): LoadBalancerType! + + """Scale a Middleware service""" + scaleMiddleware( + """The new disk space in mebibytes (Mi)""" + diskSpace: Int + + """The unique identifier of the entity""" + entityId: ID! + + """The new CPU limit in cores""" + limitCpu: Int + + """The new memory limit in mebibytes (Mi)""" + limitMemory: Int + + """The new CPU request in millicores (m)""" + requestsCpu: Int + + """The new memory request in mebibytes (Mi)""" + requestsMemory: Int + + """The new size for the cluster service""" + size: ClusterServiceSize + + """The new type for the cluster service""" + type: ClusterServiceType + ): MiddlewareUnionType! + + """Scale a PrivateKey service""" + scalePrivateKey( + """The new disk space in mebibytes (Mi)""" + diskSpace: Int + + """The unique identifier of the entity""" + entityId: ID! + + """The new CPU limit in cores""" + limitCpu: Int + + """The new memory limit in mebibytes (Mi)""" + limitMemory: Int + + """The new CPU request in millicores (m)""" + requestsCpu: Int + + """The new memory request in mebibytes (Mi)""" + requestsMemory: Int + + """The new size for the cluster service""" + size: ClusterServiceSize + + """The new type for the cluster service""" + type: ClusterServiceType + ): PrivateKeyUnionType! + + """Scale a SmartContractSet service""" + scaleSmartContractSet( + """The new disk space in mebibytes (Mi)""" + diskSpace: Int + + """The unique identifier of the entity""" + entityId: ID! + + """The new CPU limit in cores""" + limitCpu: Int + + """The new memory limit in mebibytes (Mi)""" + limitMemory: Int + + """The new CPU request in millicores (m)""" + requestsCpu: Int + + """The new memory request in mebibytes (Mi)""" + requestsMemory: Int + + """The new size for the cluster service""" + size: ClusterServiceSize + + """The new type for the cluster service""" + type: ClusterServiceType + ): SmartContractSetType! + + """Scale a Storage service""" + scaleStorage( + """The new disk space in mebibytes (Mi)""" + diskSpace: Int + + """The unique identifier of the entity""" + entityId: ID! + + """The new CPU limit in cores""" + limitCpu: Int + + """The new memory limit in mebibytes (Mi)""" + limitMemory: Int + + """The new CPU request in millicores (m)""" + requestsCpu: Int + + """The new memory request in mebibytes (Mi)""" + requestsMemory: Int + + """The new size for the cluster service""" + size: ClusterServiceSize + + """The new type for the cluster service""" + type: ClusterServiceType + ): StorageType! + updateApplication(updateApplicationParams: ApplicationUpdateInput!): Application! + updateApplicationAccessToken( + """Unique identifier of the application""" + applicationId: ID! + + """Scope for blockchain network access""" + blockchainNetworkScope: BlockchainNetworkScopeInputType! + + """Scope for blockchain node access""" + blockchainNodeScope: BlockchainNodeScopeInputType! + + """Scope for custom deployment access""" + customDeploymentScope: CustomDeploymentScopeInputType! + + """Expiration date of the access token""" + expirationDate: DateTime + + """Unique identifier of the application access token to update""" + id: ID! + + """Scope for insights access""" + insightsScope: InsightsScopeInputType! + + """Scope for integration access""" + integrationScope: IntegrationScopeInputType! + + """Scope for load balancer access""" + loadBalancerScope: LoadBalancerScopeInputType! + + """Scope for middleware access""" + middlewareScope: MiddlewareScopeInputType! + + """Name of the application access token""" + name: String! + + """Scope for smart contract set access""" + smartContractSetScope: SmartContractSetScopeInputType! + + """Scope for storage access""" + storageScope: StorageScopeInputType! + + """Validity period of the access token""" + validityPeriod: AccessTokenValidityPeriod! + ): ApplicationAccessToken! + updateBilling(disableAutoCollection: Boolean!, free: Boolean, hidePricing: Boolean!, workspaceId: ID!): Billing! + + """Change permissions of participant of a network""" + updateBlockchainNetworkParticipantPermissions( + """The ID of the blockchain network""" + blockchainNetworkId: ID! + + """The permissions to be updated for the participant""" + permissions: [BlockchainNetworkPermission!]! + + """The ID of the workspace""" + workspaceId: ID! + ): Boolean! + updateLoadBalancer(updateLoadBalancerParams: LoadBalancerInputType!): LoadBalancerType! + updatePrivateKey(updatePrivateKeyParams: PrivateKeyInputType!): PrivateKeyUnionType! + + """Update the ABIs of a smart contract portal middleware""" + updateSmartContractPortalMiddlewareAbis(abis: [SmartContractPortalMiddlewareAbiInputDto!]!, includePredeployedAbis: [String!]!, middlewareId: ID!): [SmartContractPortalMiddlewareAbi!]! + + """Update the user of a SmartContractSet""" + updateSmartContractSetUser( + """The ID of the SmartContractSet to update""" + entityId: ID! + + """The ID of the new user to assign to the SmartContractSet""" + userId: ID! + ): SmartContractSetType! + updateUser( + """Company name of the user""" + companyName: String + + """Email address of the user""" + email: String + + """First name of the user""" + firstName: String + + """Onboarding status of the user""" + isOnboarded: OnboardingStatus = NOT_ONBOARDED + + """Language preference of the user""" + languagePreference: Language = BROWSER + + """Date of last login""" + lastLogin: DateTime + + """Last name of the user""" + lastName: String + + """Theme preference of the user""" + themePreference: Theme = SYSTEM + + """Unique identifier of the user""" + userId: ID + + """Work email address of the user""" + workEmail: String + ): User! + updateUserState( + """Tooltip to hide""" + hideTooltip: Tooltip! + ): UserState! + updateWorkspace(allowChildren: Boolean, name: String, parentId: String, workspaceId: ID!): Workspace! + updateWorkspaceMemberRole( + """New role for the workspace member""" + role: WorkspaceMemberRole! + + """Unique identifier of the user""" + userId: ID! + + """Unique identifier of the workspace""" + workspaceId: ID! + ): Boolean! + + """Upsert smart contract portal middleware webhook consumers""" + upsertSmartContractPortalWebhookConsumer(consumers: [SmartContractPortalWebhookConsumerInputDto!]!, middlewareId: ID!): [SmartContractPortalWebhookConsumer!]! +} + +type NatSpecDoc { + """The kind of NatSpec documentation""" + kind: String! + + """The methods documented in the NatSpec""" + methods: JSON! + + """Additional notice information""" + notice: String + + """The security contact information""" + securityContact: String + + """The title of the NatSpec documentation""" + title: String + + """The version of the NatSpec documentation""" + version: Int! +} + +input NatSpecDocInputType { + """The kind of NatSpec documentation""" + kind: String! + + """The methods documented in the NatSpec""" + methods: JSON! + + """Additional notice information""" + notice: String + + """The security contact information""" + securityContact: String + + """The title of the NatSpec documentation""" + title: String + + """The version of the NatSpec documentation""" + version: Int! +} + +enum NodeType { + NON_VALIDATOR + NOTARY + ORDERER + PEER + UNSPECIFIED + VALIDATOR +} + +type ObservabilityDto { + id: ID! + logs: Boolean! + metrics: Boolean! +} + +"""The onboarding status of the user.""" +enum OnboardingStatus { + NOT_ONBOARDED + ONBOARDED +} + +type OptimismBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the Optimism network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Network ID of the Optimism network""" + networkId: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Public EVM node database name""" + publicEvmNodeDbName: String + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type OptimismBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type OptimismGoerliBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the Optimism Goerli network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Network ID of the Optimism Goerli network""" + networkId: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Public EVM node database name""" + publicEvmNodeDbName: String + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type OptimismGoerliBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type OptimismSepoliaBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the Optimism Sepolia network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Network ID of the Optimism Sepolia network""" + networkId: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Public EVM node database name""" + publicEvmNodeDbName: String + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type OptimismSepoliaBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type OtterscanBlockchainExplorer implements AbstractClusterService & AbstractEntity & Insights { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The associated blockchain node""" + blockchainNode: BlockchainNodeType + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """The category of insights""" + insightsCategory: InsightsCategory! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The associated load balancer""" + loadBalancer: LoadBalancerType! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type PaginatedApplicationAccessTokens { + count: Int! + items: [ApplicationAccessToken!]! + licenseLimitReached: Boolean +} + +type PaginatedAuditLogs { + count: Int! + filters: [PaginatedFilteredFilter!]! + items: [AuditLog!]! + licenseLimitReached: Boolean +} + +type PaginatedBlockchainNetworks { + count: Int! + items: [BlockchainNetworkType!]! + licenseLimitReached: Boolean +} + +type PaginatedBlockchainNodes { + count: Int! + items: [BlockchainNodeType!]! + licenseLimitReached: Boolean +} + +type PaginatedCustomDeployment { + count: Int! + items: [CustomDeployment!]! + licenseLimitReached: Boolean +} + +type PaginatedFilteredFilter { + label: String! + options: [PaginatedFilteredFilterOption!]! +} + +type PaginatedFilteredFilterOption { + label: String! + value: String! +} + +type PaginatedInsightss { + count: Int! + items: [InsightsTypeUnion!]! + licenseLimitReached: Boolean +} + +type PaginatedIntegrations { + count: Int! + items: [IntegrationTypeUnion!]! + licenseLimitReached: Boolean +} + +type PaginatedLoadBalancers { + count: Int! + items: [LoadBalancerType!]! + licenseLimitReached: Boolean +} + +type PaginatedMiddlewares { + count: Int! + items: [MiddlewareUnionType!]! + licenseLimitReached: Boolean +} + +type PaginatedPersonalAccessTokens { + count: Int! + items: [PersonalAccessToken!]! + licenseLimitReached: Boolean +} + +type PaginatedPrivateKeys { + count: Int! + items: [PrivateKeyUnionType!]! + licenseLimitReached: Boolean +} + +type PaginatedSmartContractPortalWebhookEvents { + count: Int! + filters: [PaginatedFilteredFilter!]! + items: [SmartContractPortalWebhookEvent!]! + licenseLimitReached: Boolean +} + +type PaginatedSmartContractSets { + count: Int! + items: [SmartContractSetType!]! + licenseLimitReached: Boolean +} + +type PaginatedStorages { + count: Int! + items: [StorageType!]! + licenseLimitReached: Boolean +} + +type PaginatedUsers { + count: Int! + items: [User!]! + licenseLimitReached: Boolean +} + +enum PaymentStatusEnum { + FREE + MANUALLY_BILLED + PAID + TRIAL + UNPAID +} + +"""A Personal Access Token""" +type PersonalAccessToken { + """Date and time when the entity was created""" + createdAt: DateTime! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """The expiration date of the Personal Access Token""" + expiresAt: DateTime + + """Unique identifier of the entity""" + id: ID! + + """The name of the Personal Access Token""" + name: String! + possibleTopLevelScopes: [Scope!]! + + """The scopes of the Personal Access Token""" + scopes: [String!]! + + """The token string of the Personal Access Token""" + token: String! + + """Date and time when the entity was last updated""" + updatedAt: DateTime! +} + +type PlatformConfigDto { + billing: BillingDto! + customDomainsEnabled: Boolean! + deploymentEngineTargets: [DeploymentEngineTargetGroup!]! + hasAdvancedDeploymentConfigEnabled: Boolean! + hsmAwsKmsKeysEnabled: Boolean! + id: ID! + observability: ObservabilityDto! + smartContractSets: SmartContractSetsDto! +} + +type PolygonAmoyBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the Polygon Amoy network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Network ID of the Polygon Amoy network""" + networkId: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Public EVM node database name""" + publicEvmNodeDbName: String + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type PolygonAmoyBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type PolygonBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the Polygon network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Network ID of the Polygon network""" + networkId: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Public EVM node database name""" + publicEvmNodeDbName: String + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type PolygonBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type PolygonEdgeBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Enode identifier for the blockchain node""" + enode: String! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """Libp2p key of the blockchain node""" + libp2pKey: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Node ID of the blockchain node""" + nodeId: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +input PolygonEdgeGenesisForksInput { + """Block number for EIP150 fork""" + EIP150: Float! + + """Block number for EIP155 fork""" + EIP155: Float! + + """Block number for EIP158 fork""" + EIP158: Float! + + """Block number for Byzantium fork""" + byzantium: Float! + + """Block number for Constantinople fork""" + constantinople: Float! + + """Block number for Homestead fork""" + homestead: Float! + + """Block number for Istanbul fork""" + istanbul: Float! + + """Block number for Petersburg fork""" + petersburg: Float! +} + +type PolygonEdgeGenesisForksType { + """Block number for EIP150 fork""" + EIP150: Float! + + """Block number for EIP155 fork""" + EIP155: Float! + + """Block number for EIP158 fork""" + EIP158: Float! + + """Block number for Byzantium fork""" + byzantium: Float! + + """Block number for Constantinople fork""" + constantinople: Float! + + """Block number for Homestead fork""" + homestead: Float! + + """Block number for Istanbul fork""" + istanbul: Float! + + """Block number for Petersburg fork""" + petersburg: Float! +} + +input PolygonEdgeGenesisGenesisInput { + """Initial account balances and contract code""" + alloc: JSON! + + """The coinbase address""" + coinbase: String! + + """The difficulty of the genesis block""" + difficulty: String! + + """Extra data included in the genesis block""" + extraData: String + + """The gas limit of the genesis block""" + gasLimit: String! + + """The gas used in the genesis block""" + gasUsed: String! + + """The mix hash of the genesis block""" + mixHash: String! + + """The nonce of the genesis block""" + nonce: String! + + """The number of the genesis block""" + number: String! + + """The parent hash of the genesis block""" + parentHash: String! + + """The timestamp of the genesis block""" + timestamp: String! +} + +type PolygonEdgeGenesisGenesisType { + """Initial account balances and contract code""" + alloc: JSON! + + """The coinbase address""" + coinbase: String! + + """The difficulty of the genesis block""" + difficulty: String! + + """Extra data included in the genesis block""" + extraData: String + + """The gas limit of the genesis block""" + gasLimit: String! + + """The gas used in the genesis block""" + gasUsed: String! + + """The mix hash of the genesis block""" + mixHash: String! + + """The nonce of the genesis block""" + nonce: String! + + """The number of the genesis block""" + number: String! + + """The parent hash of the genesis block""" + parentHash: String! + + """The timestamp of the genesis block""" + timestamp: String! +} + +input PolygonEdgeGenesisInput { + """List of bootstrap nodes for the network""" + bootnodes: [String!]! + + """Genesis block configuration""" + genesis: PolygonEdgeGenesisGenesisInput! + + """Name of the network""" + name: String! + + """Network parameters""" + params: PolygonEdgeGenesisParamsInput! +} + +input PolygonEdgeGenesisParamsInput { + """The target gas limit for blocks""" + blockGasTarget: Float! + + """The chain ID of the network""" + chainID: Float! + + """The engine configuration for the network""" + engine: JSON! + + """The fork configurations for the network""" + forks: PolygonEdgeGenesisForksInput! +} + +type PolygonEdgeGenesisParamsType { + """The target gas limit for blocks""" + blockGasTarget: Float! + + """The chain ID of the network""" + chainID: Float! + + """The engine configuration for the network""" + engine: JSON! + + """The fork configurations for the network""" + forks: PolygonEdgeGenesisForksType! +} + +type PolygonEdgePoABlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the blockchain network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """External nodes of the blockchain network""" + externalNodes: [BlockchainNetworkExternalNode!] + + """Date when the service failed""" + failedAt: DateTime! + + """Gas limit for the blockchain network""" + gasLimit: String! + + """Gas price for the blockchain network""" + gasPrice: Int! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + + """Number of seconds per block""" + secondsPerBlock: Int! + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type PolygonMumbaiBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the Polygon Mumbai network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Network ID of the Polygon Mumbai network""" + networkId: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Public EVM node database name""" + publicEvmNodeDbName: String + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type PolygonMumbaiBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type PolygonSupernetBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the blockchain network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Gas limit for the blockchain network""" + gasLimit: String! + + """Gas price for the blockchain network""" + gasPrice: Int! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + + """Number of seconds per block""" + secondsPerBlock: Int! + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type PolygonSupernetBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """BLS private key for the blockchain node""" + blsPrivateKey: String! + + """BLS public key for the blockchain node""" + blsPublicKey: String! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Derivation path for the node's key""" + derivationPath: String! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + + """Key material for the blockchain node""" + keyMaterial: AccessibleEcdsaP256PrivateKey + latestVersion: String! + + """Libp2p key for the blockchain node""" + libp2pKey: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Mnemonic phrase for the node's key""" + mnemonic: String! + + """Name of the service""" + name: String! + namespace: String! + + """Node ID for the blockchain node""" + nodeId: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """Private key of the node""" + privateKey: String! + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Public key of the node""" + publicKey: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type PolygonZkEvmBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the Polygon ZK EVM network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Network ID of the Polygon ZK EVM network""" + networkId: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Public EVM node database name""" + publicEvmNodeDbName: String + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type PolygonZkEvmBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type PolygonZkEvmTestnetBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the Polygon ZK EVM Testnet network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Network ID of the Polygon ZK EVM Testnet network""" + networkId: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Public EVM node database name""" + publicEvmNodeDbName: String + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type PolygonZkEvmTestnetBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +interface PrivateKey implements AbstractClusterService & AbstractEntity { + """The address associated with the private key""" + address: String + + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + blockchainNodes: [BlockchainNodeType!] + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + dependants: [Dependant!]! + dependantsTree: DependantsTree! + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + identityOf: [BlockchainNode!] + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The type of private key""" + privateKeyType: PrivateKeyType! + + """The product name for the private key""" + productName: String! + + """Provider of the service""" + provider: String! + + """The public key associated with the private key""" + publicKey: String + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + userWallets: [UserWallet!] + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +input PrivateKeyInputType { + """Array of blockchain node IDs""" + blockchainNodes: [ID!] + + """Derivation path for the private key""" + derivationPath: String + + """Mnemonic phrase for the private key""" + mnemonic: String + + """Unique identifier of the private key""" + privateKeyId: ID! +} + +enum PrivateKeyType { + ACCESSIBLE_ECDSA_P256 + HD_ECDSA_P256 + HSM_ECDSA_P256 +} + +union PrivateKeyUnionType = AccessibleEcdsaP256PrivateKey | HdEcdsaP256PrivateKey | HsmEcDsaP256PrivateKey + +"""Product cost details""" +type ProductCostInfo { + """Hourly cost of the product""" + hourlyCost: Float! + + """Month-to-date cost of the product""" + monthToDateCost: Float! + + """Unique identifier of the product""" + product: String! + + """Name of the product""" + productName: String! + + """Runtime of the product in hours""" + runtime: Float! +} + +"""Product price and spec info""" +type ProductInfo { + """Limit specifications for the product""" + limits: ProductSpecLimits! + + """Price information for the product""" + price: ProductPrice! + + """Number of replicas for the product""" + replicas: Int + + """Request specifications for the product""" + requests: ProductSpecRequests! +} + +"""Info on product pricing and specs, per cluster service size""" +type ProductInfoPerClusterServiceSize { + """Product info for large cluster service size""" + LARGE: ProductInfo + + """Product info for medium cluster service size""" + MEDIUM: ProductInfo + + """Product info for small cluster service size""" + SMALL: ProductInfo! +} + +"""Product price""" +type ProductPrice { + """Amount of the product price""" + amount: Float! + + """Currency of the product price""" + currency: String! + + """Unit of the product price""" + unit: String! +} + +"""Product resource limits""" +type ProductSpecLimits { + """CPU limit in millicores""" + cpu: Float! + + """Memory limit in MB""" + mem: Float! + + """Requests per second limit""" + rps: Float! + + """Storage limit in GB""" + storage: Float! +} + +"""Product resource requests""" +type ProductSpecRequests { + """CPU request in millicores""" + cpu: Float! + + """Memory request in MB""" + mem: Float! +} + +type Query { + application(applicationId: ID!): Application! + applicationAccessTokens( + applicationId: String! + + """Maximum number of items to return""" + limit: Int + + """Number of items to skip before starting to collect the result set""" + offset: Int! = 0 + + """Field to order by in ascending order""" + orderByAsc: String + + """Field to order by in descending order""" + orderByDesc: String + ): PaginatedApplicationAccessTokens! + + """Get cost breakdown for application""" + applicationCosts(applicationId: ID!, subtractMonth: Int! = 0): ApplicationCostsInfo! + applicationServiceCount(applicationId: ID!): ApplicationServiceCount! + auditLogs( + """Type of audit log action""" + action: AuditLogAction + + """Unique identifier of the application""" + applicationId: ID! + + """Maximum number of items to return""" + limit: Int + + """Number of items to skip before starting to collect the result set""" + offset: Int! = 0 + + """Field to order by in ascending order""" + orderByAsc: String + + """Field to order by in descending order""" + orderByDesc: String + + """Name of the service""" + service: String + + """End date for filtering by update time""" + updatedAtEndDate: DateTime + + """Start date for filtering by update time""" + updatedAtStartDate: DateTime + + """Unique identifier of the user""" + userId: ID + ): PaginatedAuditLogs! + + """Get a BlockchainNetwork service""" + blockchainNetwork( + """The unique identifier of the entity""" + entityId: ID! + ): BlockchainNetworkType! + + """List the BlockchainNetwork services for an application""" + blockchainNetworks( + """Unique identifier of the application""" + applicationId: ID! + + """Maximum number of items to return""" + limit: Int + + """Number of items to skip before starting to collect the result set""" + offset: Int! = 0 + + """Additional options for listing cluster services""" + options: ListClusterServiceOptions + + """Field to order by in ascending order""" + orderByAsc: String + + """Field to order by in descending order""" + orderByDesc: String + ): PaginatedBlockchainNetworks! + + """Get a BlockchainNode service""" + blockchainNode( + """The unique identifier of the entity""" + entityId: ID! + ): BlockchainNodeType! + + """List the BlockchainNode services for an application""" + blockchainNodes( + """Unique identifier of the application""" + applicationId: ID! + + """Maximum number of items to return""" + limit: Int + + """Number of items to skip before starting to collect the result set""" + offset: Int! = 0 + + """Additional options for listing cluster services""" + options: ListClusterServiceOptions + + """Field to order by in ascending order""" + orderByAsc: String + + """Field to order by in descending order""" + orderByDesc: String + ): PaginatedBlockchainNodes! + + """Can we create a blockchain node in the given network and application""" + canCreateBlockchainNode(applicationId: ID!, blockchainNetworkId: ID!): BlockchainNodeActionChecks! + config: PlatformConfigDto! + + """Get credits for workspace""" + credits(workspaceId: ID!): WorkspaceCreditsInfo! + + """Get a CustomDeployment service""" + customDeployment( + """The unique identifier of the entity""" + entityId: ID! + ): CustomDeployment! + + """List the CustomDeployment services for an application""" + customDeployments( + """Unique identifier of the application""" + applicationId: ID! + + """Maximum number of items to return""" + limit: Int + + """Number of items to skip before starting to collect the result set""" + offset: Int! = 0 + + """Additional options for listing cluster services""" + options: ListClusterServiceOptions + + """Field to order by in ascending order""" + orderByAsc: String + + """Field to order by in descending order""" + orderByDesc: String + ): PaginatedCustomDeployment! + getUseCases: [UseCaseDto!]! + getUser(userId: ID): User! + + """Get a Insights service""" + insights( + """The unique identifier of the entity""" + entityId: ID! + ): InsightsTypeUnion! + + """List the Insights services for an application""" + insightsList( + """Unique identifier of the application""" + applicationId: ID! + + """Maximum number of items to return""" + limit: Int + + """Number of items to skip before starting to collect the result set""" + offset: Int! = 0 + + """Additional options for listing cluster services""" + options: ListClusterServiceOptions + + """Field to order by in ascending order""" + orderByAsc: String + + """Field to order by in descending order""" + orderByDesc: String + ): PaginatedInsightss! + + """Get a Integration service""" + integration( + """The unique identifier of the entity""" + entityId: ID! + ): IntegrationTypeUnion! + + """List the Integration services for an application""" + integrations( + """Unique identifier of the application""" + applicationId: ID! + + """Maximum number of items to return""" + limit: Int + + """Number of items to skip before starting to collect the result set""" + offset: Int! = 0 + + """Additional options for listing cluster services""" + options: ListClusterServiceOptions + + """Field to order by in ascending order""" + orderByAsc: String + + """Field to order by in descending order""" + orderByDesc: String + ): PaginatedIntegrations! + + """Get list of invoices""" + invoices(workspaceId: ID!): [InvoiceInfo!]! + lastCompletedTransfer(workspaceId: ID!): Float + + """Get a LoadBalancer service""" + loadBalancer( + """The unique identifier of the entity""" + entityId: ID! + ): LoadBalancerType! + + """List the LoadBalancer services for an application""" + loadBalancers( + """Unique identifier of the application""" + applicationId: ID! + + """Maximum number of items to return""" + limit: Int + + """Number of items to skip before starting to collect the result set""" + offset: Int! = 0 + + """Additional options for listing cluster services""" + options: ListClusterServiceOptions + + """Field to order by in ascending order""" + orderByAsc: String + + """Field to order by in descending order""" + orderByDesc: String + ): PaginatedLoadBalancers! + metric( + """ID of the application""" + applicationId: ID! + + """ID of the entity""" + entityId: ID! + + """Namespace of the metric""" + namespace: String! + ): Metric! + + """Get a Middleware service""" + middleware( + """The unique identifier of the entity""" + entityId: ID! + ): MiddlewareUnionType! + + """List the Middleware services for an application""" + middlewares( + """Unique identifier of the application""" + applicationId: ID! + + """Maximum number of items to return""" + limit: Int + + """Number of items to skip before starting to collect the result set""" + offset: Int! = 0 + + """Additional options for listing cluster services""" + options: ListClusterServiceOptions + + """Field to order by in ascending order""" + orderByAsc: String + + """Field to order by in descending order""" + orderByDesc: String + ): PaginatedMiddlewares! + personalAccessTokens( + """Maximum number of items to return""" + limit: Int + + """Number of items to skip before starting to collect the result set""" + offset: Int! = 0 + + """Field to order by in ascending order""" + orderByAsc: String + + """Field to order by in descending order""" + orderByDesc: String + ): PaginatedPersonalAccessTokens! + + """Get a PrivateKey service""" + privateKey( + """The unique identifier of the entity""" + entityId: ID! + ): PrivateKeyUnionType! + + """List the PrivateKey services for an application""" + privateKeys( + """Unique identifier of the application""" + applicationId: ID! + + """Maximum number of items to return""" + limit: Int + + """Number of items to skip before starting to collect the result set""" + offset: Int! = 0 + + """Additional options for listing cluster services""" + options: ListClusterServiceOptions + + """Field to order by in ascending order""" + orderByAsc: String + + """Field to order by in descending order""" + orderByDesc: String + ): PaginatedPrivateKeys! + + """ + Get product pricing and specs info for cluster service type, per cluster service size + """ + products(productName: String!): ProductInfoPerClusterServiceSize! + smartContractPortalWebhookEvents( + """Maximum number of items to return""" + limit: Int + + """ID of the middleware""" + middlewareId: ID! + + """Number of items to skip before starting to collect the result set""" + offset: Int! = 0 + + """Field to order by in ascending order""" + orderByAsc: String + + """Field to order by in descending order""" + orderByDesc: String + + """ID of the webhook consumer""" + webhookConsumerId: String! + ): PaginatedSmartContractPortalWebhookEvents! + + """Get a SmartContractSet service""" + smartContractSet( + """The unique identifier of the entity""" + entityId: ID! + ): SmartContractSetType! + + """List the SmartContractSet services for an application""" + smartContractSets( + """Unique identifier of the application""" + applicationId: ID! + + """Maximum number of items to return""" + limit: Int + + """Number of items to skip before starting to collect the result set""" + offset: Int! = 0 + + """Additional options for listing cluster services""" + options: ListClusterServiceOptions + + """Field to order by in ascending order""" + orderByAsc: String + + """Field to order by in descending order""" + orderByDesc: String + ): PaginatedSmartContractSets! + + """Get a Storage service""" + storage( + """The unique identifier of the entity""" + entityId: ID! + ): StorageType! + + """List the Storage services for an application""" + storages( + """Unique identifier of the application""" + applicationId: ID! + + """Maximum number of items to return""" + limit: Int + + """Number of items to skip before starting to collect the result set""" + offset: Int! = 0 + + """Additional options for listing cluster services""" + options: ListClusterServiceOptions + + """Field to order by in ascending order""" + orderByAsc: String + + """Field to order by in descending order""" + orderByDesc: String + ): PaginatedStorages! + userWallet(id: String!): UserWallet! + users( + """Flag to hide internal users""" + hideInternalUsers: Boolean = false + + """Maximum number of items to return""" + limit: Int + + """Number of items to skip before starting to collect the result set""" + offset: Int! = 0 + + """Field to order by in ascending order""" + orderByAsc: String + + """Field to order by in descending order""" + orderByDesc: String + ): PaginatedUsers! + webhookConsumers(middlewareId: ID!): [SmartContractPortalWebhookConsumer!]! + workspace(includeChildren: Boolean, workspaceId: ID!): Workspace! + workspaces(includeChildren: Boolean, includeParent: Boolean, onlyActiveWorkspaces: Boolean, reporting: Boolean): [Workspace!]! +} + +input QuorumGenesisCliqueInput { + """The epoch for the Clique consensus algorithm""" + epoch: Float! + + """The period for the Clique consensus algorithm""" + period: Float! + + """The policy number for the Clique consensus algorithm""" + policy: Float! +} + +type QuorumGenesisCliqueType { + """The epoch for the Clique consensus algorithm""" + epoch: Float! + + """The period for the Clique consensus algorithm""" + period: Float! + + """The policy number for the Clique consensus algorithm""" + policy: Float! +} + +input QuorumGenesisConfigInput { + """Block number for Berlin hard fork""" + berlinBlock: Float + + """Block number for Byzantium hard fork""" + byzantiumBlock: Float + + """The chain ID of the network""" + chainId: Float! + + """Clique consensus configuration""" + clique: QuorumGenesisCliqueInput + + """Block number for Constantinople hard fork""" + constantinopleBlock: Float + + """Block number for EIP-150 hard fork""" + eip150Block: Float + + """Hash for EIP-150 hard fork""" + eip150Hash: String + + """Block number for EIP-155 hard fork""" + eip155Block: Float + + """Block number for EIP-158 hard fork""" + eip158Block: Float + + """Block number for Homestead hard fork""" + homesteadBlock: Float + + """IBFT consensus configuration""" + ibft: QuorumGenesisIBFTInput + + """Indicates if this is a Quorum network""" + isQuorum: Boolean! + + """Block number for Istanbul hard fork""" + istanbulBlock: Float + + """Block number for London hard fork""" + londonBlock: Float + + """Configuration for maximum code size""" + maxCodeSizeConfig: [JSON!]! + + """Block number for Muir Glacier hard fork""" + muirglacierblock: Float + + """Block number for Petersburg hard fork""" + petersburgBlock: Float + + """QBFT consensus configuration""" + qbft: QuorumGenesisQBFTInput + + """Transaction size limit""" + txnSizeLimit: Float! +} + +type QuorumGenesisConfigType { + """Block number for Berlin hard fork""" + berlinBlock: Float + + """Block number for Byzantium hard fork""" + byzantiumBlock: Float + + """The chain ID of the network""" + chainId: Float! + + """Clique consensus configuration""" + clique: QuorumGenesisCliqueType + + """Block number for Constantinople hard fork""" + constantinopleBlock: Float + + """Block number for EIP-150 hard fork""" + eip150Block: Float + + """Hash for EIP-150 hard fork""" + eip150Hash: String + + """Block number for EIP-155 hard fork""" + eip155Block: Float + + """Block number for EIP-158 hard fork""" + eip158Block: Float + + """Block number for Homestead hard fork""" + homesteadBlock: Float + + """IBFT consensus configuration""" + ibft: QuorumGenesisIBFTType + + """Indicates if this is a Quorum network""" + isQuorum: Boolean! + + """Block number for Istanbul hard fork""" + istanbulBlock: Float + + """Block number for London hard fork""" + londonBlock: Float + + """Configuration for maximum code size""" + maxCodeSizeConfig: [JSON!]! + + """Block number for Muir Glacier hard fork""" + muirglacierblock: Float + + """Block number for Petersburg hard fork""" + petersburgBlock: Float + + """QBFT consensus configuration""" + qbft: QuorumGenesisQBFTType + + """Transaction size limit""" + txnSizeLimit: Float! +} + +input QuorumGenesisIBFTInput { + """The block period in seconds for the IBFT consensus algorithm""" + blockperiodseconds: Float! + + """The ceil2Nby3Block number for the IBFT consensus algorithm""" + ceil2Nby3Block: Float! + + """The epoch number for the IBFT consensus algorithm""" + epoch: Float! + + """The policy number for the IBFT consensus algorithm""" + policy: Float! + + """The request timeout in seconds for the IBFT consensus algorithm""" + requesttimeoutseconds: Float! +} + +type QuorumGenesisIBFTType { + """The block period in seconds for the IBFT consensus algorithm""" + blockperiodseconds: Float! + + """The ceil2Nby3Block number for the IBFT consensus algorithm""" + ceil2Nby3Block: Float! + + """The epoch number for the IBFT consensus algorithm""" + epoch: Float! + + """The policy number for the IBFT consensus algorithm""" + policy: Float! + + """The request timeout in seconds for the IBFT consensus algorithm""" + requesttimeoutseconds: Float! +} + +input QuorumGenesisInput { + """Initial state of the blockchain""" + alloc: JSON! + + """ + The 160-bit address to which all rewards (in Ether) collected from the successful mining of this block have been transferred + """ + coinbase: String! + + """Configuration for the Quorum network""" + config: QuorumGenesisConfigInput! + + """Difficulty level of this block""" + difficulty: String! + + """An optional free format data field for arbitrary use""" + extraData: String + + """Current maximum gas expenditure per block""" + gasLimit: String! + + """ + A 256-bit hash which proves combined with the nonce that a sufficient amount of computation has been carried out on this block + """ + mixHash: String! + + """ + A 64-bit value which proves combined with the mix-hash that a sufficient amount of computation has been carried out on this block + """ + nonce: String! + + """The unix timestamp for when the block was collated""" + timestamp: String! +} + +input QuorumGenesisQBFTInput { + """The block period in seconds for the QBFT consensus algorithm""" + blockperiodseconds: Float! + + """The ceil2Nby3Block number for the QBFT consensus algorithm""" + ceil2Nby3Block: Float! + + """The empty block period in seconds for the QBFT consensus algorithm""" + emptyblockperiodseconds: Float! + + """The epoch number for the QBFT consensus algorithm""" + epoch: Float! + + """The policy number for the QBFT consensus algorithm""" + policy: Float! + + """The request timeout in seconds for the QBFT consensus algorithm""" + requesttimeoutseconds: Float! + + """The test QBFT block number""" + testQBFTBlock: Float! +} + +type QuorumGenesisQBFTType { + """The block period in seconds for the QBFT consensus algorithm""" + blockperiodseconds: Float! + + """The ceil2Nby3Block number for the QBFT consensus algorithm""" + ceil2Nby3Block: Float! + + """The empty block period in seconds for the QBFT consensus algorithm""" + emptyblockperiodseconds: Float! + + """The epoch number for the QBFT consensus algorithm""" + epoch: Float! + + """The policy number for the QBFT consensus algorithm""" + policy: Float! + + """The request timeout in seconds for the QBFT consensus algorithm""" + requesttimeoutseconds: Float! + + """The test QBFT block number""" + testQBFTBlock: Float! +} + +type QuorumGenesisType { + """Initial state of the blockchain""" + alloc: JSON! + + """ + The 160-bit address to which all rewards (in Ether) collected from the successful mining of this block have been transferred + """ + coinbase: String! + + """Configuration for the Quorum network""" + config: QuorumGenesisConfigType! + + """Difficulty level of this block""" + difficulty: String! + + """An optional free format data field for arbitrary use""" + extraData: String + + """Current maximum gas expenditure per block""" + gasLimit: String! + + """ + A 256-bit hash which proves combined with the nonce that a sufficient amount of computation has been carried out on this block + """ + mixHash: String! + + """ + A 64-bit value which proves combined with the mix-hash that a sufficient amount of computation has been carried out on this block + """ + nonce: String! + + """The unix timestamp for when the block was collated""" + timestamp: String! +} + +type QuorumQBFTBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + bootnodesDiscoveryConfig: [String!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the blockchain network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """External nodes of the blockchain network""" + externalNodes: [BlockchainNetworkExternalNode!] + + """Date when the service failed""" + failedAt: DateTime! + + """Gas limit for the blockchain network""" + gasLimit: String! + + """Gas price for the blockchain network""" + gasPrice: Int! + + """Genesis configuration for the Quorum blockchain network""" + genesis: QuorumGenesisType! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + + """Maximum code size for smart contracts""" + maxCodeSize: Int! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + + """Number of seconds per block""" + secondsPerBlock: Int! + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Transaction size limit""" + txnSizeLimit: Int! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type QuorumQBFTBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + + """Key material for the blockchain node""" + keyMaterial: AccessibleEcdsaP256PrivateKey + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type RangeDatePoint { + """Unique identifier for the range date point""" + id: ID! + + """Timestamp of the range date point""" + timestamp: Float! + + """Value of the range date point""" + value: Float! +} + +type RangeMetric { + besuGasUsedHour: [RangeDatePoint!]! + besuTransactionsHour: [RangeDatePoint!]! + blockHeight: [RangeDatePoint!]! + blockSize: [RangeDatePoint!]! + computeDay: [RangeDatePoint!]! + computeHour: [RangeDatePoint!]! + computeMonth: [RangeDatePoint!]! + computeWeek: [RangeDatePoint!]! + fabricOrdererNormalProposalsReceivedHour: [RangeDatePoint!]! + fabricPeerLedgerTransactionsHour: [RangeDatePoint!]! + fabricPeerProposalsReceivedHour: [RangeDatePoint!]! + fabricPeerSuccessfulProposalsHour: [RangeDatePoint!]! + failedRpcRequests: [RangeDatePoint!]! + gasLimit: [RangeDatePoint!]! + gasPrice: [RangeDatePoint!]! + gasUsed: [RangeDatePoint!]! + gasUsedPercentage: [RangeDatePoint!]! + gethCliqueTransactionsHour: [RangeDatePoint!]! + + """Unique identifier for the range metric""" + id: ID! + memoryDay: [RangeDatePoint!]! + memoryHour: [RangeDatePoint!]! + memoryMonth: [RangeDatePoint!]! + memoryWeek: [RangeDatePoint!]! + + """Namespace of the range metric""" + namespace: String! + pendingTransactions: [RangeDatePoint!]! + polygonEdgeTransactionsHour: [RangeDatePoint!]! + queuedTransactions: [RangeDatePoint!]! + quorumTransactionsHour: [RangeDatePoint!]! + rpcRequestsPerBackend: [RangeDatePoint!]! + rpcRequestsPerMethod: [RangeDatePoint!]! + smartContractPortalMiddlewareAverageRequestResponseTime: [RangeDatePoint!]! + smartContractPortalMiddlewareFailedRequestCount: [RangeDatePoint!]! + smartContractPortalMiddlewareRequestCount: [RangeDatePoint!]! + storageDay: [RangeDatePoint!]! + storageHour: [RangeDatePoint!]! + storageMonth: [RangeDatePoint!]! + storageWeek: [RangeDatePoint!]! + successRpcRequests: [RangeDatePoint!]! + transactionsPerBlock: [RangeDatePoint!]! +} + +type Receipt { + """The hash of the block where this transaction was in""" + blockHash: String! + + """The block number where this transaction was in""" + blockNumber: Int! + + """True if the transaction was executed on a byzantium or later fork""" + byzantium: Boolean! + + """ + The contract address created, if the transaction was a contract creation, otherwise null + """ + contractAddress: String! + + """ + The total amount of gas used when this transaction was executed in the block + """ + cumulativeGasUsed: String! + + """The sender address of the transaction""" + from: String! + + """The amount of gas used by this specific transaction alone""" + gasUsed: String! + + """Array of log objects that this transaction generated""" + logs: [ReceiptLog!]! + + """A 2048 bit bloom filter from the logs of the transaction""" + logsBloom: String! + + """Either 1 (success) or 0 (failure)""" + status: Int! + + """The recipient address of the transaction""" + to: String + + """The hash of the transaction""" + transactionHash: String! + + """The index of the transaction within the block""" + transactionIndex: Int! +} + +input ReceiptInputType { + """The hash of the block where this transaction was in""" + blockHash: String! + + """The block number where this transaction was in""" + blockNumber: Int! + + """True if the transaction was executed on a byzantium or later fork""" + byzantium: Boolean! + + """ + The contract address created, if the transaction was a contract creation, otherwise null + """ + contractAddress: String! + + """ + The total amount of gas used when this transaction was executed in the block + """ + cumulativeGasUsed: String! + + """The sender address of the transaction""" + from: String! + + """The amount of gas used by this specific transaction alone""" + gasUsed: String! + + """Array of log objects that this transaction generated""" + logs: [ReceiptLogInputType!]! + + """A 2048 bit bloom filter from the logs of the transaction""" + logsBloom: String! + + """Either 1 (success) or 0 (failure)""" + status: Int! + + """The recipient address of the transaction""" + to: String + + """The hash of the transaction""" + transactionHash: String! + + """The index of the transaction within the block""" + transactionIndex: Int! +} + +type ReceiptLog { + """The address of the contract that emitted the log""" + address: String! + + """The hash of the block containing this log""" + blockHash: String! + + """The number of the block containing this log""" + blockNumber: Int! + + """The data included in the log""" + data: String! + + """The index of the log within the block""" + logIndex: Int! + + """An array of 0 to 4 32-byte topics""" + topics: [String!]! + + """The hash of the transaction""" + transactionHash: String! + + """The index of the transaction within the block""" + transactionIndex: Int! +} + +input ReceiptLogInputType { + """The address of the contract that emitted the log""" + address: String! + + """The hash of the block containing this log""" + blockHash: String! + + """The number of the block containing this log""" + blockNumber: Int! + + """The data included in the log""" + data: String! + + """The index of the log within the block""" + logIndex: Int! + + """An array of 0 to 4 32-byte topics""" + topics: [String!]! + + """The hash of the transaction""" + transactionHash: String! + + """The index of the transaction within the block""" + transactionIndex: Int! +} + +interface RelatedService { + """The unique identifier of the related service""" + id: ID! + + """The name of the related service""" + name: String! + + """The type of the related service""" + type: String! +} + +type RequestLog { + """Unique identifier for the request log""" + id: String! + + """Request details""" + request: JSON + + """Response details""" + response: JSON! + + """Timestamp of the request""" + time: DateTime! +} + +"""The role of the user.""" +enum Role { + ADMIN + SUPPORT + TEST + USER +} + +enum Scope { + BLOCKCHAIN_NETWORK + BLOCKCHAIN_NODE + CUSTOM_DEPLOYMENT + INSIGHTS + INTEGRATION + LOAD_BALANCER + MIDDLEWARE + PRIVATE_KEY + SMART_CONTRACT_SET + STORAGE +} + +type SepoliaBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the Sepolia network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Network ID of the Sepolia network""" + networkId: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Public EVM node database name""" + publicEvmNodeDbName: String + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type SepoliaBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type ServiceRef { + """Service ID""" + id: String! + + """Service Reference""" + ref: String! +} + +type ServiceRefMap { + services: [ServiceRef!]! +} + +"""Setup intent information""" +type SetupIntent { + """The client secret for the setup intent""" + client_secret: String! +} + +enum SmartContractLanguage { + CHAINCODE + CORDAPP + SOLIDITY + TEZOS +} + +type SmartContractPortalMiddleware implements AbstractClusterService & AbstractEntity & Middleware { + abis: [SmartContractPortalMiddlewareAbi!]! + + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + blockchainNode: BlockchainNode + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """List of predeployed ABIs to include""" + includePredeployedAbis: [String!] + + """The interface type of the middleware""" + interface: MiddlewareType! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + loadBalancer: LoadBalancer + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """The associated smart contract set""" + smartContractSet: SmartContractSetType + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + storage: StorageType + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type SmartContractPortalMiddlewareAbi { + """The Contract Application Binary Interface (ABI)""" + abi: JSON! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Unique identifier of the entity""" + id: ID! + + """The associated Smart Contract Portal Middleware""" + middleware: SmartContractPortalMiddleware! + + """The name of the ABI""" + name: String! + + """Date and time when the entity was last updated""" + updatedAt: DateTime! +} + +input SmartContractPortalMiddlewareAbiInputDto { + """ABI of the smart contract in JSON format""" + abi: String! + + """Name of the smart contract ABI""" + name: String! +} + +type SmartContractPortalWebhookConsumer { + """API version of the webhook consumer""" + apiVersion: String! + + """Whether the webhook consumer is disabled""" + disabled: Boolean! + + """Error rate of the webhook consumer""" + errorRate: Int! + + """Unique identifier of the webhook consumer""" + id: String! + + """Secret key for the webhook consumer""" + secret: String! + + """Subscribed events for the webhook consumer""" + subscribedEvents: [SmartContractPortalWebhookEvents!]! + + """URL of the webhook consumer""" + url: String! +} + +input SmartContractPortalWebhookConsumerInputDto { + """Array of subscribed webhook events""" + subscribedEvents: [SmartContractPortalWebhookEvents!]! + + """URL of the webhook consumer""" + url: String! +} + +type SmartContractPortalWebhookEvent { + """Creation date of the webhook event""" + createdAt: DateTime! + + """Unique identifier of the webhook event""" + id: String! + + """Name of the webhook event""" + name: String! + + """Payload of the webhook event""" + payload: JSON! + + """Identifier of the webhook consumer""" + webhookConsumer: String! +} + +enum SmartContractPortalWebhookEvents { + TransactionReceipt +} + +interface SmartContractSet implements AbstractClusterService & AbstractEntity { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain node associated with this smart contract set""" + blockchainNode: BlockchainNodeType! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + dependants: [Dependant!]! + dependantsTree: DependantsTree! + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + + """The language of the smart contract set""" + language: SmartContractLanguage! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The product name of the smart contract set""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + + """The use case of the smart contract set""" + useCase: String! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type SmartContractSetDto { + featureflagged: Boolean! + id: ID! + name: String! +} + +"""Scope for smart contract set access""" +type SmartContractSetScope { + """Type of the access token scope""" + type: ApplicationAccessTokenScopeType! + + """Array of service IDs within the scope""" + values: [ID!]! +} + +input SmartContractSetScopeInputType { + """Type of the access token scope""" + type: ApplicationAccessTokenScopeType! + + """Array of service IDs within the scope""" + values: [ID!]! +} + +union SmartContractSetType = CordappSmartContractSet | FabricSmartContractSet | SoliditySmartContractSet | TezosSmartContractSet + +type SmartContractSetsDto { + id: ID! + sets: [SmartContractSetDto!]! +} + +type SoliditySmartContractSet implements AbstractClusterService & AbstractEntity & SmartContractSet { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain node associated with this smart contract set""" + blockchainNode: BlockchainNodeType! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + + """The language of the smart contract set""" + language: SmartContractLanguage! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + + """The use case of the smart contract set""" + useCase: String! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type SoneiumMinatoBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """Chain ID of the Soneium Minato network""" + chainId: Int! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Network ID of the Soneium Minato network""" + networkId: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Public EVM node database name""" + publicEvmNodeDbName: String + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type SoneiumMinatoBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +interface Storage implements AbstractClusterService & AbstractEntity { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + dependants: [Dependant!]! + dependantsTree: DependantsTree! + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The product name of the storage""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """The storage protocol used""" + storageProtocol: StorageProtocol! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type StorageLayout { + """Array of storage slots in the contract""" + storage: [StorageSlot!]! + + """Types used in the storage layout""" + types: JSON! +} + +input StorageLayoutInputType { + """Array of storage slots in the contract""" + storage: [StorageSlotInputType!]! + + """Types used in the storage layout""" + types: JSON! +} + +enum StorageProtocol { + IPFS + MINIO +} + +"""Scope for storage access""" +type StorageScope { + """Type of the access token scope""" + type: ApplicationAccessTokenScopeType! + + """Array of service IDs within the scope""" + values: [ID!]! +} + +input StorageScopeInputType { + """Type of the access token scope""" + type: ApplicationAccessTokenScopeType! + + """Array of service IDs within the scope""" + values: [ID!]! +} + +type StorageSlot { + """The AST ID of the storage slot""" + astId: Int! + + """The contract associated with the storage slot""" + contract: String! + + """The label of the storage slot""" + label: String! + + """The offset of the storage slot""" + offset: Int! + + """The slot of the storage""" + slot: String! + + """The type of the storage slot""" + type: String! +} + +input StorageSlotInputType { + """The AST ID of the storage slot""" + astId: Int! + + """The contract associated with the storage slot""" + contract: String! + + """The label of the storage slot""" + label: String! + + """The offset of the storage slot""" + offset: Int! + + """The slot of the storage""" + slot: String! + + """The type of the storage slot""" + type: String! +} + +union StorageType = IPFSStorage | MinioStorage + +"""Stripe subscription""" +type StripeSubscription { + """End date of the subscription""" + end: DateTime! + + """Unique identifier for the Stripe subscription""" + id: String! + + """Start date of the subscription""" + start: DateTime! + + """Current status of the subscription""" + status: String! +} + +type Subscription { + ApplicationServiceCountChanged(applicationId: ID!): ApplicationServiceCount! + blockchainNetworkAdded(applicationId: ID!): BlockchainNetworkType! + blockchainNetworkAnyChanged(applicationId: ID!): BlockchainNetworkType! + blockchainNetworkChanged(entityId: ID!): BlockchainNetworkType! + blockchainNodeAdded(applicationId: ID!): BlockchainNodeType! + blockchainNodeAnyChanged(applicationId: ID!): BlockchainNodeType! + blockchainNodeChanged(entityId: ID!): BlockchainNodeType! + customDeploymentAdded(applicationId: ID!): CustomDeployment! + customDeploymentAnyChanged(applicationId: ID!): CustomDeployment! + customDeploymentChanged(entityId: ID!): CustomDeployment! + insightsAdded(applicationId: ID!): InsightsTypeUnion! + insightsAnyChanged(applicationId: ID!): InsightsTypeUnion! + insightsChanged(entityId: ID!): InsightsTypeUnion! + integrationAdded(applicationId: ID!): IntegrationTypeUnion! + integrationAnyChanged(applicationId: ID!): IntegrationTypeUnion! + integrationChanged(entityId: ID!): IntegrationTypeUnion! + loadBalancerAdded(applicationId: ID!): LoadBalancerType! + loadBalancerAnyChanged(applicationId: ID!): LoadBalancerType! + loadBalancerChanged(entityId: ID!): LoadBalancerType! + middlewareAdded(applicationId: ID!): MiddlewareUnionType! + middlewareAnyChanged(applicationId: ID!): MiddlewareUnionType! + middlewareChanged(entityId: ID!): MiddlewareUnionType! + privateKeyAdded(applicationId: ID!): PrivateKeyUnionType! + privateKeyAnyChanged(applicationId: ID!): PrivateKeyUnionType! + privateKeyChanged(entityId: ID!): PrivateKeyUnionType! + smartContractSetAdded(applicationId: ID!): SmartContractSetType! + smartContractSetAnyChanged(applicationId: ID!): SmartContractSetType! + smartContractSetChanged(entityId: ID!): SmartContractSetType! + storageAdded(applicationId: ID!): StorageType! + storageAnyChanged(applicationId: ID!): StorageType! + storageChanged(entityId: ID!): StorageType! + userChanged(userId: ID!): User! + workspaceAdded(userId: ID!): Workspace! + workspaceChanged(workspaceId: ID!): Workspace! + workspaceDeleted(userId: ID!): Workspace! +} + +type TezosBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type TezosBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Mnemonic phrase for the Tezos node""" + mnemonic: String! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Passphrase for the Tezos node""" + passphrase: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Public key for the Tezos node""" + publicKey: String! + + """Public key hash for the Tezos node""" + publicKeyHash: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + + """Secret key for the Tezos node""" + secretKey: String! + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type TezosSmartContractSet implements AbstractClusterService & AbstractEntity & SmartContractSet { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain node associated with this smart contract set""" + blockchainNode: BlockchainNodeType! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + + """The language of the smart contract set""" + language: SmartContractLanguage! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + + """The use case of the smart contract set""" + useCase: String! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type TezosTestnetBlockchainNetwork implements AbstractClusterService & AbstractEntity & BlockchainNetwork { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The blockchain nodes associated with this network""" + blockchainNodes: [BlockchainNodeType!]! + canAddValidatingNodes: [Workspace!]! + canInviteWorkspaces: [Workspace!]! + + """The consensus algorithm used by this blockchain network""" + consensusAlgorithm: ConsensusAlgorithm! + contractAddresses: ContractAddresses + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + decryptedFaucetWallet: JSON + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + invites: [BlockchainNetworkInvite!]! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + + """Indicates if this is a public EVM network""" + isPublicEvmNetwork: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """The load balancers associated with this network""" + loadBalancers: [LoadBalancerType!]! + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Name of the service""" + name: String! + namespace: String! + networkInfo: EthMainnetStats + participants: [BlockchainNetworkParticipant!]! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + predeployedContracts: [String!]! + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +type TezosTestnetBlockchainNode implements AbstractClusterService & AbstractEntity & BlockchainNode { + """Advanced deployment configuration""" + advancedDeploymentConfig: AdvancedDeploymentConfig + + """Associated application""" + application: Application! + applicationDashBoardDependantsTree: DependantsTree! + + """The consensus algorithm used by this blockchain node""" + blockchainClient: ConsensusAlgorithm! + blockchainNetwork: BlockchainNetworkType! + + """Get actions that can be performed on the blockchain node""" + clusterServiceActionChecks: BlockchainNodeActionChecks! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Credentials of cluster service""" + credentials: [ClusterServiceCredentials!]! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Dependant services""" + dependants: [Dependant!]! + dependantsTree: DependantsTree! + + """Dependencies of the service""" + dependencies: [Dependency!]! + + """Destroy job identifier""" + destroyJob: String + + """Disk space in GB""" + diskSpace: Int + + """Endpoints of cluster service""" + endpoints: [ClusterServiceEndpoints!]! + + """Entity version""" + entityVersion: Float + + """Date when the service failed""" + failedAt: DateTime! + + """Health status of the service""" + healthStatus: ClusterServiceHealthStatus! + + """Unique identifier of the entity""" + id: ID! + + """Indicates if the pod is handling traffic""" + isPodHandlingTraffic: Boolean! + + """Indicates if the pod is running""" + isPodRunning: Boolean! + jobLogs: [String!]! + jobProgress: Float! + latestVersion: String! + + """CPU limit in millicores""" + limitCpu: Int + + """Memory limit in MB""" + limitMemory: Int + + """Indicates if the service is locked""" + locked: Boolean! + metrics: Metric! + + """Mnemonic phrase for the Tezos testnet node""" + mnemonic: String! + + """Name of the service""" + name: String! + namespace: String! + + """The type of the blockchain node""" + nodeType: NodeType! + + """Passphrase for the Tezos testnet node""" + passphrase: String! + + """Password for the service""" + password: String! + + """Date when the service was paused""" + pausedAt: DateTime + + """The private keys associated with this blockchain node""" + privateKeys: [PrivateKeyUnionType!] + + """Product name of the service""" + productName: String! + + """Provider of the service""" + provider: String! + + """Public key for the Tezos testnet node""" + publicKey: String! + + """Public key hash for the Tezos testnet node""" + publicKeyHash: String! + + """Region of the service""" + region: String! + requestLogs: [RequestLog!]! + + """CPU requests in millicores""" + requestsCpu: Int + + """Memory requests in MB""" + requestsMemory: Int + + """Resource status of the service""" + resourceStatus: ClusterServiceResourceStatus! + + """Date when the service was scaled""" + scaledAt: DateTime + + """Secret key for the Tezos testnet node""" + secretKey: String! + serviceLogs: [String!]! + serviceUrl: String! + + """Size of the service""" + size: ClusterServiceSize! + + """Slug of the service""" + slug: String! + + """Deployment status of the service""" + status: ClusterServiceDeploymentStatus! + + """Type of the service""" + type: ClusterServiceType! + + """Unique name of the service""" + uniqueName: String! + + """Up job identifier""" + upJob: String + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + upgradable: Boolean! + user: User! + + """UUID of the service""" + uuid: String! + + """Version of the service""" + version: String +} + +"""The theme preference of the user.""" +enum Theme { + DARK + LIGHT + SYSTEM +} + +enum TolerationEffect { + NoExecute + NoSchedule + PreferNoSchedule +} + +enum TolerationOperator { + Equal + Exists +} + +enum Tooltip { + WORKSPACE_DROPDOWN_TOOLTIP +} + +type UseCaseDto { + """Use Case Description""" + description: String! + + """Use Case ID""" + id: String! + + """Use Case Name""" + name: String! +} + +"""A user""" +type User { + """The company name of the user""" + company: String + + """The country of the user""" + country: String + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """The email address of the user""" + email: String + + """The feature flags enabled for the user""" + featureFlags: [FeatureFlag!]! + + """The first name of the user""" + firstname: String + + """The HubSpot ID associated with the user""" + hubspotId: String + + """Unique identifier of the entity""" + id: ID! + + """The onboarding status of the user""" + isOnboarded: OnboardingStatus + + """Indicates if the user is a platform admin""" + isPlatformAdmin: Boolean! + + """The language preference of the user""" + languagePreference: Language + + """The date of the user's last login""" + lastLogin: DateTime + + """The last name of the user""" + lastname: String + + """The permissions assigned to the user""" + permissions: [Role!]! + + """The scopes assigned to the user""" + scopes: [String!]! + + """The subject identifier for the user""" + sub: String! + + """The theme preference of the user""" + themePreference: Theme + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + + """The user state information""" + userState: UserState + + """The work email address of the user""" + workEmail: String +} + +type UserState { + """Array of hidden tooltips""" + hiddenTooltips: [Tooltip!] +} + +type UserWallet { + """The address of the wallet""" + address: String! + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """The derivation path of the wallet""" + derivationPath: String! + + """Unique identifier of the entity""" + id: ID! + + """The name of the user wallet""" + name: String! + + """The public key of the wallet""" + publicKey: String! + + """The slug of the wallet""" + slug: String! + + """The unique name of the wallet""" + uniqueName: String! + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + + """The unique identifier of the wallet""" + uuid: String! + + """The index of the wallet""" + walletIndex: Float! +} + +"""A workspace""" +type Workspace { + admins: [User!]! + + """Indicates if the workspace allows children""" + allowChildren: Boolean! + applications: [Application!]! + billing: Billing! + + """The child workspaces""" + childWorkspaces(onlyActiveWorkspaces: Boolean = true): [Workspace!] + + """Date and time when the entity was created""" + createdAt: DateTime! + credits: WorkspaceCreditsInfo! + currentUserRole: WorkspaceMemberRole! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Unique identifier of the entity""" + id: ID! + invites: [WorkspaceInvite!]! + members: [WorkspaceMember!]! + + """The name of the workspace""" + name: String! + owner: User! + + """The parent workspace""" + parentWorkspace: Workspace + + """The slug of the workspace""" + slug: String! + + """The status of the workspace""" + status: WorkspaceStatus + trialAccount: Boolean! + + """Indicates if the workspace is undeletable""" + undeletable: Boolean! + + """The unique name of the workspace""" + uniqueName: String! + + """Date and time when the entity was last updated""" + updatedAt: DateTime! + users: [User!]! + + """The unique identifier of the workspace""" + uuid: String! +} + +"""Workspace running costs""" +type WorkspaceCostsInfo { + """Detailed breakdown of costs by product""" + costsDetails: [ProductCostInfo!]! + + """Breakdown of costs per application""" + costsPerApplication: [ApplicationCostsInfo!]! + + """Total cost from the start of the month to the current date""" + monthToDateCost: Float! + + """End date of the billing period""" + periodEnd: DateTime! + + """Start date of the billing period""" + periodStart: DateTime! + + """Total runtime in seconds""" + runtime: Float! +} + +"""Workspace credits info""" +type WorkspaceCreditsInfo { + """Remaining credits for the workspace""" + remaining: Float! + + """Total credits for the workspace""" + total: Float! + + """Upcoming credits for the workspace""" + upcoming: Float! +} + +"""An invitation to a workspace""" +type WorkspaceInvite { + """The date of joining the workspace""" + acceptedAt: DateTime + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """The email address the invite was sent to""" + email: String! + + """Unique identifier of the entity""" + id: ID! + + """Optional message for the invite""" + message: String + + """The role of the invited member in the workspace""" + role: WorkspaceMemberRole! + + """Date and time when the entity was last updated""" + updatedAt: DateTime! +} + +type WorkspaceMember { + """Unique identifier of the workspace member""" + id: ID! + + """Role of the workspace member""" + role: WorkspaceMemberRole! + + """User associated with the workspace member""" + user: User! +} + +"""The different roles of a member of the organization""" +enum WorkspaceMemberRole { + ADMIN + OWNER + USER +} + +type WorkspaceStatus { + """Indicates if auto-delete is disabled for the workspace""" + autoDeleteDisabled: Boolean + + """Indicates if an auto-delete email has been sent""" + autoDeleteEmailSent: Boolean! + + """Indicates if a warning email for auto-delete has been sent""" + autoDeleteWarningEmailSent: Boolean! + + """Indicates if the workspace is auto-deleted""" + autoDeleted: Boolean! + + """The date when the workspace was auto-deleted""" + autoDeletedAt: DateTime + + """Indicates if the workspace is auto-paused""" + autoPaused: Boolean! + + """The date when the workspace was auto-paused""" + autoPausedAt: DateTime + + """Indicates if an auto-pause email has been sent""" + autoPausedEmailSent: Boolean! + + """The reason for auto-pausing the workspace""" + autoPausedReason: AutoPauseReason + + """Indicates if a warning email for auto-pausing has been sent""" + autoPausedWarningEmailSent: Boolean + + """Indicates if auto-pausing is disabled for the workspace""" + autoPausingDisabled: Boolean + + """Indicates if the workspace is auto-resumed""" + autoResumed: Boolean! + + """The date when the workspace was auto-resumed""" + autoResumedAt: DateTime + + """Indicates if an auto-resume email has been sent""" + autoResumedEmailSent: Boolean! +} + +"""A transfer code to make a workspace the child of another workspace""" +type WorkspaceTransferCode { + """The date when the transfer code was accepted""" + acceptedAt: DateTime + + """Date and time when the entity was created""" + createdAt: DateTime! + + """Date and time when the entity was deleted, if applicable""" + deletedAt: DateTime + + """Indicates if the email has been sent""" + emailSent: Boolean! + + """The expiration date of the transfer code""" + expiresAt: DateTime! + + """Unique identifier of the entity""" + id: ID! + + """Date and time when the entity was last updated""" + updatedAt: DateTime! +} + +enum WorkspaceTransferStatus { + CODE_ALREADY_ACCEPTED + CODE_EXPIRED + CODE_NOT_FOUND + SUCCESS + UNKNOWN +} \ No newline at end of file diff --git a/packages/js/src/fetchers/blockchain-network.ts b/packages/js/src/fetchers/blockchain-network.ts index 56bcc0a34..4856e1ea4 100644 --- a/packages/js/src/fetchers/blockchain-network.ts +++ b/packages/js/src/fetchers/blockchain-network.ts @@ -1,5 +1,6 @@ +import type { ClientOptions } from "@/helpers/client-options.schema.js"; import { type ResultOf, graphql } from "@/helpers/graphql.js"; -import { type Id, IdSchema, type SettleMintClientOptions, validate } from "@/helpers/schemas.js"; +import { type Id, IdSchema, validate } from "@settlemint/sdk-utils/validation"; import type { GraphQLClient } from "graphql-request"; /** @@ -60,7 +61,7 @@ query getBlockchainNetwork($id: ID!) { */ export const blockchainNetworkList = ( gqlClient: GraphQLClient, - options: SettleMintClientOptions, + options: ClientOptions, ): ((applicationId: Id) => Promise) => { return async (applicationId: Id) => { const id = validate(IdSchema, applicationId); @@ -85,7 +86,7 @@ export const blockchainNetworkList = ( */ export const blockchainNetworkRead = ( gqlClient: GraphQLClient, - options: SettleMintClientOptions, + options: ClientOptions, ): ((blockchainNetworkId: Id) => Promise) => { return async (blockchainNetworkId: Id) => { const id = validate(IdSchema, blockchainNetworkId); diff --git a/packages/js/src/fetchers/blockchain-node.ts b/packages/js/src/fetchers/blockchain-node.ts index cef25d63f..921c3d194 100644 --- a/packages/js/src/fetchers/blockchain-node.ts +++ b/packages/js/src/fetchers/blockchain-node.ts @@ -1,5 +1,6 @@ +import type { ClientOptions } from "@/helpers/client-options.schema.js"; import { type ResultOf, graphql } from "@/helpers/graphql.js"; -import { type Id, IdSchema, type SettleMintClientOptions, validate } from "@/helpers/schemas.js"; +import { type Id, IdSchema, validate } from "@settlemint/sdk-utils/validation"; import type { GraphQLClient } from "graphql-request"; /** @@ -70,7 +71,7 @@ query getBlockchainNode($id: ID!) { */ export const blockchainNodeList = ( gqlClient: GraphQLClient, - options: SettleMintClientOptions, + options: ClientOptions, ): ((applicationId: Id) => Promise) => { return async (applicationId: Id) => { const id = validate(IdSchema, applicationId); @@ -95,7 +96,7 @@ export const blockchainNodeList = ( */ export const blockchainNodeRead = ( gqlClient: GraphQLClient, - options: SettleMintClientOptions, + options: ClientOptions, ): ((blockchainNodeId: Id) => Promise) => { return async (blockchainNodeId: Id) => { const id = validate(IdSchema, blockchainNodeId); diff --git a/packages/js/src/fetchers/custom-deployment.ts b/packages/js/src/fetchers/custom-deployment.ts index a9b403ade..99553ab84 100644 --- a/packages/js/src/fetchers/custom-deployment.ts +++ b/packages/js/src/fetchers/custom-deployment.ts @@ -1,5 +1,6 @@ +import type { ClientOptions } from "@/helpers/client-options.schema.js"; import { type ResultOf, graphql } from "@/helpers/graphql.js"; -import { type Id, IdSchema, type SettleMintClientOptions, validate } from "@/helpers/schemas.js"; +import { type Id, IdSchema, validate } from "@settlemint/sdk-utils/validation"; import type { GraphQLClient } from "graphql-request"; /** @@ -70,7 +71,7 @@ query getCustomDeployment($id: ID!) { */ export const customdeploymentList = ( gqlClient: GraphQLClient, - options: SettleMintClientOptions, + options: ClientOptions, ): ((applicationId: Id) => Promise) => { return async (applicationId: Id) => { const id = validate(IdSchema, applicationId); @@ -95,7 +96,7 @@ export const customdeploymentList = ( */ export const customdeploymentRead = ( gqlClient: GraphQLClient, - options: SettleMintClientOptions, + options: ClientOptions, ): ((customdeploymentId: Id) => Promise) => { return async (customdeploymentId: Id) => { const id = validate(IdSchema, customdeploymentId); diff --git a/packages/js/src/fetchers/insights.ts b/packages/js/src/fetchers/insights.ts index db8ad2126..59bd73052 100644 --- a/packages/js/src/fetchers/insights.ts +++ b/packages/js/src/fetchers/insights.ts @@ -1,5 +1,6 @@ +import type { ClientOptions } from "@/helpers/client-options.schema.js"; import { type ResultOf, graphql } from "@/helpers/graphql.js"; -import { type Id, IdSchema, type SettleMintClientOptions, validate } from "@/helpers/schemas.js"; +import { type Id, IdSchema, validate } from "@settlemint/sdk-utils/validation"; import type { GraphQLClient } from "graphql-request"; /** @@ -70,7 +71,7 @@ query getInsights($id: ID!) { */ export const insightsList = ( gqlClient: GraphQLClient, - options: SettleMintClientOptions, + options: ClientOptions, ): ((applicationId: Id) => Promise) => { return async (applicationId: Id) => { const id = validate(IdSchema, applicationId); @@ -95,7 +96,7 @@ export const insightsList = ( */ export const insightsRead = ( gqlClient: GraphQLClient, - options: SettleMintClientOptions, + options: ClientOptions, ): ((insightsId: Id) => Promise) => { return async (insightsId: Id) => { const id = validate(IdSchema, insightsId); diff --git a/packages/js/src/fetchers/integration-tool.ts b/packages/js/src/fetchers/integration-tool.ts index 068a1c5ce..be4279bad 100644 --- a/packages/js/src/fetchers/integration-tool.ts +++ b/packages/js/src/fetchers/integration-tool.ts @@ -1,5 +1,6 @@ +import type { ClientOptions } from "@/helpers/client-options.schema.js"; import { type ResultOf, graphql } from "@/helpers/graphql.js"; -import { type Id, IdSchema, type SettleMintClientOptions, validate } from "@/helpers/schemas.js"; +import { type Id, IdSchema, validate } from "@settlemint/sdk-utils/validation"; import type { GraphQLClient } from "graphql-request"; /** @@ -70,7 +71,7 @@ query getIntegration($id: ID!) { */ export const integrationToolList = ( gqlClient: GraphQLClient, - options: SettleMintClientOptions, + options: ClientOptions, ): ((applicationId: Id) => Promise) => { return async (applicationId: Id) => { const id = validate(IdSchema, applicationId); @@ -95,7 +96,7 @@ export const integrationToolList = ( */ export const integrationToolRead = ( gqlClient: GraphQLClient, - options: SettleMintClientOptions, + options: ClientOptions, ): ((integrationId: Id) => Promise) => { return async (integrationId: Id) => { const id = validate(IdSchema, integrationId); diff --git a/packages/js/src/fetchers/middleware.ts b/packages/js/src/fetchers/middleware.ts index 553893a20..e3b96c8ae 100644 --- a/packages/js/src/fetchers/middleware.ts +++ b/packages/js/src/fetchers/middleware.ts @@ -1,5 +1,6 @@ +import type { ClientOptions } from "@/helpers/client-options.schema.js"; import { type ResultOf, graphql } from "@/helpers/graphql.js"; -import { type Id, IdSchema, type SettleMintClientOptions, validate } from "@/helpers/schemas.js"; +import { type Id, IdSchema, validate } from "@settlemint/sdk-utils/validation"; import type { GraphQLClient } from "graphql-request"; /** @@ -70,7 +71,7 @@ query getMiddleware($id: ID!) { */ export const middlewareList = ( gqlClient: GraphQLClient, - options: SettleMintClientOptions, + options: ClientOptions, ): ((applicationId: Id) => Promise) => { return async (applicationId: Id) => { const id = validate(IdSchema, applicationId); @@ -95,7 +96,7 @@ export const middlewareList = ( */ export const middlewareRead = ( gqlClient: GraphQLClient, - options: SettleMintClientOptions, + options: ClientOptions, ): ((middlewareId: Id) => Promise) => { return async (middlewareId: Id) => { const id = validate(IdSchema, middlewareId); diff --git a/packages/js/src/fetchers/private-key.ts b/packages/js/src/fetchers/private-key.ts index 37728a557..3c5875d4e 100644 --- a/packages/js/src/fetchers/private-key.ts +++ b/packages/js/src/fetchers/private-key.ts @@ -1,5 +1,6 @@ +import type { ClientOptions } from "@/helpers/client-options.schema.js"; import { type ResultOf, graphql } from "@/helpers/graphql.js"; -import { type Id, IdSchema, type SettleMintClientOptions, validate } from "@/helpers/schemas.js"; +import { type Id, IdSchema, validate } from "@settlemint/sdk-utils/validation"; import type { GraphQLClient } from "graphql-request"; /** @@ -60,7 +61,7 @@ query getPrivateKey($id: ID!) { */ export const privateKeyList = ( gqlClient: GraphQLClient, - options: SettleMintClientOptions, + options: ClientOptions, ): ((applicationId: Id) => Promise) => { return async (applicationId: Id) => { const id = validate(IdSchema, applicationId); @@ -85,7 +86,7 @@ export const privateKeyList = ( */ export const privatekeyRead = ( gqlClient: GraphQLClient, - options: SettleMintClientOptions, + options: ClientOptions, ): ((privatekeyId: Id) => Promise) => { return async (privatekeyId: Id) => { const id = validate(IdSchema, privatekeyId); diff --git a/packages/js/src/fetchers/storage.ts b/packages/js/src/fetchers/storage.ts index 9edd397bb..f8ccac3a5 100644 --- a/packages/js/src/fetchers/storage.ts +++ b/packages/js/src/fetchers/storage.ts @@ -1,5 +1,6 @@ +import type { ClientOptions } from "@/helpers/client-options.schema.js"; import { type ResultOf, graphql } from "@/helpers/graphql.js"; -import { type Id, IdSchema, type SettleMintClientOptions, validate } from "@/helpers/schemas.js"; +import { type Id, IdSchema, validate } from "@settlemint/sdk-utils/validation"; import type { GraphQLClient } from "graphql-request"; /** @@ -70,7 +71,7 @@ query getStorage($id: ID!) { */ export const storageList = ( gqlClient: GraphQLClient, - options: SettleMintClientOptions, + options: ClientOptions, ): ((applicationId: Id) => Promise) => { return async (applicationId: Id) => { const id = validate(IdSchema, applicationId); @@ -95,7 +96,7 @@ export const storageList = ( */ export const storageRead = ( gqlClient: GraphQLClient, - options: SettleMintClientOptions, + options: ClientOptions, ): ((storageId: Id) => Promise) => { return async (storageId: Id) => { const id = validate(IdSchema, storageId); diff --git a/packages/js/src/fetchers/workspace.ts b/packages/js/src/fetchers/workspace.ts index 9ca5ccc77..57e13e746 100644 --- a/packages/js/src/fetchers/workspace.ts +++ b/packages/js/src/fetchers/workspace.ts @@ -1,5 +1,6 @@ +import type { ClientOptions } from "@/helpers/client-options.schema.js"; import { type ResultOf, graphql } from "@/helpers/graphql.js"; -import { type Id, IdSchema, type SettleMintClientOptions, validate } from "@/helpers/schemas.js"; +import { type Id, IdSchema, validate } from "@settlemint/sdk-utils/validation"; import type { GraphQLClient } from "graphql-request"; /** @@ -83,10 +84,7 @@ const getWorkspace = graphql( * const client = createSettleMintClient({ ... }); * const workspaces = await client.workspace.list(); */ -export const workspaceList = ( - gqlClient: GraphQLClient, - options: SettleMintClientOptions, -): (() => Promise) => { +export const workspaceList = (gqlClient: GraphQLClient, options: ClientOptions): (() => Promise) => { return async () => { const { workspaces } = await gqlClient.request(getWorkspacesAndApplications); return workspaces; @@ -107,7 +105,7 @@ export const workspaceList = ( */ export const workspaceRead = ( gqlClient: GraphQLClient, - options: SettleMintClientOptions, + options: ClientOptions, ): ((workspaceId: Id) => Promise) => { return async (workspaceId: Id) => { const id = validate(IdSchema, workspaceId); diff --git a/packages/js/src/helpers/client-options.schema.test.ts b/packages/js/src/helpers/client-options.schema.test.ts new file mode 100644 index 000000000..1c0ed62b5 --- /dev/null +++ b/packages/js/src/helpers/client-options.schema.test.ts @@ -0,0 +1,31 @@ +import { describe, expect, test } from "bun:test"; +import { ZodError } from "zod"; +import { ClientOptionsSchema } from "./client-options.schema.js"; + +describe("Schemas", () => { + describe("ClientOptionsSchema", () => { + test("should validate valid client options", () => { + const validOptions = { + accessToken: "btp_pat_validtoken", + instance: "https://example.com", + }; + expect(() => ClientOptionsSchema.parse(validOptions)).not.toThrow(); + }); + + test("should reject invalid access token", () => { + const invalidOptions = { + accessToken: "invalid_token", + instance: "https://example.com", + }; + expect(() => ClientOptionsSchema.parse(invalidOptions)).toThrow(ZodError); + }); + + test("should reject invalid URL", () => { + const invalidOptions = { + accessToken: "btp_pat_validtoken", + instance: "not-a-url", + }; + expect(() => ClientOptionsSchema.parse(invalidOptions)).toThrow(ZodError); + }); + }); +}); diff --git a/packages/js/src/helpers/client-options.schema.ts b/packages/js/src/helpers/client-options.schema.ts new file mode 100644 index 000000000..9219865f6 --- /dev/null +++ b/packages/js/src/helpers/client-options.schema.ts @@ -0,0 +1,15 @@ +import { AccessTokenSchema, UrlSchema } from "@settlemint/sdk-utils/validation"; +import { z } from "zod"; + +/** + * Schema for validating SettleMint client options. + */ +export const ClientOptionsSchema = z.object({ + accessToken: AccessTokenSchema, + instance: UrlSchema, +}); + +/** + * Type definition for SettleMint client options, inferred from ClientOptionsSchema. + */ +export type ClientOptions = z.infer; diff --git a/packages/js/src/helpers/schemas.test.ts b/packages/js/src/helpers/schemas.test.ts deleted file mode 100644 index 98f801197..000000000 --- a/packages/js/src/helpers/schemas.test.ts +++ /dev/null @@ -1,70 +0,0 @@ -import { describe, expect, test } from "bun:test"; -import { ZodError } from "zod"; -import { IdSchema, SettleMintClientOptionsSchema, validate } from "./schemas.js"; - -describe("Schemas", () => { - describe("IdSchema", () => { - test("should validate a valid PostgreSQL UUID", () => { - const validUUID = "550e8400-e29b-41d4-a716-446655440000"; - expect(() => IdSchema.parse(validUUID)).not.toThrow(); - }); - - test("should validate a valid MongoDB ObjectID", () => { - const validObjectID = "507f1f77bcf86cd799439011"; - expect(() => IdSchema.parse(validObjectID)).not.toThrow(); - }); - - test("should reject an invalid ID", () => { - const invalidId = "not-a-valid-id"; - expect(() => IdSchema.parse(invalidId)).toThrow(ZodError); - }); - }); - - describe("SettleMintClientOptionsSchema", () => { - test("should validate valid client options", () => { - const validOptions = { - accessToken: "btp_pat_validtoken", - instance: "https://example.com", - }; - expect(() => SettleMintClientOptionsSchema.parse(validOptions)).not.toThrow(); - }); - - test("should reject invalid access token", () => { - const invalidOptions = { - accessToken: "invalid_token", - instance: "https://example.com", - }; - expect(() => SettleMintClientOptionsSchema.parse(invalidOptions)).toThrow(ZodError); - }); - - test("should reject invalid URL", () => { - const invalidOptions = { - accessToken: "btp_pat_validtoken", - instance: "not-a-url", - }; - expect(() => SettleMintClientOptionsSchema.parse(invalidOptions)).toThrow(ZodError); - }); - }); - - describe("validate function", () => { - test("should return parsed value for valid input", () => { - const validId = "550e8400-e29b-41d4-a716-446655440000"; - expect(validate(IdSchema, validId)).toBe(validId); - }); - - test("should throw formatted error for invalid input", () => { - const invalidId = "not-a-valid-id"; - expect(() => validate(IdSchema, invalidId)).toThrow(/Validation error/); - }); - - test("should handle non-ZodError", () => { - const mockSchema = { - parse: () => { - throw new Error("Non-Zod error"); - }, - }; - // biome-ignore lint/suspicious/noExplicitAny: by design - expect(() => validate(mockSchema as any, "any")).toThrow("Non-Zod error"); - }); - }); -}); diff --git a/packages/js/src/helpers/schemas.ts b/packages/js/src/helpers/schemas.ts deleted file mode 100644 index 5dcf9a5a3..000000000 --- a/packages/js/src/helpers/schemas.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { ZodError, type ZodSchema, z } from "zod"; - -/** - * Schema for validating access tokens. - */ -const AccessTokenSchema = z.string().regex(/^btp_pat_.*|btp_aat_.*$/); - -/** - * Schema for validating URLs. - */ -const UrlSchema = z.string().url(); - -/** - * Schema for validating IDs. Accepts both PostgreSQL UUIDs and MongoDB ObjectIDs. - */ -export const IdSchema = z.union([ - z - .string() - .uuid(), // PostgreSQL UUID - z - .string() - .regex(/^[0-9a-fA-F]{24}$/), // MongoDB ObjectID -]); - -/** - * Type definition for ID, inferred from IdSchema. - */ -export type Id = z.infer; - -/** - * Schema for validating SettleMint client options. - */ -export const SettleMintClientOptionsSchema = z.object({ - accessToken: AccessTokenSchema, - instance: UrlSchema, -}); - -/** - * Type definition for SettleMint client options, inferred from SettleMintClientOptionsSchema. - */ -export type SettleMintClientOptions = z.infer; - -/** - * Validates a value against a given Zod schema. - * - * @param schema - The Zod schema to validate against. - * @param value - The value to validate. - * @returns The validated and parsed value. - * @throws Will throw an error if validation fails, with formatted error messages. - * - * @example - * const validatedId = validate(IdSchema, "550e8400-e29b-41d4-a716-446655440000"); - */ -export function validate(schema: T, value: unknown): T["_output"] { - try { - return schema.parse(value); - } catch (error) { - if (error instanceof ZodError) { - const formattedErrors = error.errors.map((err) => `- ${err.path.join(".")}: ${err.message}`).join("\n"); - throw new Error(`Validation error(s):\n${formattedErrors}`); - } - throw error; // Re-throw if it's not a ZodError - } -} diff --git a/packages/js/src/index.test.ts b/packages/js/src/settlemint.test.ts similarity index 97% rename from packages/js/src/index.test.ts rename to packages/js/src/settlemint.test.ts index a05495c03..ac35110a4 100644 --- a/packages/js/src/index.test.ts +++ b/packages/js/src/settlemint.test.ts @@ -1,5 +1,5 @@ import { describe, expect, test } from "bun:test"; -import { createSettleMintClient } from "./index.js"; +import { createSettleMintClient } from "./settlemint.js"; // Mock the GraphQLClient diff --git a/packages/js/src/index.ts b/packages/js/src/settlemint.ts similarity index 87% rename from packages/js/src/index.ts rename to packages/js/src/settlemint.ts index 22a683a04..9c885c0e4 100644 --- a/packages/js/src/index.ts +++ b/packages/js/src/settlemint.ts @@ -3,6 +3,8 @@ * It includes functions for creating the client and exporting various types used throughout the application. */ +import { ensureServer } from "@settlemint/sdk-utils/runtime"; +import { validate } from "@settlemint/sdk-utils/validation"; import { GraphQLClient } from "graphql-request"; import { blockchainNetworkList, blockchainNetworkRead } from "./fetchers/blockchain-network.js"; import { blockchainNodeList, blockchainNodeRead } from "./fetchers/blockchain-node.js"; @@ -13,14 +15,7 @@ import { middlewareList, middlewareRead } from "./fetchers/middleware.js"; import { privateKeyList, privatekeyRead } from "./fetchers/private-key.js"; import { storageList, storageRead } from "./fetchers/storage.js"; import { workspaceList, workspaceRead } from "./fetchers/workspace.js"; -import { type SettleMintClientOptions, SettleMintClientOptionsSchema, validate } from "./helpers/schemas.js"; - -// Ensure this code only runs on the server -if (typeof window !== "undefined") { - throw new Error( - "SettleMint client can only be used on the server as including it in the browser will expose your access token.", - ); -} +import { type ClientOptions, ClientOptionsSchema } from "./helpers/client-options.schema.js"; /** * Creates a SettleMint client with the provided options. @@ -35,8 +30,10 @@ if (typeof window !== "undefined") { * instance: 'https://console.settlemint.com' * }); */ -export function createSettleMintClient(options: SettleMintClientOptions) { - const validatedOptions = validate(SettleMintClientOptionsSchema, options); +export function createSettleMintClient(options: ClientOptions) { + ensureServer(); + + const validatedOptions = validate(ClientOptionsSchema, options); const gqlClient = new GraphQLClient(`${validatedOptions.instance}/api/graphql`, { headers: { diff --git a/packages/js/tsconfig.json b/packages/js/tsconfig.json index b488acc97..7b803cb94 100644 --- a/packages/js/tsconfig.json +++ b/packages/js/tsconfig.json @@ -20,13 +20,13 @@ "plugins": [ { "name": "@0no-co/graphqlsp", - "schema": "https://console-release.settlemint.com/api/graphql", + "schema": "./schema.graphql", "tadaOutputLocation": "./src/helpers/graphql-env.d.ts", "tadaTurboLocation": "./src/helpers/graphql-cache.d.ts", "trackFieldUsage": false } ] }, - "include": ["src"], + "include": ["src", "../utils/src/validation/schemas.ts", "../utils/src/validation/schemas.test.ts"], "exclude": ["node_modules", "dist"] } diff --git a/packages/js/tsup.config.ts b/packages/js/tsup.config.ts index 6b3527211..cdbcd1c3b 100644 --- a/packages/js/tsup.config.ts +++ b/packages/js/tsup.config.ts @@ -14,7 +14,7 @@ const sharedConfig: Options = { export default defineConfig(({ watch }) => { return [ { - entry: ["src/index.ts"], + entry: ["src/settlemint.ts"], ...sharedConfig, }, ]; diff --git a/packages/thegraph/.gitignore b/packages/thegraph/.gitignore new file mode 100644 index 000000000..e69de29bb diff --git a/packages/thegraph/LICENSE b/packages/thegraph/LICENSE new file mode 100644 index 000000000..d74c76357 --- /dev/null +++ b/packages/thegraph/LICENSE @@ -0,0 +1,110 @@ +# Functional Source License, Version 1.1, MIT Future License + +## Abbreviation + +FSL-1.1-MIT + +## Notice + +Copyright 2024 SettleMint + +## Terms and Conditions + +### Licensor ("We") + +The party offering the Software under these Terms and Conditions. + +### The Software + +The "Software" is each version of the software that we make available under +these Terms and Conditions, as indicated by our inclusion of these Terms and +Conditions with the Software. + +### License Grant + +Subject to your compliance with this License Grant and the Patents, +Redistribution and Trademark clauses below, we hereby grant you the right to +use, copy, modify, create derivative works, publicly perform, publicly display +and redistribute the Software for any Permitted Purpose identified below. + +### Permitted Purpose + +A Permitted Purpose is any purpose other than a Competing Use. A Competing Use +means making the Software available to others in a commercial product or +service that: + +1. substitutes for the Software; + +2. substitutes for any other product or service we offer using the Software + that exists as of the date we make the Software available; or + +3. offers the same or substantially similar functionality as the Software. + +Permitted Purposes specifically include using the Software: + +1. for your internal use and access; + +2. for non-commercial education; + +3. for non-commercial research; and + +4. in connection with professional services that you provide to a licensee + using the Software in accordance with these Terms and Conditions. + +### Patents + +To the extent your use for a Permitted Purpose would necessarily infringe our +patents, the license grant above includes a license under our patents. If you +make a claim against any party that the Software infringes or contributes to +the infringement of any patent, then your patent license to the Software ends +immediately. + +### Redistribution + +The Terms and Conditions apply to all copies, modifications and derivatives of +the Software. + +If you redistribute any copies, modifications or derivatives of the Software, +you must include a copy of or a link to these Terms and Conditions and not +remove any copyright notices provided in or with the Software. + +### Disclaimer + +THE SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTIES OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING WITHOUT LIMITATION WARRANTIES OF FITNESS FOR A PARTICULAR +PURPOSE, MERCHANTABILITY, TITLE OR NON-INFRINGEMENT. + +IN NO EVENT WILL WE HAVE ANY LIABILITY TO YOU ARISING OUT OF OR RELATED TO THE +SOFTWARE, INCLUDING INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES, +EVEN IF WE HAVE BEEN INFORMED OF THEIR POSSIBILITY IN ADVANCE. + +### Trademarks + +Except for displaying the License Details and identifying us as the origin of +the Software, you have no right under these Terms and Conditions to use our +trademarks, trade names, service marks or product names. + +## Grant of Future License + +We hereby irrevocably grant you an additional license to use the Software under +the MIT license that is effective on the second anniversary of the date we make +the Software available. On or after that date, you may use the Software under +the MIT license, in which case the following will apply: + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/packages/thegraph/README.md b/packages/thegraph/README.md new file mode 100644 index 000000000..77fc25444 --- /dev/null +++ b/packages/thegraph/README.md @@ -0,0 +1,172 @@ +

+ SettleMint logo +

SettleMint SDK

+

+ ✨ https://settlemint.com ✨ +
+ Integrate SettleMint into your application with ease. +

+

+ +

+CI status +License +npm +stars +

+ +
+ Documentation +   •   + Discord +   •   + NPM +   •   + Issues +
+
+ +## Table of Contents + +- [Installation](#installation) +- [Usage](#usage) +- [API Reference](#api-reference) +- [Examples](#examples) +- [Contributing](#contributing) +- [License](#license) + +## Installation + +To install the SettleMint SDK, you can use one of the following package managers: + +```bash +# Using npm +npm install @settlemint/sdk + +# Using yarn +yarn add @settlemint/sdk + +# Using pnpm +pnpm add @settlemint/sdk + +# Using Bun +bun add @settlemint/sdk +``` + +We recommend using Bun for faster installation and better performance. + +## Usage + +To use the SettleMint SDK in your Node.js application, follow these steps: + +1. Import the SDK: + +```javascript +import { createSettleMintClient } from '@settlemint/sdk'; +``` + +2. Create a client instance: + +```javascript +const client = createSettleMintClient({ + accessToken: 'your_access_token', + instance: 'https://console.settlemint.com' +}); +``` + +3. Use the client to interact with SettleMint resources: + +```javascript +// Example: List workspaces +const workspaces = await client.workspace.list(); +console.log(workspaces); +``` + +## API Reference + +The SettleMint SDK provides access to various resources. Here's an overview of the available methods: + +### Workspace + +- `workspace.list()`: List all workspaces and their applications +- `workspace.read(workspaceId)`: Read a specific workspace and its applications + +### Blockchain Network + +- `blockchainNetwork.list(applicationId)`: List blockchain networks for a given application +- `blockchainNetwork.read(blockchainNetworkId)`: Read a specific blockchain network + +### Blockchain Node + +- `blockchainNode.list(applicationId)`: List blockchain nodes for a given application +- `blockchainNode.read(blockchainNodeId)`: Read a specific blockchain node + +### Middleware + +- `middleware.list(applicationId)`: List middlewares for a given application +- `middleware.read(middlewareId)`: Read a specific middleware + +### Integration Tool + +- `integrationTool.list(applicationId)`: List integration tools for a given application +- `integrationTool.read(integrationId)`: Read a specific integration tool + +### Storage + +- `storage.list(applicationId)`: List storage items for a given application +- `storage.read(storageId)`: Read a specific storage item + +### Private Key + +- `privateKey.list(applicationId)`: List private keys for a given application +- `privateKey.read(privateKeyId)`: Read a specific private key + +### Insights + +- `insights.list(applicationId)`: List insights for a given application +- `insights.read(insightsId)`: Read a specific insight + +## Examples + +Here are some examples of how to use the SettleMint SDK: + +### List Workspaces + +```javascript +const client = createSettleMintClient({ + accessToken: 'your_access_token', + instance: 'https://console.settlemint.com' +}); + +const workspaces = await client.workspace.list(); +console.log(workspaces); +``` + +### Read a Specific Blockchain Network + +```javascript +const client = createSettleMintClient({ + accessToken: 'your_access_token', + instance: 'https://console.settlemint.com' +}); + +const networkId = 'your_network_id'; +const network = await client.blockchainNetwork.read(networkId); +console.log(network); +``` + +## Contributing + +We welcome contributions to the SettleMint SDK! If you'd like to contribute, please follow these steps: + +1. Fork the repository +2. Create a new branch for your feature or bug fix +3. Make your changes and commit them with a clear commit message +4. Push your changes to your fork +5. Create a pull request to the main repository + +Please ensure that your code follows the existing style and includes appropriate tests and documentation. + +## License + +The SettleMint SDK is released under the [FSL Software License](https://fsl.software). See the [LICENSE](LICENSE) file for more details. \ No newline at end of file diff --git a/packages/thegraph/knip.json b/packages/thegraph/knip.json new file mode 100644 index 000000000..dc6220535 --- /dev/null +++ b/packages/thegraph/knip.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://unpkg.com/knip@5/schema.json", + "ignoreDependencies": [], + "ignore": ["dist/**"], + "entry": ["src/settlemint.ts"] +} diff --git a/packages/thegraph/package.json b/packages/thegraph/package.json new file mode 100644 index 000000000..c17785552 --- /dev/null +++ b/packages/thegraph/package.json @@ -0,0 +1,59 @@ +{ + "name": "@settlemint/sdk-thegraph", + "description": "SettleMint SDK, integrate SettleMint into your application with ease.", + "version": "0.0.1", + "type": "module", + "private": false, + "license": "FSL-1.1-MIT", + "author": { + "name": "SettleMint", + "email": "support@settlemint.com", + "url": "https://settlemint.com" + }, + "homepage": "https://github.com/settlemint/sdk/blob/main/packages/js/README.md", + "repository": { + "type": "git", + "url": "git+https://github.com/settlemint/sdk.git", + "directory": "packages/thegraph" + }, + "bugs": { + "url": "https://github.com/settlemint/sdk/issues", + "email": "support@settlemint.com" + }, + "files": ["dist"], + "main": "./dist/thegraph.cjs", + "module": "./dist/thegraph.mjs", + "types": "./dist/thegraph.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "types": "./dist/thegraph.d.ts", + "default": "./dist/thegraph.mjs" + }, + "require": { + "types": "./dist/thegraph.d.cts", + "default": "./dist/thegraph.cjs" + } + } + }, + "scripts": { + "build": "tsup-node", + "dev": "tsup-node --watch", + "publint": "publint run --strict", + "attw": "attw --pack .", + "test": "bun test", + "test:coverage": "bun test --coverage", + "typecheck": "tsc --noEmit" + }, + "devDependencies": {}, + "dependencies": { + "@settlemint/sdk-utils": "workspace:*", + "graphql-request": "^7", + "zod": "^3" + }, + "peerDependencies": {}, + "engines": { + "node": ">=20" + } +} diff --git a/packages/thegraph/src/helpers/client-options.schema.ts b/packages/thegraph/src/helpers/client-options.schema.ts new file mode 100644 index 000000000..edfa38c03 --- /dev/null +++ b/packages/thegraph/src/helpers/client-options.schema.ts @@ -0,0 +1,28 @@ +import { AccessTokenSchema, UrlSchema } from "@settlemint/sdk-utils/validation"; +import { z } from "zod"; + +/** + * Schema for validating client options for the Hasura client. + */ +export const ClientOptionsSchema = z.object({ + instance: UrlSchema, + subgraph: z.string(), +}); + +/** + * Type definition for client options derived from the ClientOptionsSchema. + */ +export type ClientOptions = z.infer; + +/** + * Schema for validating server client options for the Hasura client. + * Extends the ClientOptionsSchema with additional server-specific fields. + */ +export const ServerClientOptionsSchema = ClientOptionsSchema.extend({ + accessToken: AccessTokenSchema, +}); + +/** + * Type definition for server client options derived from the ServerClientOptionsSchema. + */ +export type ServerClientOptions = z.infer; diff --git a/packages/thegraph/src/thegraph.ts b/packages/thegraph/src/thegraph.ts new file mode 100644 index 000000000..7da13a239 --- /dev/null +++ b/packages/thegraph/src/thegraph.ts @@ -0,0 +1,89 @@ +import { ensureServer } from "@settlemint/sdk-utils/runtime"; +import { validate } from "@settlemint/sdk-utils/validation"; +import { type AbstractSetupSchema, initGraphQLTada } from "gql.tada"; +import { GraphQLClient } from "graphql-request"; +import { type ClientOptions, ClientOptionsSchema, ServerClientOptionsSchema } from "./helpers/client-options.schema.js"; + +export type RequestConfig = ConstructorParameters[1]; + +/** + * Creates a The Graph client for client-side use. + * + * @param options - The client options for configuring the The Graph client. + * @param requestConfig - Optional configuration for GraphQL requests. + * @returns An object containing the GraphQL client and the initialized graphql function. + * @throws Will throw an error if the options fail validation. + * + * @example + * const { client, graphql } = createTheGraphClient<{ + * introspection: introspection; + * disableMasking: true; + * scalars: { + * DateTime: Date; + * JSON: Record; + * }; + * }>({ + * instance: 'https://your-thegraph-instance.com', + * }); + */ +export function createTheGraphClient( + options: ClientOptions, + requestConfig?: RequestConfig, +) { + const validatedOptions = validate(ClientOptionsSchema, options); + + const graphql = initGraphQLTada(); + + return { + client: new GraphQLClient( + `${validatedOptions.instance}/subgraphs/name/${validatedOptions.subgraph}`, + requestConfig, + ), + graphql, + }; +} + +/** + * Creates a The Graph client for server-side use with additional authentication. + * + * @param options - The server client options for configuring the The Graph client. + * @param requestConfig - Optional configuration for GraphQL requests. + * @returns An object containing the GraphQL client and the initialized graphql function. + * @throws Will throw an error if not called on the server or if the options fail validation. + * + * @example + * const { client, graphql } = createServerTheGraphClient<{ + * introspection: introspection; + * disableMasking: true; + * scalars: { + * DateTime: Date; + * JSON: Record; + * }; + * }>({ + * instance: 'https://your-thegraph-instance.com', + * accessToken: 'your-access-token', + * }); + */ +export function createServerTheGraphClient( + options: ClientOptions, + requestConfig?: RequestConfig, +) { + ensureServer(); + const validatedOptions = validate(ServerClientOptionsSchema, options); + + const graphql = initGraphQLTada(); + + return { + client: new GraphQLClient(`${validatedOptions.instance}/subgraphs/name/${validatedOptions.subgraph}`, { + ...requestConfig, + headers: { + ...requestConfig?.headers, + "x-auth-token": validatedOptions.accessToken, + }, + }), + graphql, + }; +} + +export { readFragment } from "gql.tada"; +export type { FragmentOf, ResultOf, VariablesOf } from "gql.tada"; diff --git a/packages/thegraph/tsconfig.json b/packages/thegraph/tsconfig.json new file mode 100644 index 000000000..136719a44 --- /dev/null +++ b/packages/thegraph/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "declaration": true, + "esModuleInterop": true, + "isolatedModules": true, + "lib": ["es2022", "DOM", "DOM.Iterable"], + "module": "NodeNext", + "moduleResolution": "NodeNext", + "noUncheckedIndexedAccess": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "strict": true, + "target": "ES2022", + "outDir": "dist", + "jsx": "react-jsx", + "noEmit": true, + "paths": { + "@/*": ["./src/*"] + } + }, + "include": ["src"], + "exclude": ["node_modules", "dist"] +} diff --git a/packages/thegraph/tsup.config.ts b/packages/thegraph/tsup.config.ts new file mode 100644 index 000000000..c1e887725 --- /dev/null +++ b/packages/thegraph/tsup.config.ts @@ -0,0 +1,21 @@ +import { type Options, defineConfig } from "tsup"; + +const sharedConfig: Options = { + sourcemap: true, + dts: true, + splitting: false, + treeshake: false, + format: ["cjs", "esm"], + outExtension: ({ format }) => ({ + js: format === "esm" ? ".mjs" : ".cjs", + }), +}; + +export default defineConfig(({ watch }) => { + return [ + { + entry: ["src/thegraph.ts"], + ...sharedConfig, + }, + ]; +}); diff --git a/packages/utils/.gitignore b/packages/utils/.gitignore new file mode 100644 index 000000000..e69de29bb diff --git a/packages/utils/LICENSE b/packages/utils/LICENSE new file mode 100644 index 000000000..d74c76357 --- /dev/null +++ b/packages/utils/LICENSE @@ -0,0 +1,110 @@ +# Functional Source License, Version 1.1, MIT Future License + +## Abbreviation + +FSL-1.1-MIT + +## Notice + +Copyright 2024 SettleMint + +## Terms and Conditions + +### Licensor ("We") + +The party offering the Software under these Terms and Conditions. + +### The Software + +The "Software" is each version of the software that we make available under +these Terms and Conditions, as indicated by our inclusion of these Terms and +Conditions with the Software. + +### License Grant + +Subject to your compliance with this License Grant and the Patents, +Redistribution and Trademark clauses below, we hereby grant you the right to +use, copy, modify, create derivative works, publicly perform, publicly display +and redistribute the Software for any Permitted Purpose identified below. + +### Permitted Purpose + +A Permitted Purpose is any purpose other than a Competing Use. A Competing Use +means making the Software available to others in a commercial product or +service that: + +1. substitutes for the Software; + +2. substitutes for any other product or service we offer using the Software + that exists as of the date we make the Software available; or + +3. offers the same or substantially similar functionality as the Software. + +Permitted Purposes specifically include using the Software: + +1. for your internal use and access; + +2. for non-commercial education; + +3. for non-commercial research; and + +4. in connection with professional services that you provide to a licensee + using the Software in accordance with these Terms and Conditions. + +### Patents + +To the extent your use for a Permitted Purpose would necessarily infringe our +patents, the license grant above includes a license under our patents. If you +make a claim against any party that the Software infringes or contributes to +the infringement of any patent, then your patent license to the Software ends +immediately. + +### Redistribution + +The Terms and Conditions apply to all copies, modifications and derivatives of +the Software. + +If you redistribute any copies, modifications or derivatives of the Software, +you must include a copy of or a link to these Terms and Conditions and not +remove any copyright notices provided in or with the Software. + +### Disclaimer + +THE SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTIES OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING WITHOUT LIMITATION WARRANTIES OF FITNESS FOR A PARTICULAR +PURPOSE, MERCHANTABILITY, TITLE OR NON-INFRINGEMENT. + +IN NO EVENT WILL WE HAVE ANY LIABILITY TO YOU ARISING OUT OF OR RELATED TO THE +SOFTWARE, INCLUDING INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES, +EVEN IF WE HAVE BEEN INFORMED OF THEIR POSSIBILITY IN ADVANCE. + +### Trademarks + +Except for displaying the License Details and identifying us as the origin of +the Software, you have no right under these Terms and Conditions to use our +trademarks, trade names, service marks or product names. + +## Grant of Future License + +We hereby irrevocably grant you an additional license to use the Software under +the MIT license that is effective on the second anniversary of the date we make +the Software available. On or after that date, you may use the Software under +the MIT license, in which case the following will apply: + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/packages/utils/README.md b/packages/utils/README.md new file mode 100644 index 000000000..77fc25444 --- /dev/null +++ b/packages/utils/README.md @@ -0,0 +1,172 @@ +

+ SettleMint logo +

SettleMint SDK

+

+ ✨ https://settlemint.com ✨ +
+ Integrate SettleMint into your application with ease. +

+

+ +

+CI status +License +npm +stars +

+ +
+ Documentation +   •   + Discord +   •   + NPM +   •   + Issues +
+
+ +## Table of Contents + +- [Installation](#installation) +- [Usage](#usage) +- [API Reference](#api-reference) +- [Examples](#examples) +- [Contributing](#contributing) +- [License](#license) + +## Installation + +To install the SettleMint SDK, you can use one of the following package managers: + +```bash +# Using npm +npm install @settlemint/sdk + +# Using yarn +yarn add @settlemint/sdk + +# Using pnpm +pnpm add @settlemint/sdk + +# Using Bun +bun add @settlemint/sdk +``` + +We recommend using Bun for faster installation and better performance. + +## Usage + +To use the SettleMint SDK in your Node.js application, follow these steps: + +1. Import the SDK: + +```javascript +import { createSettleMintClient } from '@settlemint/sdk'; +``` + +2. Create a client instance: + +```javascript +const client = createSettleMintClient({ + accessToken: 'your_access_token', + instance: 'https://console.settlemint.com' +}); +``` + +3. Use the client to interact with SettleMint resources: + +```javascript +// Example: List workspaces +const workspaces = await client.workspace.list(); +console.log(workspaces); +``` + +## API Reference + +The SettleMint SDK provides access to various resources. Here's an overview of the available methods: + +### Workspace + +- `workspace.list()`: List all workspaces and their applications +- `workspace.read(workspaceId)`: Read a specific workspace and its applications + +### Blockchain Network + +- `blockchainNetwork.list(applicationId)`: List blockchain networks for a given application +- `blockchainNetwork.read(blockchainNetworkId)`: Read a specific blockchain network + +### Blockchain Node + +- `blockchainNode.list(applicationId)`: List blockchain nodes for a given application +- `blockchainNode.read(blockchainNodeId)`: Read a specific blockchain node + +### Middleware + +- `middleware.list(applicationId)`: List middlewares for a given application +- `middleware.read(middlewareId)`: Read a specific middleware + +### Integration Tool + +- `integrationTool.list(applicationId)`: List integration tools for a given application +- `integrationTool.read(integrationId)`: Read a specific integration tool + +### Storage + +- `storage.list(applicationId)`: List storage items for a given application +- `storage.read(storageId)`: Read a specific storage item + +### Private Key + +- `privateKey.list(applicationId)`: List private keys for a given application +- `privateKey.read(privateKeyId)`: Read a specific private key + +### Insights + +- `insights.list(applicationId)`: List insights for a given application +- `insights.read(insightsId)`: Read a specific insight + +## Examples + +Here are some examples of how to use the SettleMint SDK: + +### List Workspaces + +```javascript +const client = createSettleMintClient({ + accessToken: 'your_access_token', + instance: 'https://console.settlemint.com' +}); + +const workspaces = await client.workspace.list(); +console.log(workspaces); +``` + +### Read a Specific Blockchain Network + +```javascript +const client = createSettleMintClient({ + accessToken: 'your_access_token', + instance: 'https://console.settlemint.com' +}); + +const networkId = 'your_network_id'; +const network = await client.blockchainNetwork.read(networkId); +console.log(network); +``` + +## Contributing + +We welcome contributions to the SettleMint SDK! If you'd like to contribute, please follow these steps: + +1. Fork the repository +2. Create a new branch for your feature or bug fix +3. Make your changes and commit them with a clear commit message +4. Push your changes to your fork +5. Create a pull request to the main repository + +Please ensure that your code follows the existing style and includes appropriate tests and documentation. + +## License + +The SettleMint SDK is released under the [FSL Software License](https://fsl.software). See the [LICENSE](LICENSE) file for more details. \ No newline at end of file diff --git a/packages/utils/knip.json b/packages/utils/knip.json new file mode 100644 index 000000000..dc6220535 --- /dev/null +++ b/packages/utils/knip.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://unpkg.com/knip@5/schema.json", + "ignoreDependencies": [], + "ignore": ["dist/**"], + "entry": ["src/settlemint.ts"] +} diff --git a/packages/utils/package.json b/packages/utils/package.json new file mode 100644 index 000000000..daa244cd4 --- /dev/null +++ b/packages/utils/package.json @@ -0,0 +1,65 @@ +{ + "name": "@settlemint/sdk-utils", + "description": "SettleMint SDK, integrate SettleMint into your application with ease.", + "version": "0.0.1", + "type": "module", + "private": false, + "license": "FSL-1.1-MIT", + "author": { + "name": "SettleMint", + "email": "support@settlemint.com", + "url": "https://settlemint.com" + }, + "homepage": "https://github.com/settlemint/sdk/blob/main/packages/js/README.md", + "repository": { + "type": "git", + "url": "git+https://github.com/settlemint/sdk.git", + "directory": "packages/codegen" + }, + "bugs": { + "url": "https://github.com/settlemint/sdk/issues", + "email": "support@settlemint.com" + }, + "files": ["dist"], + "main": "./dist/index.cjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "types": "./dist/index.d.ts", + "default": "./dist/index.mjs" + }, + "require": { + "types": "./dist/index.d.cts", + "default": "./dist/index.cjs" + } + }, + "./*": { + "import": { + "types": "./dist/*.d.ts", + "default": "./dist/*.mjs" + }, + "require": { + "types": "./dist/*.d.cts", + "default": "./dist/*.cjs" + } + } + }, + "scripts": { + "build": "tsup-node", + "dev": "tsup-node --watch", + "publint": "publint run --strict", + "attw": "attw --pack .", + "test": "bun test", + "test:coverage": "bun test --coverage", + "typecheck": "tsc --noEmit" + }, + "devDependencies": {}, + "dependencies": { "@antfu/ni": "^0.23.0" }, + "peerDependencies": {}, + "engines": { + "node": ">=20" + } +} diff --git a/packages/utils/src/filesystem.ts b/packages/utils/src/filesystem.ts new file mode 100644 index 000000000..816582a48 --- /dev/null +++ b/packages/utils/src/filesystem.ts @@ -0,0 +1 @@ +export { ensureFolder } from "./filesystem/ensure-folder.js"; diff --git a/packages/utils/src/filesystem/ensure-folder.ts b/packages/utils/src/filesystem/ensure-folder.ts new file mode 100644 index 000000000..364c1f169 --- /dev/null +++ b/packages/utils/src/filesystem/ensure-folder.ts @@ -0,0 +1,10 @@ +import { existsSync, mkdirSync } from "node:fs"; +import { dirname } from "node:path"; + +export function ensureFolder(path: string) { + // Create the output directory if it doesn't exist + const outputDir = dirname(path); + if (!existsSync(outputDir)) { + mkdirSync(outputDir, { recursive: true }); + } +} diff --git a/packages/utils/src/index.ts b/packages/utils/src/index.ts new file mode 100644 index 000000000..eb0dd8fae --- /dev/null +++ b/packages/utils/src/index.ts @@ -0,0 +1,4 @@ +export * from "./filesystem.js"; +export * from "./package-manager.js"; +export * from "./runtime.js"; +export * from "./validation.js"; diff --git a/packages/utils/src/package-manager.ts b/packages/utils/src/package-manager.ts new file mode 100644 index 000000000..c02308de9 --- /dev/null +++ b/packages/utils/src/package-manager.ts @@ -0,0 +1 @@ +export { getPackageManager } from "./package-manager/get-package-manager.js"; diff --git a/packages/utils/src/package-manager/get-package-manager.ts b/packages/utils/src/package-manager/get-package-manager.ts new file mode 100644 index 000000000..097480537 --- /dev/null +++ b/packages/utils/src/package-manager/get-package-manager.ts @@ -0,0 +1,11 @@ +import { detect } from "@antfu/ni"; + +export async function getPackageManager(targetDir: string): Promise<"yarn" | "pnpm" | "bun" | "npm"> { + const packageManager = await detect({ programmatic: true, cwd: targetDir }); + + if (packageManager === "yarn@berry") return "yarn"; + if (packageManager === "pnpm@6") return "pnpm"; + if (packageManager === "bun") return "bun"; + + return packageManager ?? "npm"; +} diff --git a/packages/utils/src/runtime.ts b/packages/utils/src/runtime.ts new file mode 100644 index 000000000..8326ddede --- /dev/null +++ b/packages/utils/src/runtime.ts @@ -0,0 +1 @@ +export { ensureServer } from "./runtime/ensure-server.js"; diff --git a/packages/utils/src/runtime/ensure-server.ts b/packages/utils/src/runtime/ensure-server.ts new file mode 100644 index 000000000..e930c9df1 --- /dev/null +++ b/packages/utils/src/runtime/ensure-server.ts @@ -0,0 +1,7 @@ +export function ensureServer() { + if (typeof window !== "undefined") { + throw new Error( + "createServerHasuraClient can only be used on the server as including it in the browser will expose your access token.", + ); + } +} diff --git a/packages/utils/src/validation.ts b/packages/utils/src/validation.ts new file mode 100644 index 000000000..6f7608161 --- /dev/null +++ b/packages/utils/src/validation.ts @@ -0,0 +1,28 @@ +import { ZodError, type ZodSchema } from "zod"; + +/** + * Validates a value against a given Zod schema. + * + * @param schema - The Zod schema to validate against. + * @param value - The value to validate. + * @returns The validated and parsed value. + * @throws Will throw an error if validation fails, with formatted error messages. + * + * @example + * const validatedId = validate(IdSchema, "550e8400-e29b-41d4-a716-446655440000"); + */ +export function validate(schema: T, value: unknown): T["_output"] { + try { + return schema.parse(value); + } catch (error) { + if (error instanceof ZodError) { + const formattedErrors = error.errors.map((err) => `- ${err.path.join(".")}: ${err.message}`).join("\n"); + throw new Error(`Validation error(s):\n${formattedErrors}`); + } + throw error; // Re-throw if it's not a ZodError + } +} + +export { AccessTokenSchema, type AccessToken } from "./validation/access-token.schema.js"; +export { IdSchema, type Id } from "./validation/id.schema.js"; +export { UrlSchema, type Url } from "./validation/url.schema.js"; diff --git a/packages/utils/src/validation/access-token.schema.test.ts b/packages/utils/src/validation/access-token.schema.test.ts new file mode 100644 index 000000000..4fd20ac06 --- /dev/null +++ b/packages/utils/src/validation/access-token.schema.test.ts @@ -0,0 +1,12 @@ +import { describe, expect, test } from "bun:test"; +import { AccessTokenSchema } from "./access-token.schema.js"; + +describe("AccessTokenSchema", () => { + test("should validate correct access token formats", () => { + const validTokens = ["btp_pat_abc123", "btp_aat_xyz789"]; + + for (const token of validTokens) { + expect(AccessTokenSchema.safeParse(token).success).toBe(true); + } + }); +}); diff --git a/packages/utils/src/validation/access-token.schema.ts b/packages/utils/src/validation/access-token.schema.ts new file mode 100644 index 000000000..18fa1c965 --- /dev/null +++ b/packages/utils/src/validation/access-token.schema.ts @@ -0,0 +1,6 @@ +import { z } from "zod"; +/** + * Schema for validating access tokens. + */ +export const AccessTokenSchema = z.string().regex(/^btp_pat_.*|btp_aat_.*$/); +export type AccessToken = z.infer; diff --git a/packages/utils/src/validation/id.schema.test.ts b/packages/utils/src/validation/id.schema.test.ts new file mode 100644 index 000000000..f4a8dcec6 --- /dev/null +++ b/packages/utils/src/validation/id.schema.test.ts @@ -0,0 +1,40 @@ +import { describe, expect, test } from "bun:test"; +import { ZodError } from "zod"; +import { IdSchema } from "./id.schema.js"; + +describe("IdSchema", () => { + test("should validate a valid PostgreSQL UUID", () => { + const validUUID = "550e8400-e29b-41d4-a716-446655440000"; + expect(() => IdSchema.parse(validUUID)).not.toThrow(); + }); + + test("should validate a valid MongoDB ObjectID", () => { + const validObjectID = "507f1f77bcf86cd799439011"; + expect(() => IdSchema.parse(validObjectID)).not.toThrow(); + }); + + test("should reject an invalid ID", () => { + const invalidIds = [ + "not-a-valid-id", + "123", + "", + "550e8400-e29b-41d4-a716-44665544000", // UUID too short + "550e8400-e29b-41d4-a716-4466554400000", // UUID too long + "507f1f77bcf86cd79943901", // ObjectID too short + "507f1f77bcf86cd7994390111", // ObjectID too long + "507f1f77bcf86cd79943901g", // ObjectID with invalid character + ]; + + for (const invalidId of invalidIds) { + expect(() => IdSchema.parse(invalidId)).toThrow(ZodError); + } + }); + + test("should reject non-string inputs", () => { + const invalidInputs = [null, undefined, 123, true, {}, []]; + + for (const invalidInput of invalidInputs) { + expect(() => IdSchema.parse(invalidInput)).toThrow(ZodError); + } + }); +}); diff --git a/packages/utils/src/validation/id.schema.ts b/packages/utils/src/validation/id.schema.ts new file mode 100644 index 000000000..46539ea06 --- /dev/null +++ b/packages/utils/src/validation/id.schema.ts @@ -0,0 +1,17 @@ +import { z } from "zod"; +/** + * Schema for validating IDs. Accepts both PostgreSQL UUIDs and MongoDB ObjectIDs. + */ +export const IdSchema = z.union([ + z + .string() + .uuid(), // PostgreSQL UUID + z + .string() + .regex(/^[0-9a-fA-F]{24}$/), // MongoDB ObjectID +]); + +/** + * Type definition for ID, inferred from IdSchema. + */ +export type Id = z.infer; diff --git a/packages/utils/src/validation/url.schema.ts b/packages/utils/src/validation/url.schema.ts new file mode 100644 index 000000000..8a9a5a733 --- /dev/null +++ b/packages/utils/src/validation/url.schema.ts @@ -0,0 +1,6 @@ +import { z } from "zod"; +/** + * Schema for validating URLs. + */ +export const UrlSchema = z.string().url(); +export type Url = z.infer; diff --git a/packages/utils/tsconfig.json b/packages/utils/tsconfig.json new file mode 100644 index 000000000..136719a44 --- /dev/null +++ b/packages/utils/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "declaration": true, + "esModuleInterop": true, + "isolatedModules": true, + "lib": ["es2022", "DOM", "DOM.Iterable"], + "module": "NodeNext", + "moduleResolution": "NodeNext", + "noUncheckedIndexedAccess": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "strict": true, + "target": "ES2022", + "outDir": "dist", + "jsx": "react-jsx", + "noEmit": true, + "paths": { + "@/*": ["./src/*"] + } + }, + "include": ["src"], + "exclude": ["node_modules", "dist"] +} diff --git a/packages/utils/tsup.config.ts b/packages/utils/tsup.config.ts new file mode 100644 index 000000000..e9739d343 --- /dev/null +++ b/packages/utils/tsup.config.ts @@ -0,0 +1,37 @@ +import { type Options, defineConfig } from "tsup"; + +const sharedConfig: Options = { + sourcemap: true, + dts: true, + splitting: false, + treeshake: false, + format: ["cjs", "esm"], + outExtension: ({ format }) => ({ + js: format === "esm" ? ".mjs" : ".cjs", + }), +}; + +export default defineConfig(({ watch }) => { + return [ + { + entry: ["src/index.ts"], + ...sharedConfig, + }, + { + entry: ["src/package-manager.ts"], + ...sharedConfig, + }, + { + entry: ["src/validation.ts"], + ...sharedConfig, + }, + { + entry: ["src/filesystem.ts"], + ...sharedConfig, + }, + { + entry: ["src/runtime.ts"], + ...sharedConfig, + }, + ]; +}); diff --git a/turbo.json b/turbo.json index 6d1ed41d6..0de3377fe 100644 --- a/turbo.json +++ b/turbo.json @@ -49,8 +49,12 @@ "cache": false, "persistent": true }, - "test": {}, - "test:coverage": {}, + "test": { + "dependsOn": ["^build"] + }, + "test:coverage": { + "dependsOn": ["^build"] + }, "translate": { "inputs": ["messages/**"] }