extend type Query { """ GetClusters get store from sql database. """ clusters( """ banner name of the expected clusters """ bannerEdgeId: String! @hasBannerAccess(field: "bannerEdgeId") """ a list of labels (optional) used to filter clusters """ labels: [String!] ): [Cluster] @hasRole( roles: [ EDGE_BANNER_VIEWER EDGE_ORG_ADMIN EDGE_BANNER_ADMIN EDGE_BANNER_OPERATOR ] ) """ GetClusters get store from sql database. """ cluster( """ cluster edge id of the cluster to return """ clusterEdgeId: String! @hasClusterAccess(field: "clusterEdgeId") ): Cluster @hasRole( roles: [ EDGE_BANNER_VIEWER EDGE_ORG_ADMIN EDGE_BANNER_ADMIN EDGE_BANNER_OPERATOR ] ) """ GetStoreStatus get store status from Big Query. """ storeStatus( """ store name of the expected store status """ clusterEdgeId: String! @hasClusterAccess(field: "clusterEdgeId") ): StoreStatusInfo @hasRole( roles: [ EDGE_BANNER_VIEWER EDGE_ORG_ADMIN EDGE_BANNER_ADMIN EDGE_BANNER_OPERATOR ] ) """ Site get store BSL site. """ site( """ clusterEdgeID of the expected cluster """ clusterEdgeID: String! @hasClusterAccess(field: "clusterEdgeID") ): StoreSiteInfo @hasRole( roles: [ EDGE_BANNER_VIEWER EDGE_ORG_ADMIN EDGE_BANNER_ADMIN EDGE_BANNER_OPERATOR ] ) """ get the configuration for a cluster """ clusterConfig( clusterEdgeId: String! @hasClusterAccess(field: "clusterEdgeId") ): ClusterConfig @hasRole( roles: [ EDGE_BANNER_VIEWER EDGE_ORG_ADMIN EDGE_BANNER_ADMIN EDGE_BANNER_OPERATOR ] ) } extend type Mutation { """ deleteCluster deletes a cluster. For gke clusters resources will be cleaned up. """ deleteCluster( clusterEdgeId: String! @hasClusterAccess(field: "clusterEdgeId") deleteBSLSite: Boolean ): Boolean! @hasRole(roles: [EDGE_ORG_ADMIN, EDGE_BANNER_ADMIN, EDGE_BANNER_OPERATOR]) """ UpdateSite updates a store's BSL site. """ updateSite( """ clusterEdgeId of the expected cluster """ clusterEdgeId: String! @hasClusterAccess(field: "clusterEdgeId") """ site is the BSL site input data """ site: Site! ): StoreSiteInfo! @hasRole( roles: [ EDGE_BANNER_VIEWER EDGE_ORG_ADMIN EDGE_BANNER_ADMIN EDGE_BANNER_OPERATOR ] ) """ CreateClusterNetworkServices creates new store network services (i.e. DNS and NTP servers) """ createClusterNetworkServices( """ clusterEdgeId of the expected cluster """ clusterEdgeId: String! @hasClusterAccess(field: "clusterEdgeId") """ networkServicesInfo is a list of network service input data """ networkServicesInfo: [CreateNetworkServiceInfo!]! ): [ClusterNetworkServiceInfo!]! @hasRole(roles: [EDGE_ORG_ADMIN, EDGE_BANNER_ADMIN, EDGE_BANNER_OPERATOR]) """ UpdateClusterNetworkServices updates a store's network services (i.e. DNS and NTP servers) """ updateClusterNetworkServices( """ clusterEdgeId of the expected cluster """ clusterEdgeId: String! @hasClusterAccess(field: "clusterEdgeId") """ networkServicesInfo is a list of network service input data """ networkServicesInfo: [UpdateNetworkServiceInfo!]! ): [ClusterNetworkServiceInfo!]! @hasRole(roles: [EDGE_ORG_ADMIN, EDGE_BANNER_ADMIN, EDGE_BANNER_OPERATOR]) """ deleteClusterNetworkService Deletes a store's network services (i.e. DNS and NTP servers) """ deleteClusterNetworkService( """ clusterEdgeId of the expected cluster """ clusterEdgeId: String! @hasClusterAccess(field: "clusterEdgeId") """ networkServicesInfo is a list of network service input data """ networkServiceId: String! ): Boolean! @hasRole(roles: [EDGE_ORG_ADMIN, EDGE_BANNER_ADMIN, EDGE_BANNER_OPERATOR]) """ UpdateClusterName updates a cluster's display name. """ updateClusterName( clusterEdgeId: String! @hasClusterAccess(field: "clusterEdgeId") """ name is the new display name for the given clusterEdgeId """ name: String! ): Cluster @hasRole( roles: [ EDGE_BANNER_VIEWER EDGE_ORG_ADMIN EDGE_BANNER_ADMIN EDGE_BANNER_OPERATOR ] ) """ create config for a cluster """ createClusterConfig( clusterEdgeId: String! @hasClusterAccess(field: "clusterEdgeId") createClusterConfig: CreateClusterConfig! ): ClusterConfig! @hasRole(roles: [EDGE_ORG_ADMIN, EDGE_BANNER_ADMIN, EDGE_BANNER_OPERATOR]) """ update an existing config for a cluster """ updateClusterConfig( clusterEdgeId: String! @hasClusterAccess(field: "clusterEdgeId") updateClusterConfig: UpdateClusterConfig! ): ClusterConfig! @hasRole(roles: [EDGE_ORG_ADMIN, EDGE_BANNER_ADMIN, EDGE_BANNER_OPERATOR]) """ deleteClusters deletes an array of clusters. For gke clusters resources will be cleaned up. """ deleteClusters( clusterEdgeIds: [String!]! @hasClusterAccess(field: "clusterEdgeIds") deleteBSLSite: Boolean ): Boolean! @hasRole(roles: [EDGE_ORG_ADMIN, EDGE_BANNER_ADMIN, EDGE_BANNER_OPERATOR]) """ addSiteToStore will add the site to a store if the siteID is provided, else it will create a new site and added to the store """ addSiteToStore( clusterEdgeId: String! @hasClusterAccess(field: "clusterEdgeId") siteID: String ): RegistrationResponse @hasRole(roles: [EDGE_ORG_ADMIN, EDGE_BANNER_ADMIN, EDGE_BANNER_OPERATOR]) """ updateClusterFleetVersion updates the version of the fleet pallet that will be applied, e.g. store """ updateClusterFleetVersion( clusterEdgeId: String! @hasClusterAccess(field: "clusterEdgeId") fleetVersion: String! ): Cluster @hasRole(roles: [EDGE_ORG_ADMIN, EDGE_BANNER_ADMIN, EDGE_BANNER_OPERATOR]) }