lol

Merge staging-next into staging

authored by

github-actions[bot] and committed by
GitHub
976e1e4c fb96f99c

+2363 -454
+1
.github/workflows/manual-nixpkgs.yml
··· 8 8 - master 9 9 paths: 10 10 - 'doc/**' 11 + - 'lib/**' 11 12 12 13 jobs: 13 14 nixpkgs:
+5 -7
lib/options.nix
··· 110 110 /* Creates an Option attribute set for an option that specifies the 111 111 package a module should use for some purpose. 112 112 113 - Type: mkPackageOption :: pkgs -> (string|[string]) -> 114 - { default? :: [string], example? :: null|string|[string], extraDescription? :: string } -> 115 - option 116 - 117 113 The package is specified in the third argument under `default` as a list of strings 118 114 representing its attribute path in nixpkgs (or another package set). 119 115 Because of this, you need to pass nixpkgs itself (or a subset) as the first argument. ··· 132 128 valid attribute path in pkgs (if name is a list). 133 129 134 130 If you wish to explicitly provide no default, pass `null` as `default`. 131 + 132 + Type: mkPackageOption :: pkgs -> (string|[string]) -> { default? :: [string], example? :: null|string|[string], extraDescription? :: string } -> option 135 133 136 134 Example: 137 135 mkPackageOption pkgs "hello" { } ··· 157 155 # Name for the package, shown in option description 158 156 name: 159 157 { 160 - # The attribute path where the default package is located 158 + # The attribute path where the default package is located (may be omitted) 161 159 default ? name, 162 - # A string or an attribute path to use as an example 160 + # A string or an attribute path to use as an example (may be omitted) 163 161 example ? null, 164 - # Additional text to include in the option description 162 + # Additional text to include in the option description (may be omitted) 165 163 extraDescription ? "", 166 164 }: 167 165 let
+2 -2
lib/strings.nix
··· 4 4 5 5 inherit (builtins) length; 6 6 7 + asciiTable = import ./ascii-table.nix; 8 + 7 9 in 8 10 9 11 rec { ··· 33 35 typeOf 34 36 unsafeDiscardStringContext 35 37 ; 36 - 37 - asciiTable = import ./ascii-table.nix; 38 38 39 39 /* Concatenate a list of strings. 40 40
+6
maintainers/maintainer-list.nix
··· 206 206 githubId = 22131756; 207 207 name = "Aaqa Ishtyaq"; 208 208 }; 209 + aaronarinder = { 210 + email = "aaronarinder@gmail.com"; 211 + github = "aaronArinder"; 212 + githubId = 26738844; 213 + name = "Aaron Arinder"; 214 + }; 209 215 aaronjanse = { 210 216 email = "aaron@ajanse.me"; 211 217 matrix = "@aaronjanse:matrix.org";
+2 -2
pkgs/applications/audio/ft2-clone/default.nix
··· 13 13 14 14 stdenv.mkDerivation rec { 15 15 pname = "ft2-clone"; 16 - version = "1.63"; 16 + version = "1.65"; 17 17 18 18 src = fetchFromGitHub { 19 19 owner = "8bitbubsy"; 20 20 repo = "ft2-clone"; 21 21 rev = "v${version}"; 22 - sha256 = "sha256-uDAW97lTeL15PPpR5vlIS371EZ7BBNd86ETPEB8joSU="; 22 + sha256 = "sha256-Jo1qs0d8/o9FWR7jboWCJ7ntawBGTlm7yPzxxUnZLsI="; 23 23 }; 24 24 25 25 # Adapt the linux-only CMakeLists to darwin (more reliable than make-macos.sh)
+6 -4
pkgs/applications/audio/mpdevil/default.nix
··· 1 1 { lib, fetchFromGitHub 2 + , pkg-config, meson ,ninja 2 3 , python3Packages 3 4 , gdk-pixbuf, glib, gobject-introspection, gtk3 4 5 , libnotify 5 - , intltool 6 6 , wrapGAppsHook }: 7 7 8 8 python3Packages.buildPythonApplication rec { 9 9 pname = "mpdevil"; 10 - version = "1.4.1"; 10 + version = "1.10.1"; 11 11 12 12 src = fetchFromGitHub { 13 13 owner = "SoongNoonien"; 14 14 repo = pname; 15 15 rev = "v${version}"; 16 - sha256 = "1a5nhlbgi3ahnkcq16c2vgiaghgswy5lxg64pcrlbqssg1pj5gma"; 16 + sha256 = "sha256-w31e8cJvdep/ZzmDBCfdCZotrPunQBl1cTTWjs3sE1w="; 17 17 }; 18 + 19 + format = "other"; 18 20 19 21 nativeBuildInputs = [ 20 - glib.dev gobject-introspection gtk3 intltool wrapGAppsHook 22 + glib.dev gobject-introspection gtk3 pkg-config meson ninja wrapGAppsHook 21 23 ]; 22 24 23 25 buildInputs = [
+4 -2
pkgs/applications/audio/mympd/default.nix
··· 11 11 , pcre2 12 12 , gzip 13 13 , perl 14 + , jq 14 15 }: 15 16 16 17 stdenv.mkDerivation rec { 17 18 pname = "mympd"; 18 - version = "9.5.4"; 19 + version = "10.2.4"; 19 20 20 21 src = fetchFromGitHub { 21 22 owner = "jcorporation"; 22 23 repo = "myMPD"; 23 24 rev = "v${version}"; 24 - sha256 = "sha256-0X/rEVfJ6zzX75R72xVntOfuCt8srp9PkiYOq3XbWPs="; 25 + sha256 = "sha256-12hCIAwrLQkwiU9t9nNPBdIiHfMidfErSWOA0FPfhBQ="; 25 26 }; 26 27 27 28 nativeBuildInputs = [ ··· 29 30 cmake 30 31 gzip 31 32 perl 33 + jq 32 34 ]; 33 35 preConfigure = '' 34 36 env MYMPD_BUILDDIR=$PWD/build ./build.sh createassets
+2 -2
pkgs/applications/blockchains/clightning/default.nix
··· 22 22 in 23 23 stdenv.mkDerivation rec { 24 24 pname = "clightning"; 25 - version = "22.11.1"; 25 + version = "23.02"; 26 26 27 27 src = fetchurl { 28 28 url = "https://github.com/ElementsProject/lightning/releases/download/v${version}/clightning-v${version}.zip"; 29 - sha256 = "sha256-F48jmG9voNp6+IMRVkJi6O0DXVQxKyYkOA0UBCKktIw="; 29 + sha256 = "sha256-uvk7sApIwlrkH8eERBetf/nsAkN2d35T/IEtICFflzY="; 30 30 }; 31 31 32 32 # when building on darwin we need dawin.cctools to provide the correct libtool
+14 -13
pkgs/applications/emulators/yapesdl/default.nix
··· 5 5 , SDL2 6 6 }: 7 7 8 - stdenv.mkDerivation rec { 8 + stdenv.mkDerivation (self: { 9 9 pname = "yapesdl"; 10 - version = "0.70.2"; 10 + version = "0.71.2"; 11 11 12 12 src = fetchFromGitHub { 13 13 owner = "calmopyrin"; 14 - repo = pname; 15 - rev = "v${version}"; 16 - hash = "sha256-51P6wNaSfVA3twu+yRUKXguEmVBvuuEnHxH1Zl1vsCc="; 14 + repo = "yapesdl"; 15 + rev = "v${self.version}"; 16 + hash = "sha256-QGF3aS/YSzdGxHONKyA/iTewEVYsjBAsKARVMXkFV2k="; 17 17 }; 18 18 19 19 nativeBuildInputs = [ 20 20 pkg-config 21 21 ]; 22 + 22 23 buildInputs = [ 23 24 SDL2 24 25 ]; ··· 27 28 28 29 installPhase = '' 29 30 runHook preInstall 30 - install --directory $out/bin $out/share/doc/$pname 31 - install yapesdl $out/bin/ 32 - install README.SDL $out/share/doc/$pname/ 31 + install -Dm755 yapesdl -t $out/bin/ 32 + install -Dm755 README.SDL -t $out/share/doc/yapesdl/ 33 33 runHook postInstall 34 34 ''; 35 35 36 - meta = with lib; { 36 + meta = { 37 37 homepage = "http://yape.plus4.net/"; 38 38 description = "Multiplatform Commodore 64 and 264 family emulator"; 39 - license = licenses.gpl2Plus; 40 - maintainers = with maintainers; [ AndersonTorres ]; 41 - platforms = platforms.unix; 39 + license = lib.licenses.gpl2Plus; 40 + maintainers = with lib.maintainers; [ AndersonTorres ]; 41 + platforms = lib.platforms.unix; 42 + broken = stdenv.isDarwin; 42 43 }; 43 - } 44 + })
+2 -6
pkgs/applications/graphics/gscan2pdf/default.nix
··· 10 10 11 11 perlPackages.buildPerlPackage rec { 12 12 pname = "gscan2pdf"; 13 - version = "2.12.8"; 13 + version = "2.13.2"; 14 14 15 15 src = fetchurl { 16 16 url = "mirror://sourceforge/gscan2pdf/gscan2pdf-${version}.tar.xz"; 17 - hash = "sha256-dmN2fMBDZqgvdHQryQgjmBHeH/h2dihRH8LkflFYzTk="; 17 + hash = "sha256-NGz6DUa7TdChpgwmD9pcGdvYr3R+Ft3jPPSJpybCW4Q="; 18 18 }; 19 - 20 - patches = [ 21 - ./ffmpeg5-compat.patch 22 - ]; 23 19 24 20 nativeBuildInputs = [ wrapGAppsHook ]; 25 21
-15
pkgs/applications/graphics/gscan2pdf/ffmpeg5-compat.patch
··· 1 - --- a/t/351_unpaper.t 2 - +++ b/t/351_unpaper.t 3 - @@ -88,8 +88,10 @@ 4 - 5 - # if we use unlike, we no longer 6 - # know how many tests there will be 7 - - if ( $msg !~ 8 - -/(deprecated|Encoder did not produce proper pts, making some up)/ 9 - + if ( $msg !~ /( deprecated | 10 - + \Qdoes not contain an image sequence pattern\E | 11 - + \QEncoder did not produce proper pts, making some up\E | 12 - + \Quse the -update option\E )/x 13 - ) 14 - { 15 - fail 'no warnings';
+3 -3
pkgs/applications/graphics/pdfcpu/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "pdfcpu"; 5 - version = "0.3.13"; 5 + version = "0.4.0"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "pdfcpu"; 9 9 repo = pname; 10 10 rev = "v${version}"; 11 - sha256 = "sha256-CFKo8YEAXAniX+jL2A0naJUOn3KAWwcrPsabdiZevhI="; 11 + sha256 = "sha256-l3vJDF2c6h/trfnAGxu7XEoDoj7bB4tATBUlxKFYfUs="; 12 12 }; 13 13 14 - vendorSha256 = "sha256-3y42rbhurGhCI9PuSayxmLem0tv/nTjBwYxF3Dk6/yM="; 14 + vendorSha256 = "sha256-611eLYm+OPIdmax2KwYNjuQEGqyZd6SXvhUHzRdLzaI="; 15 15 16 16 # No tests 17 17 doCheck = false;
+3 -3
pkgs/applications/misc/cotp/default.nix
··· 8 8 9 9 rustPlatform.buildRustPackage rec { 10 10 pname = "cotp"; 11 - version = "1.2.1"; 11 + version = "1.2.3"; 12 12 13 13 src = fetchFromGitHub { 14 14 owner = "replydev"; 15 15 repo = "cotp"; 16 16 rev = "v${version}"; 17 - hash = "sha256-DIb/lgJxwg+QuqzN/0YoUV1iZwRqh6PAN0KRK7TbWDs="; 17 + hash = "sha256-Pg07iq2jj8cUA4iQsY52cujmUZLYrbTG5Zj+lITxpls="; 18 18 }; 19 19 20 - cargoHash = "sha256-SFx2sjph/5ys5L1Q/ljQhzcybH4k89owI4+vzDsyKjw="; 20 + cargoHash = "sha256-9jOrDFLnzjxqN2h6e1/qKRn5RQKlfyeKKmjZthQX3jM="; 21 21 22 22 buildInputs = lib.optionals stdenv.isLinux [ libxcb ] 23 23 ++ lib.optionals stdenv.isDarwin [ AppKit ];
+2 -2
pkgs/applications/networking/cluster/clusterctl/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "clusterctl"; 5 - version = "1.3.4"; 5 + version = "1.3.5"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "kubernetes-sigs"; 9 9 repo = "cluster-api"; 10 10 rev = "v${version}"; 11 - hash = "sha256-bkjtJidG+UHma15axlLcXtqtWTqesOdHHmH4db5hoAY="; 11 + hash = "sha256-e6rs7cCSZiklMtPiFozea6EqRylepD2gfoDqQaUuly4="; 12 12 }; 13 13 14 14 vendorHash = "sha256-VPeaT4vPhBa6V+Ir+vNRIWgyVBzEgTDSnDtGrxxdZ0c=";
+2 -2
pkgs/applications/networking/cluster/kubecfg/default.nix
··· 6 6 7 7 buildGoModule rec { 8 8 pname = "kubecfg"; 9 - version = "0.29.0"; 9 + version = "0.29.1"; 10 10 11 11 src = fetchFromGitHub { 12 12 owner = "kubecfg"; 13 13 repo = "kubecfg"; 14 14 rev = "v${version}"; 15 - hash = "sha256-41hctulZdFSBc+Yw4p2haR2VNIpa0bwntPCz3WUJyZg="; 15 + hash = "sha256-lHpXmJPOjyzlNl7fLQH6Ufj20YRzeGz4NGxd3Bgr3mA="; 16 16 }; 17 17 18 18 vendorHash = "sha256-VGLGa1/8sdVC3H4hxpvF/t2YgbRlbeNTJMJb5zwknPw=";
+2 -2
pkgs/applications/networking/cluster/terraform-providers/providers.json
··· 1045 1045 "vendorHash": "sha256-NO1r/EWLgH1Gogru+qPeZ4sW7FuDENxzNnpLSKstnE8=" 1046 1046 }, 1047 1047 "spotinst": { 1048 - "hash": "sha256-pm6KFPIMPq9jFUf9wYYA3mWMl7+pJLv53wegFmPyBZY=", 1048 + "hash": "sha256-bUFX6Ok7cYyaoYHElUIcEwl6DRGK8q+opKBCABo8CVM=", 1049 1049 "homepage": "https://registry.terraform.io/providers/spotinst/spotinst", 1050 1050 "owner": "spotinst", 1051 1051 "repo": "terraform-provider-spotinst", 1052 - "rev": "v1.102.0", 1052 + "rev": "v1.103.0", 1053 1053 "spdx": "MPL-2.0", 1054 1054 "vendorHash": "sha256-IlztpEAI/Z7DUQ5pMaGSQnXWPedAIJlS773nxsRMCYg=" 1055 1055 },
+13 -11
pkgs/applications/networking/feedreaders/castget/default.nix
··· 1 - { lib, stdenv, fetchFromGitHub 2 - , autoreconfHook 1 + { lib 2 + , stdenv 3 + , fetchurl 3 4 , pkg-config 4 5 , glib 5 6 , ronn ··· 11 12 12 13 stdenv.mkDerivation rec { 13 14 pname = "castget"; 14 - version = "2.0.0"; 15 + version = "2.0.1"; 15 16 16 - src = fetchFromGitHub { 17 - owner = "mlj"; 18 - repo = pname; 19 - # Upstream uses `_` instead of `.` for the version 20 - rev = "rel_${lib.replaceStrings ["."] ["_"] version}"; 21 - sha256 = "1129x64rw587q3sdpa3lrgs0gni5f0siwbvmfz8ya4zkbhgi2ik7"; 17 + src = fetchurl { 18 + url = "http://savannah.nongnu.org/download/castget/castget-${version}.tar.bz2"; 19 + hash = "sha256-Q4tffsfjGkXtN1ZjD+RH9CAVrNpT7AkgL0hihya16HU="; 22 20 }; 23 21 24 22 # without this, the build fails because of an encoding issue with the manual page. ··· 29 27 export LC_ALL="en_US.UTF-8"; 30 28 ''; 31 29 32 - buildInputs = [ glib curl id3lib libxml2 ]; 30 + buildInputs = [ 31 + glib 32 + curl 33 + id3lib 34 + libxml2 35 + ]; 33 36 nativeBuildInputs = [ 34 37 ronn 35 38 # See comment on locale above 36 39 glibcLocales 37 - autoreconfHook 38 40 pkg-config 39 41 ]; 40 42
+6 -7
pkgs/applications/science/logic/cubicle/default.nix
··· 14 14 hash = "sha256-/EtbXpyXqRm0jGcMfGLAEwdr92061edjFys1V7/w6/Y="; 15 15 }; 16 16 17 - # https://github.com/cubicle-model-checker/cubicle/issues/1 18 - postPatch = '' 19 - substituteInPlace Makefile.in \ 20 - --replace "@OCAMLC@" "ocamlfind ocamlc -package num" \ 21 - --replace "@OCAMLOPT@" "ocamlfind ocamlopt -package num" 22 - ''; 23 - 24 17 strictDeps = true; 25 18 26 19 nativeBuildInputs = [ ··· 35 28 functory 36 29 num 37 30 ]; 31 + 32 + # https://github.com/cubicle-model-checker/cubicle/issues/1 33 + env = { 34 + OCAMLC = "ocamlfind ocamlc -package num"; 35 + OCAMLOPT = "ocamlfind ocamlopt -package num"; 36 + }; 38 37 39 38 meta = with lib; { 40 39 description = "An open source model checker for verifying safety properties of array-based systems";
+2 -2
pkgs/applications/science/math/maxima/default.nix
··· 20 20 in 21 21 stdenv.mkDerivation rec { 22 22 pname = "maxima"; 23 - version = "5.45.1"; 23 + version = "5.46.0"; 24 24 25 25 src = fetchurl { 26 26 url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz"; 27 - sha256 = "sha256-/pAWJ2lwvvIUoaJENIVYZEUU1/36pPyLnQ6Hr8u059w="; 27 + sha256 = "sha256-c5Dwa0jaZckDPosvYpuXi5AFZFSlQCLbfecOIiWqiwc="; 28 28 }; 29 29 30 30 nativeBuildInputs = [
+2 -2
pkgs/applications/science/math/wxmaxima/default.nix
··· 12 12 13 13 stdenv.mkDerivation rec { 14 14 pname = "wxmaxima"; 15 - version = "22.12.0"; 15 + version = "23.02.1"; 16 16 17 17 src = fetchFromGitHub { 18 18 owner = "wxMaxima-developers"; 19 19 repo = "wxmaxima"; 20 20 rev = "Version-${version}"; 21 - sha256 = "sha256-RT6y4M6LQD1fXJcjtdSXnDmoJvv160g2asdV4WtTcok="; 21 + sha256 = "sha256-Lrj/oJNmKlCkNbnCGY2TewCospwajKdWgmKkreHzEIU="; 22 22 }; 23 23 24 24 buildInputs = [
+2 -2
pkgs/applications/system/monitor/default.nix
··· 27 27 28 28 stdenv.mkDerivation rec { 29 29 pname = "monitor"; 30 - version = "0.16.0"; 30 + version = "0.16.1"; 31 31 32 32 src = fetchFromGitHub { 33 33 owner = "stsdc"; 34 34 repo = "monitor"; 35 35 rev = version; 36 - sha256 = "sha256-+B3h7ydN+ISElpOMMCcKORYnq1MaMhvr+4I2qHJ26As="; 36 + sha256 = "sha256-ZTsb1xcJ7eeCEPebZW0anmG1SUPAzZakw4WzJql9VTQ="; 37 37 fetchSubmodules = true; 38 38 }; 39 39
+1
pkgs/data/fonts/nerdfonts/default.nix
··· 59 59 rm -rfv $out/share/fonts/truetype/NerdFonts/*Windows\ Compatible.* 60 60 ''} 61 61 ''; 62 + passthru.updateScript = ./update.sh; 62 63 63 64 meta = with lib; { 64 65 description = "Iconic font aggregator, collection, & patcher. 3,600+ icons, 50+ patched fonts";
+8 -3
pkgs/data/fonts/nerdfonts/update.sh
··· 5 5 version=$(jq -r '.tag_name' <<<"$latest_release") 6 6 7 7 dirname="$(dirname "$0")" 8 - echo \""${version#v}"\" >"$dirname/version.nix" 9 - 10 - echo Using version "$version" 8 + echo \""${version#v}"\" >"$dirname/version-new.nix" 9 + if diff -q "$dirname/version-new.nix" "$dirname/version.nix"; then 10 + echo No new version available, current: $version 11 + exit 0 12 + else 13 + echo Updated to version "$version" 14 + mv "$dirname/version-new.nix" "$dirname/version.nix" 15 + fi 11 16 12 17 printf '{\n' > "$dirname/shas.nix" 13 18
+2 -2
pkgs/development/libraries/fizz/default.nix
··· 19 19 20 20 stdenv.mkDerivation rec { 21 21 pname = "fizz"; 22 - version = "2023.02.20.00"; 22 + version = "2023.02.27.00"; 23 23 24 24 src = fetchFromGitHub { 25 25 owner = "facebookincubator"; 26 26 repo = "fizz"; 27 27 rev = "v${version}"; 28 - hash = "sha256-qgp0E/xCbvMIndwUkqsvZuFY7333NviOkljqiMOhKtw="; 28 + hash = "sha256-zb3O5YHQc+1cPcL0K3FwhMfr+/KFQU7SDVT1bEITF6E="; 29 29 }; 30 30 31 31 nativeBuildInputs = [ cmake ];
+1 -1
pkgs/development/libraries/hipblas/default.nix
··· 18 18 # Can also use cuBLAS 19 19 stdenv.mkDerivation (finalAttrs: { 20 20 pname = "hipblas"; 21 - version = "5.4.2"; 21 + version = "5.4.3"; 22 22 23 23 outputs = [ 24 24 "out"
+9 -4
pkgs/development/libraries/libsodium/default.nix
··· 1 - { lib, stdenv, fetchurl, autoreconfHook }: 1 + { lib, stdenv, fetchurl, autoreconfHook 2 + , testers 3 + }: 2 4 3 - stdenv.mkDerivation rec { 5 + stdenv.mkDerivation (finalAttrs: { 4 6 pname = "libsodium"; 5 7 version = "1.0.18"; 6 8 7 9 src = fetchurl { 8 - url = "https://download.libsodium.org/libsodium/releases/${pname}-${version}.tar.gz"; 10 + url = "https://download.libsodium.org/libsodium/releases/${finalAttrs.pname}-${finalAttrs.version}.tar.gz"; 9 11 sha256 = "1h9ncvj23qbbni958knzsli8dvybcswcjbx0qjjgi922nf848l3g"; 10 12 }; 11 13 ··· 26 28 27 29 doCheck = true; 28 30 31 + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; 32 + 29 33 meta = with lib; { 30 34 description = "A modern and easy-to-use crypto library"; 31 35 homepage = "http://doc.libsodium.org/"; 32 36 license = licenses.isc; 33 37 maintainers = with maintainers; [ raskin ]; 38 + pkgConfigModules = [ "libsodium" ]; 34 39 platforms = platforms.all; 35 40 }; 36 - } 41 + })
+29 -33
pkgs/development/libraries/qrupdate/default.nix
··· 1 1 { stdenv 2 2 , lib 3 - , fetchurl 3 + , fetchFromGitHub 4 4 , gfortran 5 5 , blas 6 + , cmake 6 7 , lapack 7 8 , which 8 9 }: 9 10 10 11 stdenv.mkDerivation rec { 11 12 pname = "qrupdate"; 12 - version = "1.1.2"; 13 - src = fetchurl { 14 - url = "mirror://sourceforge/qrupdate/${pname}-${version}.tar.gz"; 15 - sha256 = "024f601685phcm1pg8lhif3lpy5j9j0k6n0r46743g4fvh8wg8g2"; 13 + version = "1.1.5"; 14 + 15 + src = fetchFromGitHub { 16 + owner = "mpimd-csc"; 17 + repo = "qrupdate-ng"; 18 + rev = "v${version}"; 19 + hash = "sha256-dHxLPrN00wwozagY2JyfZkD3sKUD2+BcnbjNgZepzFg="; 16 20 }; 17 21 18 - preBuild = 19 - # Check that blas and lapack are compatible 20 - assert (blas.isILP64 == lapack.isILP64); 21 - # We don't have structuredAttrs yet implemented, and we need to use space 22 - # seprated values in makeFlags, so only this works. 23 - '' 24 - makeFlagsArray+=( 25 - "LAPACK=-L${lapack}/lib -llapack" 26 - "BLAS=-L${blas}/lib -lblas" 27 - "PREFIX=${placeholder "out"}" 28 - "FFLAGS=${toString ([ 29 - "-std=legacy" 30 - ] ++ lib.optionals blas.isILP64 [ 31 - # If another application intends to use qrupdate compiled with blas with 32 - # 64 bit support, it should add this to it's FFLAGS as well. See (e.g): 33 - # https://savannah.gnu.org/bugs/?50339 34 - "-fdefault-integer-8" 35 - ])}" 36 - ) 37 - ''; 22 + cmakeFlags = assert (blas.isILP64 == lapack.isILP64); [ 23 + "-DCMAKE_Fortran_FLAGS=${toString ([ 24 + "-std=legacy" 25 + ] ++ lib.optionals blas.isILP64 [ 26 + # If another application intends to use qrupdate compiled with blas with 27 + # 64 bit support, it should add this to it's FFLAGS as well. See (e.g): 28 + # https://savannah.gnu.org/bugs/?50339 29 + "-fdefault-integer-8" 30 + ])}" 31 + ]; 38 32 39 33 doCheck = true; 40 34 41 - checkTarget = "test"; 42 - 43 - buildFlags = [ "lib" "solib" ]; 44 - 45 - installTargets = lib.optionals stdenv.isDarwin [ "install-staticlib" "install-shlib" ]; 46 - 47 - nativeBuildInputs = [ which gfortran ]; 35 + nativeBuildInputs = [ 36 + cmake 37 + which 38 + gfortran 39 + ]; 40 + buildInputs = [ 41 + blas 42 + lapack 43 + ]; 48 44 49 45 meta = with lib; { 50 46 description = "Library for fast updating of qr and cholesky decompositions"; 51 - homepage = "https://sourceforge.net/projects/qrupdate/"; 47 + homepage = "https://github.com/mpimd-csc/qrupdate-ng"; 52 48 license = licenses.gpl3Plus; 53 49 maintainers = with maintainers; [ doronbehar ]; 54 50 platforms = platforms.unix;
+1 -1
pkgs/development/libraries/rccl/default.nix
··· 13 13 14 14 stdenv.mkDerivation (finalAttrs: { 15 15 pname = "rccl"; 16 - version = "5.4.2"; 16 + version = "5.4.3"; 17 17 18 18 outputs = [ 19 19 "out"
+2 -2
pkgs/development/libraries/rocksdb/default.nix
··· 19 19 20 20 stdenv.mkDerivation rec { 21 21 pname = "rocksdb"; 22 - version = "7.9.2"; 22 + version = "7.10.2"; 23 23 24 24 src = fetchFromGitHub { 25 25 owner = "facebook"; 26 26 repo = pname; 27 27 rev = "v${version}"; 28 - sha256 = "sha256-5P7IqJ14EZzDkbjaBvbix04ceGGdlWBuVFH/5dpD5VM="; 28 + sha256 = "sha256-U2ReSrJwjAXUdRmwixC0DQXht/h/6rV8SOf5e2NozIs="; 29 29 }; 30 30 31 31 nativeBuildInputs = [ cmake ninja ];
+1 -1
pkgs/development/libraries/rocprofiler/default.nix
··· 11 11 12 12 stdenv.mkDerivation (finalAttrs: { 13 13 pname = "rocprofiler"; 14 - version = "5.4.2"; 14 + version = "5.4.3"; 15 15 16 16 src = fetchFromGitHub { 17 17 owner = "ROCm-Developer-Tools";
+5 -4
pkgs/development/python-modules/adb-enhanced/default.nix
··· 9 9 10 10 buildPythonPackage rec { 11 11 pname = "adb-enhanced"; 12 - version = "2.5.14"; 12 + version = "2.5.16"; 13 + format = "setuptools"; 13 14 14 - disabled = pythonOlder "3.4"; 15 + disabled = pythonOlder "3.7"; 15 16 16 17 src = fetchFromGitHub { 17 18 owner = "ashishb"; 18 19 repo = pname; 19 - rev = version; 20 - hash = "sha256-GaPOYBQEGI40MutjjY8exABqGge2p/buk9v+NcZ5oJs="; 20 + rev = "refs/tags/${version}"; 21 + hash = "sha256-+CMXKg3LLxEXGcFQ9zSqy/1HPZS9MsQ1fZxClJ0Vrnw="; 21 22 }; 22 23 23 24 propagatedBuildInputs = [
+2 -2
pkgs/development/python-modules/apsw/default.nix
··· 8 8 9 9 buildPythonPackage rec { 10 10 pname = "apsw"; 11 - version = "3.40.1.0"; 11 + version = "3.41.0.0"; 12 12 format = "setuptools"; 13 13 14 14 disabled = isPyPy; ··· 17 17 owner = "rogerbinns"; 18 18 repo = "apsw"; 19 19 rev = "refs/tags/${version}"; 20 - hash = "sha256-abZ2qoRV7oVvZtfe/GFbzBztBOWuFejb+fYFi1a0BL4="; 20 + hash = "sha256-U7NhC83wBaUONLsQbL+j9866u4zs58O6AQxwzS3e0qM="; 21 21 }; 22 22 23 23 buildInputs = [
+2 -2
pkgs/development/python-modules/ciscoconfparse/default.nix
··· 13 13 14 14 buildPythonPackage rec { 15 15 pname = "ciscoconfparse"; 16 - version = "1.7.15"; 16 + version = "1.7.18"; 17 17 format = "pyproject"; 18 18 19 19 disabled = pythonOlder "3.7"; ··· 22 22 owner = "mpenning"; 23 23 repo = pname; 24 24 rev = "refs/tags/${version}"; 25 - hash = "sha256-oGvwtaIgVvvW8Oq/dZN+Zj/PESpqWALFYPia9yeilco="; 25 + hash = "sha256-jWInSqvMuwYJTPqHnrYWhMH/HvaQc2dFRqQu4RGFr28="; 26 26 }; 27 27 28 28 postPatch = ''
+60
pkgs/development/python-modules/dask-awkward/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , pythonOlder 5 + , awkward 6 + , dask 7 + , hatch-vcs 8 + , hatchling 9 + , pyarrow 10 + , pytestCheckHook 11 + }: 12 + 13 + buildPythonPackage rec { 14 + pname = "dask-awkward"; 15 + version = "2023.1.0"; 16 + format = "pyproject"; 17 + 18 + disabled = pythonOlder "3.8"; 19 + 20 + src = fetchFromGitHub { 21 + owner = "dask-contrib"; 22 + repo = pname; 23 + rev = version; 24 + hash = "sha256-q0mBd4yelnNL7rMWfilituo9h/xmLLLndSCBdY2egEQ="; 25 + }; 26 + 27 + nativeBuildInputs = [ 28 + hatch-vcs 29 + hatchling 30 + ]; 31 + 32 + propagatedBuildInputs = [ 33 + awkward 34 + dask 35 + ]; 36 + 37 + SETUPTOOLS_SCM_PRETEND_VERSION = version; 38 + 39 + checkInputs = [ 40 + pytestCheckHook 41 + pyarrow 42 + ]; 43 + 44 + pythonImportsCheck = [ 45 + "dask_awkward" 46 + ]; 47 + 48 + pytestFlagsArray = [ 49 + # require internet 50 + "--deselect=tests/test_parquet.py::test_remote_double" 51 + "--deselect=tests/test_parquet.py::test_remote_single" 52 + ]; 53 + 54 + meta = with lib; { 55 + description = "Native Dask collection for awkward arrays, and the library to use it"; 56 + homepage = "https://github.com/dask-contrib/dask-awkward"; 57 + license = licenses.bsd3; 58 + maintainers = with maintainers; [ veprbl ]; 59 + }; 60 + }
+52
pkgs/development/python-modules/dtschema/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , jsonschema 5 + , pythonOlder 6 + , rfc3987 7 + , ruamel-yaml 8 + , setuptools-scm 9 + }: 10 + 11 + buildPythonPackage rec { 12 + pname = "dtschema"; 13 + version = "2022.01"; 14 + format = "setuptools"; 15 + 16 + disabled = pythonOlder "3.7"; 17 + 18 + src = fetchFromGitHub { 19 + owner = "devicetree-org"; 20 + repo = "dt-schema"; 21 + rev = "refs/tags/v${version}"; 22 + hash = "sha256-wwlXIM/eO3dII/qQpkAGLT3/15rBLi7ZiNtqYFf7Li4="; 23 + }; 24 + 25 + SETUPTOOLS_SCM_PRETEND_VERSION = version; 26 + 27 + nativeBuildInputs = [ 28 + setuptools-scm 29 + ]; 30 + 31 + propagatedBuildInputs = [ 32 + jsonschema 33 + rfc3987 34 + ruamel-yaml 35 + ]; 36 + 37 + # Module has no tests 38 + doCheck = false; 39 + 40 + pythonImportsCheck = [ 41 + "dtschema" 42 + ]; 43 + 44 + meta = with lib; { 45 + description = "Tooling for devicetree validation using YAML and jsonschema"; 46 + homepage = "https://github.com/devicetree-org/dt-schema/"; 47 + changelog = "https://github.com/devicetree-org/dt-schema/releases/tag/v${version}"; 48 + license = with licenses; [ bsd2 /* or */ gpl2Only ]; 49 + maintainers = with maintainers; [ sorki ]; 50 + }; 51 + } 52 +
+2 -2
pkgs/development/python-modules/duckdb-engine/default.nix
··· 13 13 14 14 buildPythonPackage rec { 15 15 pname = "duckdb-engine"; 16 - version = "0.6.8"; 16 + version = "0.6.9"; 17 17 format = "pyproject"; 18 18 19 19 disabled = pythonOlder "3.7"; ··· 22 22 repo = "duckdb_engine"; 23 23 owner = "Mause"; 24 24 rev = "refs/tags/v${version}"; 25 - hash = "sha256-Vb2sXZjhBZpZdemtGZ8dajB9Ziu/obLv80R63IH/hJg="; 25 + hash = "sha256-F1Y7NXkNnCbCxc43gBN7bt+z0D0EwnzCyBKFzbq9KcA="; 26 26 }; 27 27 28 28 nativeBuildInputs = [
+2 -2
pkgs/development/python-modules/fakeredis/default.nix
··· 16 16 17 17 buildPythonPackage rec { 18 18 pname = "fakeredis"; 19 - version = "2.9.2"; 19 + version = "2.10.0"; 20 20 format = "pyproject"; 21 21 22 22 disabled = pythonOlder "3.7"; ··· 25 25 owner = "dsoftwareinc"; 26 26 repo = "fakeredis-py"; 27 27 rev = "refs/tags/v${version}"; 28 - hash = "sha256-YwUNjEM0Lmj14fTqQXy78LRzlfffy7KZOTulufkeRZA="; 28 + hash = "sha256-H1SeNlX/NqdewNY+rs5HLTK0dRnB1H+EQfzf2g/y1ek="; 29 29 }; 30 30 31 31 nativeBuildInputs = [
+6 -12
pkgs/development/python-modules/pyfritzhome/default.nix
··· 1 1 { lib 2 2 , buildPythonPackage 3 3 , fetchFromGitHub 4 + , pytestCheckHook 4 5 , pythonOlder 5 6 , requests 6 - , nose 7 - , mock 8 7 }: 9 8 10 9 buildPythonPackage rec { 11 10 pname = "pyfritzhome"; 12 - version = "0.6.7"; 11 + version = "0.6.8"; 13 12 format = "setuptools"; 14 13 15 - disabled = pythonOlder "3.6"; 14 + disabled = pythonOlder "3.7"; 16 15 17 16 src = fetchFromGitHub { 18 17 owner = "hthiery"; 19 18 repo = "python-fritzhome"; 20 - rev = version; 21 - hash = "sha256-cRG+Dm3KG6no3/OQCZkvISW1yE5azdDVTa5oTV1sRpk="; 19 + rev = "refs/tags/${version}"; 20 + hash = "sha256-MIWRBwqVuS1iEuWxsE1yuGS2zHYVgnH2G4JJk7Yct6s="; 22 21 }; 23 22 24 23 propagatedBuildInputs = [ ··· 26 25 ]; 27 26 28 27 nativeCheckInputs = [ 29 - mock 30 - nose 28 + pytestCheckHook 31 29 ]; 32 - 33 - checkPhase = '' 34 - nosetests 35 - ''; 36 30 37 31 pythonImportsCheck = [ 38 32 "pyfritzhome"
+2 -2
pkgs/development/python-modules/pyoverkiz/default.nix
··· 15 15 16 16 buildPythonPackage rec { 17 17 pname = "pyoverkiz"; 18 - version = "1.7.6"; 18 + version = "1.7.7"; 19 19 format = "pyproject"; 20 20 21 21 disabled = pythonOlder "3.7"; ··· 24 24 owner = "iMicknl"; 25 25 repo = "python-overkiz-api"; 26 26 rev = "refs/tags/v${version}"; 27 - hash = "sha256-nmXOmoPH8w4Soj8lhI7wl3uYVmKw3xSuIkmCF0XI7RI="; 27 + hash = "sha256-QYvnSFt0pJL3clDxN2axJUMU8M/maj3iSeUfVRgQGFg="; 28 28 }; 29 29 30 30 postPatch = ''
+12 -8
pkgs/development/python-modules/python-velbus/default.nix
··· 1 1 { lib 2 2 , buildPythonPackage 3 - , fetchFromGitHub 3 + , fetchPypi 4 4 , pyserial 5 + , pythonOlder 5 6 }: 6 7 7 8 buildPythonPackage rec { 8 9 pname = "python-velbus"; 9 - version = "2.1.4"; 10 + version = "2.1.9"; 11 + format = "setuptools"; 10 12 11 - src = fetchFromGitHub { 12 - owner = "thomasdelaet"; 13 - repo = pname; 14 - rev = version; 15 - sha256 = "1z0a7fc9xfrcpwi9xiimxsgbzbp2iwyi1rij6vqd5z47mzi49fv9"; 13 + disabled = pythonOlder "3.7"; 14 + 15 + src = fetchPypi { 16 + inherit pname version; 17 + hash = "sha256-SbuECT6851E+QNyyPaNTnKmH54fYovemSto8gvfMIKg="; 16 18 }; 17 19 18 20 propagatedBuildInputs = [ ··· 22 24 # Project has not tests 23 25 doCheck = false; 24 26 25 - pythonImportsCheck = [ "velbus" ]; 27 + pythonImportsCheck = [ 28 + "velbus" 29 + ]; 26 30 27 31 meta = with lib; { 28 32 description = "Python library to control the Velbus home automation system";
+4 -4
pkgs/development/python-modules/snscrape/default.nix
··· 12 12 13 13 buildPythonPackage rec { 14 14 pname = "snscrape"; 15 - version = "0.4.3.20220106"; 16 - format = "setuptools"; 15 + version = "0.6.0.20230303"; 16 + format = "pyproject"; 17 17 18 18 disabled = pythonOlder "3.8"; 19 19 20 20 src = fetchFromGitHub { 21 21 owner = "JustAnotherArchivist"; 22 22 repo = pname; 23 - rev = "v${version}"; 24 - hash = "sha256-gphNT1IYSiAw22sqHlV8Rm4WRP4EWUvP0UkITuepmMc="; 23 + rev = "refs/tags/v${version}"; 24 + hash = "sha256-FY8byS+0yAhNSRxWsrsQMR5kdZmnHutru5Z6SWVfpiE="; 25 25 }; 26 26 27 27 SETUPTOOLS_SCM_PRETEND_VERSION = version;
+3 -3
pkgs/development/tools/continuous-integration/cirrus-cli/default.nix
··· 6 6 7 7 buildGoModule rec { 8 8 pname = "cirrus-cli"; 9 - version = "0.94.4"; 9 + version = "0.95.0"; 10 10 11 11 src = fetchFromGitHub { 12 12 owner = "cirruslabs"; 13 13 repo = pname; 14 14 rev = "v${version}"; 15 - sha256 = "sha256-PnO9M3CQQnZotzCuE2rlGsoBzNO0PdsoMLlY3tNyEyk="; 15 + sha256 = "sha256-s+mScSSVjzCZ+9lwFdcC/F5oCdT51JNxlqP7uKlx+Y8="; 16 16 }; 17 17 18 - vendorSha256 = "sha256-gotc9M2UkRJtE4LZPCpqDTXQ/cnN4tk+3HG243tFoss="; 18 + vendorHash = "sha256-TZOBIivaoaO7EWBqV2zuL3Em5o4MButq4+TxvePu+qY="; 19 19 20 20 ldflags = [ 21 21 "-X github.com/cirruslabs/cirrus-cli/internal/version.Version=v${version}"
-37
pkgs/development/tools/dt-schema/default.nix
··· 1 - { lib 2 - , buildPythonPackage 3 - , fetchPypi 4 - , git 5 - , ruamel-yaml 6 - , jsonschema 7 - , rfc3987 8 - , setuptools 9 - , setuptools-scm 10 - }: 11 - 12 - buildPythonPackage rec { 13 - pname = "dtschema"; 14 - version = "2022.1"; 15 - 16 - src = fetchPypi { 17 - inherit pname version; 18 - sha256 = "sha256-G5KzuaMbbkuLK+cNvzBld1UwvExS6ZGVW2e+GXQRFMU="; 19 - }; 20 - 21 - nativeBuildInputs = [ setuptools-scm git ]; 22 - propagatedBuildInputs = [ 23 - setuptools 24 - ruamel-yaml 25 - jsonschema 26 - rfc3987 27 - ]; 28 - 29 - meta = with lib; { 30 - description = "Tooling for devicetree validation using YAML and jsonschema"; 31 - homepage = "https://github.com/devicetree-org/dt-schema/"; 32 - # all files have SPDX tags 33 - license = with licenses; [ bsd2 gpl2 ]; 34 - maintainers = with maintainers; [ sorki ]; 35 - }; 36 - } 37 -
+2 -2
pkgs/development/tools/esbuild/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "esbuild"; 5 - version = "0.17.10"; 5 + version = "0.17.11"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "evanw"; 9 9 repo = "esbuild"; 10 10 rev = "v${version}"; 11 - hash = "sha256-qe7YCOIwp+MSa5VkwImdOea1aMcpWdor/13PIgGEkkw="; 11 + hash = "sha256-k7bXEDAmxyn2u/cniqKtr9zbrWnzwbhTZkL35/igctM="; 12 12 }; 13 13 14 14 vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
+2 -2
pkgs/development/tools/oh-my-posh/default.nix
··· 6 6 7 7 buildGoModule rec { 8 8 pname = "oh-my-posh"; 9 - version = "14.9.1"; 9 + version = "14.9.2"; 10 10 11 11 src = fetchFromGitHub { 12 12 owner = "jandedobbeleer"; 13 13 repo = pname; 14 14 rev = "refs/tags/v${version}"; 15 - hash = "sha256-oWif17MawHKiFRts9wfLA7XcSLMuogaPLziYzgKihas="; 15 + hash = "sha256-9ZIMAJVVrJk8ny3TgwXHSxrg713dSbPlgQnY/b0m2Ps="; 16 16 }; 17 17 18 18 vendorHash = "sha256-JZ5UiL2vGsXy/xmz+NcAKYDmp5hq7bx54/OdUyQHUp0=";
+3 -3
pkgs/development/tools/pscale/default.nix
··· 8 8 9 9 buildGoModule rec { 10 10 pname = "pscale"; 11 - version = "0.129.0"; 11 + version = "0.130.0"; 12 12 13 13 src = fetchFromGitHub { 14 14 owner = "planetscale"; 15 15 repo = "cli"; 16 16 rev = "v${version}"; 17 - sha256 = "sha256-GdJyOZ0FqLBRGeQZ5+qLYXLL8JxqigYCVuDUUs1KbN4="; 17 + sha256 = "sha256-rrrjIyIMoCshq348bUBGzMcwYhEZMt1OA/pOoE4PEY8="; 18 18 }; 19 19 20 - vendorHash = "sha256-iXT+xvmVDfFVV/bYq+hnmkz2ODUQ4fHR8z2lcaK93TE="; 20 + vendorHash = "sha256-shs05gXqLjp+L3t5f7oh0BV8YRPtcoCzrTlmx1tOvP0="; 21 21 22 22 ldflags = [ 23 23 "-s" "-w"
+4 -4
pkgs/development/tools/rgp/default.nix
··· 19 19 }: 20 20 21 21 let 22 - buildNum = "2022-12-12-1037"; 22 + buildNum = "2023-02-15-1051"; 23 23 in 24 - stdenv.mkDerivation rec { 24 + stdenv.mkDerivation { 25 25 pname = "rgp"; 26 - version = "1.14"; 26 + version = "1.14.1"; 27 27 28 28 src = fetchurl { 29 29 url = "https://gpuopen.com/download/radeon-developer-tool-suite/RadeonDeveloperToolSuite-${buildNum}.tgz"; 30 - hash = "sha256-T13SOy+77lLxmlcczXEFZAnyx9Lm52G/WiCcC1Py4HA="; 30 + hash = "sha256-1JxW6vXfOYDaCnHWEq8crjuu0QrUCwahm+ipOKVDQPA="; 31 31 }; 32 32 33 33 nativeBuildInputs = [ makeWrapper autoPatchelfHook ];
+3 -3
pkgs/development/tools/richgo/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "richgo"; 5 - version = "0.3.11"; 5 + version = "0.3.12"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "kyoh86"; 9 9 repo = "richgo"; 10 10 rev = "v${version}"; 11 - sha256 = "sha256-a8CxJKk9fKGYTDtY/mU/3gcdIeejg20sL8Tm4ozgDl4="; 11 + sha256 = "sha256-pOB1exuwGwSxStodKhLLwh1xBvLjopUn0k+sEARdA9g="; 12 12 }; 13 13 14 - vendorSha256 = "sha256-j2RZOt5IRb2oEQ6sFu+nXpVkDsnppA6h9YT4F7AiCoY="; 14 + vendorHash = "sha256-jIzBN5T5+eTFCYOdS5hj3yTGOfU8NTrFmnIu+dDjVeU="; 15 15 16 16 meta = with lib; { 17 17 description = "Enrich `go test` outputs with text decorations";
+23 -10
pkgs/development/tools/rover/default.nix
··· 3 3 , fetchFromGitHub 4 4 , perl 5 5 , rustPlatform 6 + , darwin 7 + , stdenv 6 8 }: 7 9 8 10 rustPlatform.buildRustPackage rec { 9 11 pname = "rover"; 10 - version = "0.5.1"; 12 + version = "0.11.0"; 11 13 12 14 src = fetchFromGitHub { 13 15 owner = "apollographql"; 14 16 repo = pname; 15 17 rev = "v${version}"; 16 - sha256 = "sha256-wBHMND/xpm9o7pkWMUj9lEtEkzy3mX+E4Dt7qDn6auY="; 18 + sha256 = "sha256-Ei6EeM0+b3EsMoRo38nHO79onT9Oq/cfbiCZhyDYQrc="; 17 19 }; 18 20 19 - cargoSha256 = "sha256-n0R2MdAYGsOsYt4x1N1KdGvBZYTALyhSzCGW29bnFU4="; 21 + cargoSha256 = "sha256-+iDU8LPb7P4MNQ8MB5ldbWq4wWRcnbgOmSZ93Z//5O0="; 22 + 23 + buildInputs = lib.optionals stdenv.isDarwin [ 24 + darwin.apple_sdk.frameworks.Security 25 + darwin.apple_sdk.frameworks.CoreServices 26 + ]; 20 27 21 28 nativeBuildInputs = [ 22 29 perl 23 30 ]; 24 31 25 - # The rover-client's build script (crates/rover-client/build.rs) will try to 32 + # This test checks whether the plugins specified in the plugins json file are 33 + # valid by making a network call to the repo that houses their binaries; but, the 34 + # build env can't make network calls (impurity) 35 + cargoTestFlags = [ 36 + "-- --skip=latest_plugins_are_valid_versions" 37 + ]; 38 + 39 + # The rover-client's build script (xtask/src/commands/prep/schema.rs) will try to 26 40 # download the API's graphql schema at build time to our read-only filesystem. 27 41 # To avoid this we pre-download it to a location the build script checks. 28 42 preBuild = '' 29 - mkdir crates/rover-client/.schema 30 - cp ${./schema}/etag.id crates/rover-client/.schema/ 31 - cp ${./schema}/schema.graphql crates/rover-client/.schema/ 43 + cp ${./schema}/hash.id crates/rover-client/.schema/ 44 + cp ${./schema}/etag.id crates/rover-client/.schema/ 45 + cp ${./schema}/schema.graphql crates/rover-client/.schema/ 32 46 ''; 33 47 34 48 passthru.updateScript = ./update.sh; ··· 41 55 ''; 42 56 43 57 meta = with lib; { 44 - description = "A CLI for managing and maintaining graphs with Apollo Studio"; 58 + description = "A CLI for interacting with ApolloGraphQL's developer tooling, including managing self-hosted and GraphOS graphs."; 45 59 homepage = "https://www.apollographql.com/docs/rover"; 46 60 license = licenses.mit; 47 - maintainers = [ maintainers.ivanbrennan ]; 48 - platforms = ["x86_64-linux"]; 61 + maintainers = [ maintainers.ivanbrennan maintainers.aaronarinder ]; 49 62 }; 50 63 }
+1 -1
pkgs/development/tools/rover/schema/etag.id
··· 1 - 2694c7b893d44c9ad8f5d7161116deb9985a6bd05e8e0cdcd7379947430e6f89 1 + d35f8c48cb89329f33656944fa9e997de1e778b043b9ca4d78c8accdecfd9046
+1
pkgs/development/tools/rover/schema/hash.id
··· 1 + ff145f12604d11312e6a2f8a61a3d226fcdb2ca79f6b7fbc24c5a22aa23ab1af
+1956 -148
pkgs/development/tools/rover/schema/schema.graphql
··· 1 - """An organization. Can have multiple members and graphs.""" type Account{auditLogExports:[AuditLogExport!]"""These are the roles that the account is able to use""" availableRoles:[UserPermission!]!"""Get an URL to which an avatar image can be uploaded. Client uploads by sending a PUT request 2 - with the image data to MediaUploadInfo.url. Client SHOULD set the "Content-Type" header to the 3 - browser-inferred MIME type, and SHOULD set the "x-apollo-content-filename" header to the 4 - filename, if such information is available. Client MUST set the "x-apollo-csrf-token" header to 5 - MediaUploadInfo.csrfToken.""" avatarUpload:AvatarUploadResult """Get an image URL for the account's avatar. Note that CORS is not enabled for these URLs. The size 6 - argument is used for bandwidth reduction, and should be the size of the image as displayed in the 7 - application. Apollo's media server will downscale larger images to at least the requested size, 8 - but this will not happen for third-party media servers.""" avatarUrl(size:Int!=40):String billingInfo:BillingInfo companyUrl:String currentBillingMonth:BillingMonth currentPlan:BillingPlan!currentPlanV2:BillingPlanV2!currentSubscription:BillingSubscription currentSubscriptionV2:BillingSubscriptionV2 experimentalFeatures:AccountExperimentalFeatures!expiredTrialSubscription:BillingSubscription expiredTrialSubscriptionV2:BillingSubscriptionV2 graphIDAvailable(id:ID!):Boolean!hasBeenOnTrial:Boolean!hasBeenOnTrialV2:Boolean!"""Globally unique identifier, which isn't guaranteed stable (can be changed by administrators).""" id:ID!"""Internal immutable identifier for the account. Only visible to Apollo admins (because it really 9 - shouldn't be used in normal client apps).""" internalID:ID!invitations(includeAccepted:Boolean!=false):[AccountInvitation!]invoices:[Invoice!]invoicesV2:[InvoiceV2!]!isOnExpiredTrial:Boolean!isOnTrial:Boolean!legacyIsOnTrial:Boolean!memberships:[AccountMembership!]"""Name of the organization, which can change over time and isn't unique.""" name:String!provisionedAt:Timestamp recurlyEmail:String """Returns a different registry related stats pertaining to this account.""" registryStatsWindow(from:Timestamp!resolution:Resolution to:Timestamp):RegistryStatsWindow requests(from:Timestamp!to:Timestamp!):Long requestsInCurrentBillingPeriod:Long roles:AccountRoles """How many seats would be included in your next bill, as best estimated today""" seatCountForNextBill:Int seats:Seats secondaryIDs:[ID!]!"""Graphs belonging to this organization.""" services(includeDeleted:Boolean):[Service!]!"""If non-null, this organization tracks its members through an upstream, eg PingOne; 10 - invitations are not possible on SSO-synchronized account.""" sso:OrganizationSSO state:AccountState """A list of reusable invitations for the organization.""" staticInvitations:[OrganizationInviteLink!]stats(from:Timestamp!"""Granularity of buckets. Defaults to the entire range (aggregate all data into a single durationBucket) when null.""" resolution:Resolution """Defaults to the current time when null.""" to:Timestamp):AccountStatsWindow!@deprecated(reason:"use Account.statsWindow instead")statsWindow(from:Timestamp!"""Granularity of buckets. Defaults to the entire range (aggregate all data into a single durationBucket) when null.""" resolution:Resolution """Defaults to the current time when null.""" to:Timestamp):AccountStatsWindow subscriptions:[BillingSubscription!]subscriptionsV2:[BillingSubscriptionV2!]!"""Gets a ticket for this org, by id""" ticket(id:ID!):ZendeskTicket """List of Zendesk tickets submitted for this org""" tickets:[ZendeskTicket!]}"""Columns of AccountBillingUsageStats.""" enum AccountBillingUsageStatsColumn{OPERATION_COUNT OPERATION_COUNT_PROVIDED_EXPLICITLY SCHEMA_TAG SERVICE_ID TIMESTAMP}type AccountBillingUsageStatsDimensions{operationCountProvidedExplicitly:String schemaTag:String serviceId:ID}"""Filter for data in AccountBillingUsageStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountBillingUsageStatsFilter{and:[AccountBillingUsageStatsFilter!]in:AccountBillingUsageStatsFilterIn not:AccountBillingUsageStatsFilter """Selects rows whose operationCountProvidedExplicitly dimension equals the given value if not null. To query for the null value, use {in: {operationCountProvidedExplicitly: [null]}} instead.""" operationCountProvidedExplicitly:String or:[AccountBillingUsageStatsFilter!]"""Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountBillingUsageStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountBillingUsageStatsFilterIn{"""Selects rows whose operationCountProvidedExplicitly dimension is in the given list. A null value in the list means a row with null for that dimension.""" operationCountProvidedExplicitly:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountBillingUsageStatsMetrics{operationCount:Long!}input AccountBillingUsageStatsOrderBySpec{column:AccountBillingUsageStatsColumn!direction:Ordering!}type AccountBillingUsageStatsRecord{"""Dimensions of AccountBillingUsageStats that can be grouped by.""" groupBy:AccountBillingUsageStatsDimensions!"""Metrics of AccountBillingUsageStats that can be aggregated over.""" metrics:AccountBillingUsageStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type AccountChecksStatsMetrics{totalFailedChecks:Long!totalSuccessfulChecks:Long!}type AccountChecksStatsRecord{id:ID!metrics:AccountChecksStatsMetrics!timestamp:Timestamp!}"""Columns of AccountEdgeServerInfos.""" enum AccountEdgeServerInfosColumn{BOOT_ID EXECUTABLE_SCHEMA_ID LIBRARY_VERSION PLATFORM RUNTIME_VERSION SCHEMA_TAG SERVER_ID SERVICE_ID TIMESTAMP USER_VERSION}type AccountEdgeServerInfosDimensions{bootId:ID executableSchemaId:ID libraryVersion:String platform:String runtimeVersion:String schemaTag:String serverId:ID serviceId:ID userVersion:String}"""Filter for data in AccountEdgeServerInfos. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountEdgeServerInfosFilter{and:[AccountEdgeServerInfosFilter!]"""Selects rows whose bootId dimension equals the given value if not null. To query for the null value, use {in: {bootId: [null]}} instead.""" bootId:ID """Selects rows whose executableSchemaId dimension equals the given value if not null. To query for the null value, use {in: {executableSchemaId: [null]}} instead.""" executableSchemaId:ID in:AccountEdgeServerInfosFilterIn """Selects rows whose libraryVersion dimension equals the given value if not null. To query for the null value, use {in: {libraryVersion: [null]}} instead.""" libraryVersion:String not:AccountEdgeServerInfosFilter or:[AccountEdgeServerInfosFilter!]"""Selects rows whose platform dimension equals the given value if not null. To query for the null value, use {in: {platform: [null]}} instead.""" platform:String """Selects rows whose runtimeVersion dimension equals the given value if not null. To query for the null value, use {in: {runtimeVersion: [null]}} instead.""" runtimeVersion:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serverId dimension equals the given value if not null. To query for the null value, use {in: {serverId: [null]}} instead.""" serverId:ID """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID """Selects rows whose userVersion dimension equals the given value if not null. To query for the null value, use {in: {userVersion: [null]}} instead.""" userVersion:String}"""Filter for data in AccountEdgeServerInfos. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountEdgeServerInfosFilterIn{"""Selects rows whose bootId dimension is in the given list. A null value in the list means a row with null for that dimension.""" bootId:[ID]"""Selects rows whose executableSchemaId dimension is in the given list. A null value in the list means a row with null for that dimension.""" executableSchemaId:[ID]"""Selects rows whose libraryVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" libraryVersion:[String]"""Selects rows whose platform dimension is in the given list. A null value in the list means a row with null for that dimension.""" platform:[String]"""Selects rows whose runtimeVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" runtimeVersion:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serverId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serverId:[ID]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]"""Selects rows whose userVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" userVersion:[String]}input AccountEdgeServerInfosOrderBySpec{column:AccountEdgeServerInfosColumn!direction:Ordering!}type AccountEdgeServerInfosRecord{"""Dimensions of AccountEdgeServerInfos that can be grouped by.""" groupBy:AccountEdgeServerInfosDimensions!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of AccountErrorStats.""" enum AccountErrorStatsColumn{CLIENT_NAME CLIENT_VERSION ERRORS_COUNT PATH QUERY_ID QUERY_NAME REQUESTS_WITH_ERRORS_COUNT SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP}type AccountErrorStatsDimensions{clientName:String clientVersion:String path:String queryId:ID queryName:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in AccountErrorStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountErrorStatsFilter{and:[AccountErrorStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String in:AccountErrorStatsFilterIn not:AccountErrorStatsFilter or:[AccountErrorStatsFilter!]"""Selects rows whose path dimension equals the given value if not null. To query for the null value, use {in: {path: [null]}} instead.""" path:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountErrorStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountErrorStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose path dimension is in the given list. A null value in the list means a row with null for that dimension.""" path:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountErrorStatsMetrics{errorsCount:Long!requestsWithErrorsCount:Long!}input AccountErrorStatsOrderBySpec{column:AccountErrorStatsColumn!direction:Ordering!}type AccountErrorStatsRecord{"""Dimensions of AccountErrorStats that can be grouped by.""" groupBy:AccountErrorStatsDimensions!"""Metrics of AccountErrorStats that can be aggregated over.""" metrics:AccountErrorStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type AccountExperimentalFeatures{auditLogs:Boolean!championDashboard:Boolean!federation2Preview:Boolean!preRequestPreview:Boolean!publicVariants:Boolean!variantHomepage:Boolean!webhooksPreview:Boolean!}"""Columns of AccountFieldExecutions.""" enum AccountFieldExecutionsColumn{ESTIMATED_EXECUTION_COUNT FIELD_NAME OBSERVED_EXECUTION_COUNT PARENT_TYPE REFERENCING_OPERATION_COUNT SCHEMA_TAG SERVICE_ID TIMESTAMP}type AccountFieldExecutionsDimensions{fieldName:String parentType:String schemaTag:String serviceId:ID}"""Filter for data in AccountFieldExecutions. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountFieldExecutionsFilter{and:[AccountFieldExecutionsFilter!]"""Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:AccountFieldExecutionsFilterIn not:AccountFieldExecutionsFilter or:[AccountFieldExecutionsFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountFieldExecutions. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountFieldExecutionsFilterIn{"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountFieldExecutionsMetrics{estimatedExecutionCount:Long!observedExecutionCount:Long!referencingOperationCount:Long!}input AccountFieldExecutionsOrderBySpec{column:AccountFieldExecutionsColumn!direction:Ordering!}type AccountFieldExecutionsRecord{"""Dimensions of AccountFieldExecutions that can be grouped by.""" groupBy:AccountFieldExecutionsDimensions!"""Metrics of AccountFieldExecutions that can be aggregated over.""" metrics:AccountFieldExecutionsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of AccountFieldLatencies.""" enum AccountFieldLatenciesColumn{FIELD_HISTOGRAM FIELD_NAME PARENT_TYPE SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP}type AccountFieldLatenciesDimensions{field:String fieldName:String parentType:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in AccountFieldLatencies. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountFieldLatenciesFilter{and:[AccountFieldLatenciesFilter!]"""Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:AccountFieldLatenciesFilterIn not:AccountFieldLatenciesFilter or:[AccountFieldLatenciesFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountFieldLatencies. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountFieldLatenciesFilterIn{"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountFieldLatenciesMetrics{fieldHistogram:DurationHistogram!}input AccountFieldLatenciesOrderBySpec{column:AccountFieldLatenciesColumn!direction:Ordering!}type AccountFieldLatenciesRecord{"""Dimensions of AccountFieldLatencies that can be grouped by.""" groupBy:AccountFieldLatenciesDimensions!"""Metrics of AccountFieldLatencies that can be aggregated over.""" metrics:AccountFieldLatenciesMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of AccountFieldRequestsByClientVersion.""" enum AccountFieldRequestsByClientVersionColumn{CLIENT_NAME CLIENT_VERSION ESTIMATED_EXECUTION_COUNT FIELD_NAME OBSERVED_EXECUTION_COUNT PARENT_TYPE REFERENCING_OPERATION_COUNT SCHEMA_TAG SERVICE_ID TIMESTAMP}type AccountFieldRequestsByClientVersionDimensions{clientName:String clientVersion:String fieldName:String parentType:String schemaTag:String serviceId:ID}"""Filter for data in AccountFieldRequestsByClientVersion. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountFieldRequestsByClientVersionFilter{and:[AccountFieldRequestsByClientVersionFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:AccountFieldRequestsByClientVersionFilterIn not:AccountFieldRequestsByClientVersionFilter or:[AccountFieldRequestsByClientVersionFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountFieldRequestsByClientVersion. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountFieldRequestsByClientVersionFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountFieldRequestsByClientVersionMetrics{estimatedExecutionCount:Long!observedExecutionCount:Long!referencingOperationCount:Long!}input AccountFieldRequestsByClientVersionOrderBySpec{column:AccountFieldRequestsByClientVersionColumn!direction:Ordering!}type AccountFieldRequestsByClientVersionRecord{"""Dimensions of AccountFieldRequestsByClientVersion that can be grouped by.""" groupBy:AccountFieldRequestsByClientVersionDimensions!"""Metrics of AccountFieldRequestsByClientVersion that can be aggregated over.""" metrics:AccountFieldRequestsByClientVersionMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of AccountFieldUsage.""" enum AccountFieldUsageColumn{CLIENT_NAME CLIENT_VERSION ESTIMATED_EXECUTION_COUNT EXECUTION_COUNT FIELD_NAME PARENT_TYPE QUERY_ID QUERY_NAME REFERENCING_OPERATION_COUNT SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP}type AccountFieldUsageDimensions{clientName:String clientVersion:String fieldName:String parentType:String queryId:ID queryName:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in AccountFieldUsage. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountFieldUsageFilter{and:[AccountFieldUsageFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:AccountFieldUsageFilterIn not:AccountFieldUsageFilter or:[AccountFieldUsageFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountFieldUsage. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountFieldUsageFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountFieldUsageMetrics{estimatedExecutionCount:Long!executionCount:Long!referencingOperationCount:Long!}input AccountFieldUsageOrderBySpec{column:AccountFieldUsageColumn!direction:Ordering!}type AccountFieldUsageRecord{"""Dimensions of AccountFieldUsage that can be grouped by.""" groupBy:AccountFieldUsageDimensions!"""Metrics of AccountFieldUsage that can be aggregated over.""" metrics:AccountFieldUsageMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type AccountInvitation{"""An accepted invitation cannot be used anymore""" acceptedAt:Timestamp """Who accepted the invitation""" acceptedBy:User """Time the invitation was created""" createdAt:Timestamp!"""Who created the invitation""" createdBy:User email:String!id:ID!"""Last time we sent an email for the invitation""" lastSentAt:Timestamp """Access role for the invitee""" role:UserPermission!}type AccountMembership{account:Account!createdAt:Timestamp!"""If this membership is a free seat (based on role)""" free:Boolean permission:UserPermission!user:User!}type AccountMutation{auditExport(id:String!):AuditLogExportMutation """Cancel a pending change from an annual team subscription to a monthly team subscription when the current period expires.""" cancelConvertAnnualTeamSubscriptionToMonthlyAtNextPeriod:Account """Cancel account subscriptions, subscriptions will remain active until the end of the paid period""" cancelSubscriptions:Account """Changes an annual team subscription to a monthly team subscription when the current period expires.""" convertAnnualTeamSubscriptionToMonthlyAtNextPeriod:Account """Changes a monthly team subscription to an annual team subscription.""" convertMonthlyTeamSubscriptionToAnnual:Account createStaticInvitation(role:UserPermission!):OrganizationInviteLink """Delete the account's avatar. Requires Account.canUpdateAvatar to be true.""" deleteAvatar:AvatarDeleteError """Acknowledge that a trial has expired and return to community""" dismissExpiredTrial:Account """Apollo admins only: extend an ongoing trial""" extendTrial(to:Timestamp!):Account """Hard delete an account and all associated services""" hardDelete:Void """Send an invitation to join the account by E-mail""" invite(email:String!role:UserPermission):AccountInvitation """Reactivate a canceled current subscription""" reactivateCurrentSubscription:Account """Refresh billing information from third-party billing service""" refreshBilling:Void """Delete an invitation""" removeInvitation(id:ID):Void """Remove a member of the account""" removeMember(id:ID!):Account requestAuditExport(actors:[ActorInput!]from:Timestamp!graphIds:[String!]to:Timestamp!):Account """Send a new E-mail for an existing invitation""" resendInvitation(id:ID):AccountInvitation revokeStaticInvitation(token:String!):OrganizationInviteLink """Apollo admins only: set the billing plan to an arbitrary plan""" setPlan(id:ID!):Void """Start a new team subscription with the given billing period""" startTeamSubscription(billingPeriod:BillingPeriod!):Account """Start a team trial""" startTrial:Account """This is called by the form shown to users after they cancel their team subscription.""" submitTeamCancellationFeedback(feedback:String!):Void """Apollo admins only: terminate any ongoing subscriptions in the account, without refunds""" terminateSubscriptions:Account """Update the billing address for a Recurly token""" updateBillingAddress(billingAddress:BillingAddressInput!):Account """Update the billing information from a Recurly token""" updateBillingInfo(token:String!):Void updateCompanyUrl(companyUrl:String):Account """Set the E-mail address of the account, used notably for billing""" updateEmail(email:String!):Void """Update the account ID""" updateID(id:ID!):Account """Update the company name""" updateName(name:String!):Void """Apollo admins only: enable or disable an account for PingOne SSO login""" updatePingOneSSOIDPID(idpid:String):Account """Updates the role assigned to new SSO users.""" updateSSODefaultRole(role:UserPermission!):OrganizationSSO """A (currently) internal to Apollo mutation to update a user's role within an organization""" updateUserPermission(permission:UserPermission!userID:ID!):User}"""Columns of AccountOperationCheckStats.""" enum AccountOperationCheckStatsColumn{CACHED_REQUESTS_COUNT CLIENT_NAME CLIENT_VERSION QUERY_ID QUERY_NAME SCHEMA_TAG SERVICE_ID TIMESTAMP UNCACHED_REQUESTS_COUNT}type AccountOperationCheckStatsDimensions{clientName:String clientVersion:String queryId:ID queryName:String schemaTag:String serviceId:ID}"""Filter for data in AccountOperationCheckStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountOperationCheckStatsFilter{and:[AccountOperationCheckStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String in:AccountOperationCheckStatsFilterIn not:AccountOperationCheckStatsFilter or:[AccountOperationCheckStatsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountOperationCheckStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountOperationCheckStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountOperationCheckStatsMetrics{cachedRequestsCount:Long!uncachedRequestsCount:Long!}input AccountOperationCheckStatsOrderBySpec{column:AccountOperationCheckStatsColumn!direction:Ordering!}type AccountOperationCheckStatsRecord{"""Dimensions of AccountOperationCheckStats that can be grouped by.""" groupBy:AccountOperationCheckStatsDimensions!"""Metrics of AccountOperationCheckStats that can be aggregated over.""" metrics:AccountOperationCheckStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type AccountPublishesStatsMetrics{totalPublishes:Long!}type AccountPublishesStatsRecord{id:ID!metrics:AccountPublishesStatsMetrics!timestamp:Timestamp!}"""Columns of AccountQueryStats.""" enum AccountQueryStatsColumn{CACHED_HISTOGRAM CACHED_REQUESTS_COUNT CACHE_TTL_HISTOGRAM CLIENT_NAME CLIENT_VERSION FORBIDDEN_OPERATION_COUNT FROM_ENGINEPROXY QUERY_ID QUERY_NAME REGISTERED_OPERATION_COUNT REQUESTS_WITH_ERRORS_COUNT SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP UNCACHED_HISTOGRAM UNCACHED_REQUESTS_COUNT}type AccountQueryStatsDimensions{clientName:String clientVersion:String fromEngineproxy:String queryId:ID queryName:String querySignature:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in AccountQueryStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountQueryStatsFilter{and:[AccountQueryStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fromEngineproxy dimension equals the given value if not null. To query for the null value, use {in: {fromEngineproxy: [null]}} instead.""" fromEngineproxy:String in:AccountQueryStatsFilterIn not:AccountQueryStatsFilter or:[AccountQueryStatsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountQueryStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountQueryStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fromEngineproxy dimension is in the given list. A null value in the list means a row with null for that dimension.""" fromEngineproxy:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountQueryStatsMetrics{cacheTtlHistogram:DurationHistogram!cachedHistogram:DurationHistogram!cachedRequestsCount:Long!forbiddenOperationCount:Long!registeredOperationCount:Long!requestsWithErrorsCount:Long!totalLatencyHistogram:DurationHistogram!totalRequestCount:Long!uncachedHistogram:DurationHistogram!uncachedRequestsCount:Long!}input AccountQueryStatsOrderBySpec{column:AccountQueryStatsColumn!direction:Ordering!}type AccountQueryStatsRecord{"""Dimensions of AccountQueryStats that can be grouped by.""" groupBy:AccountQueryStatsDimensions!"""Metrics of AccountQueryStats that can be aggregated over.""" metrics:AccountQueryStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type AccountRoles{canAudit:Boolean!canCreateDevGraph:Boolean!canCreateService:Boolean!canDelete:Boolean!canDownloadInvoice:Boolean!@deprecated(reason:"Use canQueryBillingInfo instead")canManageMembers:Boolean!canQuery:Boolean!canQueryAudit:Boolean!canQueryBillingInfo:Boolean!canQueryInvoices:Boolean!@deprecated(reason:"Use canQueryBillingInfo instead")canQueryMembers:Boolean!canQueryStats:Boolean!canReadTickets:Boolean!canRemoveMembers:Boolean!canSetConstrainedPlan:Boolean!canUpdateBillingInfo:Boolean!canUpdateMetadata:Boolean!}enum AccountState{ACTIVE CLOSED UNKNOWN UNPROVISIONED}"""A time window with a specified granularity over a given account.""" type AccountStatsWindow{billingUsageStats("""Filter to select what rows to return.""" filter:AccountBillingUsageStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountBillingUsageStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountBillingUsageStatsOrderBySpec!]):[AccountBillingUsageStatsRecord!]!edgeServerInfos("""Filter to select what rows to return.""" filter:AccountEdgeServerInfosFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountEdgeServerInfos by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountEdgeServerInfosOrderBySpec!]):[AccountEdgeServerInfosRecord!]!errorStats("""Filter to select what rows to return.""" filter:AccountErrorStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountErrorStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountErrorStatsOrderBySpec!]):[AccountErrorStatsRecord!]!fieldExecutions("""Filter to select what rows to return.""" filter:AccountFieldExecutionsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountFieldExecutions by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountFieldExecutionsOrderBySpec!]):[AccountFieldExecutionsRecord!]!fieldLatencies("""Filter to select what rows to return.""" filter:AccountFieldLatenciesFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountFieldLatencies by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountFieldLatenciesOrderBySpec!]):[AccountFieldLatenciesRecord!]!fieldRequestsByClientVersion("""Filter to select what rows to return.""" filter:AccountFieldRequestsByClientVersionFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountFieldRequestsByClientVersion by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountFieldRequestsByClientVersionOrderBySpec!]):[AccountFieldRequestsByClientVersionRecord!]!fieldUsage("""Filter to select what rows to return.""" filter:AccountFieldUsageFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountFieldUsage by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountFieldUsageOrderBySpec!]):[AccountFieldUsageRecord!]!operationCheckStats("""Filter to select what rows to return.""" filter:AccountOperationCheckStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountOperationCheckStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountOperationCheckStatsOrderBySpec!]):[AccountOperationCheckStatsRecord!]!queryStats("""Filter to select what rows to return.""" filter:AccountQueryStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountQueryStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountQueryStatsOrderBySpec!]):[AccountQueryStatsRecord!]!"""From field rounded down to the nearest resolution.""" roundedDownFrom:Timestamp!"""To field rounded up to the nearest resolution.""" roundedUpTo:Timestamp!tracePathErrorsRefs("""Filter to select what rows to return.""" filter:AccountTracePathErrorsRefsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountTracePathErrorsRefs by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountTracePathErrorsRefsOrderBySpec!]):[AccountTracePathErrorsRefsRecord!]!traceRefs("""Filter to select what rows to return.""" filter:AccountTraceRefsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountTraceRefs by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountTraceRefsOrderBySpec!]):[AccountTraceRefsRecord!]!}"""Columns of AccountTracePathErrorsRefs.""" enum AccountTracePathErrorsRefsColumn{CLIENT_NAME CLIENT_VERSION DURATION_BUCKET ERRORS_COUNT_IN_PATH ERRORS_COUNT_IN_TRACE ERROR_MESSAGE PATH QUERY_ID QUERY_NAME SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP TRACE_HTTP_STATUS_CODE TRACE_ID TRACE_SIZE_BYTES TRACE_STARTS_AT}type AccountTracePathErrorsRefsDimensions{clientName:String clientVersion:String durationBucket:Int errorMessage:String path:String queryId:ID queryName:String schemaHash:String schemaTag:String serviceId:ID traceHttpStatusCode:Int traceId:ID traceStartsAt:Timestamp}"""Filter for data in AccountTracePathErrorsRefs. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountTracePathErrorsRefsFilter{and:[AccountTracePathErrorsRefsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose durationBucket dimension equals the given value if not null. To query for the null value, use {in: {durationBucket: [null]}} instead.""" durationBucket:Int """Selects rows whose errorMessage dimension equals the given value if not null. To query for the null value, use {in: {errorMessage: [null]}} instead.""" errorMessage:String in:AccountTracePathErrorsRefsFilterIn not:AccountTracePathErrorsRefsFilter or:[AccountTracePathErrorsRefsFilter!]"""Selects rows whose path dimension equals the given value if not null. To query for the null value, use {in: {path: [null]}} instead.""" path:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID """Selects rows whose traceHttpStatusCode dimension equals the given value if not null. To query for the null value, use {in: {traceHttpStatusCode: [null]}} instead.""" traceHttpStatusCode:Int """Selects rows whose traceId dimension equals the given value if not null. To query for the null value, use {in: {traceId: [null]}} instead.""" traceId:ID}"""Filter for data in AccountTracePathErrorsRefs. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountTracePathErrorsRefsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose durationBucket dimension is in the given list. A null value in the list means a row with null for that dimension.""" durationBucket:[Int]"""Selects rows whose errorMessage dimension is in the given list. A null value in the list means a row with null for that dimension.""" errorMessage:[String]"""Selects rows whose path dimension is in the given list. A null value in the list means a row with null for that dimension.""" path:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]"""Selects rows whose traceHttpStatusCode dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceHttpStatusCode:[Int]"""Selects rows whose traceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceId:[ID]}type AccountTracePathErrorsRefsMetrics{errorsCountInPath:Long!errorsCountInTrace:Long!traceSizeBytes:Long!}input AccountTracePathErrorsRefsOrderBySpec{column:AccountTracePathErrorsRefsColumn!direction:Ordering!}type AccountTracePathErrorsRefsRecord{"""Dimensions of AccountTracePathErrorsRefs that can be grouped by.""" groupBy:AccountTracePathErrorsRefsDimensions!"""Metrics of AccountTracePathErrorsRefs that can be aggregated over.""" metrics:AccountTracePathErrorsRefsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of AccountTraceRefs.""" enum AccountTraceRefsColumn{CLIENT_NAME CLIENT_VERSION DURATION_BUCKET DURATION_NS QUERY_ID QUERY_NAME SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP TRACE_ID TRACE_SIZE_BYTES}type AccountTraceRefsDimensions{clientName:String clientVersion:String durationBucket:Int queryId:ID queryName:String querySignature:String schemaHash:String schemaTag:String serviceId:ID traceId:ID}"""Filter for data in AccountTraceRefs. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountTraceRefsFilter{and:[AccountTraceRefsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose durationBucket dimension equals the given value if not null. To query for the null value, use {in: {durationBucket: [null]}} instead.""" durationBucket:Int in:AccountTraceRefsFilterIn not:AccountTraceRefsFilter or:[AccountTraceRefsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID """Selects rows whose traceId dimension equals the given value if not null. To query for the null value, use {in: {traceId: [null]}} instead.""" traceId:ID}"""Filter for data in AccountTraceRefs. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountTraceRefsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose durationBucket dimension is in the given list. A null value in the list means a row with null for that dimension.""" durationBucket:[Int]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]"""Selects rows whose traceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceId:[ID]}type AccountTraceRefsMetrics{durationNs:Long!traceSizeBytes:Long!}input AccountTraceRefsOrderBySpec{column:AccountTraceRefsColumn!direction:Ordering!}type AccountTraceRefsRecord{"""Dimensions of AccountTraceRefs that can be grouped by.""" groupBy:AccountTraceRefsDimensions!"""Metrics of AccountTraceRefs that can be aggregated over.""" metrics:AccountTraceRefsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""An actor (view of Identity) that performed an action within Studio.""" type Actor{actorId:ID!type:ActorType!}input ActorInput{actorId:ID!type:ActorType!}enum ActorType{ANONYMOUS_USER BACKFILL CRON GRAPH INTERNAL_IDENTITY SYNCHRONIZATION SYSTEM USER}union AddOperationCollectionEntryResult=OperationCollectionEntry|PermissionError|ValidationError union AddOperationCollectionToVariantResult=GraphVariant|InvalidTarget|PermissionError|ValidationError type AffectedClient{"""ID, often the name, of the client set by the user and reported alongside metrics""" clientReferenceId:ID@deprecated(reason:"Unsupported.")"""version of the client set by the user and reported alongside metrics""" clientVersion:String@deprecated(reason:"Unsupported.")}type AffectedQuery{"""If the operation would be approved if the check ran again. Returns null if queried from SchemaDiff.changes.affectedQueries.alreadyApproved""" alreadyApproved:Boolean """If the operation would be ignored if the check ran again""" alreadyIgnored:Boolean """List of changes affecting this query. Returns null if queried from SchemaDiff.changes.affectedQueries.changes""" changes:[ChangeOnOperation!]"""Name to display to the user for the operation""" displayName:String id:ID!"""Determines if this query validates against the proposed schema""" isValid:Boolean """Whether this operation was ignored and its severity was downgraded for that reason""" markedAsIgnored:Boolean """Whether the changes were marked as safe and its severity was downgraded for that reason""" markedAsSafe:Boolean """Name provided for the operation, which can be empty string if it is an anonymous operation""" name:String """First 128 characters of query signature for display""" signature:String}interface ApiKey{id:ID!keyName:String token:String!}type ApiKeyProvision{apiKey:ApiKey!created:Boolean!}type AuditLogExport{actors:[Identity!]bigqueryTriggeredAt:Timestamp completedAt:Timestamp createdAt:Timestamp!exportedFiles:[String!]from:Timestamp!graphs:[Service!]id:ID!requester:User status:AuditStatus!to:Timestamp!}type AuditLogExportMutation{cancel:Account delete:Account}enum AuditStatus{CANCELLED COMPLETED EXPIRED FAILED IN_PROGRESS QUEUED}type AvatarDeleteError{clientMessage:String!code:AvatarDeleteErrorCode!serverMessage:String!}enum AvatarDeleteErrorCode{SSO_USERS_CANNOT_DELETE_SELF_AVATAR}type AvatarUploadError{clientMessage:String!code:AvatarUploadErrorCode!serverMessage:String!}enum AvatarUploadErrorCode{SSO_USERS_CANNOT_UPLOAD_SELF_AVATAR}union AvatarUploadResult=AvatarUploadError|MediaUploadInfo type BillingAddress{address1:String address2:String city:String country:String state:String zip:String}"""Billing address inpnut""" input BillingAddressInput{address1:String!address2:String city:String!country:String!state:String!zip:String!}type BillingInfo{address:BillingAddress!cardType:String firstName:String lastFour:Int lastName:String month:Int vatNumber:String year:Int}enum BillingModel{REQUEST_BASED SEAT_BASED}type BillingMonth{end:Timestamp!requests:Long!start:Timestamp!}enum BillingPeriod{MONTHLY QUARTERLY SEMI_ANNUALLY YEARLY}type BillingPlan{addons:[BillingPlanAddon!]!billingModel:BillingModel!billingPeriod:BillingPeriod capabilities:BillingPlanCapabilities!description:String id:ID!isTrial:Boolean!kind:BillingPlanKind!name:String!"""The price of every seat""" pricePerSeatInUsdCents:Int """The price of subscribing to this plan with a quantity of 1 (currently always the case)""" pricePerUnitInUsdCents:Int!"""Whether the plan is accessible by all users in QueryRoot.allPlans, QueryRoot.plan, or AccountMutation.setPlan""" public:Boolean!tier:BillingPlanTier!}type BillingPlanAddon{id:ID!pricePerUnitInUsdCents:Int!}type BillingPlanAddonV2{id:ID!pricePerUnitInUsdCents:Int!}type BillingPlanCapabilities{clients:Boolean!contracts:Boolean!datadog:Boolean!errors:Boolean!federation:Boolean!launches:Boolean!maxAuditInDays:Int!maxRangeInDays:Int maxRequestsPerMonth:Long metrics:Boolean!notifications:Boolean!operationRegistry:Boolean!ranges:[String!]!schemaValidation:Boolean!traces:Boolean!userRoles:Boolean!webhooks:Boolean!}enum BillingPlanKind{COMMUNITY ENTERPRISE_INTERNAL ENTERPRISE_PAID ENTERPRISE_PILOT TEAM_PAID TEAM_TRIAL}enum BillingPlanKindV2{COMMUNITY ENTERPRISE_INTERNAL ENTERPRISE_PAID ENTERPRISE_PILOT TEAM_PAID TEAM_TRIAL UNKNOWN}enum BillingPlanTier{COMMUNITY ENTERPRISE TEAM}enum BillingPlanTierV2{COMMUNITY ENTERPRISE TEAM UNKNOWN}type BillingPlanV2{addons:[BillingPlanAddonV2!]!billingModel:BillingModel!billingPeriod:BillingPeriod clients:Boolean!contracts:Boolean!datadog:Boolean!description:String errors:Boolean!federation:Boolean!id:ID!isTrial:Boolean!kind:BillingPlanKindV2!launches:Boolean!maxAuditInDays:Int!maxRangeInDays:Int maxRequestsPerMonth:Long metrics:Boolean!name:String!notifications:Boolean!operationRegistry:Boolean!"""The price of every seat""" pricePerSeatInUsdCents:Int """The price of subscribing to this plan with a quantity of 1 (currently always the case)""" pricePerUnitInUsdCents:Int!"""Whether the plan is accessible by all users in QueryRoot.allPlans, QueryRoot.plan, or AccountMutation.setPlan""" public:Boolean!ranges:[String!]!schemaValidation:Boolean!tier:BillingPlanTierV2!traces:Boolean!userRoles:Boolean!webhooks:Boolean!}type BillingSubscription{activatedAt:Timestamp!addons:[BillingSubscriptionAddon!]!autoRenew:Boolean!"""The price of the subscription when ignoring add-ons (such as seats), ie quantity * pricePerUnitInUsdCents""" basePriceInUsdCents:Long!canceledAt:Timestamp currentPeriodEndsAt:Timestamp!currentPeriodStartedAt:Timestamp!expiresAt:Timestamp plan:BillingPlan!"""The price of every seat""" pricePerSeatInUsdCents:Int """The price of every unit in the subscription (hence multiplied by quantity to get to the basePriceInUsdCents)""" pricePerUnitInUsdCents:Int!quantity:Int!"""Total price of the subscription when it next renews, including add-ons (such as seats)""" renewalTotalPriceInUsdCents:Long!state:SubscriptionState!"""Total price of the subscription, including add-ons (such as seats)""" totalPriceInUsdCents:Long!"""When this subscription's trial period expires (if it is a trial). Not the same as the 11 - subscription's Recurly expiration).""" trialExpiresAt:Timestamp uuid:ID!}type BillingSubscriptionAddon{id:ID!pricePerUnitInUsdCents:Int!quantity:Int!}type BillingSubscriptionAddonV2{id:ID!pricePerUnitInUsdCents:Int!quantity:Int!}type BillingSubscriptionV2{"""The price of every unit in the subscription (hence multiplied by quantity to get to the basePriceInUsdCents)""" activatedAt:Timestamp!addons:[BillingSubscriptionAddonV2!]!autoRenew:Boolean!canceledAt:Timestamp currentPeriodEndsAt:Timestamp!currentPeriodStartedAt:Timestamp!expiresAt:Timestamp plan:BillingPlanV2!"""The price of every seat""" pricePerSeatInUsdCents:Int quantity:Int!state:SubscriptionStateV2!"""When this subscription's trial period expires (if it is a trial). Not the same as the 12 - subscription's Recurly expiration).""" trialExpiresAt:Timestamp uuid:ID!}"""Columns of BillingUsageStats.""" enum BillingUsageStatsColumn{ACCOUNT_ID OPERATION_COUNT OPERATION_COUNT_PROVIDED_EXPLICITLY SCHEMA_TAG SERVICE_ID TIMESTAMP}type BillingUsageStatsDimensions{accountId:ID operationCountProvidedExplicitly:String schemaTag:String serviceId:ID}"""Filter for data in BillingUsageStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input BillingUsageStatsFilter{"""Selects rows whose accountId dimension equals the given value if not null. To query for the null value, use {in: {accountId: [null]}} instead.""" accountId:ID and:[BillingUsageStatsFilter!]in:BillingUsageStatsFilterIn not:BillingUsageStatsFilter """Selects rows whose operationCountProvidedExplicitly dimension equals the given value if not null. To query for the null value, use {in: {operationCountProvidedExplicitly: [null]}} instead.""" operationCountProvidedExplicitly:String or:[BillingUsageStatsFilter!]"""Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in BillingUsageStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input BillingUsageStatsFilterIn{"""Selects rows whose accountId dimension is in the given list. A null value in the list means a row with null for that dimension.""" accountId:[ID]"""Selects rows whose operationCountProvidedExplicitly dimension is in the given list. A null value in the list means a row with null for that dimension.""" operationCountProvidedExplicitly:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type BillingUsageStatsMetrics{operationCount:Long!}input BillingUsageStatsOrderBySpec{column:BillingUsageStatsColumn!direction:Ordering!}type BillingUsageStatsRecord{"""Dimensions of BillingUsageStats that can be grouped by.""" groupBy:BillingUsageStatsDimensions!"""Metrics of BillingUsageStats that can be aggregated over.""" metrics:BillingUsageStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""A blob (base64'ed in JSON & GraphQL)""" scalar Blob type Build{input:BuildInput!result:BuildResult}type BuildError{code:String locations:[SourceLocation!]!message:String!}type BuildFailure{errorMessages:[BuildError!]!}union BuildInput=CompositionBuildInput|FilterBuildInput union BuildResult=BuildFailure|BuildSuccess type BuildSuccess{coreSchema:CoreSchema!}enum CacheScope{PRIVATE PUBLIC UNKNOWN UNRECOGNIZED}"""A specific change to a definition in your schema.""" type Change{affectedQueries:[AffectedQuery!]"""Target arg of change made.""" argNode:NamedIntrospectionArg """Indication of the category of the change (e.g. addition, removal, edit).""" category:ChangeCategory!"""Node related to the top level node that was changed, such as a field in an object, 13 - a value in an enum or the object of an interface.""" childNode:NamedIntrospectionValue """Indication of the kind of target and action of the change, e.g. 'TYPE_REMOVED'.""" code:String!"""Human-readable description of the change.""" description:String!"""Top level node affected by the change.""" parentNode:NamedIntrospectionType """Severity of the change, either failure or warning.""" severity:ChangeSeverity!"""Indication of the success of the overall change, either failure, warning, or notice.""" type:ChangeType!@deprecated(reason:"use severity instead")}"""Defines a set of categories that a schema change 14 - can be grouped by.""" enum ChangeCategory{ADDITION DEPRECATION EDIT REMOVAL}"""These schema change codes represent all of the possible changes that can 15 - occur during the schema diff algorithm.""" enum ChangeCode{"""Type of the argument was changed.""" ARG_CHANGED_TYPE """Argument was changed from nullable to non-nullable.""" ARG_CHANGED_TYPE_OPTIONAL_TO_REQUIRED """Default value added or changed for the argument.""" ARG_DEFAULT_VALUE_CHANGE """Description was added, removed, or updated for argument.""" ARG_DESCRIPTION_CHANGE """Argument to a field was removed.""" ARG_REMOVED """Argument to the directive was removed.""" DIRECTIVE_ARG_REMOVED """Location of the directive was removed.""" DIRECTIVE_LOCATION_REMOVED """Directive was removed.""" DIRECTIVE_REMOVED """Repeatable flag was removed for directive.""" DIRECTIVE_REPEATABLE_REMOVED """Enum was deprecated.""" ENUM_DEPRECATED """Reason for enum deprecation changed.""" ENUM_DEPRECATED_REASON_CHANGE """Enum deprecation was removed.""" ENUM_DEPRECATION_REMOVED """Description was added, removed, or updated for enum value.""" ENUM_VALUE_DESCRIPTION_CHANGE """Field was added to the type.""" FIELD_ADDED """Return type for the field was changed.""" FIELD_CHANGED_TYPE """Field was deprecated.""" FIELD_DEPRECATED """Reason for field deprecation changed.""" FIELD_DEPRECATED_REASON_CHANGE """Field deprecation removed.""" FIELD_DEPRECATION_REMOVED """Description was added, removed, or updated for field.""" FIELD_DESCRIPTION_CHANGE """Type of the field in the input object was changed.""" FIELD_ON_INPUT_OBJECT_CHANGED_TYPE """Field was removed from the type.""" FIELD_REMOVED """Field was removed from the input object.""" FIELD_REMOVED_FROM_INPUT_OBJECT """Non-nullable field was added to the input object. (Deprecated.)""" NON_NULLABLE_FIELD_ADDED_TO_INPUT_OBJECT """Nullable field was added to the input type. (Deprecated.)""" NULLABLE_FIELD_ADDED_TO_INPUT_OBJECT """Nullable argument was added to the field.""" OPTIONAL_ARG_ADDED """Optional field was added to the input type.""" OPTIONAL_FIELD_ADDED_TO_INPUT_OBJECT """Non-nullable argument was added to the field.""" REQUIRED_ARG_ADDED """Non-nullable argument added to directive.""" REQUIRED_DIRECTIVE_ARG_ADDED """Required field was added to the input object.""" REQUIRED_FIELD_ADDED_TO_INPUT_OBJECT """Type was added to the schema.""" TYPE_ADDED """Type now implements the interface.""" TYPE_ADDED_TO_INTERFACE """A new value was added to the enum.""" TYPE_ADDED_TO_UNION """Type was changed from one kind to another. 16 - Ex: scalar to object or enum to union.""" TYPE_CHANGED_KIND """Description was added, removed, or updated for type.""" TYPE_DESCRIPTION_CHANGE """Type (object or scalar) was removed from the schema.""" TYPE_REMOVED """Type no longer implements the interface.""" TYPE_REMOVED_FROM_INTERFACE """Type is no longer included in the union.""" TYPE_REMOVED_FROM_UNION """A new value was added to the enum.""" VALUE_ADDED_TO_ENUM """Value was removed from the enum.""" VALUE_REMOVED_FROM_ENUM}"""Represents the tuple of static information 17 - about a particular kind of schema change.""" type ChangeDefinition{category:ChangeCategory!code:ChangeCode!defaultSeverity:ChangeSeverity!}"""Info about a change in the context of an operation it affects""" type ChangeOnOperation{"""Human-readable explanation of the impact of this change on the operation""" impact:String """The semantic info about this change, i.e. info about the change that doesn't depend on the operation""" semanticChange:SemanticChange!}enum ChangeSeverity{FAILURE NOTICE}"""Summary of the changes for a schema diff, computed by placing the changes into categories and then 1 + schema { 2 + query: Query 3 + mutation: Mutation 4 + } 5 + 6 + """An organization in Apollo Studio. Can have multiple members and graphs.""" 7 + type Organization { 8 + auditLogExports: [AuditLogExport!] 9 + """Graphs belonging to this organization.""" 10 + graphs(includeDeleted: Boolean): [Graph!]! 11 + """Globally unique identifier, which isn't guaranteed stable (can be changed by administrators).""" 12 + id: ID! 13 + """Name of the organization, which can change over time and isn't unique.""" 14 + name: String! 15 + """Graphs belonging to this organization.""" 16 + services(includeDeleted: Boolean): [Graph!]! @deprecated(reason: "Use graphs field instead") 17 + } 18 + 19 + type OrganizationMutation { 20 + """Trigger a request for an audit export""" 21 + requestAuditExport(actors: [ActorInput!], from: Timestamp!, graphIds: [String!], to: Timestamp!): Organization 22 + } 23 + 24 + """Represents an actor that performs actions in Apollo Studio. Most actors are either a `USER` or a `GRAPH` (based on a request's provided API key), and they have the corresponding `ActorType`.""" 25 + type Actor { 26 + actorId: ID! 27 + type: ActorType! 28 + } 29 + 30 + """Input type to provide when specifying an `Actor` in operation arguments. See also the `Actor` object type.""" 31 + input ActorInput { 32 + actorId: ID! 33 + type: ActorType! 34 + } 35 + 36 + enum ActorType { 37 + ANONYMOUS_USER 38 + BACKFILL 39 + CRON 40 + GRAPH 41 + INTERNAL_IDENTITY 42 + SYNCHRONIZATION 43 + SYSTEM 44 + USER 45 + } 46 + 47 + union AddOperationCollectionEntriesResult = AddOperationCollectionEntriesSuccess | PermissionError | ValidationError 48 + 49 + type AddOperationCollectionEntriesSuccess { 50 + operationCollectionEntries: [OperationCollectionEntry!]! 51 + } 52 + 53 + union AddOperationCollectionEntryResult = OperationCollectionEntry | PermissionError | ValidationError 54 + 55 + input AddOperationInput { 56 + """The operation's fields.""" 57 + document: OperationCollectionEntryStateInput! 58 + """The operation's name.""" 59 + name: String! 60 + } 61 + 62 + type AffectedQuery { 63 + id: ID! 64 + """First 128 characters of query signature for display""" 65 + signature: String 66 + """Name to display to the user for the operation""" 67 + displayName: String 68 + """Name provided for the operation, which can be empty string if it is an anonymous operation""" 69 + name: String 70 + """Determines if this query validates against the proposed schema""" 71 + isValid: Boolean 72 + """List of changes affecting this query. Returns null if queried from SchemaDiff.changes.affectedQueries.changes""" 73 + changes: [ChangeOnOperation!] 74 + """Whether this operation was ignored and its severity was downgraded for that reason""" 75 + markedAsIgnored: Boolean 76 + """Whether the changes were marked as safe and its severity was downgraded for that reason""" 77 + markedAsSafe: Boolean 78 + """If the operation would be approved if the check ran again. Returns null if queried from SchemaDiff.changes.affectedQueries.alreadyApproved""" 79 + alreadyApproved: Boolean 80 + """If the operation would be ignored if the check ran again""" 81 + alreadyIgnored: Boolean 82 + } 83 + 84 + """ 85 + Represents an API key that's used to authenticate a 86 + particular Apollo user or graph. 87 + """ 88 + interface ApiKey { 89 + """The API key's ID.""" 90 + id: ID! 91 + """The API key's name, for distinguishing it from other keys.""" 92 + keyName: String 93 + """The value of the API key. **This is a secret credential!**""" 94 + token: String! 95 + } 96 + 97 + type ApiKeyProvision { 98 + apiKey: ApiKey! 99 + created: Boolean! 100 + } 101 + 102 + type AuditLogExport { 103 + """The list of actors to filter the audit export""" 104 + actors: [Identity!] 105 + """The time when the audit export was completed""" 106 + completedAt: Timestamp 107 + """The time when the audit export was reqeusted""" 108 + createdAt: Timestamp! 109 + """List of URLs to download the audits for the requested range""" 110 + downloadUrls: [String!] 111 + """The starting point of audits to include in export""" 112 + from: Timestamp! 113 + """The list of graphs to filter the audit export""" 114 + graphs: [Graph!] 115 + """The id for the audit export""" 116 + id: ID! 117 + """The user that initiated the audit export""" 118 + requester: User 119 + """The status of the audit export""" 120 + status: AuditStatus! 121 + """The end point of audits to include in export""" 122 + to: Timestamp! 123 + } 124 + 125 + enum AuditStatus { 126 + CANCELLED 127 + COMPLETED 128 + EXPIRED 129 + FAILED 130 + IN_PROGRESS 131 + QUEUED 132 + } 133 + 134 + """The building of a Studio variant (including supergraph composition and any contract filtering) as part of a launch.""" 135 + type Build { 136 + """The inputs provided to the build, including subgraph and contract details.""" 137 + input: BuildInput! 138 + """The result of the build. This value is null until the build completes.""" 139 + result: BuildResult 140 + } 141 + 142 + """A single error that occurred during the failed execution of a build.""" 143 + type BuildError { 144 + code: String 145 + locations: [SourceLocation!]! 146 + message: String! 147 + } 148 + 149 + """Contains the details of an executed build that failed.""" 150 + type BuildFailure { 151 + """A list of all errors that occurred during the failed build.""" 152 + errorMessages: [BuildError!]! 153 + } 154 + 155 + union BuildInput = CompositionBuildInput | FilterBuildInput 156 + 157 + union BuildResult = BuildFailure | BuildSuccess 158 + 159 + """Contains the details of an executed build that succeeded.""" 160 + type BuildSuccess { 161 + """Contains the supergraph and API schemas created by composition.""" 162 + coreSchema: CoreSchema! 163 + } 164 + 165 + """A single change that was made to a definition in a schema.""" 166 + type Change { 167 + """The severity of the change (e.g., `FAILURE` or `NOTICE`)""" 168 + severity: ChangeSeverity! 169 + """Indicates the type of change that was made, and to what (e.g., 'TYPE_REMOVED').""" 170 + code: String! 171 + """Indication of the category of the change (e.g. addition, removal, edit).""" 172 + category: ChangeCategory! 173 + """A human-readable description of the change.""" 174 + description: String! 175 + affectedQueries: [AffectedQuery!] 176 + """Top level node affected by the change.""" 177 + parentNode: NamedIntrospectionType 178 + """ 179 + Node related to the top level node that was changed, such as a field in an object, 180 + a value in an enum or the object of an interface. 181 + """ 182 + childNode: NamedIntrospectionValue 183 + """Target arg of change made.""" 184 + argNode: NamedIntrospectionArg 185 + } 186 + 187 + """ 188 + Defines a set of categories that a schema change 189 + can be grouped by. 190 + """ 191 + enum ChangeCategory { 192 + ADDITION 193 + EDIT 194 + REMOVAL 195 + DEPRECATION 196 + } 197 + 198 + """ 199 + These schema change codes represent all of the possible changes that can 200 + occur during the schema diff algorithm. 201 + """ 202 + enum ChangeCode { 203 + """Field was removed from the type.""" 204 + FIELD_REMOVED 205 + """Type (object or scalar) was removed from the schema.""" 206 + TYPE_REMOVED 207 + """Argument to a field was removed.""" 208 + ARG_REMOVED 209 + """Type is no longer included in the union.""" 210 + TYPE_REMOVED_FROM_UNION 211 + """Field was removed from the input object.""" 212 + FIELD_REMOVED_FROM_INPUT_OBJECT 213 + """Value was removed from the enum.""" 214 + VALUE_REMOVED_FROM_ENUM 215 + """Type no longer implements the interface.""" 216 + TYPE_REMOVED_FROM_INTERFACE 217 + """Non-nullable argument was added to the field.""" 218 + REQUIRED_ARG_ADDED 219 + """Non-nullable field was added to the input object. (Deprecated.)""" 220 + NON_NULLABLE_FIELD_ADDED_TO_INPUT_OBJECT 221 + """Required field was added to the input object.""" 222 + REQUIRED_FIELD_ADDED_TO_INPUT_OBJECT 223 + """Return type for the field was changed.""" 224 + FIELD_CHANGED_TYPE 225 + """Type of the field in the input object was changed.""" 226 + FIELD_ON_INPUT_OBJECT_CHANGED_TYPE 227 + """ 228 + Type was changed from one kind to another. 229 + Ex: scalar to object or enum to union. 230 + """ 231 + TYPE_CHANGED_KIND 232 + """Type of the argument was changed.""" 233 + ARG_CHANGED_TYPE 234 + """Argument was changed from nullable to non-nullable.""" 235 + ARG_CHANGED_TYPE_OPTIONAL_TO_REQUIRED 236 + """A new value was added to the enum.""" 237 + VALUE_ADDED_TO_ENUM 238 + """A new value was added to the enum.""" 239 + TYPE_ADDED_TO_UNION 240 + """Type now implements the interface.""" 241 + TYPE_ADDED_TO_INTERFACE 242 + """Default value added or changed for the argument.""" 243 + ARG_DEFAULT_VALUE_CHANGE 244 + """Nullable argument was added to the field.""" 245 + OPTIONAL_ARG_ADDED 246 + """Nullable field was added to the input type. (Deprecated.)""" 247 + NULLABLE_FIELD_ADDED_TO_INPUT_OBJECT 248 + """Optional field was added to the input type.""" 249 + OPTIONAL_FIELD_ADDED_TO_INPUT_OBJECT 250 + """Field was added to the type.""" 251 + FIELD_ADDED 252 + """Type was added to the schema.""" 253 + TYPE_ADDED 254 + """Enum was deprecated.""" 255 + ENUM_DEPRECATED 256 + """Enum deprecation was removed.""" 257 + ENUM_DEPRECATION_REMOVED 258 + """Reason for enum deprecation changed.""" 259 + ENUM_DEPRECATED_REASON_CHANGE 260 + """Field was deprecated.""" 261 + FIELD_DEPRECATED 262 + """Field deprecation removed.""" 263 + FIELD_DEPRECATION_REMOVED 264 + """Reason for field deprecation changed.""" 265 + FIELD_DEPRECATED_REASON_CHANGE 266 + """Description was added, removed, or updated for type.""" 267 + TYPE_DESCRIPTION_CHANGE 268 + """Description was added, removed, or updated for field.""" 269 + FIELD_DESCRIPTION_CHANGE 270 + """Description was added, removed, or updated for enum value.""" 271 + ENUM_VALUE_DESCRIPTION_CHANGE 272 + """Description was added, removed, or updated for argument.""" 273 + ARG_DESCRIPTION_CHANGE 274 + """Directive was removed.""" 275 + DIRECTIVE_REMOVED 276 + """Argument to the directive was removed.""" 277 + DIRECTIVE_ARG_REMOVED 278 + """Location of the directive was removed.""" 279 + DIRECTIVE_LOCATION_REMOVED 280 + """Repeatable flag was removed for directive.""" 281 + DIRECTIVE_REPEATABLE_REMOVED 282 + """Non-nullable argument added to directive.""" 283 + REQUIRED_DIRECTIVE_ARG_ADDED 284 + } 285 + 286 + """ 287 + Represents the tuple of static information 288 + about a particular kind of schema change. 289 + """ 290 + type ChangeDefinition { 291 + code: ChangeCode! 292 + defaultSeverity: ChangeSeverity! 293 + category: ChangeCategory! 294 + } 295 + 296 + """An addition made to a Studio variant's changelog after a launch.""" 297 + type ChangelogLaunchResult { 298 + createdAt: Timestamp! 299 + schemaTagID: ID! 300 + } 301 + 302 + """Info about a change in the context of an operation it affects""" 303 + type ChangeOnOperation { 304 + """The semantic info about this change, i.e. info about the change that doesn't depend on the operation""" 305 + semanticChange: SemanticChange! 306 + """Human-readable explanation of the impact of this change on the operation""" 307 + impact: String 308 + } 309 + 310 + enum ChangeSeverity { 311 + FAILURE 312 + NOTICE 313 + } 314 + 315 + """ 316 + Summary of the changes for a schema diff, computed by placing the changes into categories and then 18 317 counting the size of each category. This categorization can be done in different ways, and 19 318 accordingly there are multiple fields here for each type of categorization. 20 319 ··· 22 321 changes generated for its arguments or @deprecated usages. If an enum type is added/removed, there 23 322 will be addition/removal changes generated for its values, but not for those values' @deprecated 24 323 usages. Description changes won't be generated for a schema element if that element (or an 25 - ancestor) was added/removed.""" type ChangeSummary{"""Counts for changes to fields of objects, input objects, and interfaces.""" field:FieldChangeSummaryCounts!"""Counts for all changes.""" total:TotalChangeSummaryCounts!"""Counts for changes to non-field aspects of objects, input objects, and interfaces, 26 - and all aspects of enums, unions, and scalars.""" type:TypeChangeSummaryCounts!}enum ChangeType{FAILURE NOTICE}type ChangelogLaunchResult{createdAt:Timestamp!schemaTagID:ID!}"""Destination for notifications""" interface Channel{id:ID!name:String!subscriptions:[ChannelSubscription!]!}interface ChannelSubscription{channels:[Channel!]!enabled:Boolean!id:ID!variant:String}type CheckConfiguration{"""Time when check configuration was created""" createdAt:Timestamp!"""Clients to ignore during validation""" excludedClients:[ClientFilter!]!"""Operation names to ignore during validation""" excludedOperationNames:[OperationNameFilter]"""Operations to ignore during validation""" excludedOperations:[ExcludedOperation!]!"""Graph that this check configuration belongs to""" graphID:ID!"""ID of the check configuration""" id:ID!"""Default configuration to include operations on the base variant.""" includeBaseVariant:Boolean!"""Variant overrides for validation""" includedVariants:[String!]!"""Minimum number of requests within the window for an operation to be considered.""" operationCountThreshold:Int!"""Number of requests within the window for an operation to be considered, relative to 27 - total request count. Expected values are between 0 and 0.05 (minimum 5% of 28 - total request volume)""" operationCountThresholdPercentage:Float!"""Only check operations from the last <timeRangeSeconds> seconds. 29 - The default is 7 days (604,800 seconds).""" timeRangeSeconds:Long!"""Time when check configuration was last updated""" updatedAt:Timestamp!"""Identity of the last user to update the check configuration""" updatedBy:Identity}"""Filter options available when listing checks.""" input CheckFilterInput{authors:[String!]branches:[String!]status:CheckFilterInputStatusOption subgraphs:[String!]}"""Options for filtering CheckWorkflows by status""" enum CheckFilterInputStatusOption{FAILED PASSED PENDING}"""The result of performing a subgraph check, including all steps.""" type CheckPartialSchemaResult{"""Overall result of the check. This will be null if composition validation was unsuccessful.""" checkSchemaResult:CheckSchemaResult """Result of compostion run as part of the overall subgraph check.""" compositionValidationResult:CompositionValidationResult!"""Whether any modifications were detected in the composed core schema.""" coreSchemaModified:Boolean!"""Check workflow associated with the overall subgraph check.""" workflow:CheckWorkflow}type CheckSchemaResult{"""Schema diff and affected operations generated by the schema check""" diffToPrevious:SchemaDiff!"""ID of the operations check that was created""" operationsCheckID:ID!"""Generated url to view schema diff in Engine""" targetUrl:String """Workflow associated with this check result""" workflow:CheckWorkflow}type CheckWorkflow{"""The variant provided as a base to check against. Only the differences from the 30 - base schema will be tested in operations checks.""" baseVariant:GraphVariant completedAt:Timestamp createdAt:Timestamp!"""Contextual parameters supplied by the runtime environment where the check was run.""" gitContext:GitContext id:ID!"""The name of the implementing service that was responsible for triggering the validation.""" implementingServiceName:String """If this check is triggered for an sdl fetched using introspection, this is the endpoint where that schema was being served.""" introspectionEndpoint:String """Only true if the check was triggered from Sandbox Checks page.""" isSandboxCheck:Boolean!"""If this check was created by rerunning, the original check that was rerun.""" rerunOf:CheckWorkflow """Checks created by re-running this check, most recent first.""" reruns(limit:Int!=20):[CheckWorkflow!]startedAt:Timestamp """Overall status of the workflow, based on the underlying task statuses.""" status:CheckWorkflowStatus!"""The set of check tasks associated with this workflow, e.g. OperationsCheck, GraphComposition, etc.""" tasks:[CheckWorkflowTask!]!"""Identity of the user who ran this check""" triggeredBy:Identity """Configuration of validation at the time the check was run.""" validationConfig:SchemaDiffValidationConfig}type CheckWorkflowMutation{"""Re-run a check workflow using the current configuration. A new workflow is created and returned.""" rerun:CheckWorkflowRerunResult}type CheckWorkflowRerunResult{"""Check workflow created by re-running.""" result:CheckWorkflow """Check workflow that was rerun.""" source:CheckWorkflow}enum CheckWorkflowStatus{FAILED PASSED PENDING}interface CheckWorkflowTask{completedAt:Timestamp createdAt:Timestamp!id:ID!status:CheckWorkflowTaskStatus!"""The workflow that this task belongs to.""" workflow:CheckWorkflow!}enum CheckWorkflowTaskStatus{BLOCKED FAILED PASSED PENDING}"""Client filter configuration for a graph.""" type ClientFilter{"""name of the client set by the user and reported alongside metrics""" name:String """version of the client set by the user and reported alongside metrics""" version:String}"""Options to filter by client reference ID, client name, and client version. 31 - If passing client version, make sure to either provide a client reference ID or client name.""" input ClientFilterInput{"""name of the client set by the user and reported alongside metrics""" name:String """version of the client set by the user and reported alongside metrics""" version:String}"""Filter options to exclude by client reference ID, client name, and client version.""" input ClientInfoFilter{name:String """Ignored""" referenceID:ID version:String}"""Filter options to exclude clients. Used as an output type for SchemaDiffValidationConfig.""" type ClientInfoFilterOutput{name:String version:String}enum ComparisonOperator{EQUALS GREATER_THAN GREATER_THAN_OR_EQUAL_TO LESS_THAN LESS_THAN_OR_EQUAL_TO NOT_EQUALS UNRECOGNIZED}"""The result of composition run in the cloud, upon an attempted subgraph deletion.""" type CompositionAndRemoveResult{"""The produced composition config. Will be null if there are any errors""" compositionConfig:CompositionConfig """Whether the removed implementing service existed.""" didExist:Boolean!""" List of errors during composition. Errors mean that Apollo was unable to compose the 32 - graph variant's subgraphs into a GraphQL schema. If present, gateways / routers 33 - are not updated.""" errors:[SchemaCompositionError]!"""ID that points to the results of composition.""" graphCompositionID:String!"""List of subgraphs that are included in this composition.""" subgraphConfigs:[SubgraphConfig!]!"""Whether the gateway/router was updated via Uplink, or would have been for dry runs.""" updatedGateway:Boolean!}"""The result of composition run in the cloud, upon attempted publish of a subgraph.""" type CompositionAndUpsertResult{"""The produced composition config, or null if there are any errors.""" compositionConfig:CompositionConfig """List of errors during composition. Errors mean that Apollo was unable to compose the 34 - graph variant's subgraphs into a supergraph schema. If present, gateways / routers 35 - are not updated.""" errors:[SchemaCompositionError]!"""ID that points to the results of composition.""" graphCompositionID:String!"""Copy text for the launch result of a publish.""" launchCliCopy:String """Link to corresponding launches page on Studio if available.""" launchUrl:String """List of subgraphs that are included in this composition.""" subgraphConfigs:[SubgraphConfig!]!"""Whether the gateway/router was updated via Uplink, or would have been for dry runs.""" updatedGateway:Boolean!"""Whether a subgraph was created as part of this mutation.""" wasCreated:Boolean!"""Whether an implementingService was updated as part of this mutation""" wasUpdated:Boolean!}type CompositionBuildInput{subgraphs:[Subgraph!]!version:String}type CompositionCheckTask implements CheckWorkflowTask{completedAt:Timestamp createdAt:Timestamp!id:ID!"""The result of the composition.""" result:CompositionResult status:CheckWorkflowTaskStatus!workflow:CheckWorkflow!}"""Composition configuration exposed to the gateway.""" type CompositionConfig{"""List of GCS links for implementing services that comprise a composed graph. Is empty if tag/inaccessible is enabled.""" implementingServiceLocations:[ImplementingServiceLocation!]!@deprecated(reason:"Soon we will stop writing to GCS locations")"""Hash of the API schema.""" schemaHash:String!}"""The result of composition run in the cloud.""" type CompositionPublishResult implements CompositionResult{"""The produced composition config. Will be null if there are any errors""" compositionConfig:CompositionConfig """Supergraph SDL generated by composition (this is not the CSDL, that is a deprecated format).""" csdl:GraphQLDocument@deprecated(reason:"Use supergraphSdl instead")"""List of errors during composition. Errors mean that Apollo was unable to compose the 36 - graph variant's subgraphs into a supergraph schema. If present, gateways / routers 37 - are not updated.""" errors:[SchemaCompositionError!]!"""ID for a particular composition.""" graphCompositionID:ID!"""List of subgraphs that are included in this composition.""" subgraphConfigs:[SubgraphConfig!]!"""Supergraph SDL generated by composition.""" supergraphSdl:GraphQLDocument """Whether the gateway/router was updated via Uplink, or would have been for dry runs.""" updatedGateway:Boolean!webhookNotificationBody:String}"""Result of a composition, often as the result of a subgraph check or subgraph publish. 38 - See implementations for more details.""" interface CompositionResult{"""Supergraph SDL generated by composition (this is not the cSDL, a deprecated format).""" csdl:GraphQLDocument@deprecated(reason:"Use supergraphSdl instead")"""List of errors during composition. Errors mean that Apollo was unable to compose the 39 - graph variant's subgraphs into a supergraph schema. If present, gateways / routers 40 - are not updated.""" errors:[SchemaCompositionError!]!"""Globally unique identifier for the composition.""" graphCompositionID:ID!"""List of subgraphs included in this composition.""" subgraphConfigs:[SubgraphConfig!]!"""Supergraph SDL generated by composition.""" supergraphSdl:GraphQLDocument}type CompositionStatusSubscription implements ChannelSubscription{channels:[Channel!]!createdAt:Timestamp!enabled:Boolean!id:ID!lastUpdatedAt:Timestamp!variant:String}"""The composition config exposed to the gateway""" type CompositionValidationDetails{"""List of implementing service partial schemas that comprised the graph composed during validation""" implementingServices:[FederatedImplementingServicePartialSchema!]!"""Hash of the composed schema""" schemaHash:String}"""Metadata about the result of compositions validation run in the cloud, during a subgraph check.""" type CompositionValidationResult implements CompositionResult{"""Describes whether composition succeeded.""" compositionSuccess:Boolean!"""Akin to a composition config, represents the subgraph schemas and corresponding subgraphs that were used 41 - in running composition. Will be null if any errors are encountered. Also may contain a schema hash if 42 - one could be computed, which can be used for schema validation.""" compositionValidationDetails:CompositionValidationDetails """Supergraph SDL generated by composition (this is not the CSDL, that is a deprecated format).""" csdl:GraphQLDocument@deprecated(reason:"Use supergraphSdl instead")"""List of errors during composition. Errors mean that Apollo was unable to compose the 43 - graph variant's subgraphs into a supergraph schema. If present, gateways / routers 44 - are not updated.""" errors:[SchemaCompositionError!]!"""ID that points to the results of this composition.""" graphCompositionID:ID!"""The implementing service that was responsible for triggering the validation""" proposedImplementingService:FederatedImplementingServicePartialSchema!"""List of subgraphs that are included in this composition.""" subgraphConfigs:[SubgraphConfig!]!"""Supergraph schema document generated by composition.""" supergraphSdl:GraphQLDocument """If created as part of a check workflow, the associated workflow task.""" workflowTask:CompositionCheckTask}type ContractPreview{result:ContractPreviewResult!upstreamLaunch:Launch!}type ContractPreviewErrors{errors:[String!]!failedAt:ContractVariantFailedStep!}union ContractPreviewResult=ContractPreviewErrors|ContractPreviewSuccess type ContractPreviewSuccess{apiDocument:String!coreDocument:String!fieldCount:Int!typeCount:Int!}enum ContractVariantFailedStep{ADD_DIRECTIVE_DEFINITIONS_IF_NOT_PRESENT DIRECTIVE_DEFINITION_LOCATION_AUGMENTING EMPTY_ENUM_MASKING EMPTY_INPUT_OBJECT_MASKING EMPTY_OBJECT_AND_INTERFACE_FIELD_MASKING EMPTY_OBJECT_AND_INTERFACE_MASKING EMPTY_UNION_MASKING INPUT_VALIDATION PARSING PARSING_TAG_DIRECTIVES PARTIAL_INTERFACE_MASKING SCHEMA_RETRIEVAL TAG_INHERITING TAG_MATCHING TO_API_SCHEMA TO_FILTER_SCHEMA UNKNOWN VERSION_CHECK}type ContractVariantPreviewErrors{errorMessages:[String!]!failedStep:ContractVariantFailedStep!}union ContractVariantPreviewResult=ContractVariantPreviewErrors|ContractVariantPreviewSuccess type ContractVariantPreviewSuccess{baseApiSchema:String!baseCoreSchema:String!contractApiSchema:String!contractCoreSchema:String!}type ContractVariantUpsertErrors{errorMessages:[String!]!}union ContractVariantUpsertResult=ContractVariantUpsertErrors|ContractVariantUpsertSuccess type ContractVariantUpsertSuccess{contractVariant:GraphVariant!}type CoreSchema{apiDocument:GraphQLDocument!coreDocument:GraphQLDocument!coreHash:String!fieldCount:Int!tags:[String!]!typeCount:Int!}union CreateOperationCollectionResult=OperationCollection|PermissionError|ValidationError type CronExecution{completedAt:Timestamp failure:String id:ID!job:CronJob!resolvedAt:Timestamp resolvedBy:Actor schedule:String!startedAt:Timestamp!}type CronJob{group:String!name:String!recentExecutions(n:Int):[CronExecution!]!}enum DatadogApiRegion{EU EU1 US US1 US1FED US3 US5}type DatadogMetricsConfig{apiKey:String!apiRegion:DatadogApiRegion!enabled:Boolean!legacyMetricNames:Boolean!}union DeleteOperationCollectionResult=DeleteOperationCollectionSuccess|PermissionError type DeleteOperationCollectionSuccess{sandboxOwner:User variants:[GraphVariant!]!}"""The result of attempting to delete a graph variant.""" type DeleteSchemaTagResult{"""WHether a variant was deleted or not.""" deleted:Boolean!}enum DeletionTargetType{ACCOUNT USER}"""Support for a single directive on a graph variant""" type DirectiveSupportStatus{"""whether the directive is supported on the current graph variant""" enabled:Boolean!"""name of the directive""" name:String!}union DuplicateOperationCollectionResult=OperationCollection|PermissionError|ValidationError type DurationHistogram{averageDurationMs:Float buckets:[DurationHistogramBucket!]!durationMs("""Percentile (between 0 and 1)""" percentile:Float!):Float """Counts per durationBucket, where sequences of zeroes are replaced with the negative of their size""" sparseBuckets:[Long!]!totalCount:Long!totalDurationMs:Float!}type DurationHistogramBucket{count:Long!index:Int!rangeBeginMs:Float!rangeEndMs:Float!}input EdgeServerInfo{"""A randomly generated UUID, immutable for the lifetime of the edge server runtime.""" bootId:String!"""A unique identifier for the executable GraphQL served by the edge server. length must be <= 64 characters.""" executableSchemaId:String!"""The graph variant, defaults to 'current'""" graphVariant:String!="current" """The version of the edge server reporting agent, e.g. apollo-server-2.8, graphql-java-3.1, etc. length must be <= 256 characters.""" libraryVersion:String """The infra environment in which this edge server is running, e.g. localhost, Kubernetes, AWS Lambda, Google CloudRun, AWS ECS, etc. length must be <= 256 characters.""" platform:String """The runtime in which the edge server is running, e.g. node 12.03, zulu8.46.0.19-ca-jdk8.0.252-macosx_x64, etc. length must be <= 256 characters.""" runtimeVersion:String """If available, an identifier for the edge server instance, such that when restarting this instance it will have the same serverId, with a different bootId. For example, in Kubernetes this might be the pod name. Length must be <= 256 characters.""" serverId:String """An identifier used to distinguish the version (from the user's perspective) of the edge server's code itself. For instance, the git sha of the server's repository or the docker sha of the associated image this server runs with. Length must be <= 256 characters.""" userVersion:String}"""Columns of EdgeServerInfos.""" enum EdgeServerInfosColumn{BOOT_ID EXECUTABLE_SCHEMA_ID LIBRARY_VERSION PLATFORM RUNTIME_VERSION SCHEMA_TAG SERVER_ID SERVICE_ID TIMESTAMP USER_VERSION}type EdgeServerInfosDimensions{bootId:ID executableSchemaId:ID libraryVersion:String platform:String runtimeVersion:String schemaTag:String serverId:ID serviceId:ID userVersion:String}"""Filter for data in EdgeServerInfos. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input EdgeServerInfosFilter{and:[EdgeServerInfosFilter!]"""Selects rows whose bootId dimension equals the given value if not null. To query for the null value, use {in: {bootId: [null]}} instead.""" bootId:ID """Selects rows whose executableSchemaId dimension equals the given value if not null. To query for the null value, use {in: {executableSchemaId: [null]}} instead.""" executableSchemaId:ID in:EdgeServerInfosFilterIn """Selects rows whose libraryVersion dimension equals the given value if not null. To query for the null value, use {in: {libraryVersion: [null]}} instead.""" libraryVersion:String not:EdgeServerInfosFilter or:[EdgeServerInfosFilter!]"""Selects rows whose platform dimension equals the given value if not null. To query for the null value, use {in: {platform: [null]}} instead.""" platform:String """Selects rows whose runtimeVersion dimension equals the given value if not null. To query for the null value, use {in: {runtimeVersion: [null]}} instead.""" runtimeVersion:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serverId dimension equals the given value if not null. To query for the null value, use {in: {serverId: [null]}} instead.""" serverId:ID """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID """Selects rows whose userVersion dimension equals the given value if not null. To query for the null value, use {in: {userVersion: [null]}} instead.""" userVersion:String}"""Filter for data in EdgeServerInfos. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input EdgeServerInfosFilterIn{"""Selects rows whose bootId dimension is in the given list. A null value in the list means a row with null for that dimension.""" bootId:[ID]"""Selects rows whose executableSchemaId dimension is in the given list. A null value in the list means a row with null for that dimension.""" executableSchemaId:[ID]"""Selects rows whose libraryVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" libraryVersion:[String]"""Selects rows whose platform dimension is in the given list. A null value in the list means a row with null for that dimension.""" platform:[String]"""Selects rows whose runtimeVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" runtimeVersion:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serverId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serverId:[ID]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]"""Selects rows whose userVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" userVersion:[String]}input EdgeServerInfosOrderBySpec{column:EdgeServerInfosColumn!direction:Ordering!}type EdgeServerInfosRecord{"""Dimensions of EdgeServerInfos that can be grouped by.""" groupBy:EdgeServerInfosDimensions!"""Starting segment timestamp.""" timestamp:Timestamp!}enum EmailCategory{EDUCATIONAL}type EmailPreferences{email:String!subscriptions:[EmailCategory!]!unsubscribedFromAll:Boolean!}interface Error{message:String!}"""Columns of ErrorStats.""" enum ErrorStatsColumn{ACCOUNT_ID CLIENT_NAME CLIENT_VERSION ERRORS_COUNT PATH QUERY_ID QUERY_NAME REQUESTS_WITH_ERRORS_COUNT SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP}type ErrorStatsDimensions{accountId:ID clientName:String clientVersion:String path:String queryId:ID queryName:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in ErrorStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ErrorStatsFilter{"""Selects rows whose accountId dimension equals the given value if not null. To query for the null value, use {in: {accountId: [null]}} instead.""" accountId:ID and:[ErrorStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String in:ErrorStatsFilterIn not:ErrorStatsFilter or:[ErrorStatsFilter!]"""Selects rows whose path dimension equals the given value if not null. To query for the null value, use {in: {path: [null]}} instead.""" path:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in ErrorStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ErrorStatsFilterIn{"""Selects rows whose accountId dimension is in the given list. A null value in the list means a row with null for that dimension.""" accountId:[ID]"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose path dimension is in the given list. A null value in the list means a row with null for that dimension.""" path:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type ErrorStatsMetrics{errorsCount:Long!requestsWithErrorsCount:Long!}input ErrorStatsOrderBySpec{column:ErrorStatsColumn!direction:Ordering!}type ErrorStatsRecord{"""Dimensions of ErrorStats that can be grouped by.""" groupBy:ErrorStatsDimensions!"""Metrics of ErrorStats that can be aggregated over.""" metrics:ErrorStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}""" Input parameters for run explorer operation event.""" enum EventEnum{CLICK_CHECK_LIST CLICK_GO_TO_GRAPH_SETTINGS RUN_EXPLORER_OPERATION}"""Excluded operation for a graph.""" type ExcludedOperation{"""Operation ID to exclude from schema check.""" ID:ID!}"""Option to filter by operation ID.""" input ExcludedOperationInput{"""Operation ID to exclude from schema check.""" ID:ID!}type FeatureIntros{devGraph:Boolean!federatedGraph:Boolean!freeConsumerSeats:Boolean!}"""Feature Intros Input Type""" input FeatureIntrosInput{devGraph:Boolean federatedGraph:Boolean freeConsumerSeats:Boolean}"""Subgraph. Federated graph variants that are managed by Apollo Studio are composed of subgraphs. 45 - See https://www.apollographql.com/docs/federation/managed-federation/overview/ for more information.""" type FederatedImplementingService{"""The subgraph schema actively published, used for composition for the graph variant this subgraph belongs to.""" activePartialSchema:PartialSchema!"""Timestamp of when this subgraph was created.""" createdAt:Timestamp!"""The ID of the graph this subgraph belongs to.""" graphID:String!"""Which variant of a graph this subgraph belongs to.""" graphVariant:String!"""Name of the subgraph.""" name:String!"""The particular version/edition of a subgraph, entered by users. Typically a Git SHA or docker image ID.""" revision:String!"""Timestamp for when this subgraph was updated.""" updatedAt:Timestamp!"""URL of the subgraph's GraphQL endpoint.""" url:String}"""A minimal representation of a federated implementing service, using only a name and partial schema SDL""" type FederatedImplementingServicePartialSchema{"""The name of the implementing service""" name:String!"""The partial schema of the implementing service""" sdl:String!}"""Container for a list of subgraphs composing a graph.""" type FederatedImplementingServices{"""The list of underlying subgraphs.""" services:[FederatedImplementingService!]!}"""Counts of changes at the field level, including objects, interfaces, and input fields.""" type FieldChangeSummaryCounts{"""Number of changes that are additions of fields to object, interface, and input types.""" additions:Int!"""Number of changes that are field edits. This includes fields changing type and any field 46 - deprecation and description changes, but also includes any argument changes and any input object 47 - field changes.""" edits:Int!"""Number of changes that are removals of fields from object, interface, and input types.""" removals:Int!}"""Columns of FieldExecutions.""" enum FieldExecutionsColumn{ESTIMATED_EXECUTION_COUNT FIELD_NAME OBSERVED_EXECUTION_COUNT PARENT_TYPE REFERENCING_OPERATION_COUNT SCHEMA_TAG SERVICE_ID TIMESTAMP}type FieldExecutionsDimensions{fieldName:String parentType:String schemaTag:String serviceId:ID}"""Filter for data in FieldExecutions. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input FieldExecutionsFilter{and:[FieldExecutionsFilter!]"""Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:FieldExecutionsFilterIn not:FieldExecutionsFilter or:[FieldExecutionsFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in FieldExecutions. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input FieldExecutionsFilterIn{"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type FieldExecutionsMetrics{estimatedExecutionCount:Long!observedExecutionCount:Long!referencingOperationCount:Long!}input FieldExecutionsOrderBySpec{column:FieldExecutionsColumn!direction:Ordering!}type FieldExecutionsRecord{"""Dimensions of FieldExecutions that can be grouped by.""" groupBy:FieldExecutionsDimensions!"""Metrics of FieldExecutions that can be aggregated over.""" metrics:FieldExecutionsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of FieldLatencies.""" enum FieldLatenciesColumn{FIELD_HISTOGRAM FIELD_NAME PARENT_TYPE SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP}type FieldLatenciesDimensions{field:String fieldName:String parentType:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in FieldLatencies. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input FieldLatenciesFilter{and:[FieldLatenciesFilter!]"""Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:FieldLatenciesFilterIn not:FieldLatenciesFilter or:[FieldLatenciesFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in FieldLatencies. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input FieldLatenciesFilterIn{"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type FieldLatenciesMetrics{fieldHistogram:DurationHistogram!}input FieldLatenciesOrderBySpec{column:FieldLatenciesColumn!direction:Ordering!}type FieldLatenciesRecord{"""Dimensions of FieldLatencies that can be grouped by.""" groupBy:FieldLatenciesDimensions!"""Metrics of FieldLatencies that can be aggregated over.""" metrics:FieldLatenciesMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of FieldRequestsByClientVersion.""" enum FieldRequestsByClientVersionColumn{CLIENT_NAME CLIENT_VERSION ESTIMATED_EXECUTION_COUNT FIELD_NAME OBSERVED_EXECUTION_COUNT PARENT_TYPE REFERENCING_OPERATION_COUNT SCHEMA_TAG SERVICE_ID TIMESTAMP}type FieldRequestsByClientVersionDimensions{clientName:String clientVersion:String fieldName:String parentType:String schemaTag:String serviceId:ID}"""Filter for data in FieldRequestsByClientVersion. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input FieldRequestsByClientVersionFilter{and:[FieldRequestsByClientVersionFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:FieldRequestsByClientVersionFilterIn not:FieldRequestsByClientVersionFilter or:[FieldRequestsByClientVersionFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in FieldRequestsByClientVersion. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input FieldRequestsByClientVersionFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type FieldRequestsByClientVersionMetrics{estimatedExecutionCount:Long!observedExecutionCount:Long!referencingOperationCount:Long!}input FieldRequestsByClientVersionOrderBySpec{column:FieldRequestsByClientVersionColumn!direction:Ordering!}type FieldRequestsByClientVersionRecord{"""Dimensions of FieldRequestsByClientVersion that can be grouped by.""" groupBy:FieldRequestsByClientVersionDimensions!"""Metrics of FieldRequestsByClientVersion that can be aggregated over.""" metrics:FieldRequestsByClientVersionMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of FieldUsage.""" enum FieldUsageColumn{CLIENT_NAME CLIENT_VERSION ESTIMATED_EXECUTION_COUNT EXECUTION_COUNT FIELD_NAME PARENT_TYPE QUERY_ID QUERY_NAME REFERENCING_OPERATION_COUNT SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP}type FieldUsageDimensions{clientName:String clientVersion:String fieldName:String parentType:String queryId:ID queryName:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in FieldUsage. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input FieldUsageFilter{and:[FieldUsageFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:FieldUsageFilterIn not:FieldUsageFilter or:[FieldUsageFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in FieldUsage. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input FieldUsageFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type FieldUsageMetrics{estimatedExecutionCount:Long!executionCount:Long!referencingOperationCount:Long!}input FieldUsageOrderBySpec{column:FieldUsageColumn!direction:Ordering!}type FieldUsageRecord{"""Dimensions of FieldUsage that can be grouped by.""" groupBy:FieldUsageDimensions!"""Metrics of FieldUsage that can be aggregated over.""" metrics:FieldUsageMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type FilterBuildInput{filterConfig:FilterConfig!schemaHash:String!}type FilterConfig{exclude:[String!]!include:[String!]!}input FilterConfigInput{exclude:[String!]!include:[String!]!}type GitContext{branch:String commit:ID commitUrl:String committer:String message:String remoteHost:GitRemoteHost remoteUrl:String}"""This is stored with a schema when it is uploaded""" input GitContextInput{branch:String commit:ID committer:String message:String remoteUrl:String}enum GitRemoteHost{BITBUCKET GITHUB GITLAB}type GlobalExperimentalFeatures{operationsCollections:Boolean!sandboxesFullRelease:Boolean!sandboxesPreview:Boolean!sandboxesSchemaChecksPage:Boolean!sandboxesSchemaDiffPage:Boolean!subgraphsInSandbox:Boolean!}type GraphApiKey implements ApiKey{createdAt:Timestamp!createdBy:Identity id:ID!keyName:String role:UserPermission!token:String!}"""A union of all combinations that can comprise the implementingServices for a Service""" union GraphImplementors=FederatedImplementingServices|NonFederatedImplementingService scalar GraphQLDocument """A variant of a graph, often corresponding to an environment where a graph runs (e.g. staging). 48 - See https://www.apollographql.com/docs/studio/org/graphs/ for more details.""" type GraphVariant{"""As new schema tags keep getting published, activeSchemaPublish refers to the latest.""" activeSchemaPublish:SchemaTag """The version of composition currently in use, if applicable""" compositionVersion:String """Filter configuration used to create the contract schema""" contractFilterConfig:FilterConfig """Preview a Contract schema built from this source variant.""" contractPreview(filters:FilterConfigInput!):ContractPreview!defaultHeaders:String@deprecated(reason:"Use sharedHeaders instead")derivedVariantCount:Int!"""Graph the variant belongs to.""" graph:Service!"""Graph ID of the variant. Prefer using graph { id } when feasible.""" graphId:String!"""If the variant has managed subgraphs.""" hasManagedSubgraphs:Boolean """Global identifier for the graph variant, in the form `graph@variant`.""" id:ID!"""Represents whether this variant is a Contract.""" isContract:Boolean!"""Is this variant one of the current user's favorite variants?""" isFavoriteOfCurrentUser:Boolean!"""If the variant has managed subgraphs.""" isFederated:Boolean@deprecated(reason:"Replaced by hasManagedSubgraphs")"""If the variant is protected""" isProtected:Boolean!isPublic:Boolean!"""Represents whether this variant should be listed in the public variants directory. This can only be true if the variant is also public.""" isPubliclyListed:Boolean!"""Represents whether Apollo has verified the authenticity of this public variant. This can only be true if the variant is also public.""" isVerified:Boolean!"""Latest approved launch for the variant, and what is served through Uplink.""" latestApprovedLaunch:Launch """Latest launch for the variant, whether successful or not.""" latestLaunch:Launch """Latest publication for the variant.""" latestPublication:SchemaTag launch(id:ID!):Launch launchHistory(limit:Int!=100):[Launch!]!links:[LinkInfo!]"""Name of the variant, like `variant`.""" name:String!operationCollections:[OperationCollection!]!"""Which permissions the current user has for interacting with this variant""" permissions:GraphVariantPermissions!"""Generate a federated operation plan for a given operation""" plan(document:GraphQLDocument!operationName:String):QueryPlan """Explorer setting for preflight script to run before the actual GraphQL operations is run.""" preflightScript:String readme:Readme """Registry stats for this particular graph variant""" registryStatsWindow(from:Timestamp!resolution:Resolution to:Timestamp):RegistryStatsWindow """The total number of requests for this variant in the last 24 hours""" requestsInLastDay:Long """If the graphql endpoint is set up to accept cookies.""" sendCookies:Boolean """Explorer setting for shared headers for a graph""" sharedHeaders:String sourceVariant:GraphVariant """Subgraph of a given name, null if non-existent.""" subgraph(name:ID!):FederatedImplementingService """List of subgraphs that comprise a variant, null if not federated. 49 - Set includeDeleted to see deleted subgraphs.""" subgraphs(includeDeleted:Boolean!=false):[FederatedImplementingService!]"""URL where subscription operations can be executed.""" subscriptionUrl:String """A list of supported directives""" supportedDirectives:[DirectiveSupportStatus!]"""URL where non-subscription operations can be executed.""" url:String """The last instant that usage information (e.g. operation stat, client stats) was reported for this variant""" usageLastReportedAt:Timestamp}"""Result of looking up a variant by ref""" union GraphVariantLookup=GraphVariant|InvalidRefFormat """Modifies a variant of a graph, also called a schema tag in parts of our product.""" type GraphVariantMutation{addLinkToVariant(title:String type:LinkInfoType!url:String!):GraphVariant!configureComposition(enableTagAndInaccessible:Boolean version:String):GraphVariant """Delete the variant.""" delete:DeleteSchemaTagResult!enableTagAndInaccessible(enabled:Boolean!):GraphVariant@deprecated(reason:"Use configureComposition instead")"""Graph ID of the variant""" graphId:String!"""Global identifier for the graph variant, in the form `graph@variant`.""" id:ID!"""Name of the variant, like `variant`.""" name:String!relaunch:RelaunchResult!removeLinkFromVariant(linkInfoId:ID!):GraphVariant!setIsFavoriteOfCurrentUser(favorite:Boolean!):GraphVariant!updateDefaultHeaders(defaultHeaders:String):GraphVariant@deprecated(reason:"Use updateSharedHeaders instead")updateIsProtected(isProtected:Boolean!):GraphVariant updatePreflightScript(preflightScript:String):GraphVariant updateSendCookies(sendCookies:Boolean!):GraphVariant updateSharedHeaders(sharedHeaders:String):GraphVariant updateSubscriptionURL(subscriptionUrl:String):GraphVariant updateURL(url:String):GraphVariant updateVariantIsPublic(isPublic:Boolean!):GraphVariant updateVariantIsPubliclyListed(isPubliclyListed:Boolean!):GraphVariant updateVariantIsVerified(isVerified:Boolean!):GraphVariant updateVariantReadme(readme:String!):GraphVariant}"""A map from permission String to boolean that the currently authenticated user is allowed for a particular graph variant.""" type GraphVariantPermissions{canCreateCollectionInVariant:Boolean!"""Whether the currently authenticated user is permitted to manage/update the build configuration (e.g. build pipeline version) for this variant.""" canManageBuildConfig:Boolean!"""Whether the currently authenticated user is permitted to update variant-level settings for the Schema Explorer.""" canManageExplorerSettings:Boolean!"""Whether the currently authenticated user is permitted to publish schemas to this variant.""" canPushSchemas:Boolean!"""Whether the currently authenticated user is permitted to view details regarding the build configuration (e.g. build pipeline version) for this variant.""" canQueryBuildConfig:Boolean!"""Whether the currently authenticated user is permitted to download schemas associated to this variant.""" canQuerySchemas:Boolean!canShareCollectionInVariant:Boolean!canUpdateVariantLinkInfo:Boolean!"""Whether the currently authenticated user is permitted to update the README for this variant.""" canUpdateVariantReadme:Boolean!variantId:ID!}enum HTTPMethod{CONNECT DELETE GET HEAD OPTIONS PATCH POST PUT TRACE UNKNOWN UNRECOGNIZED}input HistoricQueryParameters{"""A list of clients to filter out during validation.""" excludedClients:[ClientInfoFilter!]=null """A list of operation names to filter out during validation.""" excludedOperationNames:[OperationNameFilterInput!]=null from:Timestamp="-86400" """A list of operation IDs to filter out during validation.""" ignoredOperations:[ID!]=null """A list of variants to include in the validation. If no variants are provided 50 - then this defaults to the "current" variant along with the base variant. The 51 - base variant indicates the schema that generates diff and marks the metrics that 52 - are checked for broken queries. We union this base variant with the untagged values('', 53 - same as null inside of `in`, and 'current') in this metrics fetch. This strategy 54 - supports users who have not tagged their metrics or schema.""" includedVariants:[String!]=null """Minimum number of requests within the window for a query to be considered.""" queryCountThreshold:Int=1 """Number of requests within the window for a query to be considered, relative to 55 - total request count. Expected values are between 0 and 0.05 (minimum 5% of total 56 - request volume)""" queryCountThresholdPercentage:Float=0 to:Timestamp="-0"}"""An identity (e.g. Anonymous, a specific User) within Apollo Studio. See implementations.""" interface Identity{"""A view of the identity as an Actor type.""" asActor:Actor!"""An identifier for a given identity, unique within the context of the identity type.""" id:ID!"""A human-readable name for the identity in question.""" name:String!}"""An actor's identity and info about the client they used to perform the action""" type IdentityAndClientInfo{"""Client name provided when the actor performed the action""" clientName:String """Client version provided when the actor performed the action""" clientVersion:String """Identity info about the actor""" identity:Identity}union IdentityMutation=ServiceMutation|UserMutation type IgnoreOperationsInChecksResult{graph:Service!}"""The location of the implementing service config file in storage""" type ImplementingServiceLocation{"""The name of the implementing service""" name:String!"""The path in storage to access the implementing service config file""" path:String!}type InternalAdminUser{role:InternalMdgAdminRole!userID:String!}type InternalIdentity implements Identity{accounts:[Account!]!asActor:Actor!email:String id:ID!name:String!}enum InternalMdgAdminRole{INTERNAL_MDG_READ_ONLY INTERNAL_MDG_SALES INTERNAL_MDG_SUPER_ADMIN INTERNAL_MDG_SUPPORT}type IntrospectionDirective{args:[IntrospectionInputValue!]!description:String locations:[IntrospectionDirectiveLocation!]!name:String!}input IntrospectionDirectiveInput{args:[IntrospectionInputValueInput!]!description:String isRepeatable:Boolean locations:[IntrospectionDirectiveLocation!]!name:String!}"""__DirectiveLocation introspection type""" enum IntrospectionDirectiveLocation{"""Location adjacent to an argument definition.""" ARGUMENT_DEFINITION """Location adjacent to an enum definition.""" ENUM """Location adjacent to an enum value definition.""" ENUM_VALUE """Location adjacent to a field.""" FIELD """Location adjacent to a field definition.""" FIELD_DEFINITION """Location adjacent to a fragment definition.""" FRAGMENT_DEFINITION """Location adjacent to a fragment spread.""" FRAGMENT_SPREAD """Location adjacent to an inline fragment.""" INLINE_FRAGMENT """Location adjacent to an input object field definition.""" INPUT_FIELD_DEFINITION """Location adjacent to an input object type definition.""" INPUT_OBJECT """Location adjacent to an interface definition.""" INTERFACE """Location adjacent to a mutation operation.""" MUTATION """Location adjacent to an object type definition.""" OBJECT """Location adjacent to a query operation.""" QUERY """Location adjacent to a scalar definition.""" SCALAR """Location adjacent to a schema definition.""" SCHEMA """Location adjacent to a subscription operation.""" SUBSCRIPTION """Location adjacent to a union definition.""" UNION """Location adjacent to a variable definition.""" VARIABLE_DEFINITION}"""Values associated with introspection result for an enum value""" type IntrospectionEnumValue{depreactionReason:String@deprecated(reason:"Use deprecationReason instead")deprecationReason:String description:String isDeprecated:Boolean!name:String!}"""__EnumValue introspection type""" input IntrospectionEnumValueInput{deprecationReason:String description:String isDeprecated:Boolean!name:String!}"""Values associated with introspection result for field""" type IntrospectionField{args:[IntrospectionInputValue!]!deprecationReason:String description:String isDeprecated:Boolean!name:String!type:IntrospectionType!}"""__Field introspection type""" input IntrospectionFieldInput{args:[IntrospectionInputValueInput!]!deprecationReason:String description:String isDeprecated:Boolean!name:String!type:IntrospectionTypeInput!}"""Values associated with introspection result for an input field""" type IntrospectionInputValue{defaultValue:String description:String name:String!type:IntrospectionType!}"""__Value introspection type""" input IntrospectionInputValueInput{defaultValue:String deprecationReason:String description:String isDeprecated:Boolean name:String!type:IntrospectionTypeInput!}type IntrospectionSchema{directives:[IntrospectionDirective!]!mutationType:IntrospectionType queryType:IntrospectionType!subscriptionType:IntrospectionType types(filter:TypeFilterConfig={includeAbstractTypes:true includeBuiltInTypes:true includeIntrospectionTypes:true}):[IntrospectionType!]!}"""__Schema introspection type""" input IntrospectionSchemaInput{description:String directives:[IntrospectionDirectiveInput!]!mutationType:IntrospectionTypeRefInput queryType:IntrospectionTypeRefInput!subscriptionType:IntrospectionTypeRefInput types:[IntrospectionTypeInput!]}"""Object containing all possible values for an introspectionType""" type IntrospectionType{"""the base kind of the type this references, ignoring lists and nullability""" baseKind:IntrospectionTypeKind description:String enumValues(includeDeprecated:Boolean=false):[IntrospectionEnumValue!]fields:[IntrospectionField!]inputFields:[IntrospectionInputValue!]interfaces:[IntrospectionType!]kind:IntrospectionTypeKind name:String ofType:IntrospectionType possibleTypes:[IntrospectionType!]"""printed representation of type, including nested nullability and list ofTypes""" printed:String!}"""__Type introspection type""" input IntrospectionTypeInput{description:String enumValues:[IntrospectionEnumValueInput!]fields:[IntrospectionFieldInput!]inputFields:[IntrospectionInputValueInput!]interfaces:[IntrospectionTypeInput!]kind:IntrospectionTypeKind!name:String ofType:IntrospectionTypeInput possibleTypes:[IntrospectionTypeInput!]specifiedByUrl:String}enum IntrospectionTypeKind{"""Indicates this type is an enum. 'enumValues' is a valid field.""" ENUM """Indicates this type is an input object. 'inputFields' is a valid field.""" INPUT_OBJECT """Indicates this type is an interface. 'fields' and 'possibleTypes' are valid 57 - fields""" INTERFACE """Indicates this type is a list. 'ofType' is a valid field.""" LIST """Indicates this type is a non-null. 'ofType' is a valid field.""" NON_NULL """Indicates this type is an object. 'fields' and 'interfaces' are valid fields.""" OBJECT """Indicates this type is a scalar.""" SCALAR """Indicates this type is a union. 'possibleTypes' is a valid field.""" UNION}"""Shallow __Type introspection type""" input IntrospectionTypeRefInput{kind:String name:String!}type InvalidOperation{errors:[OperationValidationError!]signature:ID!}"""Type returned by reference lookup when the reference was invalid""" type InvalidRefFormat implements Error{message:String!}type InvalidTarget implements Error{message:String!}type Invoice{closedAt:Timestamp collectionMethod:String createdAt:Timestamp!invoiceNumber:Int!state:InvoiceState!totalInCents:Int!updatedAt:Timestamp!uuid:ID!}enum InvoiceState{COLLECTED FAILED OPEN PAST_DUE UNKNOWN}enum InvoiceStateV2{COLLECTED FAILED OPEN PAST_DUE UNKNOWN}type InvoiceV2{closedAt:Timestamp collectionMethod:String createdAt:Timestamp!invoiceNumber:Int!state:InvoiceStateV2!totalInCents:Int!updatedAt:Timestamp!uuid:ID!}"""A Launch represents the complete process of making a set of updates to your deployed graph.""" type Launch{"""The time at which this launch was approved.""" approvedAt:Timestamp """The build for the variant being launched. Is non-null once the build is initiated.""" build:Build """Set of items that will be passed to the build.""" buildInput:BuildInput!"""The time at which this launch completed.""" completedAt:Timestamp """The time at which this launch initiated.""" createdAt:Timestamp!"""Contract launches that were triggered by this launch.""" downstreamLaunches:[Launch!]!"""The ID of the graph that this launch was initiated for.""" graphId:String!"""The name of the variant that this launch was initiated for.""" graphVariant:String!"""Unique identifier for this launch.""" id:ID!isAvailable:Boolean """Whether the launch completed.""" isCompleted:Boolean """Whether the launch was published.""" isPublished:Boolean isTarget:Boolean """Returns the most recent launch sequence step.""" latestSequenceStep:LaunchSequenceStep """A specific publication of a graph variant pertaining to this launch.""" publication:SchemaTag """The outcome of the launch.""" results:[LaunchResult!]!schemaTag:SchemaTag """This represents a sequence in the Launch. Returns a list of sequence steps that represents points of time in the launch.""" sequence:[LaunchSequenceStep!]!"""A shortened version of Launch.id. Contains the first 8 characters of the ID.""" shortenedID:String!"""The status of the launch.""" status:LaunchStatus!"""Changes that were made to the subgraphs for this launch.""" subgraphChanges:[SubgraphChange!]"""The time at which this launch was superseded by another launch.""" supersededAt:Timestamp """Represents the launch that caused this launch to not continue/publish.""" supersededBy:Launch """Upstream launch represents the launch of the source variant.""" upstreamLaunch:Launch}"""more result types will be supported in the future""" union LaunchResult=ChangelogLaunchResult type LaunchSequenceBuildStep{completedAt:Timestamp startedAt:Timestamp}type LaunchSequenceCheckStep{completedAt:Timestamp startedAt:Timestamp}type LaunchSequenceCompletedStep{completedAt:Timestamp}type LaunchSequenceInitiatedStep{startedAt:Timestamp}type LaunchSequencePublishStep{completedAt:Timestamp startedAt:Timestamp}union LaunchSequenceStep=LaunchSequenceBuildStep|LaunchSequenceCheckStep|LaunchSequenceCompletedStep|LaunchSequenceInitiatedStep|LaunchSequencePublishStep|LaunchSequenceSupersededStep type LaunchSequenceSupersededStep{completedAt:Timestamp}enum LaunchStatus{LAUNCH_COMPLETED LAUNCH_FAILED LAUNCH_INITIATED}type LinkInfo{createdAt:Timestamp!id:ID!title:String type:LinkInfoType!url:String!}enum LinkInfoType{DEVELOPER_PORTAL OTHER REPOSITORY}"""Long type""" scalar Long type MarkChangesForOperationAsSafeResult{"""Nice to have for the frontend since the Apollo cache is already watching for AffectedQuery to update. 58 - This might return null if no behavior changes were found for the affected operation ID. 59 - This is a weird situation that should never happen.""" affectedOperation:AffectedQuery message:String!success:Boolean!}type MediaUploadInfo{csrfToken:String!maxContentLength:Int!url:String!}union MoveOperationCollectionEntryResult=InvalidTarget|MoveOperationCollectionEntrySuccess|PermissionError type MoveOperationCollectionEntrySuccess{operation:OperationCollectionEntry!originCollection:OperationCollection!targetCollection:OperationCollection!}type Mutation{account(id:ID!):AccountMutation """Creates an operation collection for the given variantRefs, or make a sandbox collection without variantRefs.""" createOperationCollection(description:String editRoles:[UserPermission!]isSandbox:Boolean!isShared:Boolean!name:String!variantRefs:[ID!]):CreateOperationCollectionResult!"""Finalize a password reset with a token included in the E-mail link, 60 - returns the corresponding login email when successful""" finalizePasswordReset(newPassword:String!resetToken:String!):String """Mutation a graph.""" graph(id:ID!):ServiceMutation """Join an account with a token""" joinAccount(accountId:ID!joinToken:String!):Account me:IdentityMutation newAccount(companyUrl:String id:ID!):Account newService(accountId:ID!description:String hiddenFromUninvitedNonAdminAccountMembers:Boolean!=false id:ID!isDev:Boolean!=false name:String onboardingArchitecture:OnboardingArchitecture title:String):Service operationCollection(id:ID!):OperationCollectionMutation """Report a running GraphQL server's schema.""" reportSchema("""Only sent if previously requested i.e. received ReportSchemaResult with withCoreSchema = true. This is a GraphQL schema document as a string. Note that for a GraphQL server with a core schema, this should be the core schema, not the API schema.""" coreSchema:String """Information about server and its schema.""" report:SchemaReport!):ReportSchemaResult """Ask for a user's password to be reset by E-mail""" resetPassword(email:String!):Void resolveAllInternalCronExecutions(group:String name:String):Void resolveInternalCronExecution(id:ID!):CronExecution service(id:ID!):ServiceMutation """Set the subscriptions for a given email""" setSubscriptions(email:String!subscriptions:[EmailCategory!]!token:String!):EmailPreferences """Set the studio settings for the current user""" setUserSettings(newSettings:UserSettingsInput):UserSettings signUp(email:String!fullName:String!password:String!referrer:String trackingGoogleClientId:String trackingMarketoClientId:String userSegment:UserSegment utmCampaign:String utmMedium:String utmSource:String):User """This is called by the form shown to users after they delete their user or organization account.""" submitPostDeletionFeedback(feedback:String!targetIdentifier:ID!targetType:DeletionTargetType!):Void """Mutation for basic engagement tracking in studio""" track(event:EventEnum!graphID:String!graphVariant:String!="current"):Void """Rover session tracking. Reserved to https://rover.apollo.dev/telemetry (https://github.com/apollographql/orbiter).""" trackRoverSession(anonymousId:ID!arguments:[RoverArgumentInput!]!ci:String command:String!cwdHash:SHA256!os:String!remoteUrlHash:SHA256 sessionId:ID!version:String!):Void """Unsubscribe a given email from all emails""" unsubscribeFromAll(email:String!token:String!):EmailPreferences user(id:ID!):UserMutation}type NamedIntrospectionArg{description:String name:String}type NamedIntrospectionArgNoDescription{name:String}"""The shared fields for a named introspection type. Currently this is returned for the 324 + ancestor) was added/removed. 325 + """ 326 + type ChangeSummary { 327 + """ 328 + Counts for changes to non-field aspects of objects, input objects, and interfaces, 329 + and all aspects of enums, unions, and scalars. 330 + """ 331 + type: TypeChangeSummaryCounts! 332 + """Counts for changes to fields of objects, input objects, and interfaces.""" 333 + field: FieldChangeSummaryCounts! 334 + """Counts for all changes.""" 335 + total: TotalChangeSummaryCounts! 336 + } 337 + 338 + enum ChangeType { 339 + FAILURE 340 + NOTICE 341 + } 342 + 343 + """Filter options available when listing checks.""" 344 + input CheckFilterInput { 345 + authors: [String!] 346 + branches: [String!] 347 + subgraphs: [String!] 348 + status: CheckFilterInputStatusOption 349 + variants: [String!] 350 + } 351 + 352 + """Options for filtering CheckWorkflows by status""" 353 + enum CheckFilterInputStatusOption { 354 + FAILED 355 + PENDING 356 + PASSED 357 + } 358 + 359 + """The result of performing a subgraph check, including all steps.""" 360 + type CheckPartialSchemaResult { 361 + """Result of compostion run as part of the overall subgraph check.""" 362 + compositionValidationResult: CompositionCheckResult! 363 + """Overall result of the check. This will be null if composition validation was unsuccessful.""" 364 + checkSchemaResult: CheckSchemaResult 365 + """Whether any modifications were detected in the composed core schema.""" 366 + coreSchemaModified: Boolean! 367 + } 368 + 369 + """The possible results of a request to initiate schema checks (either a success object or one of multiple `Error` objects).""" 370 + union CheckRequestResult = CheckRequestSuccess | InvalidInputError | PermissionError | PlanError 371 + 372 + """Represents a successfully initiated execution of schema checks. This does not indicate the _result_ of the checks, only that they were initiated.""" 373 + type CheckRequestSuccess { 374 + """The URL of the Apollo Studio page for this check.""" 375 + targetURL: String! 376 + """The unique ID for this execution of schema checks.""" 377 + workflowID: ID! 378 + } 379 + 380 + """Input type to provide when running schema checks asynchronously for a non-federated graph.""" 381 + input CheckSchemaAsyncInput { 382 + """Configuration options for the check execution.""" 383 + config: HistoricQueryParametersInput! 384 + """The GitHub context to associate with the check.""" 385 + gitContext: GitContextInput! 386 + graphRef: ID @deprecated(reason: "This field is not required to be sent anymore") 387 + """The URL of the GraphQL endpoint that Apollo Sandbox introspected to obtain the proposed schema. Required if `isSandbox` is `true`.""" 388 + introspectionEndpoint: String 389 + """If `true`, the check was initiated by Apollo Sandbox.""" 390 + isSandbox: Boolean! 391 + proposedSchemaDocument: String 392 + } 393 + 394 + """The result of running schema checks on a graph variant.""" 395 + type CheckSchemaResult { 396 + """The schema diff and affected operations generated by the schema check.""" 397 + diffToPrevious: SchemaDiff! 398 + """The URL to view the schema diff in Studio.""" 399 + targetUrl: String 400 + } 401 + 402 + type CheckWorkflow { 403 + """ 404 + The variant provided as a base to check against. Only the differences from the 405 + base schema will be tested in operations checks. 406 + """ 407 + baseVariant: GraphVariant 408 + """The timestamp when the check workflow completed.""" 409 + completedAt: Timestamp 410 + id: ID! 411 + """The name of the implementing service that was responsible for triggering the validation.""" 412 + implementingServiceName: String 413 + """The timestamp when the check workflow started.""" 414 + startedAt: Timestamp 415 + """Overall status of the workflow, based on the underlying task statuses.""" 416 + status: CheckWorkflowStatus! 417 + """The set of check tasks associated with this workflow, e.g. composition, operations, etc.""" 418 + tasks: [CheckWorkflowTask!]! 419 + """Contextual parameters supplied by the runtime environment where the check was run.""" 420 + gitContext: GitContext 421 + createdAt: Timestamp! 422 + } 423 + 424 + enum CheckWorkflowStatus { 425 + FAILED 426 + PASSED 427 + PENDING 428 + } 429 + 430 + interface CheckWorkflowTask { 431 + completedAt: Timestamp 432 + createdAt: Timestamp! 433 + id: ID! 434 + """ 435 + The status of this task. All tasks start with the PENDING status while initializing. If any 436 + prerequisite task fails, then the task status becomes BLOCKED. Otherwise, if all prerequisite 437 + tasks pass, then this task runs (still having the PENDING status). Once the task completes, the 438 + task status will become either PASSED or FAILED. 439 + """ 440 + status: CheckWorkflowTaskStatus! 441 + """A studio UI url to view the details of this check workflow task""" 442 + targetURL: String 443 + """The workflow that this task belongs to.""" 444 + workflow: CheckWorkflow! 445 + } 446 + 447 + enum CheckWorkflowTaskStatus { 448 + BLOCKED 449 + FAILED 450 + PASSED 451 + PENDING 452 + } 453 + 454 + """Filter options to exclude by client reference ID, client name, and client version.""" 455 + input ClientInfoFilter { 456 + name: String! 457 + """Ignored""" 458 + referenceID: ID 459 + version: String 460 + } 461 + 462 + """The result of supergraph composition that Studio performed in response to an attempted deletion of a subgraph.""" 463 + type SubgraphRemovalResult { 464 + """A list of errors that occurred during composition. Errors mean that Apollo was unable to compose the graph variant's subgraphs into a supergraph schema. If any errors are present, gateways / routers are not updated.""" 465 + errors: [SchemaCompositionError]! 466 + """Whether this composition result resulted in a new supergraph schema passed to Uplink (`true`), or the build failed for any reason (`false`). For dry runs, this value is `true` if Uplink _would have_ been updated with the result.""" 467 + updatedGateway: Boolean! 468 + } 469 + 470 + """The result of supergraph composition that Studio performed in response to an attempted publish of a subgraph.""" 471 + type SubgraphPublicationResult { 472 + """The generated composition config, or null if any errors occurred.""" 473 + compositionConfig: CompositionConfig 474 + """A list of errors that occurred during composition. Errors mean that Apollo was unable to compose the graph variant's subgraphs into a supergraph schema. If any errors are present, gateways / routers are not updated.""" 475 + errors: [SchemaCompositionError]! 476 + """Whether this composition result resulted in a new supergraph schema passed to Uplink (`true`), or the build failed for any reason (`false`). For dry runs, this value is `true` if Uplink _would have_ been updated with the result.""" 477 + updatedGateway: Boolean! 478 + """Whether a new subgraph was created as part of this publish.""" 479 + wasCreated: Boolean! 480 + """The URL of the Studio page for this update's associated launch, if available.""" 481 + launchUrl: String 482 + """Human-readable text describing the launch result of the subgraph publish.""" 483 + launchCliCopy: String 484 + } 485 + 486 + type CompositionBuildInput { 487 + subgraphs: [Subgraph!]! 488 + version: String 489 + } 490 + 491 + type CompositionCheckTask implements CheckWorkflowTask { 492 + completedAt: Timestamp 493 + """ 494 + Whether the build's output supergraph core schema differs from that of the active publish for 495 + the workflow's variant at the time this field executed (NOT at the time the check workflow 496 + started). 497 + """ 498 + coreSchemaModified: Boolean! 499 + createdAt: Timestamp! 500 + id: ID! 501 + status: CheckWorkflowTaskStatus! 502 + targetURL: String 503 + workflow: CheckWorkflow! 504 + """ 505 + An old version of buildResult that returns a very old GraphQL type that generally should be 506 + avoided. This field will soon be deprecated. 507 + """ 508 + result: CompositionResult 509 + } 510 + 511 + """Composition configuration exposed to the gateway.""" 512 + type CompositionConfig { 513 + """The resulting API schema's SHA256 hash, represented as a hexadecimal string.""" 514 + schemaHash: String! 515 + } 516 + 517 + """The result of supergraph composition that Studio performed.""" 518 + type CompositionPublishResult implements CompositionResult { 519 + """The unique ID for this instance of composition.""" 520 + graphCompositionID: ID! 521 + """A list of errors that occurred during composition. Errors mean that Apollo was unable to compose the graph variant's subgraphs into a supergraph schema. If any errors are present, gateways / routers are not updated.""" 522 + errors: [SchemaCompositionError!]! 523 + """The supergraph SDL generated by composition.""" 524 + supergraphSdl: GraphQLDocument 525 + } 526 + 527 + """The result of supergraph composition performed by Apollo Studio, often as the result of a subgraph check or subgraph publish. See individual implementations for more details.""" 528 + interface CompositionResult { 529 + """The unique ID for this instance of composition.""" 530 + graphCompositionID: ID! 531 + """A list of errors that occurred during composition. Errors mean that Apollo was unable to compose the graph variant's subgraphs into a supergraph schema. If any errors are present, gateways / routers are not updated.""" 532 + errors: [SchemaCompositionError!]! 533 + """Supergraph SDL generated by composition.""" 534 + supergraphSdl: GraphQLDocument 535 + } 536 + 537 + """The result of composition validation run by Apollo Studio during a subgraph check.""" 538 + type CompositionCheckResult implements CompositionResult { 539 + """The unique ID for this instance of composition.""" 540 + graphCompositionID: ID! 541 + """A list of errors that occurred during composition. Errors mean that Apollo was unable to compose the graph variant's subgraphs into a supergraph schema. If any errors are present, gateways / routers are not updated.""" 542 + errors: [SchemaCompositionError!]! 543 + """The supergraph schema document generated by composition.""" 544 + supergraphSdl: GraphQLDocument 545 + } 546 + 547 + type ContractVariantUpsertErrors { 548 + """A list of all errors that occurred when attempting to create or update a contract variant.""" 549 + errorMessages: [String!]! 550 + } 551 + 552 + union ContractVariantUpsertResult = ContractVariantUpsertErrors | ContractVariantUpsertSuccess 553 + 554 + type ContractVariantUpsertSuccess { 555 + """The updated contract variant""" 556 + contractVariant: GraphVariant! 557 + """Human-readable text describing the launch result of the contract update.""" 558 + launchCliCopy: String 559 + """The URL of the Studio page for this update's associated launch, if available.""" 560 + launchUrl: String 561 + } 562 + 563 + """Contains the supergraph and API schemas generated by composition.""" 564 + type CoreSchema { 565 + """The composed API schema document.""" 566 + apiDocument: GraphQLDocument! 567 + """The composed supergraph schema document.""" 568 + coreDocument: GraphQLDocument! 569 + """The supergraph schema document's SHA256 hash, represented as a hexadecimal string.""" 570 + coreHash: String! 571 + } 572 + 573 + union CreateOperationCollectionResult = OperationCollection | PermissionError | ValidationError 574 + 575 + """ 576 + Implement the DateTime<Utc> scalar 577 + 578 + The input/output is a string in RFC3339 format. 579 + """ 580 + scalar DateTime @specifiedBy(url: "https://datatracker.ietf.org/doc/html/rfc3339") 581 + 582 + union DeleteOperationCollectionResult = PermissionError 583 + 584 + """The result of attempting to delete a graph variant.""" 585 + type GraphVariantDeletionResult { 586 + """Whether the variant was deleted or not.""" 587 + deleted: Boolean! 588 + } 589 + 590 + """The result of a schema checks workflow that was run on a downstream variant as part of checks for the corresponding source variant. Most commonly, these downstream checks are [contract checks](https://www.apollographql.com/docs/studio/contracts#contract-checks).""" 591 + type DownstreamCheckResult { 592 + """Whether the downstream check workflow blocks the upstream check workflow from completing.""" 593 + blocking: Boolean! 594 + """The ID of the graph that the downstream variant belongs to.""" 595 + downstreamGraphID: String! 596 + """The name of the downstream variant.""" 597 + downstreamVariantName: String! 598 + """ 599 + The downstream checks workflow that this result corresponds to. This value is null 600 + if the workflow hasn't been initialized yet, or if the downstream variant was deleted. 601 + """ 602 + downstreamWorkflow: CheckWorkflow 603 + """ 604 + Whether the downstream check workflow is causing the upstream check workflow to fail. This occurs 605 + when the downstream check workflow is both blocking and failing. This may be null while the 606 + downstream check workflow is pending. 607 + """ 608 + failsUpstreamWorkflow: Boolean 609 + """The downstream checks task that this result corresponds to.""" 610 + workflowTask: DownstreamCheckTask! 611 + } 612 + 613 + type DownstreamCheckTask implements CheckWorkflowTask { 614 + completedAt: Timestamp 615 + createdAt: Timestamp! 616 + id: ID! 617 + """ 618 + A list of results for all downstream checks triggered as part of the source variant's checks workflow. 619 + This value is null if the task hasn't been initialized yet, or if the build task fails (the build task is a 620 + prerequisite to this task). This value is _not_ null _while_ the task is running. The returned list is empty 621 + if the source variant has no downstream variants. 622 + """ 623 + results: [DownstreamCheckResult!] 624 + status: CheckWorkflowTaskStatus! 625 + targetURL: String 626 + workflow: CheckWorkflow! 627 + } 628 + 629 + interface Error { 630 + message: String! 631 + } 632 + 633 + """A single subgraph in a supergraph. Every supergraph managed by Apollo Studio includes at least one subgraph. See https://www.apollographql.com/docs/federation/managed-federation/overview/ for more information.""" 634 + type GraphVariantSubgraph { 635 + """The subgraph's name.""" 636 + name: String! 637 + """The URL of the subgraph's GraphQL endpoint.""" 638 + url: String 639 + """The current user-provided version/edition of the subgraph. Typically a Git SHA or docker image ID.""" 640 + revision: String! 641 + """The ID of the graph this subgraph belongs to.""" 642 + graphID: String! 643 + """The name of the graph variant this subgraph belongs to.""" 644 + graphVariant: String! 645 + """The subgraph's current active schema, used in supergraph composition for the the associated variant.""" 646 + activePartialSchema: SubgraphSchema! 647 + """The timestamp when the subgraph was created.""" 648 + createdAt: Timestamp! 649 + """The timestamp when the subgraph was most recently updated.""" 650 + updatedAt: Timestamp! 651 + } 652 + 653 + """Container for a list of subgraphs composing a supergraph.""" 654 + type GraphVariantSubgraphs { 655 + """The list of underlying subgraphs.""" 656 + services: [GraphVariantSubgraph!]! 657 + } 658 + 659 + """Counts of changes at the field level, including objects, interfaces, and input fields.""" 660 + type FieldChangeSummaryCounts { 661 + """Number of changes that are additions of fields to object, interface, and input types.""" 662 + additions: Int! 663 + """Number of changes that are removals of fields from object, interface, and input types.""" 664 + removals: Int! 665 + """ 666 + Number of changes that are field edits. This includes fields changing type and any field 667 + deprecation and description changes, but also includes any argument changes and any input object 668 + field changes. 669 + """ 670 + edits: Int! 671 + } 672 + 673 + """Inputs provided to the build for a contract variant, which filters types and fields from a source variant's schema.""" 674 + type FilterBuildInput { 675 + """Schema filtering rules for the build, such as tags to include or exclude from the source variant schema.""" 676 + filterConfig: FilterConfig! 677 + """The source variant schema document's SHA256 hash, represented as a hexadecimal string.""" 678 + schemaHash: String! 679 + } 680 + 681 + type FilterCheckTask implements CheckWorkflowTask { 682 + completedAt: Timestamp 683 + createdAt: Timestamp! 684 + id: ID! 685 + status: CheckWorkflowTaskStatus! 686 + targetURL: String 687 + workflow: CheckWorkflow! 688 + } 689 + 690 + """The filter configuration used to build a contract schema. The configuration consists of lists of tags for schema elements to include or exclude in the resulting schema.""" 691 + type FilterConfig { 692 + """Tags of schema elements to exclude from the contract schema.""" 693 + exclude: [String!]! 694 + """Tags of schema elements to include in the contract schema.""" 695 + include: [String!]! 696 + } 697 + 698 + input FilterConfigInput { 699 + """A list of tags for schema elements to exclude from the resulting contract schema.""" 700 + exclude: [String!]! 701 + """ 702 + Whether to hide unreachable objects, interfaces, unions, inputs, enums and scalars from 703 + the resulting contract schema. Defaults to `false`. 704 + """ 705 + hideUnreachableTypes: Boolean! = false 706 + """A list of tags for schema elements to include in the resulting contract schema.""" 707 + include: [String!]! 708 + } 709 + 710 + type GitContext { 711 + commit: ID 712 + } 713 + 714 + """Input type to provide when specifying the Git context for a run of schema checks.""" 715 + input GitContextInput { 716 + """The Git repository branch used in the check.""" 717 + branch: String 718 + """The ID of the Git commit used in the check.""" 719 + commit: ID 720 + """The username of the user who created the Git commit used in the check.""" 721 + committer: String 722 + """The commit message of the Git commit used in the check.""" 723 + message: String 724 + """The Git repository's remote URL.""" 725 + remoteUrl: String 726 + } 727 + 728 + """ 729 + Represents a graph API key, which has permissions scoped to a 730 + user role for a single Apollo graph. 731 + """ 732 + type GraphApiKey implements ApiKey { 733 + """The timestamp when the API key was created.""" 734 + createdAt: Timestamp! 735 + """Details of the user or graph that created the API key.""" 736 + createdBy: Identity 737 + """The API key's ID.""" 738 + id: ID! 739 + """The API key's name, for distinguishing it from other keys.""" 740 + keyName: String 741 + """The permission level assigned to the API key upon creation.""" 742 + role: UserPermission! 743 + """The value of the API key. **This is a secret credential!**""" 744 + token: String! 745 + } 746 + 747 + """A union of all containers that can comprise the components of a Studio graph""" 748 + union GraphImplementors = GraphVariantSubgraphs 749 + 750 + """A GraphQL document, such as the definition of an operation or schema.""" 751 + scalar GraphQLDocument 752 + 753 + """A graph variant""" 754 + type GraphVariant { 755 + """The variant's global identifier in the form `graphID@variant`.""" 756 + id: ID! 757 + router: Router 758 + """The filter configuration used to build a contract schema. The configuration consists of lists of tags for schema elements to include or exclude in the resulting schema.""" 759 + contractFilterConfig: FilterConfig 760 + """ 761 + A human-readable description of the filter configuration of this contract variant, or null if this isn't a contract 762 + variant. 763 + """ 764 + contractFilterConfigDescription: String 765 + """The graph that this variant belongs to.""" 766 + graph: Graph! 767 + """Latest approved launch for the variant, and what is served through Uplink.""" 768 + latestApprovedLaunch: Launch 769 + """Latest launch for the variant, whether successful or not.""" 770 + latestLaunch: Launch 771 + """The variant's name (e.g., `staging`).""" 772 + name: String! 773 + """Which permissions the current user has for interacting with this variant""" 774 + permissions: GraphVariantPermissions! 775 + readme: Readme! 776 + """The variant this variant is derived from. This property currently only exists on contract variants.""" 777 + sourceVariant: GraphVariant 778 + """A list of the saved [operation collections](https://www.apollographql.com/docs/studio/explorer/operation-collections/) associated with this variant.""" 779 + operationCollections: [OperationCollection!]! 780 + """The URL of the variant's GraphQL endpoint for query and mutation operations. For subscription operations, use `subscriptionUrl`.""" 781 + url: String 782 + """The URL of the variant's GraphQL endpoint for subscription operations.""" 783 + subscriptionUrl: String 784 + """The details of the variant's most recent publication.""" 785 + latestPublication: SchemaPublication 786 + """A list of the subgraphs included in this variant. This value is null for non-federated variants. Set `includeDeleted` to `true` to include deleted subgraphs.""" 787 + subgraphs(includeDeleted: Boolean! = false): [GraphVariantSubgraph!] 788 + """Returns the details of the subgraph with the provided `name`, or null if this variant doesn't include a subgraph with that name.""" 789 + subgraph(name: ID!): GraphVariantSubgraph 790 + } 791 + 792 + """Result of looking up a variant by ref""" 793 + union GraphVariantLookup = GraphVariant | InvalidRefFormat 794 + 795 + """Modifies a variant of a graph, also called a schema tag in parts of our product.""" 796 + type GraphVariantMutation { 797 + """ 798 + _Asynchronously_ kicks off operation checks for a proposed non-federated 799 + schema change against its associated graph. 800 + 801 + Returns a `CheckRequestSuccess` object with a workflow ID that you can use 802 + to check status, or an error object if the checks workflow failed to start. 803 + """ 804 + submitCheckSchemaAsync(input: CheckSchemaAsyncInput!): CheckRequestResult! 805 + """ 806 + _Asynchronously_ kicks off composition and operation checks for a proposed subgraph schema change against its associated supergraph. 807 + 808 + Returns a `CheckRequestSuccess` object with a workflow ID that you can use 809 + to check status, or an error object if the checks workflow failed to start. 810 + """ 811 + submitSubgraphCheckAsync(input: SubgraphCheckAsyncInput!): CheckRequestResult! 812 + """Updates the [README](https://www.apollographql.com/docs/studio/org/graphs/#the-readme-page) of this variant.""" 813 + updateVariantReadme( 814 + """The full new text of the README, as a Markdown-formatted string.""" 815 + readme: String! 816 + ): GraphVariant 817 + """Delete the variant.""" 818 + delete: GraphVariantDeletionResult! 819 + } 820 + 821 + """Individual permissions for the current user when interacting with a particular Studio graph variant.""" 822 + type GraphVariantPermissions { 823 + """Whether the currently authenticated user is permitted to manage/update this variant's build configuration (e.g., build pipeline version).""" 824 + canManageBuildConfig: Boolean! 825 + """Whether the currently authenticated user is permitted to manage/update cloud routers""" 826 + canManageCloudRouter: Boolean! 827 + """Whether the currently authenticated user is permitted to update variant-level settings for the Apollo Studio Explorer.""" 828 + canManageExplorerSettings: Boolean! 829 + """Whether the currently authenticated user is permitted to publish schemas to this variant.""" 830 + canPushSchemas: Boolean! 831 + """Whether the currently authenticated user is permitted to view this variant's build configuration details (e.g., build pipeline version).""" 832 + canQueryBuildConfig: Boolean! 833 + """Whether the currently authenticated user is permitted to view details regarding cloud routers""" 834 + canQueryCloudRouter: Boolean! 835 + """Whether the currently authenticated user is permitted to view cloud router logs""" 836 + canQueryCloudRouterLogs: Boolean! 837 + """Whether the currently authenticated user is permitted to download schemas associated to this variant.""" 838 + canQuerySchemas: Boolean! 839 + """Whether the currently authenticated user is permitted to update the README for this variant.""" 840 + canUpdateVariantReadme: Boolean! 841 + canCreateCollectionInVariant: Boolean! 842 + canShareCollectionInVariant: Boolean! 843 + } 844 + 845 + input HistoricQueryParameters { 846 + from: String = "-86400" 847 + to: String = "0" 848 + """Minimum number of requests within the window for a query to be considered.""" 849 + queryCountThreshold: Int = 1 850 + """ 851 + Number of requests within the window for a query to be considered, relative to 852 + total request count. Expected values are between 0 and 0.05 (minimum 5% of total 853 + request volume) 854 + """ 855 + queryCountThresholdPercentage: Float = 0 856 + """A list of operation IDs to filter out during validation.""" 857 + ignoredOperations: [ID!] = null 858 + """A list of clients to filter out during validation.""" 859 + excludedClients: [ClientInfoFilter!] = null 860 + """A list of operation names to filter out during validation.""" 861 + excludedOperationNames: [OperationNameFilterInput!] = null 862 + """ 863 + A list of variants to include in the validation. If no variants are provided 864 + then this defaults to the "current" variant along with the base variant. The 865 + base variant indicates the schema that generates diff and marks the metrics that 866 + are checked for broken queries. We union this base variant with the untagged values('', 867 + same as null inside of `in`, and 'current') in this metrics fetch. This strategy 868 + supports users who have not tagged their metrics or schema. 869 + """ 870 + includedVariants: [String!] = null 871 + } 872 + 873 + """Input type to provide when specifying configuration details for schema checks.""" 874 + input HistoricQueryParametersInput { 875 + """Clients to be excluded from check.""" 876 + excludedClients: [ClientInfoFilter!] 877 + """Operations to be ignored in this schema check, specified by operation name.""" 878 + excludedOperationNames: [OperationNameFilterInput!] 879 + """Start time for operations to be checked against. Specified as either a) an ISO formatted date/time string or b) a negative number of seconds relative to the time the check request was submitted.""" 880 + from: String 881 + """Operations to be ignored in this schema check, specified by ID.""" 882 + ignoredOperations: [ID!] 883 + """Graph variants to be included in check.""" 884 + includedVariants: [String!] 885 + """Maximum number of queries to be checked against the change.""" 886 + queryCountThreshold: Int 887 + """Only fail check if this percentage of operations would be negatively impacted.""" 888 + queryCountThresholdPercentage: Float 889 + """End time for operations to be checked against. Specified as either a) an ISO formatted date/time string or b) a negative number of seconds relative to the time the check request was submitted.""" 890 + to: String 891 + } 892 + 893 + """An identity (such as a `User` or `Graph`) in Apollo Studio. See implementing types for details.""" 894 + interface Identity { 895 + """Returns a representation of the identity as an `Actor` type.""" 896 + asActor: Actor! 897 + """The identity's identifier, which is unique among objects of its type.""" 898 + id: ID! 899 + """The identity's human-readable name.""" 900 + name: String! 901 + } 902 + 903 + type InternalIdentity implements Identity { 904 + accounts: [Organization!]! 905 + asActor: Actor! 906 + email: String 907 + id: ID! 908 + name: String! 909 + } 910 + 911 + input IntrospectionDirectiveInput { 912 + name: String! 913 + description: String 914 + locations: [IntrospectionDirectiveLocation!]! 915 + args: [IntrospectionInputValueInput!]! 916 + isRepeatable: Boolean 917 + } 918 + 919 + """__DirectiveLocation introspection type""" 920 + enum IntrospectionDirectiveLocation { 921 + """Location adjacent to a query operation.""" 922 + QUERY 923 + """Location adjacent to a mutation operation.""" 924 + MUTATION 925 + """Location adjacent to a subscription operation.""" 926 + SUBSCRIPTION 927 + """Location adjacent to a field.""" 928 + FIELD 929 + """Location adjacent to a fragment definition.""" 930 + FRAGMENT_DEFINITION 931 + """Location adjacent to a fragment spread.""" 932 + FRAGMENT_SPREAD 933 + """Location adjacent to an inline fragment.""" 934 + INLINE_FRAGMENT 935 + """Location adjacent to a variable definition.""" 936 + VARIABLE_DEFINITION 937 + """Location adjacent to a schema definition.""" 938 + SCHEMA 939 + """Location adjacent to a scalar definition.""" 940 + SCALAR 941 + """Location adjacent to an object type definition.""" 942 + OBJECT 943 + """Location adjacent to a field definition.""" 944 + FIELD_DEFINITION 945 + """Location adjacent to an argument definition.""" 946 + ARGUMENT_DEFINITION 947 + """Location adjacent to an interface definition.""" 948 + INTERFACE 949 + """Location adjacent to a union definition.""" 950 + UNION 951 + """Location adjacent to an enum definition.""" 952 + ENUM 953 + """Location adjacent to an enum value definition.""" 954 + ENUM_VALUE 955 + """Location adjacent to an input object type definition.""" 956 + INPUT_OBJECT 957 + """Location adjacent to an input object field definition.""" 958 + INPUT_FIELD_DEFINITION 959 + } 960 + 961 + """__EnumValue introspection type""" 962 + input IntrospectionEnumValueInput { 963 + name: String! 964 + description: String 965 + isDeprecated: Boolean! 966 + deprecationReason: String 967 + } 968 + 969 + """__Field introspection type""" 970 + input IntrospectionFieldInput { 971 + name: String! 972 + description: String 973 + args: [IntrospectionInputValueInput!]! 974 + type: IntrospectionTypeInput! 975 + isDeprecated: Boolean! 976 + deprecationReason: String 977 + } 978 + 979 + """__Value introspection type""" 980 + input IntrospectionInputValueInput { 981 + name: String! 982 + description: String 983 + type: IntrospectionTypeInput! 984 + defaultValue: String 985 + isDeprecated: Boolean 986 + deprecationReason: String 987 + } 988 + 989 + """__Schema introspection type""" 990 + input IntrospectionSchemaInput { 991 + types: [IntrospectionTypeInput!] 992 + queryType: IntrospectionTypeRefInput! 993 + mutationType: IntrospectionTypeRefInput 994 + subscriptionType: IntrospectionTypeRefInput 995 + directives: [IntrospectionDirectiveInput!]! 996 + description: String 997 + } 998 + 999 + """__Type introspection type""" 1000 + input IntrospectionTypeInput { 1001 + kind: IntrospectionTypeKind! 1002 + name: String 1003 + description: String 1004 + specifiedByUrl: String 1005 + fields: [IntrospectionFieldInput!] 1006 + interfaces: [IntrospectionTypeInput!] 1007 + possibleTypes: [IntrospectionTypeInput!] 1008 + enumValues: [IntrospectionEnumValueInput!] 1009 + inputFields: [IntrospectionInputValueInput!] 1010 + ofType: IntrospectionTypeInput 1011 + } 1012 + 1013 + enum IntrospectionTypeKind { 1014 + """Indicates this type is a scalar.""" 1015 + SCALAR 1016 + """Indicates this type is an object. 'fields' and 'interfaces' are valid fields.""" 1017 + OBJECT 1018 + """ 1019 + Indicates this type is an interface. 'fields' and 'possibleTypes' are valid 1020 + fields 1021 + """ 1022 + INTERFACE 1023 + """Indicates this type is a union. 'possibleTypes' is a valid field.""" 1024 + UNION 1025 + """Indicates this type is an enum. 'enumValues' is a valid field.""" 1026 + ENUM 1027 + """Indicates this type is an input object. 'inputFields' is a valid field.""" 1028 + INPUT_OBJECT 1029 + """Indicates this type is a list. 'ofType' is a valid field.""" 1030 + LIST 1031 + """Indicates this type is a non-null. 'ofType' is a valid field.""" 1032 + NON_NULL 1033 + } 1034 + 1035 + """Shallow __Type introspection type""" 1036 + input IntrospectionTypeRefInput { 1037 + name: String! 1038 + kind: String 1039 + } 1040 + 1041 + """An error caused by providing invalid input for a task, such as schema checks.""" 1042 + type InvalidInputError { 1043 + """The error message.""" 1044 + message: String! 1045 + } 1046 + 1047 + """This object is returned when a request to fetch a Studio graph variant provides an invalid graph ref.""" 1048 + type InvalidRefFormat implements Error { 1049 + message: String! 1050 + } 1051 + 1052 + """Represents the complete process of making a set of updates to a deployed graph variant.""" 1053 + type Launch { 1054 + """The unique identifier for this launch.""" 1055 + id: ID! 1056 + """The ID of the launch's associated graph.""" 1057 + graphId: String! 1058 + """The name of the launch's associated variant.""" 1059 + graphVariant: String! 1060 + order: OrderOrError! 1061 + """The timestamp when the launch was approved.""" 1062 + approvedAt: Timestamp 1063 + """The associated build for this launch (a build includes schema composition and contract filtering). This value is null until the build is initiated.""" 1064 + build: Build 1065 + """The inputs provided to this launch's associated build, including subgraph schemas and contract filters.""" 1066 + buildInput: BuildInput! 1067 + """The timestamp when the launch completed. This value is null until the launch completes.""" 1068 + completedAt: Timestamp 1069 + """The timestamp when the launch was initiated.""" 1070 + createdAt: Timestamp! 1071 + """Contract launches that were triggered by this launch.""" 1072 + downstreamLaunches: [Launch!]! 1073 + """Whether the launch completed.""" 1074 + isCompleted: Boolean 1075 + """Whether the result of the launch has been published to the associated graph and variant. This is always false for a failed launch.""" 1076 + isPublished: Boolean 1077 + """The most recent launch sequence step that has started but not necessarily completed.""" 1078 + latestSequenceStep: LaunchSequenceStep 1079 + """A specific publication of a graph variant pertaining to this launch.""" 1080 + publication: SchemaPublication 1081 + """A list of results from the completed launch. The items included in this list vary depending on whether the launch succeeded, failed, or was superseded.""" 1082 + results: [LaunchResult!]! 1083 + """Cloud router configuration associated with this build event. It will be non-null for any cloud-router variant, and null for any not cloudy variant/graph.""" 1084 + routerConfig: String 1085 + """A list of all serial steps in the launch sequence. This list can change as the launch progresses. For example, a `LaunchCompletedStep` is appended after a launch completes.""" 1086 + sequence: [LaunchSequenceStep!]! 1087 + """A shortened version of `Launch.id` that includes only the first 8 characters.""" 1088 + shortenedID: String! 1089 + """The launch's status. If a launch is superseded, its status remains `LAUNCH_INITIATED`. To check for a superseded launch, use `supersededAt`.""" 1090 + status: LaunchStatus! 1091 + """A list of subgraph changes that are included in this launch.""" 1092 + subgraphChanges: [SubgraphChange!] 1093 + """The timestamp when this launch was superseded by another launch. If an active launch is superseded, it terminates.""" 1094 + supersededAt: Timestamp 1095 + """The launch that superseded this launch, if any. If an active launch is superseded, it terminates.""" 1096 + supersededBy: Launch 1097 + """The source variant launch that caused this launch to be initiated. This value is present only for contract variant launches. Otherwise, it's null.""" 1098 + upstreamLaunch: Launch 1099 + } 1100 + 1101 + """Types of results that can be associated with a `Launch`""" 1102 + union LaunchResult = ChangelogLaunchResult 1103 + 1104 + """The timing details for the build step of a launch.""" 1105 + type LaunchSequenceBuildStep { 1106 + """The timestamp when the step completed.""" 1107 + completedAt: Timestamp 1108 + """The timestamp when the step started.""" 1109 + startedAt: Timestamp 1110 + } 1111 + 1112 + """The timing details for the checks step of a launch.""" 1113 + type LaunchSequenceCheckStep { 1114 + """The timestamp when the step completed.""" 1115 + completedAt: Timestamp 1116 + """The timestamp when the step started.""" 1117 + startedAt: Timestamp 1118 + } 1119 + 1120 + """The timing details for the completion step of a launch.""" 1121 + type LaunchSequenceCompletedStep { 1122 + """The timestamp when the step (and therefore the launch) completed.""" 1123 + completedAt: Timestamp 1124 + } 1125 + 1126 + """The timing details for the initiation step of a launch.""" 1127 + type LaunchSequenceInitiatedStep { 1128 + """The timestamp when the step (and therefore the launch) started.""" 1129 + startedAt: Timestamp 1130 + } 1131 + 1132 + """The timing details for the publish step of a launch.""" 1133 + type LaunchSequencePublishStep { 1134 + """The timestamp when the step completed.""" 1135 + completedAt: Timestamp 1136 + """The timestamp when the step started.""" 1137 + startedAt: Timestamp 1138 + } 1139 + 1140 + """Represents the various steps that occur in sequence during a single launch.""" 1141 + union LaunchSequenceStep = LaunchSequenceBuildStep | LaunchSequenceCheckStep | LaunchSequenceCompletedStep | LaunchSequenceInitiatedStep | LaunchSequencePublishStep | LaunchSequenceSupersededStep 1142 + 1143 + """The timing details for the superseded step of a launch. This step occurs only if the launch is superseded by another launch.""" 1144 + type LaunchSequenceSupersededStep { 1145 + """The timestamp when the step completed, thereby ending the execution of this launch in favor of the superseding launch.""" 1146 + completedAt: Timestamp 1147 + } 1148 + 1149 + enum LaunchStatus { 1150 + LAUNCH_COMPLETED 1151 + LAUNCH_FAILED 1152 + LAUNCH_INITIATED 1153 + } 1154 + 1155 + enum LogLevel { 1156 + WARN 1157 + INFO 1158 + ERROR 1159 + DEBUG 1160 + } 1161 + 1162 + type LogMessage { 1163 + """Timestamp in UTC""" 1164 + timestamp: DateTime! 1165 + """Log message contents""" 1166 + message: String! 1167 + """Log level""" 1168 + level: LogLevel! 1169 + } 1170 + 1171 + type Mutation { 1172 + """Provides access to mutation fields for modifying a Studio graph with the provided ID.""" 1173 + graph(id: ID!): GraphMutation 1174 + """ 1175 + Provides access to mutation fields for modifying an Apollo user with the 1176 + provided ID. 1177 + """ 1178 + user(id: ID!): UserMutation 1179 + """Creates an [operation collection](https://www.apollographql.com/docs/studio/explorer/operation-collections/) for a given variant, or creates a [sandbox collection](https://www.apollographql.com/docs/studio/explorer/operation-collections/#sandbox-collections) without an associated variant.""" 1180 + createOperationCollection( 1181 + """The collection's description.""" 1182 + description: String 1183 + """Whether the collection is a [sandbox collection](https://www.apollographql.com/docs/studio/explorer/operation-collections/#sandbox-collections).""" 1184 + isSandbox: Boolean! 1185 + """Whether the collection is shared across its associated organization.""" 1186 + isShared: Boolean! 1187 + """The minimum role a user needs to edit this collection. Valid values: null, CONSUMER, OBSERVER, DOCUMENTER, CONTRIBUTOR, GRAPH_ADMIN. This value is ignored if `isShared` is `false`. The default value is `GRAPH_ADMIN`.""" 1188 + minEditRole: UserPermission 1189 + """The collection's name.""" 1190 + name: String! 1191 + """The [graph ref](https://www.apollographql.com/docs/rover/conventions/#graph-refs) of the graph variants to associate the collection with.""" 1192 + variantRefs: [ID!] 1193 + ): CreateOperationCollectionResult! 1194 + operationCollection(id: ID!): OperationCollectionMutation 1195 + } 1196 + 1197 + """ 1198 + ISO 8601 combined date and time without timezone. 1199 + 1200 + # Examples 1201 + 1202 + * `2015-07-01T08:59:60.123`, 1203 + """ 1204 + scalar NaiveDateTime 1205 + 1206 + type NamedIntrospectionArg { 1207 + name: String 1208 + description: String 1209 + } 1210 + 1211 + """ 1212 + The shared fields for a named introspection type. Currently this is returned for the 61 1213 top level value affected by a change. In the future, we may update this 62 1214 type to be an interface, which is extended by the more specific types: 63 1215 scalar, object, input object, union, interface, and enum 64 1216 65 1217 For an in-depth look at where these types come from, see: 66 - https://github.com/DefinitelyTyped/DefinitelyTyped/blob/659eb50d3/types/graphql/utilities/introspectionQuery.d.ts#L31-L37""" type NamedIntrospectionType{description:String kind:IntrospectionTypeKind name:String}type NamedIntrospectionTypeNoDescription{name:String}"""Introspection values that can be children of other types for changes, such 1218 + https://github.com/DefinitelyTyped/DefinitelyTyped/blob/659eb50d3/types/graphql/utilities/introspectionQuery.d.ts#L31-L37 1219 + """ 1220 + type NamedIntrospectionType { 1221 + kind: IntrospectionTypeKind 1222 + name: String 1223 + description: String 1224 + } 1225 + 1226 + """ 1227 + Introspection values that can be children of other types for changes, such 67 1228 as input fields, objects in interfaces, enum values. In the future, this 68 1229 value could become an interface to allow fields specific to the types 69 - returned.""" type NamedIntrospectionValue{description:String name:String printedType:String}type NamedIntrospectionValueNoDescription{name:String printedType:String}"""A non-federated service for a monolithic graph.""" type NonFederatedImplementingService{"""Timestamp of when this implementing service was created.""" createdAt:Timestamp!"""Identifies which graph this non-implementing service belongs to. 70 - Formerly known as "service_id".""" graphID:String!"""Specifies which variant of a graph this implementing service belongs to". 71 - Formerly known as "tag".""" graphVariant:String!}type NotFoundError implements Error{message:String!}"""Arbitrary JSON object""" scalar Object type OdysseyAttempt{completedAt:Timestamp id:ID!responses:[OdysseyResponse!]!startedAt:Timestamp!testId:String!}type OdysseyCertification{certificationId:String!earnedAt:Timestamp!id:ID!owner:OdysseyCertificationOwner}type OdysseyCertificationOwner{fullName:String!id:ID!}type OdysseyCourse{completedAt:Timestamp enrolledAt:Timestamp id:ID!}input OdysseyCourseInput{completedAt:Timestamp courseId:String!}type OdysseyResponse{correct:Boolean!id:ID!questionId:String!values:[OdysseyValue!]!}input OdysseyResponseInput{attemptId:ID!correct:Boolean!questionId:String!values:[String!]!}type OdysseyTask{completedAt:Timestamp id:ID!value:String}input OdysseyTaskInput{completedAt:Timestamp taskId:String!value:String}type OdysseyValue{id:ID!value:String!}enum OnboardingArchitecture{MONOLITH SUPERGRAPH}type Operation{id:ID!name:String signature:String truncated:Boolean!}type OperationAcceptedChange{acceptedAt:Timestamp!acceptedBy:Identity!change:StoredApprovedChange!checkID:ID!graphID:ID!id:ID!operationID:String!}"""Columns of OperationCheckStats.""" enum OperationCheckStatsColumn{CACHED_REQUESTS_COUNT CLIENT_NAME CLIENT_VERSION QUERY_ID QUERY_NAME SCHEMA_TAG SERVICE_ID TIMESTAMP UNCACHED_REQUESTS_COUNT}type OperationCheckStatsDimensions{clientName:String clientVersion:String queryId:ID queryName:String schemaTag:String serviceId:ID}"""Filter for data in OperationCheckStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input OperationCheckStatsFilter{and:[OperationCheckStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String in:OperationCheckStatsFilterIn not:OperationCheckStatsFilter or:[OperationCheckStatsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in OperationCheckStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input OperationCheckStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type OperationCheckStatsMetrics{cachedRequestsCount:Long!uncachedRequestsCount:Long!}input OperationCheckStatsOrderBySpec{column:OperationCheckStatsColumn!direction:Ordering!}type OperationCheckStatsRecord{"""Dimensions of OperationCheckStats that can be grouped by.""" groupBy:OperationCheckStatsDimensions!"""Metrics of OperationCheckStats that can be aggregated over.""" metrics:OperationCheckStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type OperationCollection{createdAt:Timestamp!createdBy:Identity description:String """If a user has any of these roles, they will be able to edit this 72 - collection. This will be null if and only if \`isShared\` is false""" editRoles:[UserPermission!]@deprecated(reason:"deprecated in favour of minEditRole")id:ID!isFavorite:Boolean!isSandbox:Boolean!isShared:Boolean!lastUpdatedAt:Timestamp!lastUpdatedBy:Identity minEditRole:UserPermission name:String!operation(id:ID!):OperationCollectionEntryResult operations:[OperationCollectionEntry!]!""" Permissions the current user has for this collection""" permissions:OperationCollectionPermissions!variants:[GraphVariant!]!}type OperationCollectionEntry{collection:OperationCollection!createdAt:Timestamp!createdBy:Identity currentOperationRevision:OperationCollectionEntryState!id:ID!lastUpdatedAt:Timestamp!lastUpdatedBy:Identity name:String!orderingIndex:String!}type OperationCollectionEntryMutation{moveToCollection(collectionId:ID!lowerOrderingBound:String upperOrderingBound:String):MoveOperationCollectionEntryResult!reorderEntry(lowerOrderingBound:String upperOrderingBound:String):UpdateOperationCollectionResult updateName(name:String!):UpdateOperationCollectionEntryResult updateValues(operationInput:OperationCollectionEntryStateInput!):UpdateOperationCollectionEntryResult}union OperationCollectionEntryMutationResult=NotFoundError|OperationCollectionEntryMutation|PermissionError union OperationCollectionEntryResult=NotFoundError|OperationCollectionEntry type OperationCollectionEntryState{body:String!createdAt:Timestamp!createdBy:Identity headers:[OperationHeader!]variables:String}input OperationCollectionEntryStateInput{body:String!headers:[OperationHeaderInput!]""" I'm assuming this is non null""" variables:String}type OperationCollectionMutation{addOperation(name:String!operationInput:OperationCollectionEntryStateInput!):AddOperationCollectionEntryResult addToVariant(variantRef:ID!):AddOperationCollectionToVariantResult!@deprecated(reason:"Will throw NotImplemented")delete:DeleteOperationCollectionResult deleteOperation(id:ID!):RemoveOperationCollectionEntryResult duplicateCollection(description:String isSandbox:Boolean!isShared:Boolean!name:String!variantRef:ID):DuplicateOperationCollectionResult!operation(id:ID!):OperationCollectionEntryMutationResult removeFromVariant(variantRef:ID!):RemoveOperationCollectionFromVariantResult!@deprecated(reason:"Will throw NotImplemented")setMinEditRole(editRole:UserPermission):UpdateOperationCollectionResult updateDescription(description:String):UpdateOperationCollectionResult updateEditRoles(editRoles:[UserPermission!]!):UpdateOperationCollectionResult@deprecated(reason:"Deprecated in favour of setMinEditRole")updateIsFavorite(isFavorite:Boolean!):UpdateOperationCollectionResult updateIsShared(isShared:Boolean!):UpdateOperationCollectionResult updateName(name:String!):UpdateOperationCollectionResult}type OperationCollectionPermissions{canEditOperations:Boolean!canManage:Boolean!canReadOperations:Boolean!}union OperationCollectionResult=NotFoundError|OperationCollection|PermissionError type OperationDocument{"""Operation document body""" body:String!"""Operation name""" name:String}input OperationDocumentInput{"""Operation document body""" body:String!"""Operation name""" name:String}type OperationHeader{name:String!value:String!}input OperationHeaderInput{name:String!value:String!}"""Operation name filter configuration for a graph.""" type OperationNameFilter{"""name of the operation by the user and reported alongside metrics""" name:String!}"""Options to filter by operation name.""" input OperationNameFilterInput{"""name of the operation set by the user and reported alongside metrics""" name:String!}type OperationValidationError{message:String!}type OperationsCheckResult{"""Operations affected by all changes in diff""" affectedQueries:[AffectedQuery!]"""Summary/counts for all changes in diff""" changeSummary:ChangeSummary!"""List of schema changes with associated affected clients and operations""" changes:[Change!]!"""Indication of the success of the change, either failure, warning, or notice.""" checkSeverity:ChangeSeverity!"""The variant that was used as a base to check against""" checkedVariant:GraphVariant!createdAt:Timestamp!id:ID!"""Number of affected query operations that are neither marked as SAFE or IGNORED""" numberOfAffectedOperations:Int!"""Number of operations that were validated during schema diff""" numberOfCheckedOperations:Int!workflowTask:OperationsCheckTask!}type OperationsCheckTask implements CheckWorkflowTask{completedAt:Timestamp createdAt:Timestamp!id:ID!"""The result of the check.""" result:OperationsCheckResult status:CheckWorkflowTaskStatus!workflow:CheckWorkflow!}enum Ordering{ASCENDING DESCENDING}"""A reusable invite link for an organization.""" type OrganizationInviteLink{createdAt:Timestamp!"""A joinToken that can be passed to Mutation.joinAccount to join the organization.""" joinToken:String!"""The role that the user will receive if they join the organization with this link.""" role:UserPermission!}type OrganizationSSO{defaultRole:UserPermission!idpid:ID!provider:OrganizationSSOProvider!}enum OrganizationSSOProvider{PINGONE}"""PagerDuty notification channel""" type PagerDutyChannel implements Channel{id:ID!name:String!routingKey:String!subscriptions:[ChannelSubscription!]!}"""PagerDuty notification channel parameters""" input PagerDutyChannelInput{name:String routingKey:String!}"""Schema for a subgraph with associated metadata""" type PartialSchema{"""Timestamp for when the partial schema was created""" createdAt:Timestamp!"""If this sdl is currently actively composed in the gateway, this is true""" isLive:Boolean!"""The GraphQL document for a subgraph schema.""" sdl:String!"""The path of deep storage to find the raw enriched partial schema file""" sdlPath:String!}"""Input for registering a partial schema to an implementing service. 1230 + returned. 1231 + """ 1232 + type NamedIntrospectionValue { 1233 + name: String 1234 + description: String 1235 + printedType: String 1236 + } 1237 + 1238 + """An error that occurs when a requested object is not found.""" 1239 + type NotFoundError implements Error { 1240 + """The error message.""" 1241 + message: String! 1242 + } 1243 + 1244 + """A list of saved GraphQL operations.""" 1245 + type OperationCollection { 1246 + """The timestamp when the collection was created.""" 1247 + createdAt: Timestamp! 1248 + """The user or other entity that created the collection.""" 1249 + createdBy: Identity 1250 + """The collection's description. A `null` description was never set, and empty string description was set to be empty string by a user, or other entity.""" 1251 + description: String 1252 + id: ID! 1253 + """Whether the current user has marked the collection as a favorite.""" 1254 + isFavorite: Boolean! 1255 + """Whether the collection is a [sandbox collection](https://www.apollographql.com/docs/studio/explorer/operation-collections/#sandbox-collections).""" 1256 + isSandbox: Boolean! 1257 + """Whether the collection is shared across its associated organization.""" 1258 + isShared: Boolean! 1259 + """The timestamp when the collection was most recently updated.""" 1260 + lastUpdatedAt: Timestamp! 1261 + """The user or other entity that most recently updated the collection.""" 1262 + lastUpdatedBy: Identity 1263 + """The minimum role a user needs to edit this collection. Valid values: null, CONSUMER, OBSERVER, DOCUMENTER, CONTRIBUTOR, GRAPH_ADMIN. This value is always `null` if `isShared` is `false`. If `null` when `isShared` is `true`, the minimum role is `GRAPH_ADMIN`.""" 1264 + minEditRole: UserPermission 1265 + """The collection's name.""" 1266 + name: String! 1267 + """Returns the operation in the collection with the specified ID, if any.""" 1268 + operation(id: ID!): OperationCollectionEntryResult 1269 + """A list of the GraphQL operations that belong to the collection.""" 1270 + operations: [OperationCollectionEntry!]! 1271 + """The permissions that the current user has for the collection.""" 1272 + permissions: OperationCollectionPermissions! 1273 + } 1274 + 1275 + """A saved operation entry within an Operation Collection.""" 1276 + type OperationCollectionEntry { 1277 + """The timestamp when the entry was created.""" 1278 + createdAt: Timestamp! 1279 + """The user or other entity that created the entry.""" 1280 + createdBy: Identity 1281 + """Details of the entry's associated operation, such as its `body` and `variables`.""" 1282 + currentOperationRevision: OperationCollectionEntryState! 1283 + id: ID! 1284 + """The timestamp when the entry was most recently updated.""" 1285 + lastUpdatedAt: Timestamp! 1286 + """The user or other entity that most recently updated the entry.""" 1287 + lastUpdatedBy: Identity 1288 + """The entry's name.""" 1289 + name: String! 1290 + """The entry's lexicographical ordering index within its containing collection.""" 1291 + orderingIndex: String! 1292 + } 1293 + 1294 + """Provides fields for modifying an operation in a collection.""" 1295 + type OperationCollectionEntryMutation { 1296 + """Updates the name of an operation.""" 1297 + updateName(name: String!): UpdateOperationCollectionEntryResult 1298 + """Updates the body, headers, and/or variables of an operation.""" 1299 + updateValues(operationInput: OperationCollectionEntryStateInput!): UpdateOperationCollectionEntryResult 1300 + } 1301 + 1302 + union OperationCollectionEntryMutationResult = NotFoundError | OperationCollectionEntryMutation | PermissionError 1303 + 1304 + """Possible return values when querying for an entry in an operation collection (either the entry object or an `Error` object).""" 1305 + union OperationCollectionEntryResult = NotFoundError | OperationCollectionEntry 1306 + 1307 + """The most recent body, variable and header values of a saved operation entry.""" 1308 + type OperationCollectionEntryState { 1309 + """The raw body of the entry's GraphQL operation.""" 1310 + body: String! 1311 + """Headers for the entry's GraphQL operation.""" 1312 + headers: [OperationHeader!] 1313 + """Variables for the entry's GraphQL operation, as a JSON string.""" 1314 + variables: String 1315 + } 1316 + 1317 + """Fields for creating or modifying an operation collection entry.""" 1318 + input OperationCollectionEntryStateInput { 1319 + """The operation's query body.""" 1320 + body: String! 1321 + """The operation's headers.""" 1322 + headers: [OperationHeaderInput!] 1323 + """The operation's variables.""" 1324 + variables: String 1325 + } 1326 + 1327 + """Provides fields for modifying an [operation collection](https://www.apollographql.com/docs/studio/explorer/operation-collections/).""" 1328 + type OperationCollectionMutation { 1329 + """Adds an operation to this collection.""" 1330 + addOperation(name: String!, operationInput: OperationCollectionEntryStateInput!): AddOperationCollectionEntryResult 1331 + """Adds operations to this collection.""" 1332 + addOperations(operations: [AddOperationInput!]!): AddOperationCollectionEntriesResult 1333 + """Deletes this operation collection. This also deletes all of the collection's associated operations.""" 1334 + delete: DeleteOperationCollectionResult 1335 + """Deletes an operation from this collection.""" 1336 + deleteOperation(id: ID!): RemoveOperationCollectionEntryResult 1337 + operation(id: ID!): OperationCollectionEntryMutationResult 1338 + """Updates the minimum role a user needs to be able to modify this collection.""" 1339 + setMinEditRole(editRole: UserPermission): UpdateOperationCollectionResult 1340 + """Updates this collection's description.""" 1341 + updateDescription(description: String): UpdateOperationCollectionResult 1342 + """Updates whether the current user has marked this collection as a favorite.""" 1343 + updateIsFavorite(isFavorite: Boolean!): UpdateOperationCollectionResult 1344 + """Updates whether this collection is shared across its associated organization.""" 1345 + updateIsShared(isShared: Boolean!): UpdateOperationCollectionResult 1346 + """Updates this operation collection's name.""" 1347 + updateName(name: String!): UpdateOperationCollectionResult 1348 + } 1349 + 1350 + """Whether the current user can perform various actions on the associated collection.""" 1351 + type OperationCollectionPermissions { 1352 + """Whether the current user can edit operations in the associated collection.""" 1353 + canEditOperations: Boolean! 1354 + """Whether the current user can delete or update the associated collection's metadata, such as its name and description.""" 1355 + canManage: Boolean! 1356 + """Whether the current user can read operations in the associated collection.""" 1357 + canReadOperations: Boolean! 1358 + } 1359 + 1360 + union OperationCollectionResult = NotFoundError | OperationCollection | PermissionError | ValidationError 1361 + 1362 + """Saved headers on a saved operation.""" 1363 + type OperationHeader { 1364 + """The header's name.""" 1365 + name: String! 1366 + """The header's value.""" 1367 + value: String! 1368 + } 1369 + 1370 + input OperationHeaderInput { 1371 + """The header's name.""" 1372 + name: String! 1373 + """The header's value.""" 1374 + value: String! 1375 + } 1376 + 1377 + """Options to filter by operation name.""" 1378 + input OperationNameFilterInput { 1379 + """name of the operation set by the user and reported alongside metrics""" 1380 + name: String! 1381 + version: String 1382 + } 1383 + 1384 + type OperationsCheckResult { 1385 + id: ID! 1386 + """Indication of the success of the change, either failure, warning, or notice.""" 1387 + checkSeverity: ChangeSeverity! 1388 + """Number of operations that were validated during schema diff""" 1389 + numberOfCheckedOperations: Int! 1390 + """List of schema changes with associated affected clients and operations""" 1391 + changes: [Change!]! 1392 + """Summary/counts for all changes in diff""" 1393 + changeSummary: ChangeSummary! 1394 + """Operations affected by all changes in diff""" 1395 + affectedQueries: [AffectedQuery!] 1396 + """Number of affected query operations that are neither marked as SAFE or IGNORED""" 1397 + numberOfAffectedOperations: Int! 1398 + createdAt: Timestamp! 1399 + } 1400 + 1401 + type OperationsCheckTask implements CheckWorkflowTask { 1402 + completedAt: Timestamp 1403 + createdAt: Timestamp! 1404 + id: ID! 1405 + status: CheckWorkflowTaskStatus! 1406 + targetURL: String 1407 + workflow: CheckWorkflow! 1408 + """ 1409 + The result of the operations check. This will be null when the task is initializing or running, 1410 + or when the build task fails (which is a prerequisite task to this one). 1411 + """ 1412 + result: OperationsCheckResult 1413 + } 1414 + 1415 + type Order { 1416 + id: ID! 1417 + orderType: OrderType! 1418 + status: OrderStatus! 1419 + reason: String 1420 + logs(first: Int, offset: Int): [LogMessage!]! 1421 + router: Router! 1422 + } 1423 + 1424 + union OrderOrError = Order 1425 + 1426 + enum OrderStatus { 1427 + PENDING 1428 + COMPLETED 1429 + ROLLING_BACK 1430 + ERRORED 1431 + SUPERSEDED 1432 + } 1433 + 1434 + enum OrderType { 1435 + CREATE_ROUTER 1436 + DESTROY_ROUTER 1437 + UPDATE_ROUTER 1438 + } 1439 + 1440 + """The schema for a single published subgraph in Studio.""" 1441 + type SubgraphSchema { 1442 + """The subgraph schema document as SDL.""" 1443 + sdl: String! 1444 + } 1445 + 1446 + """ 1447 + Input for registering a partial schema to an implementing service. 73 1448 One of the fields must be specified (validated server-side). 74 1449 75 1450 If a new partialSchemaSDL is passed in, this operation will store it before ··· 77 1452 78 1453 If both the sdl and hash are specified, an error will be thrown if the provided 79 1454 hash doesn't match our hash of the sdl contents. If the sdl field is specified, 80 - the hash does not need to be and will be computed server-side.""" input PartialSchemaInput{"""Hash of the partial schema to associate; error is thrown if only the hash is 81 - specified and the hash has not been seen before""" hash:String """Contents of the partial schema in SDL syntax, but may reference types 82 - that aren't defined in this document""" sdl:String}type PermissionError implements Error{message:String!}type PromoteSchemaError{code:PromoteSchemaErrorCode!message:String!}enum PromoteSchemaErrorCode{CANNOT_PROMOTE_SCHEMA_FOR_FEDERATED_GRAPH}type PromoteSchemaResponse{code:PromoteSchemaResponseCode!tag:SchemaTag!}enum PromoteSchemaResponseCode{NO_CHANGES_DETECTED PROMOTION_SUCCESS}union PromoteSchemaResponseOrError=PromoteSchemaError|PromoteSchemaResponse type Protobuf{json:String!object:Object!raw:Blob!text:String!}type Query{"""Account by ID""" account(id:ID!):Account """Retrieve account by billing provider identifier""" accountByBillingCode(id:ID!):Account """Retrieve account by internal id""" accountByInternalID(id:ID!):Account """Whether an account ID is available for mutation{newAccount(id:)}""" accountIDAvailable(id:ID!):Boolean!"""All accounts""" allAccounts(search:String tier:BillingPlanTier):[Account!]"""All available plans""" allPlans:[BillingPlan!]!allPublicVariants:[GraphVariant!]"""All services""" allServices(search:String):[Service!]"""All timezones with their offsets from UTC""" allTimezoneOffsets:[TimezoneOffset!]!"""All users""" allUsers(search:String):[User!]"""Look up a plan by ID""" billingPlan(id:ID):BillingPlanV2 """All available plans""" billingPlans:[BillingPlanV2!]!"""If this is true, the user is an Apollo administrator who can ignore restrictions based purely on billing plan.""" canBypassPlanRestrictions:Boolean!diffSchemas(baseSchema:String!nextSchema:String!):[Change!]!"""Get the unsubscribe settings for a given email.""" emailPreferences(email:String!token:String!):EmailPreferences experimentalFeatures:GlobalExperimentalFeatures!"""Address of the Studio frontend.""" frontendUrlRoot:String!"""Access a graph by ID.""" graph(id:ID!):Service internalActiveCronJobs:[CronJob!]!internalAdminUsers:[InternalAdminUser!]internalUnresolvedCronExecutionFailures:[CronExecution!]!"""User or graph querying the API, null if not authenticated.""" me:Identity odysseyCertification(id:ID!):OdysseyCertification operationCollection(id:ID!):OperationCollectionResult!operationCollectionEntries(collectionEntryIds:[ID!]!):[OperationCollectionEntry!]!"""Access an organization by ID.""" organization(id:ID!):Account """Look up a plan by ID""" plan(id:ID):BillingPlan """A list of public variants that have been selected to be shown on our Graph Directory.""" publiclyListedVariants:[GraphVariant!]"""Service by ID""" service(id:ID!):Service """Query statistics across all services. For admins only; normal users must go through AccountsStatsWindow or ServiceStatsWindow.""" stats(from:Timestamp!"""Granularity of buckets. Defaults to the entire range (aggregate all data into a single durationBucket) when null.""" resolution:Resolution """Defaults to the current time when null.""" to:Timestamp):StatsWindow!"""Get the studio settings for the current user""" studioSettings:UserSettings """The plan started by AccountMutation.startTeamSubscription""" teamBillingPlan(billingPeriod:BillingPeriod!):BillingPlanV2!"""The plan started by AccountMutation.startTeamSubscription""" teamPlan(billingPeriod:BillingPeriod!):BillingPlan!"""Schema transformation for the Apollo platform API. Renames types. Internal to Apollo.""" transformSchemaForPlatformApi(baseSchema:GraphQLDocument!):GraphQLDocument """The plan started by AccountMutation.startTrial""" trialBillingPlan:BillingPlanV2!"""The plan started by AccountMutation.startTrial""" trialPlan:BillingPlan!"""User by ID""" user(id:ID!):User """Access a variant by reference of the form `graphID@variantName`, or `graphID` for the default `current` variant. 83 - Returns null when the graph or variant do not exist, or when the graph cannot be accessed. 84 - Note that we can return more types implementing Error in the future.""" variant(ref:ID!):GraphVariantLookup}"""query documents to validate against""" input QueryDocumentInput{document:String}type QueryPlan{json:String!object:Object!text:String!}"""Columns of QueryStats.""" enum QueryStatsColumn{ACCOUNT_ID CACHED_HISTOGRAM CACHED_REQUESTS_COUNT CACHE_TTL_HISTOGRAM CLIENT_NAME CLIENT_VERSION FORBIDDEN_OPERATION_COUNT FROM_ENGINEPROXY QUERY_ID QUERY_NAME REGISTERED_OPERATION_COUNT REQUESTS_WITH_ERRORS_COUNT SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP UNCACHED_HISTOGRAM UNCACHED_REQUESTS_COUNT}type QueryStatsDimensions{accountId:ID clientName:String clientVersion:String fromEngineproxy:String queryId:ID queryName:String querySignature:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in QueryStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input QueryStatsFilter{"""Selects rows whose accountId dimension equals the given value if not null. To query for the null value, use {in: {accountId: [null]}} instead.""" accountId:ID and:[QueryStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fromEngineproxy dimension equals the given value if not null. To query for the null value, use {in: {fromEngineproxy: [null]}} instead.""" fromEngineproxy:String in:QueryStatsFilterIn not:QueryStatsFilter or:[QueryStatsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in QueryStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input QueryStatsFilterIn{"""Selects rows whose accountId dimension is in the given list. A null value in the list means a row with null for that dimension.""" accountId:[ID]"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fromEngineproxy dimension is in the given list. A null value in the list means a row with null for that dimension.""" fromEngineproxy:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type QueryStatsMetrics{cacheTtlHistogram:DurationHistogram!cachedHistogram:DurationHistogram!cachedRequestsCount:Long!forbiddenOperationCount:Long!registeredOperationCount:Long!requestsWithErrorsCount:Long!totalLatencyHistogram:DurationHistogram!totalRequestCount:Long!uncachedHistogram:DurationHistogram!uncachedRequestsCount:Long!}input QueryStatsOrderBySpec{column:QueryStatsColumn!direction:Ordering!}type QueryStatsRecord{"""Dimensions of QueryStats that can be grouped by.""" groupBy:QueryStatsDimensions!"""Metrics of QueryStats that can be aggregated over.""" metrics:QueryStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Query Trigger""" type QueryTrigger implements ChannelSubscription{channels:[Channel!]!comparisonOperator:ComparisonOperator!enabled:Boolean!excludedOperationNames:[String!]!id:ID!metric:QueryTriggerMetric!operationNames:[String!]!percentile:Float scope:QueryTriggerScope!serviceId:String!state:QueryTriggerState!threshold:Float!variant:String window:QueryTriggerWindow!}"""Query trigger""" input QueryTriggerInput{channelIds:[String!]comparisonOperator:ComparisonOperator!enabled:Boolean excludedOperationNames:[String!]metric:QueryTriggerMetric!operationNames:[String!]percentile:Float scope:QueryTriggerScope threshold:Float!variant:String window:QueryTriggerWindow!}enum QueryTriggerMetric{"""Number of requests within the window that resulted in an error. Ignores `percentile`.""" ERROR_COUNT """Number of error requests divided by total number of requests. Ignores `percentile`.""" ERROR_PERCENTAGE """Number of requests within the window. Ignores `percentile`.""" REQUEST_COUNT """Request latency in ms. Requires `percentile`.""" REQUEST_SERVICE_TIME}enum QueryTriggerScope{ALL ANY UNRECOGNIZED}"""Query trigger state""" type QueryTriggerState{evaluatedAt:Timestamp!lastTriggeredAt:Timestamp operations:[QueryTriggerStateOperation!]!triggered:Boolean!}type QueryTriggerStateOperation{count:Long!operation:String!triggered:Boolean!value:Float!}enum QueryTriggerWindow{FIFTEEN_MINUTES FIVE_MINUTES ONE_MINUTE UNRECOGNIZED}"""The documentation for a graph variant, as display in Studio.""" type Readme{"""Content of the document.""" content:String!id:ID!"""Last time the document was updated.""" lastUpdatedAt:Timestamp!"""Identity of who updated the document last.""" lastUpdatedBy:Identity}type RegisterOperationsMutationResponse{invalidOperations:[InvalidOperation!]newOperations:[RegisteredOperation!]registrationSuccess:Boolean!}input RegisteredClientIdentityInput{identifier:String!name:String!version:String}type RegisteredOperation{signature:ID!}input RegisteredOperationInput{document:String metadata:RegisteredOperationMetadataInput signature:ID!}input RegisteredOperationMetadataInput{"""This will be used to link existing records in Engine to a new ID.""" engineSignature:String}type RegistryApiKey{keyName:String token:String!}type RegistryStatsWindow{schemaCheckStats:[AccountChecksStatsRecord!]!schemaPublishStats:[AccountPublishesStatsRecord!]!}type RegistrySubscription implements ChannelSubscription{channel:Channel channels:[Channel!]!@deprecated(reason:"Use channels list instead")createdAt:Timestamp!enabled:Boolean!id:ID!lastUpdatedAt:Timestamp!options:SubscriptionOptions!variant:String}type RelaunchComplete{latestLaunch:Launch!updated:Boolean!}type RelaunchError{message:String!}union RelaunchResult=RelaunchComplete|RelaunchError union RemoveOperationCollectionEntryResult=OperationCollection|PermissionError union RemoveOperationCollectionFromVariantResult=GraphVariant|NotFoundError|PermissionError|ValidationError union ReorderOperationCollectionResult=OperationCollection|PermissionError type ReportSchemaError implements ReportSchemaResult{code:ReportSchemaErrorCode!inSeconds:Int!message:String!withCoreSchema:Boolean!}enum ReportSchemaErrorCode{BOOT_ID_IS_NOT_VALID_UUID BOOT_ID_IS_REQUIRED CORE_SCHEMA_HASH_IS_NOT_SCHEMA_SHA256 CORE_SCHEMA_HASH_IS_REQUIRED CORE_SCHEMA_HASH_IS_TOO_LONG EXECUTABLE_SCHEMA_ID_IS_NOT_SCHEMA_SHA256 EXECUTABLE_SCHEMA_ID_IS_REQUIRED EXECUTABLE_SCHEMA_ID_IS_TOO_LONG GRAPH_REF_INVALID_FORMAT GRAPH_REF_IS_REQUIRED GRAPH_VARIANT_DOES_NOT_MATCH_REGEX GRAPH_VARIANT_IS_REQUIRED LIBRARY_VERSION_IS_TOO_LONG PLATFORM_IS_TOO_LONG RUNTIME_VERSION_IS_TOO_LONG SCHEMA_IS_NOT_PARSABLE SCHEMA_IS_NOT_VALID SERVER_ID_IS_TOO_LONG USER_VERSION_IS_TOO_LONG}type ReportSchemaResponse implements ReportSchemaResult{inSeconds:Int!withCoreSchema:Boolean!}interface ReportSchemaResult{inSeconds:Int!withCoreSchema:Boolean!}type ReportServerInfoError implements ReportServerInfoResult{code:ReportSchemaErrorCode!inSeconds:Int!message:String!withExecutableSchema:Boolean!}type ReportServerInfoResponse implements ReportServerInfoResult{inSeconds:Int!withExecutableSchema:Boolean!}interface ReportServerInfoResult{inSeconds:Int!withExecutableSchema:Boolean!}enum Resolution{R1D R1H R1M R5M R6H R15M}enum ResponseHints{NONE SAMPLE_RESPONSES SUBGRAPHS TIMINGS TRACE_TIMINGS}type RoleOverride{graph:Service!lastUpdatedAt:Timestamp!role:UserPermission!user:User!}input RoverArgumentInput{key:String!value:Object}"""SHA-256 hash, represented in lowercase hexadecimal""" scalar SHA256 type ScheduledSummary implements ChannelSubscription{channel:Channel@deprecated(reason:"Use channels list instead")channels:[Channel!]!enabled:Boolean!id:ID!timezone:String!variant:String!}"""A GraphQL schema document, which may optionally map back to context with which the schema was ingested.""" type Schema{createTemporaryURL(expiresInSeconds:Int!=86400):TemporaryURL """The timestamp of initial ingestion of a schema to a graph.""" createdAt:Timestamp!"""The raw GraphQL document for the schema in question""" document:GraphQLDocument!"""The number of fields; this includes user defined fields only, excluding built-in types and fields""" fieldCount:Int!gitContext:GitContext """The hex representation of the SHA256 of the GraphQL document.""" hash:ID!introspection:IntrospectionSchema!"""The number of types; this includes user defined types only, excluding built-in types""" typeCount:Int!}"""Represents an error from running schema composition on a list of subgraph definitions.""" type SchemaCompositionError{"""A machine-readable error code.""" code:String """Affected locations.""" locations:[SourceLocation]!"""A human-readable locations.""" message:String!}"""The difference between two schemas, as usually computed during a schema check.""" type SchemaDiff{"""Clients affected by all changes in the diff.""" affectedClients:[AffectedClient!]@deprecated(reason:"Unsupported.")"""Operations affected by all changes in the diff.""" affectedQueries:[AffectedQuery!]"""Numeric summary of all changes in the diff.""" changeSummary:ChangeSummary!"""List of schema changes with associated affected clients and operations.""" changes:[Change!]!"""Number of affected query operations that are neither marked as safe or ignored.""" numberOfAffectedOperations:Int!"""Number of operations that were validated during the check.""" numberOfCheckedOperations:Int """Indication of the success of the change; either failure, warning, or notice.""" severity:ChangeSeverity!"""The tag against which this diff was created""" tag:String type:ChangeType!@deprecated(reason:"use severity instead")"""Configuration of validation""" validationConfig:SchemaDiffValidationConfig}type SchemaDiffValidationConfig{"""Clients to ignore during validation.""" excludedClients:[ClientInfoFilterOutput!]"""Operation names to ignore during validation.""" excludedOperationNames:[OperationNameFilter]"""delta in seconds from current time that determines the start of the window 85 - for reported metrics included in a schema diff. A day window from the present 86 - day would have a `from` value of -86400. In rare cases, this could be an ISO 87 - timestamp if the user passed one in on diff creation""" from:Timestamp """Operation IDs to ignore during validation.""" ignoredOperations:[ID!]"""Variants to include during validation.""" includedVariants:[String!]"""Minimum number of requests within the window for a query to be considered.""" queryCountThreshold:Int """Number of requests within the window for a query to be considered, relative to 88 - total request count. Expected values are between 0 and 0.05 (minimum 5% of 89 - total request volume)""" queryCountThresholdPercentage:Float """delta in seconds from current time that determines the end of the 90 - window for reported metrics included in a schema diff. A day window 91 - from the present day would have a `to` value of -0. In rare 92 - cases, this could be an ISO timestamp if the user passed one in on diff 93 - creation""" to:Timestamp}type SchemaPublishSubscription implements ChannelSubscription{channels:[Channel!]!createdAt:Timestamp!enabled:Boolean!id:ID!lastUpdatedAt:Timestamp!variant:String}input SchemaReport{"""A randomly generated UUID, immutable for the lifetime of the edge server runtime.""" bootId:String!"""The hex SHA256 hash of the schema being reported. Note that for a GraphQL server with a core schema, this should be the core schema, not the API schema.""" coreSchemaHash:String!"""The graph ref (eg, 'id@variant')""" graphRef:String!"""The version of the edge server reporting agent, e.g. apollo-server-2.8, graphql-java-3.1, etc. length must be <= 256 characters.""" libraryVersion:String """The infra environment in which this edge server is running, e.g. localhost, Kubernetes, AWS Lambda, Google CloudRun, AWS ECS, etc. length must be <= 256 characters.""" platform:String """The runtime in which the edge server is running, e.g. node 12.03, zulu8.46.0.19-ca-jdk8.0.252-macosx_x64, etc. length must be <= 256 characters.""" runtimeVersion:String """If available, an identifier for the edge server instance, such that when restarting this instance it will have the same serverId, with a different bootId. For example, in Kubernetes this might be the pod name. Length must be <= 256 characters.""" serverId:String """An identifier used to distinguish the version (from the user's perspective) of the edge server's code itself. For instance, the git sha of the server's repository or the docker sha of the associated image this server runs with. Length must be <= 256 characters.""" userVersion:String}"""A specific publication of a graph variant.""" type SchemaTag{"""The result of composition, including either a supergraph schema or errors, 94 - executed during this publication. Only available with managed federation.""" compositionResult:CompositionResult createdAt:Timestamp!"""Differences with the schema from the previous successful publication.""" diffToPrevious:SchemaDiff gitContext:GitContext """List of previously uploaded SchemaTags under the same tag name, starting with 95 - the selected published schema record. Sorted in reverse chronological order 96 - by creation date (newest publish first). 1455 + the hash does not need to be and will be computed server-side. 1456 + """ 1457 + input PartialSchemaInput { 1458 + """ 1459 + Contents of the partial schema in SDL syntax, but may reference types 1460 + that aren't defined in this document 1461 + """ 1462 + sdl: String 1463 + """ 1464 + Hash of the partial schema to associate; error is thrown if only the hash is 1465 + specified and the hash has not been seen before 1466 + """ 1467 + hash: String 1468 + } 1469 + 1470 + """An error that occurs when the current user doesn't have sufficient permissions to perform an action.""" 1471 + type PermissionError implements Error { 1472 + """The error message.""" 1473 + message: String! 1474 + } 1475 + 1476 + """An error related to an organization's Apollo Studio plan.""" 1477 + type PlanError { 1478 + """The error message.""" 1479 + message: String! 1480 + } 1481 + 1482 + type Query { 1483 + """Returns the root URL of the Apollo Studio frontend.""" 1484 + frontendUrlRoot: String! 1485 + """Returns details of the graph with the provided ID.""" 1486 + graph(id: ID!): Graph 1487 + """Returns details of the authenticated `User` or `Graph` executing this query. If this is an unauthenticated query (i.e., no API key is provided), this field returns null.""" 1488 + me: Identity 1489 + """Returns details of the Studio organization with the provided ID.""" 1490 + organization(id: ID!): Organization 1491 + """Returns details of the Apollo user with the provided ID.""" 1492 + user(id: ID!): User 1493 + """Returns details of a Studio graph variant with the provided graph ref. A graph ref has the format `graphID@variantName` (or just `graphID` for the default variant `current`). Returns null if the graph or variant doesn't exist, or if the graph isn't accessible by the current actor.""" 1494 + variant(ref: ID!): GraphVariantLookup 1495 + """Returns the [operation collection](https://www.apollographql.com/docs/studio/explorer/operation-collections/) for the provided ID.""" 1496 + operationCollection(id: ID!): OperationCollectionResult! 1497 + } 1498 + 1499 + """The README documentation for a graph variant, which is displayed in Studio.""" 1500 + type Readme { 1501 + """The contents of the README in plaintext.""" 1502 + content: String! 1503 + """The README's unique ID. `a15177c0-b003-4837-952a-dbfe76062eb1` for the default README""" 1504 + id: ID! 1505 + """The actor that most recently updated the README (usually a `User`). `null` for the default README, or if the `User` was deleted.""" 1506 + lastUpdatedBy: Identity 1507 + """The timestamp when the README was most recently updated. `null` for the default README""" 1508 + lastUpdatedTime: Timestamp 1509 + } 97 1510 98 - Note: This does not include the history of checked schemas""" history(includeUnchanged:Boolean!=true limit:Int!=3 offset:Int=0):[SchemaTag!]!"""Number of tagged schemas created under the same tag name. 99 - Also represents the maximum size of the history's limit argument.""" historyLength:Int!"""Number of schemas tagged prior to this one under the same tag name, its position 100 - in the tag history.""" historyOrder:Int!"""The identifier for this specific publication.""" id:ID!"""Time of publication.""" publishedAt:Timestamp!"""The Identity that published this schema and their client info, or null if this isn't 101 - a publish. Sub-fields may be null if they weren't recorded.""" publishedBy:IdentityAndClientInfo """Indicates the schemaTag of the schema's original upload, null if this is the 102 - first upload of the schema.""" reversionFrom:SchemaTag """The published schema.""" schema:Schema!slackNotificationBody(graphDisplayName:String!):String tag:String!@deprecated(reason:"Please use variant { name } instead")"""The graph variant this belongs to.""" variant:GraphVariant!webhookNotificationBody:String!}"""How many seats of the given types does an organization have (regardless of plan type)?""" type Seats{"""How many members that are free in this organization.""" free:Int!"""How many members that are not free in this organization.""" fullPrice:Int!}type SemanticChange{"""Target arg of change made.""" argNode:NamedIntrospectionArg """Node related to the top level node that was changed, such as a field in an object, 103 - a value in an enum or the object of an interface""" childNode:NamedIntrospectionValue """Semantic metadata about the type of change""" definition:ChangeDefinition!"""Top level node affected by the change""" parentNode:NamedIntrospectionType}"""A graph in Apollo Studio represents a graph in your organization. 1511 + union RemoveOperationCollectionEntryResult = OperationCollection | PermissionError 1512 + 1513 + type Router { 1514 + """ 1515 + Last time when the Cloud Router was updated 1516 + 1517 + If the Cloud Router was never updated, this value will be null 1518 + """ 1519 + updatedAt: NaiveDateTime 1520 + """Current status of the Cloud Router""" 1521 + status: RouterStatus! 1522 + """Current version of the Cloud Router""" 1523 + routerVersion: RouterVersion! 1524 + """ 1525 + URL where the Cloud Router can be found 1526 + 1527 + This will be null if the Cloud Router is in a deleted status 1528 + """ 1529 + routerUrl: String 1530 + """Retrieves a specific Order related to this Cloud Router""" 1531 + order(orderId: ID!): Order 1532 + """Retrieves all Orders related to this Cloud Router""" 1533 + orders(first: Int, offset: Int): [Order!]! 1534 + """Return the list of secrets for this Cloud Router with their hash values""" 1535 + secrets: [Secret!]! 1536 + } 1537 + 1538 + enum RouterStatus { 1539 + CREATING 1540 + UPDATING 1541 + DELETING 1542 + ROLLING_BACK 1543 + RUNNING 1544 + DELETED 1545 + } 1546 + 1547 + type RouterVersion { 1548 + version: String! 1549 + core: String! 1550 + build: String! 1551 + status: Status! 1552 + configVersion: String! 1553 + configSchema: String! 1554 + } 1555 + 1556 + """A GraphQL schema document and associated metadata.""" 1557 + type Schema { 1558 + """The GraphQL schema document's SHA256 hash, represented as a hexadecimal string.""" 1559 + hash: ID! 1560 + """The GraphQL schema document.""" 1561 + document: GraphQLDocument! 1562 + } 1563 + 1564 + """An error that occurred while running schema composition on a set of subgraph schemas.""" 1565 + type SchemaCompositionError { 1566 + """A human-readable message describing the error.""" 1567 + message: String! 1568 + """Source locations related to the error.""" 1569 + locations: [SourceLocation]! 1570 + """A machine-readable error code.""" 1571 + code: String 1572 + } 1573 + 1574 + """The result of computing the difference between two schemas, usually as part of schema checks.""" 1575 + type SchemaDiff { 1576 + """Indicates the overall safety of the changes included in the diff, based on operation history (e.g., `FAILURE` or `NOTICE`).""" 1577 + severity: ChangeSeverity! 1578 + """A list of all schema changes in the diff, including their severity.""" 1579 + changes: [Change!]! 1580 + """Numeric summaries for each type of change in the diff.""" 1581 + changeSummary: ChangeSummary! 1582 + """Operations affected by all changes in the diff.""" 1583 + affectedQueries: [AffectedQuery!] 1584 + """The number of GraphQL operations that were validated during the check.""" 1585 + numberOfCheckedOperations: Int 1586 + """The number of GraphQL operations affected by the diff's changes that are neither marked as safe nor ignored.""" 1587 + numberOfAffectedOperations: Int! 1588 + } 1589 + 1590 + """Contains details for an individual publication of an individual graph variant.""" 1591 + type SchemaPublication { 1592 + """ 1593 + The variant that was published to." 1594 + """ 1595 + variant: GraphVariant! 1596 + """The schema that was published to the variant.""" 1597 + schema: Schema! 1598 + """The result of federated composition executed for this publication. This result includes either a supergraph schema or error details, depending on whether composition succeeded. This value is null when the publication is for a non-federated graph.""" 1599 + compositionResult: CompositionResult 1600 + """The timestamp when the variant was published to.""" 1601 + publishedAt: Timestamp! 1602 + """A schema diff comparing against the schema from the most recent previous successful publication.""" 1603 + diffToPrevious: SchemaDiff 1604 + } 1605 + 1606 + type Secret { 1607 + createdAt: DateTime! 1608 + name: String! 1609 + hash: String! 1610 + } 1611 + 1612 + type SemanticChange { 1613 + """Semantic metadata about the type of change""" 1614 + definition: ChangeDefinition! 1615 + """Top level node affected by the change""" 1616 + parentNode: NamedIntrospectionType 1617 + """ 1618 + Node related to the top level node that was changed, such as a field in an object, 1619 + a value in an enum or the object of an interface 1620 + """ 1621 + childNode: NamedIntrospectionValue 1622 + """Target arg of change made.""" 1623 + argNode: NamedIntrospectionArg 1624 + } 1625 + 1626 + """ 1627 + A graph in Apollo Studio represents a graph in your organization. 104 1628 Each graph has one or more variants, which correspond to the different environments where that graph runs (such as staging and production). 105 - Each variant has its own GraphQL schema, which means schemas can differ between environments.""" type Service implements Identity{"""Organization that this graph belongs to.""" account:Account accountId:ID apiKeys:[GraphApiKey!]"""A view of the identity as an Actor type.""" asActor:Actor!"""Get an URL to which an avatar image can be uploaded. Client uploads by sending a PUT request 106 - with the image data to MediaUploadInfo.url. Client SHOULD set the "Content-Type" header to the 107 - browser-inferred MIME type, and SHOULD set the "x-apollo-content-filename" header to the 108 - filename, if such information is available. Client MUST set the "x-apollo-csrf-token" header to 109 - MediaUploadInfo.csrfToken.""" avatarUpload:AvatarUploadResult """Get an image URL for the service's avatar. Note that CORS is not enabled for these URLs. The size 110 - argument is used for bandwidth reduction, and should be the size of the image as displayed in the 111 - application. Apollo's media server will downscale larger images to at least the requested size, 112 - but this will not happen for third-party media servers.""" avatarUrl(size:Int!=40):String """Get available notification endpoints""" channels(channelIds:[ID!]):[Channel!]"""Get check configuration for this graph.""" checkConfiguration:CheckConfiguration """Get a check workflow for this graph by its ID""" checkWorkflow(id:ID!):CheckWorkflow """Get check workflows for this graph ordered by creation time, most recent first.""" checkWorkflows(filter:CheckFilterInput limit:Int!=100):[CheckWorkflow!]!"""List of options available for filtering checks for this graph by author. 113 - If a filter is passed, constrains results to match the filter.""" checksAuthorOptions(filter:CheckFilterInput):[String!]!"""List of options available for filtering checks for this graph by branch. 114 - If a filter is passed, constrains results to match the filter.""" checksBranchOptions(filter:CheckFilterInput):[String!]!"""List of options available for filtering checks for this graph by subgraph name. 115 - If a filter is passed, constrains results to match the filter.""" checksSubgraphOptions(filter:CheckFilterInput):[String!]!"""Given a graphCompositionID, return the results of composition. This can represent either a validation or a publish.""" compositionResultById(id:ID!):CompositionResult createdAt:Timestamp!createdBy:Identity datadogMetricsConfig:DatadogMetricsConfig defaultBuildPipelineTrack:String deletedAt:Timestamp description:String devGraphOwner:User """Get a GraphQL document by hash""" document(hash:SHA256):GraphQLDocument """When this is true, this graph will be hidden from non-admin members of the org who haven't been explicitly assigned a 116 - role on this graph.""" hiddenFromUninvitedNonAdminAccountMembers:Boolean!"""Globally unique identifier for this graph.""" id:ID!"""List of subgraphs that comprise a graph. A non-federated graph should have a single implementing service. 117 - Set includeDeleted to see deleted subgraphs.""" implementingServices(graphVariant:String!includeDeleted:Boolean):GraphImplementors lastReportedAt(graphVariant:String):Timestamp """Current identity, null if not authenticated.""" me:Identity """The composition result that was most recently published to a graph variant.""" mostRecentCompositionPublish(graphVariant:String!):CompositionPublishResult """Permissions of the current user in this graph.""" myRole:UserPermission """Name of this graph. Note that this field is deprecated.""" name:String!@deprecated(reason:"Use Service.title")onboardingArchitecture:OnboardingArchitecture operation(id:ID!):Operation """Gets the operations and their approved changes for this graph, checkID, and operationID.""" operationsAcceptedChanges(checkID:ID!operationID:String!):[OperationAcceptedChange!]!"""Get an operations check result for a specific check ID""" operationsCheck(checkID:ID!):OperationsCheckResult """Get query triggers for a given variant. If variant is null all the triggers for this service will be gotten.""" queryTriggers(graphVariant:String operationNames:[String!]):[QueryTrigger!]readme:Readme """Registry specific stats for this graph.""" registryStatsWindow(from:Timestamp!resolution:Resolution to:Timestamp):RegistryStatsWindow """Whether registry subscriptions (with any options) are enabled. If variant is not passed, returns true if configuration is present for any variant""" registrySubscriptionsEnabled(graphVariant:String):Boolean!@deprecated(reason:"This field will be removed")reportingEnabled:Boolean!"""The list of members that can access this graph, accounting for graph role overrides""" roleOverrides:[RoleOverride!]"""Which permissions the current user has for interacting with this graph""" roles:ServiceRoles scheduledSummaries:[ScheduledSummary!]!"""Get a schema by hash or current tag""" schema(hash:ID tag:String):Schema """The current publish associated to a given variant (with 'tag' as the variant name).""" schemaTag(tag:String!):SchemaTag schemaTagById(id:ID!):SchemaTag """Get schema tags, with optional filtering to a set of tags. Always sorted by creation 118 - date in reverse chronological order.""" schemaTags(tags:[String!]):[SchemaTag!]stats(from:Timestamp!"""Granularity of buckets. Defaults to the entire range (aggregate all data into a single durationBucket) when null.""" resolution:Resolution """Defaults to the current time when null.""" to:Timestamp):ServiceStatsWindow!@deprecated(reason:"use Service.statsWindow instead")statsWindow(from:Timestamp!"""Granularity of buckets. Defaults to the entire range (aggregate all data into a single durationBucket) when null.""" resolution:Resolution """Defaults to the current time when null.""" to:Timestamp):ServiceStatsWindow """Generate a test schema publish notification body""" testSchemaPublishBody(variant:String!):String!"""Name of this graph.""" title:String!trace(id:ID!):Trace traceStorageEnabled:Boolean!"""A particular variant often representing a live traffic environment (such as "dev", "staging", or "prod"). 119 - Each variant can represent a specific URL or destination to query at, analytics, and its own schema history. 120 - Pass in a name to get a specific variant. Use `Graph.variants` to get a list of variants.""" variant(name:String!):GraphVariant """The list of variants that exist for this graph""" variants:[GraphVariant!]!}"""Columns of ServiceBillingUsageStats.""" enum ServiceBillingUsageStatsColumn{OPERATION_COUNT OPERATION_COUNT_PROVIDED_EXPLICITLY SCHEMA_TAG TIMESTAMP}type ServiceBillingUsageStatsDimensions{operationCountProvidedExplicitly:String schemaTag:String}"""Filter for data in ServiceBillingUsageStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceBillingUsageStatsFilter{and:[ServiceBillingUsageStatsFilter!]in:ServiceBillingUsageStatsFilterIn not:ServiceBillingUsageStatsFilter """Selects rows whose operationCountProvidedExplicitly dimension equals the given value if not null. To query for the null value, use {in: {operationCountProvidedExplicitly: [null]}} instead.""" operationCountProvidedExplicitly:String or:[ServiceBillingUsageStatsFilter!]"""Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceBillingUsageStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceBillingUsageStatsFilterIn{"""Selects rows whose operationCountProvidedExplicitly dimension is in the given list. A null value in the list means a row with null for that dimension.""" operationCountProvidedExplicitly:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceBillingUsageStatsMetrics{operationCount:Long!}input ServiceBillingUsageStatsOrderBySpec{column:ServiceBillingUsageStatsColumn!direction:Ordering!}type ServiceBillingUsageStatsRecord{"""Dimensions of ServiceBillingUsageStats that can be grouped by.""" groupBy:ServiceBillingUsageStatsDimensions!"""Metrics of ServiceBillingUsageStats that can be aggregated over.""" metrics:ServiceBillingUsageStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceEdgeServerInfos.""" enum ServiceEdgeServerInfosColumn{BOOT_ID EXECUTABLE_SCHEMA_ID LIBRARY_VERSION PLATFORM RUNTIME_VERSION SCHEMA_TAG SERVER_ID TIMESTAMP USER_VERSION}type ServiceEdgeServerInfosDimensions{bootId:ID executableSchemaId:ID libraryVersion:String platform:String runtimeVersion:String schemaTag:String serverId:ID userVersion:String}"""Filter for data in ServiceEdgeServerInfos. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceEdgeServerInfosFilter{and:[ServiceEdgeServerInfosFilter!]"""Selects rows whose bootId dimension equals the given value if not null. To query for the null value, use {in: {bootId: [null]}} instead.""" bootId:ID """Selects rows whose executableSchemaId dimension equals the given value if not null. To query for the null value, use {in: {executableSchemaId: [null]}} instead.""" executableSchemaId:ID in:ServiceEdgeServerInfosFilterIn """Selects rows whose libraryVersion dimension equals the given value if not null. To query for the null value, use {in: {libraryVersion: [null]}} instead.""" libraryVersion:String not:ServiceEdgeServerInfosFilter or:[ServiceEdgeServerInfosFilter!]"""Selects rows whose platform dimension equals the given value if not null. To query for the null value, use {in: {platform: [null]}} instead.""" platform:String """Selects rows whose runtimeVersion dimension equals the given value if not null. To query for the null value, use {in: {runtimeVersion: [null]}} instead.""" runtimeVersion:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serverId dimension equals the given value if not null. To query for the null value, use {in: {serverId: [null]}} instead.""" serverId:ID """Selects rows whose userVersion dimension equals the given value if not null. To query for the null value, use {in: {userVersion: [null]}} instead.""" userVersion:String}"""Filter for data in ServiceEdgeServerInfos. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceEdgeServerInfosFilterIn{"""Selects rows whose bootId dimension is in the given list. A null value in the list means a row with null for that dimension.""" bootId:[ID]"""Selects rows whose executableSchemaId dimension is in the given list. A null value in the list means a row with null for that dimension.""" executableSchemaId:[ID]"""Selects rows whose libraryVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" libraryVersion:[String]"""Selects rows whose platform dimension is in the given list. A null value in the list means a row with null for that dimension.""" platform:[String]"""Selects rows whose runtimeVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" runtimeVersion:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serverId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serverId:[ID]"""Selects rows whose userVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" userVersion:[String]}input ServiceEdgeServerInfosOrderBySpec{column:ServiceEdgeServerInfosColumn!direction:Ordering!}type ServiceEdgeServerInfosRecord{"""Dimensions of ServiceEdgeServerInfos that can be grouped by.""" groupBy:ServiceEdgeServerInfosDimensions!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceErrorStats.""" enum ServiceErrorStatsColumn{CLIENT_NAME CLIENT_VERSION ERRORS_COUNT PATH QUERY_ID QUERY_NAME REQUESTS_WITH_ERRORS_COUNT SCHEMA_HASH SCHEMA_TAG TIMESTAMP}type ServiceErrorStatsDimensions{clientName:String clientVersion:String path:String queryId:ID queryName:String schemaHash:String schemaTag:String}"""Filter for data in ServiceErrorStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceErrorStatsFilter{and:[ServiceErrorStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String in:ServiceErrorStatsFilterIn not:ServiceErrorStatsFilter or:[ServiceErrorStatsFilter!]"""Selects rows whose path dimension equals the given value if not null. To query for the null value, use {in: {path: [null]}} instead.""" path:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceErrorStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceErrorStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose path dimension is in the given list. A null value in the list means a row with null for that dimension.""" path:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceErrorStatsMetrics{errorsCount:Long!requestsWithErrorsCount:Long!}input ServiceErrorStatsOrderBySpec{column:ServiceErrorStatsColumn!direction:Ordering!}type ServiceErrorStatsRecord{"""Dimensions of ServiceErrorStats that can be grouped by.""" groupBy:ServiceErrorStatsDimensions!"""Metrics of ServiceErrorStats that can be aggregated over.""" metrics:ServiceErrorStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceFieldExecutions.""" enum ServiceFieldExecutionsColumn{ESTIMATED_EXECUTION_COUNT FIELD_NAME OBSERVED_EXECUTION_COUNT PARENT_TYPE REFERENCING_OPERATION_COUNT SCHEMA_TAG TIMESTAMP}type ServiceFieldExecutionsDimensions{fieldName:String parentType:String schemaTag:String}"""Filter for data in ServiceFieldExecutions. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceFieldExecutionsFilter{and:[ServiceFieldExecutionsFilter!]"""Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:ServiceFieldExecutionsFilterIn not:ServiceFieldExecutionsFilter or:[ServiceFieldExecutionsFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceFieldExecutions. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceFieldExecutionsFilterIn{"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceFieldExecutionsMetrics{estimatedExecutionCount:Long!observedExecutionCount:Long!referencingOperationCount:Long!}input ServiceFieldExecutionsOrderBySpec{column:ServiceFieldExecutionsColumn!direction:Ordering!}type ServiceFieldExecutionsRecord{"""Dimensions of ServiceFieldExecutions that can be grouped by.""" groupBy:ServiceFieldExecutionsDimensions!"""Metrics of ServiceFieldExecutions that can be aggregated over.""" metrics:ServiceFieldExecutionsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceFieldLatencies.""" enum ServiceFieldLatenciesColumn{FIELD_HISTOGRAM FIELD_NAME PARENT_TYPE SCHEMA_HASH SCHEMA_TAG TIMESTAMP}type ServiceFieldLatenciesDimensions{field:String fieldName:String parentType:String schemaHash:String schemaTag:String}"""Filter for data in ServiceFieldLatencies. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceFieldLatenciesFilter{and:[ServiceFieldLatenciesFilter!]"""Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:ServiceFieldLatenciesFilterIn not:ServiceFieldLatenciesFilter or:[ServiceFieldLatenciesFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceFieldLatencies. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceFieldLatenciesFilterIn{"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceFieldLatenciesMetrics{fieldHistogram:DurationHistogram!}input ServiceFieldLatenciesOrderBySpec{column:ServiceFieldLatenciesColumn!direction:Ordering!}type ServiceFieldLatenciesRecord{"""Dimensions of ServiceFieldLatencies that can be grouped by.""" groupBy:ServiceFieldLatenciesDimensions!"""Metrics of ServiceFieldLatencies that can be aggregated over.""" metrics:ServiceFieldLatenciesMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceFieldRequestsByClientVersion.""" enum ServiceFieldRequestsByClientVersionColumn{CLIENT_NAME CLIENT_VERSION ESTIMATED_EXECUTION_COUNT FIELD_NAME OBSERVED_EXECUTION_COUNT PARENT_TYPE REFERENCING_OPERATION_COUNT SCHEMA_TAG TIMESTAMP}type ServiceFieldRequestsByClientVersionDimensions{clientName:String clientVersion:String fieldName:String parentType:String schemaTag:String}"""Filter for data in ServiceFieldRequestsByClientVersion. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceFieldRequestsByClientVersionFilter{and:[ServiceFieldRequestsByClientVersionFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:ServiceFieldRequestsByClientVersionFilterIn not:ServiceFieldRequestsByClientVersionFilter or:[ServiceFieldRequestsByClientVersionFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceFieldRequestsByClientVersion. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceFieldRequestsByClientVersionFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceFieldRequestsByClientVersionMetrics{estimatedExecutionCount:Long!observedExecutionCount:Long!referencingOperationCount:Long!}input ServiceFieldRequestsByClientVersionOrderBySpec{column:ServiceFieldRequestsByClientVersionColumn!direction:Ordering!}type ServiceFieldRequestsByClientVersionRecord{"""Dimensions of ServiceFieldRequestsByClientVersion that can be grouped by.""" groupBy:ServiceFieldRequestsByClientVersionDimensions!"""Metrics of ServiceFieldRequestsByClientVersion that can be aggregated over.""" metrics:ServiceFieldRequestsByClientVersionMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceFieldUsage.""" enum ServiceFieldUsageColumn{CLIENT_NAME CLIENT_VERSION ESTIMATED_EXECUTION_COUNT EXECUTION_COUNT FIELD_NAME PARENT_TYPE QUERY_ID QUERY_NAME REFERENCING_OPERATION_COUNT SCHEMA_HASH SCHEMA_TAG TIMESTAMP}type ServiceFieldUsageDimensions{clientName:String clientVersion:String fieldName:String parentType:String queryId:ID queryName:String schemaHash:String schemaTag:String}"""Filter for data in ServiceFieldUsage. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceFieldUsageFilter{and:[ServiceFieldUsageFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:ServiceFieldUsageFilterIn not:ServiceFieldUsageFilter or:[ServiceFieldUsageFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceFieldUsage. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceFieldUsageFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceFieldUsageMetrics{estimatedExecutionCount:Long!executionCount:Long!referencingOperationCount:Long!}input ServiceFieldUsageOrderBySpec{column:ServiceFieldUsageColumn!direction:Ordering!}type ServiceFieldUsageRecord{"""Dimensions of ServiceFieldUsage that can be grouped by.""" groupBy:ServiceFieldUsageDimensions!"""Metrics of ServiceFieldUsage that can be aggregated over.""" metrics:ServiceFieldUsageMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Mutations to a graph.""" type ServiceMutation{"""Check a proposed subgraph schema change. 121 - If the proposal composes successfully, perform a usage check for the resulting schema.""" checkPartialSchema("""Deprecated and ignored.""" frontend:String gitContext:GitContextInput """Specifies which variant of a graph this mutation operates on.""" graphVariant:String!historicParameters:HistoricQueryParameters """Name of the implementing service to validate the partial schema against""" implementingServiceName:String!"""If this check is triggered for an sdl fetched using introspection, this is the endpoint where that schema was being served.""" introspectionEndpoint:String isSandboxCheck:Boolean!=false """The partial schema to validate against an implementing service""" partialSchema:PartialSchemaInput!"""Whether to use the maximum retention for historical validation. This only takes 122 - effect if historicParameters is null.""" useMaximumRetention:Boolean):CheckPartialSchemaResult!"""Checks a proposed schema against the schema that has been published to 123 - a particular variant, using metrics corresponding to `historicParameters`. 124 - Callers can set `historicParameters` directly or rely on defaults set in the 125 - graph's check configuration (7 days by default). 126 - If they do not set `historicParameters` but set `useMaximumRetention`, 127 - validation will use the maximum retention the graph has access to.""" checkSchema(baseSchemaTag:String="current" """Deprecated and ignored.""" frontend:String gitContext:GitContextInput historicParameters:HistoricQueryParameters """If this check is triggered for an sdl fetched using introspection, this is the endpoint where that schema was being served.""" introspectionEndpoint:String isSandboxCheck:Boolean!=false """Only one of proposedSchema, proposedSchemaDocument, and proposedSchemaHash 128 - may be specified""" proposedSchema:IntrospectionSchemaInput proposedSchemaDocument:String proposedSchemaHash:String useMaximumRetention:Boolean):CheckSchemaResult!"""Make changes to a check workflow.""" checkWorkflow(id:ID!):CheckWorkflowMutation createCompositionStatusSubscription("""ID of Slack channel for registry notification.""" channelID:ID!"""Variant to notify on.""" variant:String!):SchemaPublishSubscription!createSchemaPublishSubscription("""ID of Slack channel for registry notification.""" channelID:ID!"""Variant to notify on.""" variant:String!):SchemaPublishSubscription!"""Soft delete a graph. Data associated with the graph is not permanently deleted; Apollo support can undo.""" delete:Void """Delete the service's avatar. Requires Service.roles.canUpdateAvatar to be true.""" deleteAvatar:AvatarDeleteError """Delete an existing channel""" deleteChannel(id:ID!):Boolean!"""Delete an existing query trigger""" deleteQueryTrigger(id:ID!):Boolean!"""Deletes this service's current subscriptions specific to the ID, returns true if it existed""" deleteRegistrySubscription(id:ID!):Boolean!"""Deletes this service's current registry subscription(s) specific to its graph variant, 129 - returns a list of subscription IDs that were deleted.""" deleteRegistrySubscriptions(variant:String!):[ID!]!deleteScheduledSummary(id:ID!):Boolean!"""Delete a variant by name.""" deleteSchemaTag(tag:String!):DeleteSchemaTagResult!"""Given a UTC timestamp, delete all traces associated with this Service, on that corresponding day. If a timestamp to is provided, deletes all days inclusive.""" deleteTraces(from:Timestamp!to:Timestamp):Void disableDatadogForwardingLegacyMetricNames:Service """Hard delete a graph and all data associated with it. Its ID cannot be reused.""" hardDelete:Void id:ID!@deprecated(reason:"Use service.id")"""Ignore an operation in future checks; 130 - changes affecting it will be tracked, 131 - but won't affect the outcome of the check. 132 - Returns true if the operation is newly ignored, 133 - false if it already was.""" ignoreOperationsInChecks(ids:[ID!]!):IgnoreOperationsInChecksResult """Mark the changeset that affects an operation in a given check instance as safe. 134 - Note that only operations marked as behavior changes are allowed to be marked as safe.""" markChangesForOperationAsSafe("""ID of the schema check.""" checkID:ID!"""ID of the operation to accept changes for.""" operationID:ID!):MarkChangesForOperationAsSafeResult!newKey(keyName:String role:UserPermission!=GRAPH_ADMIN):GraphApiKey!"""Adds an override to the given users permission for this graph""" overrideUserPermission(permission:UserPermission userID:ID!):Service """Promote the schema with the given SHA-256 hash to active for the given variant/tag.""" promoteSchema(graphVariant:String!historicParameters:HistoricQueryParameters overrideComposedSchema:Boolean!=false sha256:SHA256!):PromoteSchemaResponseOrError!"""Publish to a subgraph. If composition is successful, this will update running routers.""" publishSubgraph(activePartialSchema:PartialSchemaInput!gitContext:GitContextInput graphVariant:String!name:String!revision:String!url:String):CompositionAndUpsertResult registerOperationsWithResponse(clientIdentity:RegisteredClientIdentityInput gitContext:GitContextInput """Specifies which variant of a graph these operations belong to. 135 - Formerly known as "tag" 136 - Defaults to "current" 137 - """ graphVariant:String!="current" manifestVersion:Int operations:[RegisteredOperationInput!]!):RegisterOperationsMutationResponse """Removes a subgraph. If composition is successful, this will update running routers.""" removeImplementingServiceAndTriggerComposition("""Do not remove the service, but recompose without it and report any errors.""" dryRun:Boolean!=false graphVariant:String!name:String!):CompositionAndRemoveResult!removeKey("""API key ID""" id:ID):Void renameKey(id:ID!newKeyName:String):GraphApiKey reportServerInfo("""Only sent if previously requested i.e. received ReportServerInfoResult with withExecutableSchema = true. An executable schema is a schema document that describes the full GraphQL schema that an external client could execute queries against. This must be a valid GraphQL schema document, as per the GraphQL specification: https://spec.graphql.org/""" executableSchema:String """Information about the edge server, see descriptions for individual fields.""" info:EdgeServerInfo!):ReportServerInfoResult@deprecated(reason:"use Mutation.reportSchema instead")service:Service!setDefaultBuildPipelineTrack(version:String!):String """Store a given schema document. This schema will be attached to the graph but 138 - not be associated with any variant. On success, returns the schema hash.""" storeSchemaDocument(schemaDocument:String!):StoreSchemaResponseOrError!"""Test Slack notification channel""" testSlackChannel(id:ID!notification:SlackNotificationInput!):Void testSubscriptionForChannel(channelID:ID!subscriptionID:ID!):String!transfer(to:String!):Service triggerRepublish(graphVariant:String!):Void undelete:Service """Revert the effects of ignoreOperation. 139 - Returns true if the operation is no longer ignored, 140 - false if it wasn't.""" unignoreOperationsInChecks(ids:[ID!]!):UnignoreOperationsInChecksResult """Unmark changes for an operation as safe.""" unmarkChangesForOperationAsSafe("""ID of the schema check.""" checkID:ID!"""ID of the operation to unmark changes for.""" operationID:ID!):MarkChangesForOperationAsSafeResult!"""Update schema check configuration for a graph.""" updateCheckConfiguration("""Clients to ignore during validation.""" excludedClients:[ClientFilterInput!]"""Operation names to ignore during validation.""" excludedOperationNames:[OperationNameFilterInput!]"""Operations to ignore during validation.""" excludedOperations:[ExcludedOperationInput!]"""Default configuration to include operations on the base variant.""" includeBaseVariant:Boolean """Variant overrides for validation.""" includedVariants:[String!]"""Minimum number of requests within the window for a query to be considered.""" operationCountThreshold:Int """Number of requests within the window for a query to be considered, relative to 141 - total request count. Expected values are between 0 and 0.05 (minimum 5% of 142 - total request volume)""" operationCountThresholdPercentage:Float """Only check operations from the last <timeRangeSeconds> seconds. The default is 7 days (604,800 seconds).""" timeRangeSeconds:Long):CheckConfiguration!updateDatadogMetricsConfig(apiKey:String apiRegion:DatadogApiRegion enabled:Boolean):DatadogMetricsConfig updateDescription(description:String!):Service """Update hiddenFromUninvitedNonAdminAccountMembers""" updateHiddenFromUninvitedNonAdminAccountMembers(hiddenFromUninvitedNonAdminAccountMembers:Boolean!):Service updateReadme(readme:String!):Service updateTitle(title:String!):Service """Publish a schema to this variant, either via a document or an introspection query result.""" uploadSchema(errorOnBadRequest:Boolean!=true gitContext:GitContextInput historicParameters:HistoricQueryParameters overrideComposedSchema:Boolean!=false schema:IntrospectionSchemaInput schemaDocument:String tag:String!):UploadSchemaMutationResponse upsertChannel(id:ID pagerDutyChannel:PagerDutyChannelInput slackChannel:SlackChannelInput webhookChannel:WebhookChannelInput):Channel """Creates a contract schema from a source variant and a set of filter configurations""" upsertContractVariant(contractVariantName:String!filterConfig:FilterConfigInput!initiateLaunch:Boolean!=true sourceVariant:String!):ContractVariantUpsertResult!"""Publish to a subgraph. If composition is successful, this will update running routers.""" upsertImplementingServiceAndTriggerComposition(activePartialSchema:PartialSchemaInput!gitContext:GitContextInput graphVariant:String!name:String!revision:String!url:String):CompositionAndUpsertResult """Create/update PagerDuty notification channel""" upsertPagerDutyChannel(channel:PagerDutyChannelInput!id:ID):PagerDutyChannel upsertQueryTrigger(id:ID trigger:QueryTriggerInput!):QueryTrigger """Create or update a subscription for a service.""" upsertRegistrySubscription("""ID of Slack channel for registry notification.""" channelID:ID """ID of registry subscription""" id:ID """Set of options/customization for notification.""" options:SubscriptionOptionsInput """Variant to notify on.""" variant:String):RegistrySubscription!upsertScheduledSummary(channelID:ID enabled:Boolean id:ID """Deprecated, use the 'variant' argument instead""" tag:String timezone:String variant:String):ScheduledSummary """Create/update Slack notification channel""" upsertSlackChannel(channel:SlackChannelInput!id:ID):SlackChannel upsertWebhookChannel(id:ID name:String secretToken:String url:String!):WebhookChannel validateOperations(gitContext:GitContextInput operations:[OperationDocumentInput!]!tag:String="current"):ValidateOperationsResult!"""This mutation will not result in any changes to the implementing service 143 - Run composition with the Implementing Service's partial schema replaced with the one provided 144 - in the mutation's input. Store the composed schema, return the hash of the composed schema, 145 - and any warnings and errors pertaining to composition. 146 - This mutation will not run validation against operations.""" validatePartialSchemaOfImplementingServiceAgainstGraph(graphVariant:String!implementingServiceName:String!partialSchema:PartialSchemaInput!):CompositionValidationResult!"""Make changes to a graph variant.""" variant(name:String!):GraphVariantMutation}"""Columns of ServiceOperationCheckStats.""" enum ServiceOperationCheckStatsColumn{CACHED_REQUESTS_COUNT CLIENT_NAME CLIENT_VERSION QUERY_ID QUERY_NAME SCHEMA_TAG TIMESTAMP UNCACHED_REQUESTS_COUNT}type ServiceOperationCheckStatsDimensions{clientName:String clientVersion:String queryId:ID queryName:String schemaTag:String}"""Filter for data in ServiceOperationCheckStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceOperationCheckStatsFilter{and:[ServiceOperationCheckStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String in:ServiceOperationCheckStatsFilterIn not:ServiceOperationCheckStatsFilter or:[ServiceOperationCheckStatsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceOperationCheckStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceOperationCheckStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceOperationCheckStatsMetrics{cachedRequestsCount:Long!uncachedRequestsCount:Long!}input ServiceOperationCheckStatsOrderBySpec{column:ServiceOperationCheckStatsColumn!direction:Ordering!}type ServiceOperationCheckStatsRecord{"""Dimensions of ServiceOperationCheckStats that can be grouped by.""" groupBy:ServiceOperationCheckStatsDimensions!"""Metrics of ServiceOperationCheckStats that can be aggregated over.""" metrics:ServiceOperationCheckStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceQueryStats.""" enum ServiceQueryStatsColumn{CACHED_HISTOGRAM CACHED_REQUESTS_COUNT CACHE_TTL_HISTOGRAM CLIENT_NAME CLIENT_VERSION FORBIDDEN_OPERATION_COUNT FROM_ENGINEPROXY QUERY_ID QUERY_NAME REGISTERED_OPERATION_COUNT REQUESTS_WITH_ERRORS_COUNT SCHEMA_HASH SCHEMA_TAG TIMESTAMP UNCACHED_HISTOGRAM UNCACHED_REQUESTS_COUNT}type ServiceQueryStatsDimensions{clientName:String clientVersion:String fromEngineproxy:String queryId:ID queryName:String querySignature:String schemaHash:String schemaTag:String}"""Filter for data in ServiceQueryStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceQueryStatsFilter{and:[ServiceQueryStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fromEngineproxy dimension equals the given value if not null. To query for the null value, use {in: {fromEngineproxy: [null]}} instead.""" fromEngineproxy:String in:ServiceQueryStatsFilterIn not:ServiceQueryStatsFilter or:[ServiceQueryStatsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceQueryStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceQueryStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fromEngineproxy dimension is in the given list. A null value in the list means a row with null for that dimension.""" fromEngineproxy:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceQueryStatsMetrics{cacheTtlHistogram:DurationHistogram!cachedHistogram:DurationHistogram!cachedRequestsCount:Long!forbiddenOperationCount:Long!registeredOperationCount:Long!requestsWithErrorsCount:Long!totalLatencyHistogram:DurationHistogram!totalRequestCount:Long!uncachedHistogram:DurationHistogram!uncachedRequestsCount:Long!}input ServiceQueryStatsOrderBySpec{column:ServiceQueryStatsColumn!direction:Ordering!}type ServiceQueryStatsRecord{"""Dimensions of ServiceQueryStats that can be grouped by.""" groupBy:ServiceQueryStatsDimensions!"""Metrics of ServiceQueryStats that can be aggregated over.""" metrics:ServiceQueryStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""A map from role (permission) String to boolean that the current user is allowed for a particular graph.""" type ServiceRoles{"""Whether the currently authenticated user is permitted to perform schema checks (i.e. run `rover (sub)graph check`).""" canCheckSchemas:Boolean!"""Whether the currently authenticated user is permitted to create new graph variants.""" canCreateVariants:Boolean!"""Whether the currently authenticated user is permitted to delete the graph in question""" canDelete:Boolean!"""Whether the currently authenticated user is permitted to manage user access to the graph in question.""" canManageAccess:Boolean!"""Whether the currently authenticated user is permitted to manage the build configuration (e.g. build pipeline version).""" canManageBuildConfig:Boolean!"""Whether the currently authenticated user is permitted to manage 3rd party integrations (e.g. Datadog forwarding).""" canManageIntegrations:Boolean!"""Whether the currently authenticated user is permitted to manage graph-level API keys.""" canManageKeys:Boolean!"""Whether the currently authenticated user is permitted to perform basic administration (e.g. set to public) over variants.""" canManageVariants:Boolean!"""Whether the currently authenticated user is permitted to view details about the build configuration (e.g. build pipeline version).""" canQueryBuildConfig:Boolean!"""Whether the currently authenticated user is permitted to view details of the check configuration for this graph.""" canQueryCheckConfiguration:Boolean!canQueryDeletedImplementingServices:Boolean!"""Whether the currently authenticated user is permitted to view which subgraphs the graph is composed of.""" canQueryImplementingServices:Boolean!canQueryIntegrations:Boolean!canQueryPrivateInfo:Boolean!canQueryPublicInfo:Boolean!canQueryReadmeAuthor:Boolean!canQueryRoleOverrides:Boolean!"""Whether the currently authenticated user is permitted to download schemas owned by this graph.""" canQuerySchemas:Boolean!canQueryStats:Boolean!canQueryTokens:Boolean!canQueryTraces:Boolean!"""Whether the currently authenticated user is permitted to register operations (i.e. `apollo client:push`) for this graph.""" canRegisterOperations:Boolean!canStoreSchemasWithoutVariant:Boolean!canUndelete:Boolean!canUpdateAvatar:Boolean!canUpdateDescription:Boolean!canUpdateTitle:Boolean!canVisualizeStats:Boolean!@deprecated(reason:"Replaced with canQueryTraces and canQueryStats")"""Whether the currently authenticated user is permitted to make updates to the check configuration for this graph.""" canWriteCheckConfiguration:Boolean!canWriteTraces:Boolean!@deprecated(reason:"Never worked, not replaced")}"""A time window with a specified granularity over a given service.""" type ServiceStatsWindow{billingUsageStats("""Filter to select what rows to return.""" filter:ServiceBillingUsageStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceBillingUsageStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceBillingUsageStatsOrderBySpec!]):[ServiceBillingUsageStatsRecord!]!edgeServerInfos("""Filter to select what rows to return.""" filter:ServiceEdgeServerInfosFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceEdgeServerInfos by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceEdgeServerInfosOrderBySpec!]):[ServiceEdgeServerInfosRecord!]!errorStats("""Filter to select what rows to return.""" filter:ServiceErrorStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceErrorStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceErrorStatsOrderBySpec!]):[ServiceErrorStatsRecord!]!fieldExecutions("""Filter to select what rows to return.""" filter:ServiceFieldExecutionsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceFieldExecutions by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceFieldExecutionsOrderBySpec!]):[ServiceFieldExecutionsRecord!]!fieldLatencies("""Filter to select what rows to return.""" filter:ServiceFieldLatenciesFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceFieldLatencies by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceFieldLatenciesOrderBySpec!]):[ServiceFieldLatenciesRecord!]!fieldRequestsByClientVersion("""Filter to select what rows to return.""" filter:ServiceFieldRequestsByClientVersionFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceFieldRequestsByClientVersion by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceFieldRequestsByClientVersionOrderBySpec!]):[ServiceFieldRequestsByClientVersionRecord!]!fieldStats("""Filter to select what rows to return.""" filter:ServiceFieldLatenciesFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceFieldLatencies by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceFieldLatenciesOrderBySpec!]):[ServiceFieldLatenciesRecord!]!fieldUsage("""Filter to select what rows to return.""" filter:ServiceFieldUsageFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceFieldUsage by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceFieldUsageOrderBySpec!]):[ServiceFieldUsageRecord!]!operationCheckStats("""Filter to select what rows to return.""" filter:ServiceOperationCheckStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceOperationCheckStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceOperationCheckStatsOrderBySpec!]):[ServiceOperationCheckStatsRecord!]!queryStats("""Filter to select what rows to return.""" filter:ServiceQueryStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceQueryStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceQueryStatsOrderBySpec!]):[ServiceQueryStatsRecord!]!"""From field rounded down to the nearest resolution.""" roundedDownFrom:Timestamp!"""To field rounded up to the nearest resolution.""" roundedUpTo:Timestamp!tracePathErrorsRefs("""Filter to select what rows to return.""" filter:ServiceTracePathErrorsRefsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceTracePathErrorsRefs by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceTracePathErrorsRefsOrderBySpec!]):[ServiceTracePathErrorsRefsRecord!]!traceRefs("""Filter to select what rows to return.""" filter:ServiceTraceRefsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceTraceRefs by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceTraceRefsOrderBySpec!]):[ServiceTraceRefsRecord!]!}"""Columns of ServiceTracePathErrorsRefs.""" enum ServiceTracePathErrorsRefsColumn{CLIENT_NAME CLIENT_VERSION DURATION_BUCKET ERRORS_COUNT_IN_PATH ERRORS_COUNT_IN_TRACE ERROR_MESSAGE PATH QUERY_ID QUERY_NAME SCHEMA_HASH SCHEMA_TAG TIMESTAMP TRACE_HTTP_STATUS_CODE TRACE_ID TRACE_SIZE_BYTES TRACE_STARTS_AT}type ServiceTracePathErrorsRefsDimensions{clientName:String clientVersion:String durationBucket:Int errorMessage:String path:String queryId:ID queryName:String schemaHash:String schemaTag:String traceHttpStatusCode:Int traceId:ID traceStartsAt:Timestamp}"""Filter for data in ServiceTracePathErrorsRefs. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceTracePathErrorsRefsFilter{and:[ServiceTracePathErrorsRefsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose durationBucket dimension equals the given value if not null. To query for the null value, use {in: {durationBucket: [null]}} instead.""" durationBucket:Int """Selects rows whose errorMessage dimension equals the given value if not null. To query for the null value, use {in: {errorMessage: [null]}} instead.""" errorMessage:String in:ServiceTracePathErrorsRefsFilterIn not:ServiceTracePathErrorsRefsFilter or:[ServiceTracePathErrorsRefsFilter!]"""Selects rows whose path dimension equals the given value if not null. To query for the null value, use {in: {path: [null]}} instead.""" path:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose traceHttpStatusCode dimension equals the given value if not null. To query for the null value, use {in: {traceHttpStatusCode: [null]}} instead.""" traceHttpStatusCode:Int """Selects rows whose traceId dimension equals the given value if not null. To query for the null value, use {in: {traceId: [null]}} instead.""" traceId:ID}"""Filter for data in ServiceTracePathErrorsRefs. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceTracePathErrorsRefsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose durationBucket dimension is in the given list. A null value in the list means a row with null for that dimension.""" durationBucket:[Int]"""Selects rows whose errorMessage dimension is in the given list. A null value in the list means a row with null for that dimension.""" errorMessage:[String]"""Selects rows whose path dimension is in the given list. A null value in the list means a row with null for that dimension.""" path:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose traceHttpStatusCode dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceHttpStatusCode:[Int]"""Selects rows whose traceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceId:[ID]}type ServiceTracePathErrorsRefsMetrics{errorsCountInPath:Long!errorsCountInTrace:Long!traceSizeBytes:Long!}input ServiceTracePathErrorsRefsOrderBySpec{column:ServiceTracePathErrorsRefsColumn!direction:Ordering!}type ServiceTracePathErrorsRefsRecord{"""Dimensions of ServiceTracePathErrorsRefs that can be grouped by.""" groupBy:ServiceTracePathErrorsRefsDimensions!"""Metrics of ServiceTracePathErrorsRefs that can be aggregated over.""" metrics:ServiceTracePathErrorsRefsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceTraceRefs.""" enum ServiceTraceRefsColumn{CLIENT_NAME CLIENT_VERSION DURATION_BUCKET DURATION_NS QUERY_ID QUERY_NAME SCHEMA_HASH SCHEMA_TAG TIMESTAMP TRACE_ID TRACE_SIZE_BYTES}type ServiceTraceRefsDimensions{clientName:String clientVersion:String durationBucket:Int queryId:ID queryName:String querySignature:String schemaHash:String schemaTag:String traceId:ID}"""Filter for data in ServiceTraceRefs. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceTraceRefsFilter{and:[ServiceTraceRefsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose durationBucket dimension equals the given value if not null. To query for the null value, use {in: {durationBucket: [null]}} instead.""" durationBucket:Int in:ServiceTraceRefsFilterIn not:ServiceTraceRefsFilter or:[ServiceTraceRefsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose traceId dimension equals the given value if not null. To query for the null value, use {in: {traceId: [null]}} instead.""" traceId:ID}"""Filter for data in ServiceTraceRefs. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceTraceRefsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose durationBucket dimension is in the given list. A null value in the list means a row with null for that dimension.""" durationBucket:[Int]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose traceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceId:[ID]}type ServiceTraceRefsMetrics{durationNs:Long!traceSizeBytes:Long!}input ServiceTraceRefsOrderBySpec{column:ServiceTraceRefsColumn!direction:Ordering!}type ServiceTraceRefsRecord{"""Dimensions of ServiceTraceRefs that can be grouped by.""" groupBy:ServiceTraceRefsDimensions!"""Metrics of ServiceTraceRefs that can be aggregated over.""" metrics:ServiceTraceRefsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Slack notification channel""" type SlackChannel implements Channel{id:ID!name:String!subscriptions:[ChannelSubscription!]!url:String!}"""Slack notification channel parameters""" input SlackChannelInput{name:String url:String!}input SlackNotificationField{key:String!value:String!}"""Slack notification message""" input SlackNotificationInput{color:String fallback:String!fields:[SlackNotificationField!]iconUrl:String text:String timestamp:Timestamp title:String titleLink:String username:String}type SourceLocation{column:Int!line:Int!}"""A time window with a specified granularity.""" type StatsWindow{billingUsageStats("""Filter to select what rows to return.""" filter:BillingUsageStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order BillingUsageStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[BillingUsageStatsOrderBySpec!]):[BillingUsageStatsRecord!]!edgeServerInfos("""Filter to select what rows to return.""" filter:EdgeServerInfosFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order EdgeServerInfos by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[EdgeServerInfosOrderBySpec!]):[EdgeServerInfosRecord!]!errorStats("""Filter to select what rows to return.""" filter:ErrorStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ErrorStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ErrorStatsOrderBySpec!]):[ErrorStatsRecord!]!fieldExecutions("""Filter to select what rows to return.""" filter:FieldExecutionsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order FieldExecutions by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[FieldExecutionsOrderBySpec!]):[FieldExecutionsRecord!]!fieldLatencies("""Filter to select what rows to return.""" filter:FieldLatenciesFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order FieldLatencies by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[FieldLatenciesOrderBySpec!]):[FieldLatenciesRecord!]!fieldRequestsByClientVersion("""Filter to select what rows to return.""" filter:FieldRequestsByClientVersionFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order FieldRequestsByClientVersion by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[FieldRequestsByClientVersionOrderBySpec!]):[FieldRequestsByClientVersionRecord!]!fieldUsage("""Filter to select what rows to return.""" filter:FieldUsageFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order FieldUsage by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[FieldUsageOrderBySpec!]):[FieldUsageRecord!]!operationCheckStats("""Filter to select what rows to return.""" filter:OperationCheckStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order OperationCheckStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[OperationCheckStatsOrderBySpec!]):[OperationCheckStatsRecord!]!queryStats("""Filter to select what rows to return.""" filter:QueryStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order QueryStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[QueryStatsOrderBySpec!]):[QueryStatsRecord!]!"""From field rounded down to the nearest resolution.""" roundedDownFrom:Timestamp!"""To field rounded up to the nearest resolution.""" roundedUpTo:Timestamp!tracePathErrorsRefs("""Filter to select what rows to return.""" filter:TracePathErrorsRefsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order TracePathErrorsRefs by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[TracePathErrorsRefsOrderBySpec!]):[TracePathErrorsRefsRecord!]!traceRefs("""Filter to select what rows to return.""" filter:TraceRefsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order TraceRefs by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[TraceRefsOrderBySpec!]):[TraceRefsRecord!]!}type StoreSchemaError{code:StoreSchemaErrorCode!message:String!}enum StoreSchemaErrorCode{SCHEMA_IS_NOT_PARSABLE SCHEMA_IS_NOT_VALID}type StoreSchemaResponse{sha256:SHA256!}union StoreSchemaResponseOrError=StoreSchemaError|StoreSchemaResponse type StoredApprovedChange{argNode:NamedIntrospectionArgNoDescription childNode:NamedIntrospectionValueNoDescription code:ChangeCode!parentNode:NamedIntrospectionTypeNoDescription}scalar StringOrInt type StringToString{key:String!value:String!}input StringToStringInput{key:String!value:String!}type Subgraph{hash:String!name:String!routingURL:String!}type SubgraphChange{name:ID!type:SubgraphChangeType!}enum SubgraphChangeType{ADDITION DELETION MODIFICATION}type SubgraphConfig{id:ID!name:String!schemaHash:String!sdl:String!url:String!}type SubscriptionOptions{"""Enables notifications for schema updates""" schemaUpdates:Boolean!}input SubscriptionOptionsInput{"""Enables notifications for schema updates""" schemaUpdates:Boolean!}enum SubscriptionState{ACTIVE CANCELED EXPIRED FUTURE PAST_DUE PAUSED PENDING UNKNOWN}enum SubscriptionStateV2{ACTIVE CANCELED EXPIRED FUTURE PAST_DUE PAUSED PENDING UNKNOWN}type TemporaryURL{url:String!}enum ThemeName{DARK LIGHT}enum TicketPriority{P0 P1 P2 P3}enum TicketStatus{CLOSED HOLD NEW OPEN PENDING SOLVED}"""ISO 8601, extended format with nanoseconds, Zulu (or '[+-]seconds' for times relative to now)""" scalar Timestamp type TimezoneOffset{minutesOffsetFromUTC:Int!zoneID:String!}"""Counts of changes.""" type TotalChangeSummaryCounts{"""Number of changes that are additions. This includes adding types, adding fields to object, input 147 - object, and interface types, adding values to enums, adding members to interfaces and unions, and 148 - adding arguments.""" additions:Int!"""Number of changes that are new usages of the @deprecated directive.""" deprecations:Int!"""Number of changes that are edits. This includes types changing kind, fields and arguments 149 - changing type, arguments changing default value, and any description changes. This also includes 150 - edits to @deprecated reason strings.""" edits:Int!"""Number of changes that are removals. This includes removing types, removing fields from object, 151 - input object, and interface types, removing values from enums, removing members from interfaces 152 - and unions, and removing arguments. This also includes removing @deprecated usages.""" removals:Int!}type Trace{cacheMaxAgeMs:Float cacheScope:CacheScope clientName:String clientVersion:String durationMs:Float!endTime:Timestamp!http:TraceHTTP id:ID!operationName:String protobuf:Protobuf!root:TraceNode!signature:String!startTime:Timestamp!unexecutedOperationBody:String unexecutedOperationName:String variablesJSON:[StringToString!]!}type TraceError{json:String!locations:[TraceSourceLocation!]!message:String!timestamp:Timestamp}type TraceHTTP{host:String method:HTTPMethod!path:String protocol:String requestHeaders:[StringToString!]!responseHeaders:[StringToString!]!secure:Boolean!statusCode:Int!}type TraceNode{cacheMaxAgeMs:Float cacheScope:CacheScope children:[TraceNode!]!childrenIds:[ID!]!descendants:[TraceNode!]!descendantsIds:[ID!]!endTime:Timestamp!errors:[TraceError!]!id:ID!key:StringOrInt originalFieldName:String parent:ID!parentId:ID path:[String!]!startTime:Timestamp!type:String}"""Columns of TracePathErrorsRefs.""" enum TracePathErrorsRefsColumn{CLIENT_NAME CLIENT_VERSION DURATION_BUCKET ERRORS_COUNT_IN_PATH ERRORS_COUNT_IN_TRACE ERROR_MESSAGE PATH QUERY_ID QUERY_NAME SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP TRACE_HTTP_STATUS_CODE TRACE_ID TRACE_SIZE_BYTES TRACE_STARTS_AT}type TracePathErrorsRefsDimensions{clientName:String clientVersion:String durationBucket:Int errorMessage:String """If metrics were collected from a federated service, this field will be prefixed with `service:<SERVICE_NAME>.`""" path:String queryId:ID queryName:String schemaHash:String schemaTag:String serviceId:ID traceHttpStatusCode:Int traceId:ID traceStartsAt:Timestamp}"""Filter for data in TracePathErrorsRefs. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input TracePathErrorsRefsFilter{and:[TracePathErrorsRefsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose durationBucket dimension equals the given value if not null. To query for the null value, use {in: {durationBucket: [null]}} instead.""" durationBucket:Int """Selects rows whose errorMessage dimension equals the given value if not null. To query for the null value, use {in: {errorMessage: [null]}} instead.""" errorMessage:String in:TracePathErrorsRefsFilterIn not:TracePathErrorsRefsFilter or:[TracePathErrorsRefsFilter!]"""Selects rows whose path dimension equals the given value if not null. To query for the null value, use {in: {path: [null]}} instead.""" path:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID """Selects rows whose traceHttpStatusCode dimension equals the given value if not null. To query for the null value, use {in: {traceHttpStatusCode: [null]}} instead.""" traceHttpStatusCode:Int """Selects rows whose traceId dimension equals the given value if not null. To query for the null value, use {in: {traceId: [null]}} instead.""" traceId:ID}"""Filter for data in TracePathErrorsRefs. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input TracePathErrorsRefsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose durationBucket dimension is in the given list. A null value in the list means a row with null for that dimension.""" durationBucket:[Int]"""Selects rows whose errorMessage dimension is in the given list. A null value in the list means a row with null for that dimension.""" errorMessage:[String]"""Selects rows whose path dimension is in the given list. A null value in the list means a row with null for that dimension.""" path:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]"""Selects rows whose traceHttpStatusCode dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceHttpStatusCode:[Int]"""Selects rows whose traceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceId:[ID]}type TracePathErrorsRefsMetrics{errorsCountInPath:Long!errorsCountInTrace:Long!traceSizeBytes:Long!}input TracePathErrorsRefsOrderBySpec{column:TracePathErrorsRefsColumn!direction:Ordering!}type TracePathErrorsRefsRecord{"""Dimensions of TracePathErrorsRefs that can be grouped by.""" groupBy:TracePathErrorsRefsDimensions!"""Metrics of TracePathErrorsRefs that can be aggregated over.""" metrics:TracePathErrorsRefsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of TraceRefs.""" enum TraceRefsColumn{CLIENT_NAME CLIENT_VERSION DURATION_BUCKET DURATION_NS QUERY_ID QUERY_NAME SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP TRACE_ID TRACE_SIZE_BYTES}type TraceRefsDimensions{clientName:String clientVersion:String durationBucket:Int queryId:ID queryName:String querySignature:String schemaHash:String schemaTag:String serviceId:ID traceId:ID}"""Filter for data in TraceRefs. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input TraceRefsFilter{and:[TraceRefsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose durationBucket dimension equals the given value if not null. To query for the null value, use {in: {durationBucket: [null]}} instead.""" durationBucket:Int in:TraceRefsFilterIn not:TraceRefsFilter or:[TraceRefsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID """Selects rows whose traceId dimension equals the given value if not null. To query for the null value, use {in: {traceId: [null]}} instead.""" traceId:ID}"""Filter for data in TraceRefs. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input TraceRefsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose durationBucket dimension is in the given list. A null value in the list means a row with null for that dimension.""" durationBucket:[Int]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]"""Selects rows whose traceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceId:[ID]}type TraceRefsMetrics{durationNs:Long!traceSizeBytes:Long!}input TraceRefsOrderBySpec{column:TraceRefsColumn!direction:Ordering!}type TraceRefsRecord{"""Dimensions of TraceRefs that can be grouped by.""" groupBy:TraceRefsDimensions!"""Metrics of TraceRefs that can be aggregated over.""" metrics:TraceRefsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type TraceSourceLocation{column:Int!line:Int!}"""Counts of changes at the type level, including interfaces, unions, enums, scalars, input objects, etc.""" type TypeChangeSummaryCounts{"""Number of changes that are additions of types.""" additions:Int!"""Number of changes that are edits. This includes types changing kind and any type description 153 - changes, but also includes adding/removing values from enums, adding/removing members from 154 - interfaces and unions, and any enum value deprecation and description changes.""" edits:Int!"""Number of changes that are removals of types.""" removals:Int!}"""the TypeFilterConfig is used to isolate 155 - types, and subsequent fields, through 156 - various configuration settings. 1629 + Each variant has its own GraphQL schema, which means schemas can differ between environments. 1630 + """ 1631 + type Graph implements Identity { 1632 + """The organization that this graph belongs to.""" 1633 + account: Organization 1634 + """A list of the graph API keys that are active for this graph.""" 1635 + apiKeys: [GraphApiKey!] 1636 + """Provides a view of the graph as an `Actor` type.""" 1637 + asActor: Actor! 1638 + """Get a check workflow for this graph by its ID""" 1639 + checkWorkflow(id: ID!): CheckWorkflow 1640 + """The graph's globally unique identifier.""" 1641 + id: ID! 1642 + """Permissions of the current user in this graph.""" 1643 + myRole: UserPermission 1644 + name: String! 1645 + """Describes the permissions that the active user has for this graph.""" 1646 + roles: GraphRoles 1647 + """The graph's name.""" 1648 + title: String! 1649 + """ 1650 + Provides details of the graph variant with the provided `name`, if a variant 1651 + with that name exists for this graph. Otherwise, returns null. 1652 + 1653 + For a list of _all_ variants associated with a graph, use `Graph.variants` instead. 1654 + """ 1655 + variant(name: String!): GraphVariant 1656 + """A list of the variants for this graph.""" 1657 + variants: [GraphVariant!]! 1658 + """Get a GraphQL document by hash""" 1659 + document(hash: SHA256): GraphQLDocument 1660 + """Get check workflows for this graph ordered by creation time, most recent first.""" 1661 + checkWorkflows(limit: Int! = 100, filter: CheckFilterInput): [CheckWorkflow!]! 1662 + } 157 1663 158 - It defaults to filter towards user defined 159 - types only""" input TypeFilterConfig{"""include abstract types (interfaces and unions)""" includeAbstractTypes:Boolean=true """include built in scalars (i.e. Boolean, Int, etc)""" includeBuiltInTypes:Boolean=false """include reserved introspection types (i.e. __Type)""" includeIntrospectionTypes:Boolean=false}type URI{"""A GCS URI""" gcs:String!}type UnignoreOperationsInChecksResult{graph:Service!}union UpdateOperationCollectionEntryResult=OperationCollectionEntry|PermissionError|ValidationError union UpdateOperationCollectionResult=OperationCollection|PermissionError|ValidationError """The result of a schema publish to a graph variant.""" type UploadSchemaMutationResponse{"""A response code for processing via machines (e.g. UPLOAD_SUCCESS or NO_CHANGES)""" code:String!"""Human readable result of a schema publish.""" message:String!"""If successful, the corresponding publication.""" publication:SchemaTag """Whether the schema publish successfully completed or encountered errors.""" success:Boolean!"""If successful, the corresponding publication.""" tag:SchemaTag}"""A registered user.""" type User implements Identity{acceptedPrivacyPolicyAt:Timestamp accounts:[Account!]!@deprecated(reason:"Replaced with User.memberships.account")apiKeys(includeCookies:Boolean=false):[UserApiKey!]!"""Translation of this user identity to an 'Actor' type.""" asActor:Actor!"""Get an URL to which an avatar image can be uploaded. Client uploads by sending a PUT request 160 - with the image data to MediaUploadInfo.url. Client SHOULD set the "Content-Type" header to the 161 - browser-inferred MIME type, and SHOULD set the "x-apollo-content-filename" header to the 162 - filename, if such information is available. Client MUST set the "x-apollo-csrf-token" header to 163 - MediaUploadInfo.csrfToken.""" avatarUpload:AvatarUploadResult """Get an image URL for the user's avatar. Note that CORS is not enabled for these URLs. The size 164 - argument is used for bandwidth reduction, and should be the size of the image as displayed in the 165 - application. Apollo's media server will downscale larger images to at least the requested size, 166 - but this will not happen for third-party media servers.""" avatarUrl(size:Int!=40):String betaFeaturesOn:Boolean!canUpdateAvatar:Boolean!canUpdateEmail:Boolean!canUpdateFullName:Boolean!createdAt:Timestamp!email:String emailModifiedAt:Timestamp emailVerified:Boolean!experimentalFeatures:UserExperimentalFeatures!featureIntros:FeatureIntros fullName:String!"""The user's GitHub username, if they log in via GitHub. May be null even for GitHub users in some edge cases.""" githubUsername:String """The unique identifier for a user.""" id:ID!"""This role is reserved exclusively for internal MDG employees, and it controls what access they may have to other 167 - organizations. Only admins are allowed to see this field.""" internalAdminRole:InternalMdgAdminRole """Last time any API token from this user was used against AGM services""" lastAuthenticatedAt:Timestamp logoutAfterIdleMs:Int """Which organizations a user belongs to.""" memberships:[UserMembership!]!"""The name (first and last) of a user.""" name:String!odysseyAttempt(id:ID!):OdysseyAttempt odysseyAttempts:[OdysseyAttempt!]!odysseyCertifications:[OdysseyCertification!]odysseyCourses:[OdysseyCourse!]odysseyHasEarlyAccess:Boolean!odysseyHasRequestedEarlyAccess:Boolean!odysseyTasks:[OdysseyTask!]sandboxOperationCollections:[OperationCollection!]!synchronized:Boolean!"""List of Zendesk tickets this user has submitted""" tickets:[ZendeskTicket!]type:UserType!}type UserApiKey implements ApiKey{id:ID!keyName:String token:String!}type UserExperimentalFeatures{exampleFeature:Boolean!}"""An organization a given user belongs to.""" type UserMembership{"""The organization a user is a member of.""" account:Account!"""When the user joined the organization.""" createdAt:Timestamp!"""What level of access a use has to an organization.""" permission:UserPermission!"""The user that is a member of an organization.""" user:User!}type UserMutation{acceptPrivacyPolicy:Void """Change the user's password""" changePassword(newPassword:String!previousPassword:String!):Void createOdysseyAttempt(testId:String!):OdysseyAttempt createOdysseyCertification(certificationId:String!):OdysseyCertification createOdysseyCourses(courses:[OdysseyCourseInput!]!):[OdysseyCourse!]createOdysseyTasks(tasks:[OdysseyTaskInput!]!):[OdysseyTask!]"""Delete the user's avatar. Requires User.canUpdateAvatar to be true.""" deleteAvatar:AvatarDeleteError """Hard deletes the associated user. Throws an error otherwise with reason included.""" hardDelete:Void """Create a new API key for this user. Must take in a name for this key.""" newKey(keyName:String!):UserApiKey!"""Create a new API key for this user if there are no current API keys. 168 - If an API key already exists, this will return one at random and not create a new one.""" provisionKey(keyName:String!="add-a-name"):ApiKeyProvision """Refresh information about the user from its upstream service (eg list of organizations from GitHub)""" refresh:User """Removes the given key from this user. Can be used to remove either a web cookie or a user API key.""" removeKey(id:ID!):Void """Renames the given key to the new key name.""" renameKey(id:ID!newKeyName:String):UserApiKey resendVerificationEmail:Void setOdysseyCourse(course:OdysseyCourseInput!):OdysseyCourse setOdysseyResponse(response:OdysseyResponseInput!):OdysseyResponse setOdysseyTask(task:OdysseyTaskInput!):OdysseyTask """Submit a zendesk ticket for this user""" submitZendeskTicket(collaborators:[String!]email:String!ticket:ZendeskTicketInput!):ZendeskTicket """Update information about a user; all arguments are optional""" update(email:String fullName:String referrer:String trackingGoogleClientId:String trackingMarketoClientId:String userSegment:UserSegment utmCampaign:String utmMedium:String utmSource:String):User """Updates this users' preference concerning opting into beta features.""" updateBetaFeaturesOn(betaFeaturesOn:Boolean!):User """Update the status of a feature for this. For example, if you want to hide an introductory popup.""" updateFeatureIntros(newFeatureIntros:FeatureIntrosInput):User updateOdysseyAttempt(completedAt:Timestamp id:ID!):OdysseyAttempt """Update user to have the given internal mdg admin role. 169 - It is necessary to be an MDG_INTERNAL_SUPER_ADMIN to perform update. 170 - Additionally, upserting a null value explicitly revokes this user's 171 - admin status.""" updateRole(newRole:InternalMdgAdminRole):User user:User!verifyEmail(token:String!):User}enum UserPermission{BILLING_MANAGER CONSUMER CONTRIBUTOR DOCUMENTER GRAPH_ADMIN LEGACY_GRAPH_KEY OBSERVER ORG_ADMIN}enum UserSegment{JOIN_MY_TEAM LOCAL_DEVELOPMENT NOT_SPECIFIED PRODUCTION_GRAPHS SANDBOX SANDBOX_OPERATION_COLLECTIONS TRY_TEAM}type UserSettings{appNavCollapsed:Boolean!autoManageVariables:Boolean!id:String!mockingResponses:Boolean!preflightScriptEnabled:Boolean!responseHints:ResponseHints!tableMode:Boolean!themeName:ThemeName!}"""Explorer user settings input""" input UserSettingsInput{appNavCollapsed:Boolean autoManageVariables:Boolean mockingResponses:Boolean preflightScriptEnabled:Boolean responseHints:ResponseHints tableMode:Boolean themeName:ThemeName}enum UserType{APOLLO GITHUB SSO}type ValidateOperationsResult{validationResults:[ValidationResult!]!}type ValidationError implements Error{message:String!}enum ValidationErrorCode{DEPRECATED_FIELD INVALID_OPERATION NON_PARSEABLE_DOCUMENT}enum ValidationErrorType{FAILURE INVALID WARNING}"""Represents a single validation error, with information relating to the error 172 - and its respective operation""" type ValidationResult{"""The validation result's error code""" code:ValidationErrorCode!"""Description of the validation error""" description:String!"""The operation related to this validation result""" operation:OperationDocument!"""The type of validation error thrown - warning, failure, or invalid.""" type:ValidationErrorType!}"""Always null""" scalar Void """Webhook notification channel""" type WebhookChannel implements Channel{id:ID!name:String!secretToken:String subscriptions:[ChannelSubscription!]!url:String!}"""PagerDuty notification channel parameters""" input WebhookChannelInput{name:String secretToken:String url:String!}type ZendeskTicket{createdAt:Timestamp!description:String!graph:Service id:Int!organization:Account priority:TicketPriority!status:TicketStatus subject:String!user:User}"""Zendesk ticket input""" input ZendeskTicketInput{description:String!graphId:String organizationId:String priority:TicketPriority!subject:String!} 1664 + """Provides access to mutation fields for managing Studio graphs and subgraphs.""" 1665 + type GraphMutation { 1666 + """Generates a new graph API key for this graph with the specified permission level.""" 1667 + newKey(keyName: String, role: UserPermission! = GRAPH_ADMIN): GraphApiKey! 1668 + """Deletes the existing graph API key with the provided ID, if any.""" 1669 + removeKey( 1670 + """API key ID""" 1671 + id: ID! 1672 + ): Void 1673 + """Sets a new name for the graph API key with the provided ID, if any. This does not invalidate the key or change its value.""" 1674 + renameKey(id: ID!, newKeyName: String): GraphApiKey 1675 + """Creates a contract schema from a source variant and a set of filter configurations""" 1676 + upsertContractVariant( 1677 + """The name of the contract variant, e.g. `public-api`. Once set, this value cannot be changed.""" 1678 + contractVariantName: String! 1679 + """The filter configuration used to build a contract schema. The configuration consists of lists of tags for schema elements to include or exclude in the resulting schema.""" 1680 + filterConfig: FilterConfigInput! 1681 + """Whether a launch and schema publish should be initiated after updating configuration. Defaults to `true`.""" 1682 + initiateLaunch: Boolean! = true 1683 + """The graphRef of the variant the contract will be derived from, e.g. `my-graph@production`. Once set, this value cannot be changed.""" 1684 + sourceVariant: String 1685 + ): ContractVariantUpsertResult! 1686 + """Make changes to a graph variant.""" 1687 + variant(name: String!): GraphVariantMutation 1688 + """Publish a schema to this variant, either via a document or an introspection query result.""" 1689 + uploadSchema(schema: IntrospectionSchemaInput, schemaDocument: String, tag: String!, historicParameters: HistoricQueryParameters, overrideComposedSchema: Boolean! = false, errorOnBadRequest: Boolean! = true, gitContext: GitContextInput): SchemaPublicationResult 1690 + """ 1691 + Checks a proposed schema against the schema that has been published to 1692 + a particular variant, using metrics corresponding to `historicParameters`. 1693 + Callers can set `historicParameters` directly or rely on defaults set in the 1694 + graph's check configuration (7 days by default). 1695 + If they do not set `historicParameters` but set `useMaximumRetention`, 1696 + validation will use the maximum retention the graph has access to. 1697 + """ 1698 + checkSchema( 1699 + """ 1700 + Only one of proposedSchema, proposedSchemaDocument, and proposedSchemaHash 1701 + may be specified 1702 + """ 1703 + proposedSchema: IntrospectionSchemaInput 1704 + proposedSchemaDocument: String 1705 + proposedSchemaHash: String 1706 + baseSchemaTag: String = "current" 1707 + gitContext: GitContextInput 1708 + historicParameters: HistoricQueryParameters 1709 + useMaximumRetention: Boolean 1710 + isSandboxCheck: Boolean! = false 1711 + """If this check is triggered for an sdl fetched using introspection, this is the endpoint where that schema was being served.""" 1712 + introspectionEndpoint: String 1713 + """Deprecated and ignored.""" 1714 + frontend: String 1715 + ): CheckSchemaResult! 1716 + """Publish to a subgraph. If composition is successful, this will update running routers.""" 1717 + publishSubgraph(graphVariant: String!, name: String!, url: String, revision: String!, activePartialSchema: PartialSchemaInput!, gitContext: GitContextInput): SubgraphPublicationResult 1718 + """Removes a subgraph. If composition is successful, this will update running routers.""" 1719 + removeImplementingServiceAndTriggerComposition( 1720 + graphVariant: String! 1721 + name: String! 1722 + """Do not remove the service, but recompose without it and report any errors.""" 1723 + dryRun: Boolean! = false 1724 + ): SubgraphRemovalResult! 1725 + """ 1726 + Checks a proposed subgraph schema change against a published subgraph. 1727 + If the proposal composes successfully, perform a usage check for the resulting supergraph schema. 1728 + """ 1729 + checkPartialSchema( 1730 + """The name of the graph variant to run the check against.""" 1731 + graphVariant: String! 1732 + """Name of the implementing service to validate the partial schema against""" 1733 + implementingServiceName: String! 1734 + """The partial schema to validate against an implementing service""" 1735 + partialSchema: PartialSchemaInput! 1736 + gitContext: GitContextInput 1737 + historicParameters: HistoricQueryParameters 1738 + """Deprecated and ignored.""" 1739 + frontend: String 1740 + """ 1741 + Whether to use the maximum retention for historical validation. This only takes 1742 + effect if historicParameters is null. 1743 + """ 1744 + useMaximumRetention: Boolean 1745 + isSandboxCheck: Boolean! = false 1746 + """If this check is triggered for an sdl fetched using introspection, this is the endpoint where that schema was being served.""" 1747 + introspectionEndpoint: String 1748 + ): CheckPartialSchemaResult! 1749 + } 1750 + 1751 + """Individual permissions for the current user when interacting with a particular Studio graph.""" 1752 + type GraphRoles { 1753 + """Whether the currently authenticated user is permitted to perform schema checks (i.e., run `rover (sub)graph check`).""" 1754 + canCheckSchemas: Boolean! 1755 + """Whether the currently authenticated user is permitted to create new graph variants.""" 1756 + canCreateVariants: Boolean! 1757 + """Whether the currently authenticated user is permitted to delete the graph in question""" 1758 + canDelete: Boolean! 1759 + """Whether the currently authenticated user is permitted to manage user access to the graph in question.""" 1760 + canManageAccess: Boolean! 1761 + """Whether the currently authenticated user is permitted to manage the build configuration (e.g., build pipeline version).""" 1762 + canManageBuildConfig: Boolean! 1763 + """Whether the currently authenticated user is permitted to manage third-party integrations (e.g., Datadog forwarding).""" 1764 + canManageIntegrations: Boolean! 1765 + """Whether the currently authenticated user is permitted to manage graph-level API keys.""" 1766 + canManageKeys: Boolean! 1767 + """Whether the currently authenticated user is permitted to perform basic administration of variants (e.g., make a variant public).""" 1768 + canManageVariants: Boolean! 1769 + """Whether the currently authenticated user is permitted to view details about the build configuration (e.g. build pipeline version).""" 1770 + canQueryBuildConfig: Boolean! 1771 + """Whether the currently authenticated user is permitted to view details of the check configuration for this graph.""" 1772 + canQueryCheckConfiguration: Boolean! 1773 + """Whether the currently authenticated user is permitted to view which subgraphs the graph is composed of.""" 1774 + canQueryImplementingServices: Boolean! 1775 + """Whether the currently authenticated user is permitted to download schemas owned by this graph.""" 1776 + canQuerySchemas: Boolean! 1777 + """Whether the currently authenticated user is permitted to register operations (i.e. `apollo client:push`) for this graph.""" 1778 + canRegisterOperations: Boolean! 1779 + """Whether the currently authenticated user is permitted to make updates to the check configuration for this graph.""" 1780 + canWriteCheckConfiguration: Boolean! 1781 + } 1782 + 1783 + """A SHA-256 hash, represented as a lowercase hexadecimal string.""" 1784 + scalar SHA256 1785 + 1786 + """A location in a source code file.""" 1787 + type SourceLocation { 1788 + """Column number.""" 1789 + column: Int! 1790 + """Line number.""" 1791 + line: Int! 1792 + } 1793 + 1794 + enum Status { 1795 + STABLE 1796 + NEXT 1797 + DEPRECATED 1798 + } 1799 + 1800 + """A subgraph in a federated Studio supergraph.""" 1801 + type Subgraph { 1802 + """The subgraph schema document's SHA256 hash, represented as a hexadecimal string.""" 1803 + hash: String! 1804 + """The subgraph's registered name.""" 1805 + name: String! 1806 + """The number of fields in this subgraph""" 1807 + numberOfFields: Int 1808 + """The number of types in this subgraph""" 1809 + numberOfTypes: Int 1810 + """The subgraph's routing URL, provided to gateways that use managed federation.""" 1811 + routingURL: String! 1812 + """Timestamp of when the subgraph was published.""" 1813 + updatedAt: Timestamp 1814 + } 1815 + 1816 + """A change made to a subgraph as part of a launch.""" 1817 + type SubgraphChange { 1818 + """The subgraph's name.""" 1819 + name: ID! 1820 + """The type of change that was made.""" 1821 + type: SubgraphChangeType! 1822 + } 1823 + 1824 + enum SubgraphChangeType { 1825 + ADDITION 1826 + DELETION 1827 + MODIFICATION 1828 + } 1829 + 1830 + """Input type to provide when running schema checks asynchronously for a federated supergraph.""" 1831 + input SubgraphCheckAsyncInput { 1832 + """Configuration options for the check execution.""" 1833 + config: HistoricQueryParametersInput! 1834 + """The GitHub context to associate with the check.""" 1835 + gitContext: GitContextInput! 1836 + """The graph ref of the Studio graph and variant to run checks against (such as `my-graph@current`).""" 1837 + graphRef: ID 1838 + """The URL of the GraphQL endpoint that Apollo Sandbox introspected to obtain the proposed schema. Required if `isSandbox` is `true`.""" 1839 + introspectionEndpoint: String 1840 + """If `true`, the check was initiated by Apollo Sandbox.""" 1841 + isSandbox: Boolean! 1842 + """The proposed subgraph schema to perform checks with.""" 1843 + proposedSchema: GraphQLDocument! 1844 + """The name of the subgraph to check schema changes for.""" 1845 + subgraphName: String! 1846 + } 1847 + 1848 + """ISO 8601, extended format with nanoseconds, Zulu (or "[+-]seconds" as a string or number relative to now)""" 1849 + scalar Timestamp 1850 + 1851 + """Counts of changes.""" 1852 + type TotalChangeSummaryCounts { 1853 + """ 1854 + Number of changes that are additions. This includes adding types, adding fields to object, input 1855 + object, and interface types, adding values to enums, adding members to interfaces and unions, and 1856 + adding arguments. 1857 + """ 1858 + additions: Int! 1859 + """ 1860 + Number of changes that are removals. This includes removing types, removing fields from object, 1861 + input object, and interface types, removing values from enums, removing members from interfaces 1862 + and unions, and removing arguments. This also includes removing @deprecated usages. 1863 + """ 1864 + removals: Int! 1865 + """ 1866 + Number of changes that are edits. This includes types changing kind, fields and arguments 1867 + changing type, arguments changing default value, and any description changes. This also includes 1868 + edits to @deprecated reason strings. 1869 + """ 1870 + edits: Int! 1871 + """Number of changes that are new usages of the @deprecated directive.""" 1872 + deprecations: Int! 1873 + } 1874 + 1875 + """Counts of changes at the type level, including interfaces, unions, enums, scalars, input objects, etc.""" 1876 + type TypeChangeSummaryCounts { 1877 + """Number of changes that are additions of types.""" 1878 + additions: Int! 1879 + """Number of changes that are removals of types.""" 1880 + removals: Int! 1881 + """ 1882 + Number of changes that are edits. This includes types changing kind and any type description 1883 + changes, but also includes adding/removing values from enums, adding/removing members from 1884 + interfaces and unions, and any enum value deprecation and description changes. 1885 + """ 1886 + edits: Int! 1887 + } 1888 + 1889 + union UpdateOperationCollectionEntryResult = OperationCollectionEntry | PermissionError | ValidationError 1890 + 1891 + union UpdateOperationCollectionResult = OperationCollection | PermissionError | ValidationError 1892 + 1893 + """Describes the result of publishing a schema to a graph variant.""" 1894 + type SchemaPublicationResult { 1895 + """A machine-readable response code that indicates the type of result (e.g., `UPLOAD_SUCCESS` or `NO_CHANGES`)""" 1896 + code: String! 1897 + """Whether the schema publish operation succeeded (`true`) or encountered errors (`false`).""" 1898 + success: Boolean! 1899 + """A Human-readable message describing the type of result.""" 1900 + message: String! 1901 + """If the publish operation succeeded, this contains its details. Otherwise, this is null.""" 1902 + publication: SchemaPublication 1903 + } 1904 + 1905 + """A registered Apollo Studio user.""" 1906 + type User implements Identity { 1907 + """Returns a list of all active user API keys for the user.""" 1908 + apiKeys(includeCookies: Boolean = false): [UserApiKey!]! 1909 + """Returns a representation of this user as an `Actor` type. Useful when determining which actor (usually a `User` or `Graph`) performed a particular action in Studio.""" 1910 + asActor: Actor! 1911 + """The user's unique ID.""" 1912 + id: ID! 1913 + """A list of the user's memberships in Apollo Studio organizations.""" 1914 + memberships: [UserMembership!]! 1915 + """The user's first and last name.""" 1916 + name: String! 1917 + } 1918 + 1919 + """ 1920 + Represents a user API key, which has permissions identical to 1921 + its associated Apollo user. 1922 + """ 1923 + type UserApiKey implements ApiKey { 1924 + """The API key's ID.""" 1925 + id: ID! 1926 + """The API key's name, for distinguishing it from other keys.""" 1927 + keyName: String 1928 + """The value of the API key. **This is a secret credential!**""" 1929 + token: String! 1930 + } 1931 + 1932 + """A single user's membership in a single Apollo Studio organization.""" 1933 + type UserMembership { 1934 + """The organization that the user belongs to.""" 1935 + account: Organization! 1936 + """The timestamp when the user was added to the organization.""" 1937 + createdAt: Timestamp! 1938 + """The user's permission level within the organization.""" 1939 + permission: UserPermission! 1940 + """The user that belongs to the organization.""" 1941 + user: User! 1942 + } 1943 + 1944 + type UserMutation { 1945 + """Creates a new user API key for this user.""" 1946 + newKey(keyName: String!): UserApiKey! 1947 + """ 1948 + If this user has no active user API keys, this creates one for the user. 1949 + 1950 + If this user has at least one active user API key, this returns one of those keys at random and does _not_ create a new key. 1951 + """ 1952 + provisionKey(keyName: String! = "add-a-name"): ApiKeyProvision 1953 + """Deletes the user API key with the provided ID, if any.""" 1954 + removeKey( 1955 + """API key ID""" 1956 + id: ID! 1957 + ): Void 1958 + """Sets a new name for the user API key with the provided ID, if any. This does not invalidate the key or change its value.""" 1959 + renameKey(id: ID!, newKeyName: String): UserApiKey 1960 + } 1961 + 1962 + enum UserPermission { 1963 + BILLING_MANAGER 1964 + CONSUMER 1965 + CONTRIBUTOR 1966 + DOCUMENTER 1967 + GRAPH_ADMIN 1968 + LEGACY_GRAPH_KEY 1969 + OBSERVER 1970 + ORG_ADMIN 1971 + } 1972 + 1973 + """An error that occurs when an operation contains invalid user input.""" 1974 + type ValidationError implements Error { 1975 + """The error's details.""" 1976 + message: String! 1977 + } 1978 + 1979 + """Always null""" 1980 + scalar Void
+2 -2
pkgs/os-specific/linux/fnotifystat/default.nix
··· 5 5 6 6 stdenv.mkDerivation rec { 7 7 pname = "fnotifystat"; 8 - version = "0.02.09"; 8 + version = "0.02.10"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "ColinIanKing"; 12 12 repo = pname; 13 13 rev = "V${version}"; 14 - hash = "sha256-YyIk7x0B3JB/iMF9OP767fVEBgcV0duV7xIiHZxpL0w="; 14 + hash = "sha256-bcb1kSpNZV7eTcEIcaoiqxB68kTc0TGFMIr1Aehy/Rc="; 15 15 }; 16 16 17 17 installFlags = [
+12 -1
pkgs/servers/dns/bind/default.nix
··· 4 4 , enablePython ? false, python3 5 5 , enableGSSAPI ? true, libkrb5 6 6 , buildPackages, nixosTests 7 + , cmocka, tzdata 7 8 }: 8 9 9 10 stdenv.mkDerivation rec { ··· 59 60 EOF 60 61 ''; 61 62 62 - doCheck = false; # requires root and the net 63 63 enableParallelBuilding = true; 64 + doCheck = !stdenv.hostPlatform.isStatic; 65 + checkTarget = "unit"; 66 + checkInputs = [ 67 + cmocka 68 + ] ++ lib.optionals (!stdenv.hostPlatform.isMusl) [ 69 + tzdata 70 + ]; 71 + preCheck = lib.optionalString stdenv.hostPlatform.isMusl '' 72 + # musl doesn't respect TZDIR, skip timezone-related tests 73 + sed -i '/^ISC_TEST_ENTRY(isc_time_formatISO8601L/d' tests/isc/time_test.c 74 + ''; 64 75 65 76 passthru.tests = { 66 77 inherit (nixosTests) bind;
+1 -1
pkgs/servers/gotify/source-sha.nix
··· 1 - "0rpjn10ia47nia0g5a8khxy0r8grlfvcf1s5kdyj9512hcy25aca" 1 + "1kc4l95hrhi7lb9x8gy19xpwj12j4syg6w1kbllf3g3k83sr444f"
+1 -1
pkgs/servers/gotify/update.sh
··· 30 30 nix-build -A gotify-server.ui 31 31 echo running nix-build for gotify itself in order to get vendorSha256 32 32 set +e 33 - vendorSha256="$(nix-build -A gotify-server 2>&1 | grep "got:" | cut -d':' -f3)" 33 + vendorSha256="$(nix-build -A gotify-server 2>&1 | grep "got:" | cut -d':' -f2)" 34 34 set -e 35 35 printf '"%s"\n' "$vendorSha256" > $dirname/vendor-sha.nix 36 36 tput setaf 2
+1 -1
pkgs/servers/gotify/version.nix
··· 1 - "2.2.2" 1 + "2.2.4"
+3 -3
pkgs/servers/piping-server-rust/default.nix
··· 2 2 3 3 rustPlatform.buildRustPackage rec { 4 4 pname = "piping-server-rust"; 5 - version = "0.15.0"; 5 + version = "0.16.0"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "nwtgck"; 9 9 repo = pname; 10 10 rev = "v${version}"; 11 - sha256 = "sha256-s7tfGt1P/GmvjkIcy8DEwz+ObPxoMsIL7meAc5vMkKo="; 11 + sha256 = "sha256-cWBNO9V9DMbEhkjG8g/iswV04DeYh3tXv0+1hB/pf64="; 12 12 }; 13 13 14 - cargoSha256 = "sha256-gqKEFqf49sKZy+L0X4MxUfx2+iYoNIU415xHqOy8MZA="; 14 + cargoSha256 = "sha256-jZio6y2m14tVi3nTQqh+8W3hxft5PfAIWm2XpuyCKDU="; 15 15 16 16 buildInputs = lib.optionals stdenv.isDarwin [ CoreServices Security ]; 17 17
+5 -4
pkgs/servers/syncstorage-rs/default.nix
··· 21 21 22 22 rustPlatform.buildRustPackage rec { 23 23 pname = "syncstorage-rs"; 24 - version = "0.13.2"; 24 + version = "0.13.5"; 25 25 26 26 src = fetchFromGitHub { 27 27 owner = "mozilla-services"; 28 28 repo = pname; 29 - rev = version; 30 - hash = "sha256-zxpqQpzmPPU6V5QITK9SgAAI7l3/7+h0u3/bZgiU7y4="; 29 + rev = "refs/tags/${version}"; 30 + hash = "sha256-eFrrZ/+8OsmIfCEoXPAKqVkZlgN8sfXueJQvQN8VCB0="; 31 31 }; 32 32 33 33 nativeBuildInputs = [ ··· 47 47 --prefix PATH : ${lib.makeBinPath [ pyFxADeps ]} 48 48 ''; 49 49 50 - cargoHash = "sha256-U0xHqOh0ii4PE9UYKo+diqSoZ1ZjzBmHILvAhHSZD0A="; 50 + cargoHash = "sha256-SgOxXzI6IZcP5Q06Aj5Pv6Rrvb7xVShUcGaViLuESOw="; 51 51 52 52 buildFeatures = [ "grpcio/openssl" ]; 53 53 ··· 57 57 meta = { 58 58 description = "Mozilla Sync Storage built with Rust"; 59 59 homepage = "https://github.com/mozilla-services/syncstorage-rs"; 60 + changelog = "https://github.com/mozilla-services/syncstorage-rs/releases/tag/${version}"; 60 61 license = lib.licenses.mpl20; 61 62 maintainers = with lib.maintainers; [ pennae ]; 62 63 platforms = lib.platforms.linux;
+1
pkgs/servers/web-apps/5etools/default.nix
··· 15 15 changelog = "https://github.com/5etools-mirror-1/5etools-mirror-1.github.io/releases/tag/v${version}"; 16 16 license = [ licenses.mit ]; 17 17 maintainers = with maintainers; [ urandom ]; 18 + hydraPlatforms = []; # src tarball is 4.7G, unpackeed 4.8G, exceeds hydras output limit 18 19 }; 19 20 }
+3 -3
pkgs/tools/admin/coldsnap/default.nix
··· 9 9 10 10 rustPlatform.buildRustPackage rec { 11 11 pname = "coldsnap"; 12 - version = "0.4.2"; 12 + version = "0.4.3"; 13 13 14 14 src = fetchFromGitHub { 15 15 owner = "awslabs"; 16 16 repo = pname; 17 17 rev = "v${version}"; 18 - hash = "sha256-+JQjJ4F++S3eLnrqV1v4leepOvZBf8Vp575rnlDx2Cg="; 18 + hash = "sha256-kL9u+IBlC9Pxm5yaJagY9dy0Pm0xlKfVxFVBmwDMSak="; 19 19 }; 20 - cargoHash = "sha256-mAnoe9rK4+OpCzD7tzV+FQz+fFr8NapzsXtON3lS/tk"; 20 + cargoHash = "sha256-eYBmke0FQ9CK3cCaM7ecmp1vkNlZO3SHRnxFzmelYhU="; 21 21 22 22 buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security ]; 23 23 nativeBuildInputs = [ pkg-config ];
+3 -3
pkgs/tools/admin/qovery-cli/default.nix
··· 8 8 9 9 buildGoModule rec { 10 10 pname = "qovery-cli"; 11 - version = "0.49.0"; 11 + version = "0.50.3"; 12 12 13 13 src = fetchFromGitHub { 14 14 owner = "Qovery"; 15 15 repo = pname; 16 16 rev = "v${version}"; 17 - hash = "sha256-O5JUWD7Wbe/5BM5fr6z76Re7PpRwFJV++lze+pv5el0="; 17 + hash = "sha256-kvIY6BBkyV5TmpT8bhrn+OIP3/rbCy0EKxsFLIIFp8U="; 18 18 }; 19 19 20 - vendorHash = "sha256-Hb4bqOK4h68ZCN/bTPQLd4hC7oZUrj21DupVA4GrlNA="; 20 + vendorHash = "sha256-595Z6/jt+d81QMIKcbg7Y5UMtF8hnZipiBkt1LQt2AI="; 21 21 22 22 nativeBuildInputs = [ installShellFiles ]; 23 23
+3 -3
pkgs/tools/misc/vector/default.nix
··· 33 33 34 34 let 35 35 pname = "vector"; 36 - version = "0.27.0"; 36 + version = "0.28.0"; 37 37 in 38 38 rustPlatform.buildRustPackage { 39 39 inherit pname version; ··· 42 42 owner = "vectordotdev"; 43 43 repo = pname; 44 44 rev = "v${version}"; 45 - sha256 = "sha256-+jap7cexevEky3H+Ct9LXXUwHR5tnbzdN+b13pv3f70="; 45 + sha256 = "sha256-1HNOfIB1HmGthNkJca4tfxcq7nDTjN+tsbsP3rLlXi4="; 46 46 }; 47 47 48 - cargoSha256 = "sha256-KehBEwoz5N0zQLDk+9vwFSrn1TrVwljFj+asr7q7hmw="; 48 + cargoSha256 = "sha256-m4+9vET4VVgeVVN+nuFGi54OvdiubLO5gZE2mj5c+hc="; 49 49 nativeBuildInputs = [ pkg-config cmake perl ]; 50 50 buildInputs = [ oniguruma openssl protobuf rdkafka zstd ] 51 51 ++ lib.optionals stdenv.isDarwin [ Security libiconv coreutils CoreServices ];
+2 -2
pkgs/tools/package-management/nix-update/default.nix
··· 8 8 9 9 buildPythonApplication rec { 10 10 pname = "nix-update"; 11 - version = "0.15.0"; 11 + version = "0.15.1"; 12 12 format = "setuptools"; 13 13 14 14 src = fetchFromGitHub { 15 15 owner = "Mic92"; 16 16 repo = pname; 17 17 rev = version; 18 - sha256 = "sha256-Q3yExefODBrrziRnCYETrJgSn42BOR7ZsL8pu3q5D/w="; 18 + sha256 = "sha256-AYw2czg8HwA/ATQZO0snfb5GRsz77J6cPGDQ8b4W6AI="; 19 19 }; 20 20 21 21 makeWrapperArgs = [
+15 -21
pkgs/tools/security/aiodnsbrute/default.nix
··· 1 1 { lib 2 - , buildPythonApplication 3 2 , fetchFromGitHub 4 - , aiodns 5 - , click 6 - , tqdm 7 - , uvloop 3 + , python3 8 4 }: 9 5 10 - buildPythonApplication rec { 6 + python3.pkgs.buildPythonApplication rec { 11 7 pname = "aiodnsbrute"; 12 8 version = "0.3.3"; 9 + format = "setuptools"; 13 10 14 11 src = fetchFromGitHub { 15 12 owner = "blark"; 16 13 repo = pname; 17 - rev = "v${version}"; 18 - sha256 = "sha256-cEpk71VoQJZfKeAZummkk7yjtXKSMndgo0VleYiMlWE="; 14 + rev = "refs/tags/v${version}"; 15 + hash = "sha256-cEpk71VoQJZfKeAZummkk7yjtXKSMndgo0VleYiMlWE="; 19 16 }; 20 17 21 - # https://github.com/blark/aiodnsbrute/pull/8 22 - prePatch = '' 23 - substituteInPlace setup.py --replace " 'asyncio', " "" 24 - ''; 25 - 26 - propagatedBuildInputs = [ 27 - aiodns 28 - click 29 - tqdm 30 - uvloop 18 + propagatedBuildInputs = with python3.pkgs; [ 19 + aiodns 20 + click 21 + tqdm 22 + uvloop 31 23 ]; 32 24 33 - # no tests present 25 + # Project no tests 34 26 doCheck = false; 35 27 36 - pythonImportsCheck = [ "aiodnsbrute.cli" ]; 28 + pythonImportsCheck = [ 29 + "aiodnsbrute.cli" 30 + ]; 37 31 38 32 meta = with lib; { 39 33 description = "DNS brute force utility"; 40 34 homepage = "https://github.com/blark/aiodnsbrute"; 41 - # https://github.com/blark/aiodnsbrute/issues/5 35 + changelog = "https://github.com/blark/aiodnsbrute/releases/tag/v${version}"; 42 36 license = with licenses; [ gpl3Only ]; 43 37 maintainers = with maintainers; [ fab ]; 44 38 };
+3 -3
pkgs/tools/security/cloudfox/default.nix
··· 5 5 6 6 buildGoModule rec { 7 7 pname = "cloudfox"; 8 - version = "1.9.1"; 8 + version = "1.10.0"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "BishopFox"; 12 12 repo = pname; 13 13 rev = "refs/tags/v${version}"; 14 - hash = "sha256-TV2knPG5n5l8APeAmpDfu6vQLtEhjqH21JXAZLk0DDI="; 14 + hash = "sha256-kB6nH/5/76r9SGyaFPXjwgZ+b5ha85Z7v1GFNgqluDY="; 15 15 }; 16 16 17 - vendorHash = "sha256-xMHlooXuLECQi7co2/WvY0TIoV0S5OgcBklICCFk3ls="; 17 + vendorHash = "sha256-v8rEsp2mDgfjCO2VvWNIxex8F350MDnZ40bR4szv+3o="; 18 18 19 19 # Some tests are failing because of wrong filename/path 20 20 doCheck = false;
+9 -6
pkgs/tools/security/grype/default.nix
··· 2 2 , buildGoModule 3 3 , fetchFromGitHub 4 4 , installShellFiles 5 - 6 5 , openssl 7 6 }: 8 7 9 8 buildGoModule rec { 10 9 pname = "grype"; 11 - version = "0.58.0"; 10 + version = "0.59.0"; 12 11 13 12 src = fetchFromGitHub { 14 13 owner = "anchore"; 15 14 repo = pname; 16 - rev = "v${version}"; 17 - hash = "sha256-7yb6ufRoAB70hnoBv6ZwEtKeTJxxmWEknksCmM55eYE="; 15 + rev = "refs/tags/v${version}"; 16 + hash = "sha256-TAoF67Fxl0OUiQd48h786+lIsdEuk4C/zdeEO/DRX/k="; 18 17 # populate values that require us to use git. By doing this in postFetch we 19 18 # can delete .git afterwards and maintain better reproducibility of the src. 20 19 leaveDotGit = true; ··· 26 25 find "$out" -name .git -print0 | xargs -0 rm -rf 27 26 ''; 28 27 }; 28 + 29 29 proxyVendor = true; 30 30 31 - vendorHash = "sha256-7i9/tufEUGVqNHP61pQuIK2tMdiBcs3vfFz1bzlHFKk="; 31 + vendorHash = "sha256-kRxKa3HUO2yvMai03voVvsprg/Kd01OtJQHJn3ECk58="; 32 32 33 33 nativeBuildInputs = [ 34 34 installShellFiles 35 + ]; 36 + 37 + nativeCheckInputs = [ 38 + openssl 35 39 ]; 36 40 37 41 subPackages = [ "." ]; ··· 55 59 ldflags+=" -X github.com/anchore/grype/internal/version.buildDate=$(cat SOURCE_DATE_EPOCH)" 56 60 ''; 57 61 58 - nativeCheckInputs = [ openssl ]; 59 62 preCheck = '' 60 63 # test all dirs (except excluded) 61 64 unset subPackages
+3 -3
pkgs/tools/security/otpauth/default.nix
··· 5 5 6 6 buildGoModule rec { 7 7 pname = "otpauth"; 8 - version = "0.5.0"; 8 + version = "0.5.1"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "dim13"; 12 12 repo = "otpauth"; 13 13 rev = "v${version}"; 14 - sha256 = "sha256-toFBkUssU10ejoZzWnrm5o2P0p5Oq8kKP4vb2ASDC0s="; 14 + sha256 = "sha256-jeKxCuE3cA/oTEKwdrCGPchsrtaMyirTzv8oLl9gxtA="; 15 15 }; 16 16 17 - vendorSha256 = "sha256-jnIq7Zc2MauJReJ9a8TeqXXsvHixsBB+znmXAxcpqUQ="; 17 + vendorHash = "sha256-jnIq7Zc2MauJReJ9a8TeqXXsvHixsBB+znmXAxcpqUQ="; 18 18 doCheck = true; 19 19 20 20 meta = with lib; {
+3 -3
pkgs/tools/system/nsc/default.nix
··· 7 7 8 8 buildGoModule rec { 9 9 pname = "nsc"; 10 - version = "2.7.6"; 10 + version = "2.7.8"; 11 11 12 12 src = fetchFromGitHub { 13 13 owner = "nats-io"; 14 14 repo = pname; 15 15 rev = "v${version}"; 16 - hash = "sha256-aieUCQ5JVJQs4RoTGaXwfTv3xC1ozSsQyfCLsD245go="; 16 + hash = "sha256-cgp/kkHgH5JIWMgrUHHHyuKedbJ3n6L9xBglXCcMYms="; 17 17 }; 18 18 19 19 ldflags = [ ··· 23 23 "-X main.builtBy=nixpkgs" 24 24 ]; 25 25 26 - vendorHash = "sha256-gDwppx0ORG+pXzTdGtUVbiFyTD/P7avt+/V89Gl0QYY="; 26 + vendorHash = "sha256-l9Fl0j8Fa/hiV/2ebmIlnFtekYLwDg3eMpY7lLBreGg="; 27 27 28 28 nativeBuildInputs = [ installShellFiles ]; 29 29
+3 -3
pkgs/tools/text/miller/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "miller"; 5 - version = "6.6.0"; 5 + version = "6.7.0"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "johnkerl"; 9 9 repo = "miller"; 10 10 rev = "v${version}"; 11 - sha256 = "sha256-Uvf2kkWD6ir8XicEX+FNYmd2A9c/jd6GgwjYomNfjfc="; 11 + sha256 = "sha256-fKgw4ii/riPTklEB+Q8/sOx2dCMS/kevyvXgpyFlkVs="; 12 12 }; 13 13 14 - vendorSha256 = "sha256-VW0mTq0oc95wVkFa+0rpsiOlS/9LT2Xy6u0RtSTsEoA="; 14 + vendorHash = "sha256-uZa9H7Tj2ynwl3fFY9U+WZ0FcNuvHRQf7RCW6rebm5g="; 15 15 16 16 subPackages = [ "cmd/mlr" ]; 17 17
+2 -2
pkgs/top-level/all-packages.nix
··· 1362 1362 1363 1363 aioblescan = with python3Packages; toPythonApplication aioblescan; 1364 1364 1365 - aiodnsbrute = python3Packages.callPackage ../tools/security/aiodnsbrute { }; 1365 + aiodnsbrute = callPackage ../tools/security/aiodnsbrute { }; 1366 1366 1367 1367 aircrack-ng = callPackage ../tools/networking/aircrack-ng { }; 1368 1368 ··· 6763 6763 6764 6764 dtc = callPackage ../development/compilers/dtc { }; 6765 6765 6766 - dt-schema = python3Packages.callPackage ../development/tools/dt-schema { }; 6766 + dt-schema = with python3Packages; toPythonApplication dtschema; 6767 6767 6768 6768 dub = callPackage ../development/tools/build-managers/dub { }; 6769 6769
+4
pkgs/top-level/python-packages.nix
··· 2232 2232 2233 2233 dask = callPackage ../development/python-modules/dask { }; 2234 2234 2235 + dask-awkward = callPackage ../development/python-modules/dask-awkward { }; 2236 + 2235 2237 dask-gateway = callPackage ../development/python-modules/dask-gateway { }; 2236 2238 2237 2239 dask-gateway-server = callPackage ../development/python-modules/dask-gateway-server { }; ··· 2896 2898 dsmr-parser = callPackage ../development/python-modules/dsmr-parser { }; 2897 2899 2898 2900 dtlssocket = callPackage ../development/python-modules/dtlssocket { }; 2901 + 2902 + dtschema = callPackage ../development/python-modules/dtschema { }; 2899 2903 2900 2904 ducc0 = callPackage ../development/python-modules/ducc0 { }; 2901 2905