// Code generated by github.com/99designs/gqlgen, DO NOT EDIT. package model import ( "fmt" "io" "strconv" "github.com/google/uuid" ) // Define base interface for CombinedStatus for cluster(s) // To-do: @qh185008 Add appliedVersion and // // @kz250070 add clusterStatus type ICombinedStatus interface { IsICombinedStatus() GetInfraStatus() *InfraStatus GetClusterStatus() *ClusterStatus GetEvents() []*Event } // Define base interface for status messages for cluster(s) type IStatus interface { IsIStatus() GetMessage() string GetStatus() string } // APIStatusSummary is the value type of GetAPIHealthStatus query type APIStatusSummary struct { BspAPI *bool `json:"bspAPI,omitempty"` KubeAPI *bool `json:"kubeAPI,omitempty"` Bff *bool `json:"bff,omitempty"` } // APIVersion is the response for the apiVersion api type APIVersion struct { // downloadLinks is a map of available downloads for the cli DownloadLinks map[string]interface{} `json:"downloadLinks"` // downloadCommands is a map of available gsutil download command for cli DownloadCommands map[string]interface{} `json:"downloadCommands"` // commit is commit this version of the api was built on Commit string `json:"commit"` // semVar is the semVar of the api build SemVar string `json:"semVar"` // releaseCandidate is boolean that if marked true means this api version is a release candidate ReleaseCandidate bool `json:"releaseCandidate"` // timestamp is the time the api was build Timestamp string `json:"timestamp"` } type Action struct { ActionID string `json:"actionID"` Action string `json:"action"` Time string `json:"time"` Status ActionStatus `json:"status"` TenantEdgeID string `json:"tenantEdgeID"` BannerEdgeID *string `json:"bannerEdgeID,omitempty"` ClusterEdgeID *string `json:"clusterEdgeID,omitempty"` Username string `json:"username"` Input string `json:"input"` BatchID *string `json:"batchID,omitempty"` Error *string `json:"error,omitempty"` } type Actions struct { Edges []*Action `json:"edges,omitempty"` PageInfo *PageInfo `json:"pageInfo"` } // Address is the value type of Address of a site type Address struct { // city value of Address of the site City *string `json:"city,omitempty"` // country value of Address of the site Country *string `json:"country,omitempty"` // postalCode value of Address of the site PostalCode *string `json:"postalCode,omitempty"` // state value of Address of the site State *string `json:"state,omitempty"` // street value of Address of the site Street *string `json:"street,omitempty"` } // AddressInput is the input type of Address of a site type AddressInput struct { // city value of Address of the site City *string `json:"city,omitempty"` // country value of Address of the site Country *string `json:"country,omitempty"` // postalCode value of Address of the site PostalCode *string `json:"postalCode,omitempty"` // state value of Address of the site State *string `json:"state,omitempty"` // street value of Address of the site Street *string `json:"street,omitempty"` } // ArtifactCompatibility is a list of compatible artifacts and backwards compatibility for a given artifact type ArtifactCompatibility struct { // Artifact name and version Artifact *ArtifactVersion `json:"artifact"` // Backwards compatibility for an artifact NthIndex int `json:"nthIndex"` // List of compatible artifacts and their respective versions CompatibleArtifacts []*ArtifactVersion `json:"compatibleArtifacts"` } // ArtifactCompatibilityPayload is the input list of compatible artifacts and backwards compatibility for a given artifact type ArtifactCompatibilityPayload struct { // Input payload for artifact name and version Artifact *ArtifactInput `json:"artifact"` // Backwards compatibility for an artifact NthIndex *int `json:"nthIndex,omitempty"` // Input list of compatible artifacts and their respective versions CompatibleArtifacts []*ArtifactInput `json:"compatibleArtifacts"` } // ArtifactInput is a reference to an OCI artifact type ArtifactInput struct { // Input payload for artifact name Name string `json:"name"` // Input payload for artifact version Version string `json:"version"` } // ArtifactRegistry represents an artifact registry in a banner type ArtifactRegistry struct { // The unique identifier for the artifact registry RegistryEdgeID string `json:"registryEdgeId"` // The ID of the banner the artifact registry is a part of BannerEdgeID string `json:"bannerEdgeId"` // Description of the artifact registry Description *string `json:"description,omitempty"` // URL of the artifact registry URL string `json:"url"` } // ArtifactRegistryCreateInput is the input type for the createArtifactRegistry mutation type ArtifactRegistryCreateInput struct { // The ID of the banner the artifact registry is a part of BannerEdgeID string `json:"bannerEdgeId"` // Description of the artifact registry Description *string `json:"description,omitempty"` // URL of the artifact registry URL string `json:"url"` } // ArtifactRegistryUpdateInput is the input type for the updateArtifactRegistry mutation type ArtifactRegistryUpdateInput struct { // Description of the artifact registry Description *string `json:"description,omitempty"` // URL of the artifact registry URL string `json:"url"` } // Artifact is a reference to an OCI artifact type ArtifactVersion struct { Name string `json:"name"` Version string `json:"version"` } // Attributes is the value type of Attributes of a site type Attributes struct { // key value of Attributes of the site Key *string `json:"key,omitempty"` // value of Attributes of the site Value *string `json:"value,omitempty"` } // AttributesInput is the input type of Attributes of a site type AttributesInput struct { // key value of Attributes of the site Key *string `json:"key,omitempty"` // value of Attributes of the site Value *string `json:"value,omitempty"` } // AuthPayload is the value type of Login mutation type AuthPayload struct { // access token from bsl used when making service calls Token string `json:"token"` // first name of the user to login FirstName *string `json:"firstName,omitempty"` // full name of the user to login FullName string `json:"fullName"` // roles that have been granted to the user Roles []string `json:"roles,omitempty"` // All banners that the user is allowed to access. This includes all banners in // an org if a user is an org admin Banners []*Banner `json:"banners,omitempty"` // a boolean indicating whether the credentials are expired and must be reset CredentialsExpired bool `json:"credentialsExpired"` // maximum time, in minutes, before the token expires SessionTime float64 `json:"sessionTime"` // organization user is logged into Organization string `json:"organization"` } // Organization is the value type of the GetOrganizations and Organization queries type Banner struct { // Name is the name of the banner Name string `json:"name"` // Description is the description of the banner in bsl Description *string `json:"description,omitempty"` // id is the bsl id of the banner BannerBSLId string `json:"bannerBSLId"` // id is the edge id of the banner BannerEdgeID string `json:"bannerEdgeId"` // Type corresponds to the BSP type i.e either an enterprise unit type eu or sub organization BannerType string `json:"bannerType"` ProjectID string `json:"projectId"` TenantEdgeID string `json:"tenantEdgeId"` // Mismatch information about the Banner MismatchInfo []string `json:"mismatchInfo,omitempty"` // IP for accessing touchpoints via VNC RemoteAccessIP string `json:"remoteAccessIp"` // Status of the banner BannerStatus *BannerStatus `json:"bannerStatus"` // bsl data has synced to the banner BslDataSynced *bool `json:"bslDataSynced,omitempty"` // bsl data entity types that were synced BslEntityTypes []string `json:"bslEntityTypes,omitempty"` // banner opt in security compliance setting OptInEdgeSecurityCompliance bool `json:"optInEdgeSecurityCompliance"` } type BannerConfig struct { VncReadWriteAuthRequired bool `json:"vncReadWriteAuthRequired"` VncReadWriteAuthRequiredOverride bool `json:"vncReadWriteAuthRequiredOverride"` VncReadAuthRequired bool `json:"vncReadAuthRequired"` VncReadAuthRequiredOverride bool `json:"vncReadAuthRequiredOverride"` } // BannerInfo is the value type of assignedBanners in UserData type type BannerInfo struct { BannerBSLId string `json:"bannerBSLId"` BannerEdgeID string `json:"bannerEdgeId"` Name string `json:"name"` BannerType string `json:"bannerType"` } // BannerStatus represents the state of a banner type BannerStatus struct { // Additional details for the banner's current status Message string `json:"message"` // Short reasoning for the banner's current status Reason string `json:"reason"` // Whether a banner is ready or not Ready bool `json:"ready"` // The last time a banner's status was updated LastUpdatedAt string `json:"lastUpdatedAt"` } // Input for bootstrapping api type BootstrapPayload struct { // The cluster id returned by the registration api ClusterEdgeID string `json:"clusterEdgeId"` // Force bootstrapping when cluster is already active Force *bool `json:"force,omitempty"` // cluster ca hash ClusterCaHash *string `json:"clusterCaHash,omitempty"` } // The response from the bootstrap api type BootstrapResponse struct { // The project id of the banner project ProjectID *string `json:"projectId,omitempty"` // The secrets that need to be applied to the cluster Secrets []string `json:"secrets,omitempty"` // The flux configuration files that need to be applied to the cluster FluxConfig *FluxBootstrapResponse `json:"fluxConfig,omitempty"` // Installation Manifests from pallets InstallManifests []string `json:"installManifests,omitempty"` // Any pre bootstrap manifests to apply PreBootstrapManifests []*string `json:"preBootstrapManifests,omitempty"` // Any pre bootstrap static manifests to apply PreBootstrapStaticManifests []string `json:"preBootstrapStaticManifests,omitempty"` } // The response from the bootstrap api type BootstrapResponseBwc struct { // The project id of the banner project ProjectID *string `json:"projectId,omitempty"` // The secrets that need to be applied to the cluster Secrets []string `json:"secrets,omitempty"` // The flux configuration files that need to be applied to the cluster FluxConfig *FluxBootstrapResponse `json:"fluxConfig,omitempty"` } // BucketStatusInformation is the value type of bucketStatus in the StoreStatusInfo type type BucketStatusInformation struct { // paths that are excluded in the bucket Excludes string `json:"excludes"` // the name of the object storage bucket BucketName string `json:"bucketName"` // information about the resource status FluxStatus *FluxStatusInformation `json:"fluxStatus"` } type CaBundle struct { CaBundle string `json:"caBundle"` CaCerts []string `json:"caCerts"` } type Capability struct { UUID string `json:"uuid"` Name string `json:"name"` Description *string `json:"description,omitempty"` } type CapabilityBannerMappingInput struct { Capabilityid string `json:"capabilityid"` BannerEdgeID string `json:"bannerEdgeId"` } type CapabilityInput struct { Name string `json:"name"` Description *string `json:"description,omitempty"` } type CapabilityUpdateInput struct { UUID string `json:"uuid"` Name *string `json:"name,omitempty"` Description *string `json:"description,omitempty"` } type Channel struct { ChannelID uuid.UUID `json:"channel_id"` Name string `json:"name"` Description string `json:"description"` Team string `json:"team"` ExpirationBufferDuration string `json:"expirationBufferDuration"` RotationIntervalDuration string `json:"rotationIntervalDuration"` } type ChannelIAMPolicy struct { ChannelSaID string `json:"channel_sa_id"` ChannelID string `json:"channel_id"` SaEmail string `json:"sa_email"` CreatedAt string `json:"created_at"` } type ChannelInput struct { Name string `json:"name"` Description string `json:"description"` } type ClassDeviceMap struct { // name of the device class Name string `json:"name"` // list of devices associated with the device class Devices []*Device `json:"devices,omitempty"` } // Close is the value type of close hours of a store site type Close struct { // closing day hours of the site Day *string `json:"day,omitempty"` // closing time hours of the site Time *string `json:"time,omitempty"` } // CloseInput is the input type of close hours of a store site type CloseInput struct { // closing day hours of the site Day *string `json:"day,omitempty"` // closing time hours of the site Time *string `json:"time,omitempty"` } // Cluster is the value type of GetClusters query type Cluster struct { // UUID of the cluster in sql database ClusterEdgeID string `json:"clusterEdgeId"` // name of the cluster Name string `json:"name"` // ID of the project that the cluster belongs to ProjectID string `json:"projectId"` // edge id of the banner the cluster exists in BannerEdgeID string `json:"bannerEdgeId"` // a boolean value, if the cluster is registered Registered *bool `json:"registered,omitempty"` // a boolean value, if the cluster is active Active *bool `json:"active,omitempty"` // a list of labels of the cluster Labels []*Label `json:"labels,omitempty"` // bsl site id of the cluster BslSiteID *string `json:"bslSiteID,omitempty"` // cluster network services contains network configuration for cluster. I.e. DNS and NTP servers ClusterNetworkServices []*ClusterNetworkServiceInfo `json:"clusterNetworkServices"` // cluster config contains configuration for the bootstrap process of a cluster ClusterConfig *ClusterConfig `json:"clusterConfig"` // fleetVersion is the version of fleet-specific Edge pallets to apply to the cluster FleetVersion string `json:"fleetVersion"` // Status and version information Status *CombinedStatus `json:"status"` } // ClusterArtifactRegistry represents an artifact registry used by a store, referencing a registry in the store's banner type ClusterArtifactRegistry struct { // The unique identifier for the cluster artifact registry ClusterRegistryEdgeID string `json:"clusterRegistryEdgeId"` // The ID of the store the cluster artifact registry is for ClusterEdgeID string `json:"clusterEdgeId"` // The ID of the artifact registry RegistryEdgeID string `json:"registryEdgeId"` } // ClusterArtifactRegistryCreateInput is the input type for the createClusterArtifactRegistry mutation type ClusterArtifactRegistryCreateInput struct { // The ID of the store the cluster artifact registry is for ClusterEdgeID string `json:"clusterEdgeId"` // The ID of the artifact registry RegistryEdgeID string `json:"registryEdgeId"` } // The configuration of a cluster for the bootstrap process type ClusterConfig struct { // unique identifier for the cluster the config applies to ClusterEdgeID string `json:"clusterEdgeId"` // Controls the activation code pass-through functionality AcRelay bool `json:"acRelay"` // Controls PxE booting PxeEnabled bool `json:"pxeEnabled"` // Acknowledgement of the bootstrap BootstrapAck bool `json:"bootstrapAck"` // VPN Enablement VpnEnabled bool `json:"vpnEnabled"` // Thick POS Topology ThickPos bool `json:"thickPos"` // Enable Egress Gateway EgressGatewayEnabled bool `json:"egressGatewayEnabled"` // Gateway Rate Limiting Enabled GatewayRateLimitingEnabled bool `json:"gatewayRateLimitingEnabled"` // Uplink Rate Limit UplinkRateLimit string `json:"uplinkRateLimit"` // Downlink Rate Limit DownlinkRateLimit string `json:"downlinkRateLimit"` // Cluster Log Level ClusterLogLevel string `json:"clusterLogLevel"` // Cluster Namespace Log Levels NamespaceLogLevels []*NamespaceLogLevel `json:"namespaceLogLevels"` // Maximum LAN Outage Hours MaximumLanOutageHours int `json:"maximumLanOutageHours"` // Deprecated: linkerd fields are deprecated // Linkerd Identity Issuer Certificate Duration Hours LinkerdIdentityIssuerCertDuration int `json:"linkerdIdentityIssuerCertDuration"` // Deprecated: linkerd fields are deprecated // Linkerd Identity Issuer Certificate Renew Before Hours LinkerdIdentityIssuerCertRenewBefore int `json:"linkerdIdentityIssuerCertRenewBefore"` // Whether or not packages scheduled to the cluster will be automatically updated AutoUpdateEnabled bool `json:"autoUpdateEnabled"` // Whether Authorization is required for accessing VNC in Read/Write mode. // Indicates banner configuration takes precendence if null VncReadWriteAuthRequired *bool `json:"vncReadWriteAuthRequired,omitempty"` // Whether Authorization is required for accessing VNC in Read Only mode. // Indicates banner configuration takes precendence if null VncReadAuthRequired *bool `json:"vncReadAuthRequired,omitempty"` } // ClusterDefaultSecret is not implemented anywhere type ClusterDefaultSecret struct { Secret string `json:"secret"` RedactedSecret string `json:"redactedSecret"` } // clusterInfo is the information required to schedule a gke cluster type ClusterInfo struct { // gke location the cluster will be created in Location string `json:"location"` // node version will be the gke version we set the cluster to NodeVersion *string `json:"nodeVersion,omitempty"` // machine type is the type of machine that will be used to create the cluster nodes MachineType string `json:"machineType"` // number nodes will be the initial node count for the cluster. If autoscaling is not provided this will be the static size of the cluster NumNodes int `json:"numNodes"` // autoscale is a boolean for whether or not the cluster should use autoscaling. If set to true minNodes and maxNodes are required. Autoscale bool `json:"autoscale"` // minNodes is the minimum cluster size MinNodes *int `json:"minNodes,omitempty"` // maxNodes is the max cluster size MaxNodes *int `json:"maxNodes,omitempty"` } // ClusterKubeconfig is not implemented anywhere type ClusterKubeconfig struct { ClusterKubeConfig string `json:"clusterKubeConfig"` RedactedClusterKubeConfig string `json:"redactedClusterKubeConfig"` } // Output of cluster labels type ClusterLabel struct { // cluster id is the id of the cluster the label is attached to ClusterEdgeID string `json:"clusterEdgeId"` // label id is the id of the label added to a cluster LabelEdgeID string `json:"labelEdgeId"` } // Clusters' network service info. Contains cluster-scoped network configuration (DNS and NTP servers) type ClusterNetworkServiceInfo struct { // id of the network service NetworkServiceID string `json:"networkServiceId"` // service type enum (dns, ntp or kube-vip) ServiceType string `json:"serviceType"` // ip address of the network service IP string `json:"ip"` // network family inet (ipv4) or inet6 (ipv6) Family string `json:"family"` // priority of the network service (default 100) Priority *int `json:"priority,omitempty"` } // Response for cluster secret leases type ClusterSecretLease struct { Owner string `json:"owner"` ExpiresAt string `json:"expiresAt"` SecretTypes []string `json:"secretTypes"` } type ClusterSecretVersionInfo struct { Version string `json:"version"` ExpiresAt string `json:"expiresAt"` } // ClusterStatus is the value type status in the Store type type ClusterStatus struct { Status string `json:"status"` Message string `json:"message"` } func (ClusterStatus) IsIStatus() {} func (this ClusterStatus) GetMessage() string { return this.Message } func (this ClusterStatus) GetStatus() string { return this.Status } // ClusterStatusResponse is the value type of GetClusterStatus service query type ClusterStatusResponse struct { // status contains the status and message information of the store Status *ClusterStatus `json:"status,omitempty"` // kubeVeriosn is the the KubeletVersion of the node resources of the store KubeVersion *string `json:"kubeVersion,omitempty"` // kustomizationStatus is a list of kustomization statuses of the store KustomizationStatus []*KustomizationStatusInformation `json:"kustomizationStatus,omitempty"` // bucketStatus is a list of bucket statuses of the store BucketStatus []*BucketStatusInformation `json:"bucketStatus,omitempty"` } // Combined Statuses for Clusters type CombinedStatus struct { ClusterEdgeID string `json:"clusterEdgeID"` Active bool `json:"active"` InfraStatus *InfraStatus `json:"infraStatus,omitempty"` // activeVersion is the active Edge version in the cluster ActiveVersion string `json:"activeVersion"` // events are the Kubernetes events being reported in the cluster Events []*Event `json:"events"` // Combined Statuses reported by kinform and cluster infra statuses ClusterStatus *ClusterStatus `json:"clusterStatus,omitempty"` // couchdb replication status is the status of the couchdb replications ReplicationStatus []*ReplicationStatus `json:"replicationStatus,omitempty"` // The status of each component (Kustomization, Bucket, and Shipment) ComponentStatus []*ComponentStatus `json:"componentStatus,omitempty"` // The support status of edge OS and edge Infra SupportStatus *SupportStatus `json:"supportStatus,omitempty"` } func (CombinedStatus) IsICombinedStatus() {} func (this CombinedStatus) GetInfraStatus() *InfraStatus { return this.InfraStatus } func (this CombinedStatus) GetClusterStatus() *ClusterStatus { return this.ClusterStatus } func (this CombinedStatus) GetEvents() []*Event { if this.Events == nil { return nil } interfaceSlice := make([]*Event, 0, len(this.Events)) for _, concrete := range this.Events { interfaceSlice = append(interfaceSlice, concrete) } return interfaceSlice } // command represents an OS-level command that can be executed by the Remote CLI type Command struct { Name string `json:"name"` } // Object to hold the status and name of an individual component in the cluster type ComponentStatus struct { // The status of the component Status *ClusterStatus `json:"status,omitempty"` // The component name Component string `json:"component"` } // ConfigmapData key value pair representing a configmap type ConfigmapData struct { // key of configmap data Key *string `json:"key,omitempty"` // key of configmap data Value *string `json:"value,omitempty"` } // ConfigurationSetId is the value type of configuration set id of a site type ConfigurationSetID struct { // name value of Configuration set id of the site Name *string `json:"name,omitempty"` } // ConfigurationSetIdInput is the input type of configuration set id of a site type ConfigurationSetIDInput struct { // name value of Configuration set id of the site Name *string `json:"name,omitempty"` } // ConfigurationSettings is the value type of configuration settings of a site type ConfigurationSettings struct { // key value of Configuration Settings of the site Key *string `json:"key,omitempty"` // value of Configuration Settings of the site Value *string `json:"value,omitempty"` } // ConfigurationSettingsInput is the input type of configuration settings of a site type ConfigurationSettingsInput struct { // key value of Configuration Settings of the site Key *string `json:"key,omitempty"` // value of Configuration Settings of the site Value *string `json:"value,omitempty"` } // Contact is the value type of Contact of a site type Contact struct { // contactPerson of the site ContactPerson *string `json:"contactPerson,omitempty"` // email address of the site Email *string `json:"email,omitempty"` // phoneNumber of the site PhoneNumber *string `json:"phoneNumber,omitempty"` // phoneNumberCountryCode of the site PhoneNumberCountryCode *string `json:"phoneNumberCountryCode,omitempty"` } // ContactInput is the input type of Contact of a site type ContactInput struct { // contactPerson for the site ContactPerson *string `json:"contactPerson,omitempty"` // email address for the site Email *string `json:"email,omitempty"` // phoneNumber for the site PhoneNumber *string `json:"phoneNumber,omitempty"` // phoneNumberCountryCode for the site PhoneNumberCountryCode *string `json:"phoneNumberCountryCode,omitempty"` } type Contacts struct { Identifier string `json:"identifier"` Details *Contact `json:"details"` } // ContactsInput type ContactsInput struct { // Identifier Identifier string `json:"Identifier"` // Contact Contact *ContactInput `json:"Contact"` } // Coordinates is the value type of Coordinates of a store site type Coordinates struct { // latitude of the store Latitude float64 `json:"latitude"` // longitude of the store Longitude float64 `json:"longitude"` } // CoordinatesInput is the input type for Coordinates of a store site type CoordinatesInput struct { // latitude of the store Latitude float64 `json:"latitude"` // longitude of the store Longitude float64 `json:"longitude"` } type CreateBannerConfig struct { VncReadWriteAuthRequired *bool `json:"vncReadWriteAuthRequired,omitempty"` VncReadWriteAuthRequiredOverride *bool `json:"vncReadWriteAuthRequiredOverride,omitempty"` VncReadAuthRequired *bool `json:"vncReadAuthRequired,omitempty"` VncReadAuthRequiredOverride *bool `json:"vncReadAuthRequiredOverride,omitempty"` } // Input object for creating log classifications // TODO: TO BE DEPRECATED IN 0.25 @RS185722 type CreateClassificationInput struct { // description is a brief overview of the classification Description string `json:"description"` // pod name to be targeted Pod string `json:"pod"` // container name to be targeted Container string `json:"container"` // log grouping for the log Type string `json:"type"` // class identifying for the log Class LogClassSelection `json:"class"` // pattern is the sub string to identify the log Pattern string `json:"pattern"` } type CreateClusterConfig struct { AcRelay *bool `json:"acRelay,omitempty"` PxeEnabled *bool `json:"pxeEnabled,omitempty"` BootstrapAck *bool `json:"bootstrapAck,omitempty"` VpnEnabled *bool `json:"vpnEnabled,omitempty"` ThickPos *bool `json:"thickPos,omitempty"` EgressGatewayEnabled *bool `json:"egressGatewayEnabled,omitempty"` GatewayRateLimitingEnabled *bool `json:"gatewayRateLimitingEnabled,omitempty"` UplinkRateLimit *string `json:"uplinkRateLimit,omitempty"` DownlinkRateLimit *string `json:"downlinkRateLimit,omitempty"` ClusterLogLevel *string `json:"clusterLogLevel,omitempty"` NamespaceLogLevels []*NamespaceLogLevelPayload `json:"namespaceLogLevels,omitempty"` MaximumLanOutageHours *int `json:"maximumLanOutageHours,omitempty"` AutoUpdateEnabled *bool `json:"autoUpdateEnabled,omitempty"` // Deprecated: linkerd fields are deprecated LinkerdIdentityIssuerCertDuration *int `json:"linkerdIdentityIssuerCertDuration,omitempty"` // Deprecated: linkerd fields are deprecated LinkerdIdentityIssuerCertRenewBefore *int `json:"linkerdIdentityIssuerCertRenewBefore,omitempty"` VncReadWriteAuthRequired *bool `json:"vncReadWriteAuthRequired,omitempty"` VncReadAuthRequired *bool `json:"vncReadAuthRequired,omitempty"` } // input object for log replay options type CreateLogReplayPayload struct { // List of Namespaces Namespaces []string `json:"namespaces"` // Start Time to grab logs StartTime string `json:"startTime"` // End Time to grab logs EndTime string `json:"endTime"` // lowest log Level to send up the GCP LogLevel LogLevels `json:"logLevel"` } type CreateNetworkServiceInfo struct { // service type enum (dns, ntp or kube-vip) ServiceType string `json:"serviceType"` // ip address of the network service IP string `json:"ip"` // network family inet (ipv4) or inet6 (ipv6) Family string `json:"family"` // priority of the network service (default 100) Priority *int `json:"priority,omitempty"` } // CreateOperatorInterventionCommandResponse is the response type of the createOperatorInterventionCommands mutation. type CreateOperatorInterventionCommandResponse struct { // errors indicate if any of the commands referenced in the OperatorInterventionCommandInput // are invalid. If any errors are present, no commands will be added Errors []*OperatorInterventionErrorResponse `json:"errors,omitempty"` } // Represents the response for creating an operator intervention privilege. type CreateOperatorInterventionPrivilegeResponse struct { // List of errors that occurred during the deletion process. Errors []*OperatorInterventionErrorResponse `json:"errors,omitempty"` } // CustomAttributeSets is the value type of Custom Attribute Sets of a site type CustomAttributeSets struct { // typeName of Custom Attribute Sets of the site TypeName *string `json:"typeName,omitempty"` // attributes of the site Attributes []*Attributes `json:"attributes,omitempty"` } // CustomAttributeSetsInput is the input type of Custom Attribute Sets of a site type CustomAttributeSetsInput struct { // typeName of Custom Attribute Sets of the site TypeName *string `json:"typeName,omitempty"` // attributes of the site Attributes []*AttributesInput `json:"attributes,omitempty"` } // Dayparts is the value type of Dayparts of a site type Dayparts struct { // day value of Dayparts of the site Day *string `json:"day,omitempty"` // description value of Dayparts of the site Description *string `json:"description,omitempty"` // endTime value of Dayparts of the site EndTime *string `json:"endTime,omitempty"` // name value of Dayparts of the site Name *string `json:"name,omitempty"` // startTime value of Dayparts of the site StartTime *string `json:"startTime,omitempty"` } // DaypartsInput is the value type of Dayparts of a site type DaypartsInput struct { // day value of Dayparts of the site Day *string `json:"day,omitempty"` // description value of Dayparts of the site Description *string `json:"description,omitempty"` // endTime value of Dayparts of the site EndTime *string `json:"endTime,omitempty"` // name value of Dayparts of the site Name *string `json:"name,omitempty"` // startTime value of Dayparts of the site StartTime *string `json:"startTime,omitempty"` } // DeleteOperatorInterventionCommandResponse is the response type of the deleteOperatorInterventionCommand mutation. type DeleteOperatorInterventionCommandResponse struct { // errors indicate if any of the commands referenced in the OperatorInterventionCommandInput // are invalid. If any errors are present, no changes will be made Errors []*OperatorInterventionErrorResponse `json:"errors,omitempty"` } // DeleteOperatorInterventionMappingInput allows deleting a single Edge Role to // privilege mapping from the DB type DeleteOperatorInterventionMappingInput struct { Role string `json:"role"` Privilege *OperatorInterventionPrivilegeInput `json:"privilege"` } // Represents the response for deleting operator intervention privilege. type DeleteOperatorInterventionPrivilegeResponse struct { // List of errors that occurred during the deletion process. Errors []*OperatorInterventionErrorResponse `json:"errors,omitempty"` } // DeleteOperatorInterventionResponse is the response type of the deleteOperatorInterventionRoleMapping mutation. type DeleteOperatorInterventionResponse struct { // errors indicate if there was any issues during the mutation. If any errors // are present, no changes will be made Errors []*OperatorInterventionErrorResponse `json:"errors,omitempty"` } type DeleteOperatorInterventionRuleInput struct { Privilege string `json:"privilege"` Command string `json:"command"` } type DeleteOperatorInterventionRuleResponse struct { // List of errors that occurred during the deletion process. Errors []*OperatorInterventionErrorResponse `json:"errors,omitempty"` } type Device struct { // friendly name for the device Name string `json:"name"` } // EdgeOsSupportStatus represents whether or not a cluster's edge os version is out/going out of support type EdgeOsSupportStatus struct { Status string `json:"status"` Message string `json:"message"` } func (EdgeOsSupportStatus) IsIStatus() {} func (this EdgeOsSupportStatus) GetMessage() string { return this.Message } func (this EdgeOsSupportStatus) GetStatus() string { return this.Status } // EdgeResponsePayload is the value type of UpdateUserPassword, CreateOrganization, UpdateOrganization, DeleteOrganization, AssignUserToBanner, AssignRolesToUser and ReplaceAdditionalPermissions mutations type EdgeResponsePayload struct { StatusCode int `json:"statusCode"` Message string `json:"message"` } type EdgeRoles struct { EdgeSuperAdmin *EdgeSuperAdmin `json:"EDGE_SUPER_ADMIN,omitempty"` } // EnterpriseSettings is the value type of enterprise settings of a site type EnterpriseSettings struct { // enterpriseUnitId of the site EnterpriseUnitID *string `json:"enterpriseUnitId,omitempty"` // configurationSetId of the site ConfigurationSetID *ConfigurationSetID `json:"configurationSetId,omitempty"` // configurationSettings of the site ConfigurationSettings []*ConfigurationSettings `json:"configurationSettings,omitempty"` } // EnterpriseSettingsInput is the input type of enterprise settings of a site type EnterpriseSettingsInput struct { // enterpriseUnitId of the site EnterpriseUnitID *string `json:"enterpriseUnitId,omitempty"` // configurationSetId of the site ConfigurationSetID *ConfigurationSetIDInput `json:"configurationSetId,omitempty"` // configurationSettings of the site ConfigurationSettings []*ConfigurationSettingsInput `json:"configurationSettings,omitempty"` } // Event is a reference to a Kubernetes Event type Event struct { // Edge ID of the event EventEdgeID string `json:"eventEdgeID"` // Name of the event Name string `json:"name"` // Edge ID of the cluster the event was reported in ClusterEdgeID string `json:"clusterEdgeID"` // ID of the terminal the event was reported in TerminalID *string `json:"terminalID,omitempty"` // Annotations of the event Annotations *string `json:"annotations,omitempty"` // Information about the involved object InvolvedObject *InvolvedObject `json:"involvedObject"` // Short description of why the event was reported Reason string `json:"reason"` // Extra information for the reason Message string `json:"message"` // The event's type Status string `json:"status"` // Component that reported the event Source string `json:"source"` // Creation timestamp CreatedAt string `json:"createdAt"` } // The flux configuration files that need to be applied to the cluster type FluxBootstrapResponse struct { // Flux bucket configurations that need to be applied to the cluster FluxBucket []string `json:"fluxBucket,omitempty"` // Kustomizations that need to be applied to the cluster FluxKustomize []string `json:"fluxKustomize,omitempty"` } // FluxStatusInformation is the value type of flux status shared by kustomizationStatus and bucketStatus in the StoreStatusInfo type type FluxStatusInformation struct { // name of the resource Name string `json:"name"` // whether there is any error in the resource Error bool `json:"error"` // the last time the condition transitioned from one status to another LastUpdated string `json:"lastUpdated"` // the revision of the last reconciliation attempt Revision string `json:"revision"` // a message indicating details about the transition StatusMessage string `json:"statusMessage"` // suspended is whether the controller should suspend the resource or not Suspended bool `json:"suspended"` } // HelmChart is the value of the HelmCharts query. Includes all information stored about a helm chart in the helm repository. type HelmChart struct { // Name of the helm chart Name string `json:"name"` // Provided description of the helm chart Description string `json:"description"` // Version of the helm chart Version string `json:"version"` // Application version the helm chart deploys AppVersion string `json:"appVersion"` // Link to icon is available of helm chart Icon string `json:"icon"` // Keywords for helm chart for search Keywords []string `json:"keywords,omitempty"` // Source provided for the helm chart in helm repository Sources []string `json:"sources,omitempty"` // URLs for the helm chart Urls []string `json:"urls,omitempty"` // Creation time for the helm chart Created string `json:"created"` } // HelmChartResponse is the value type of the GetHelmChartVersion query. Is a map of name and available version. type HelmChartResponse struct { // Name of helm chart Name string `json:"name"` // Available versions Versions []*string `json:"versions,omitempty"` } // HelmCondition is the value type of InstallCondition and ReadyCondition in the HelmRelease type type HelmCondition struct { // Last time the helm release status changed on the cluster LastTransitionTime *string `json:"lastTransitionTime,omitempty"` // Status message on the helm release Message *string `json:"message,omitempty"` // Kubernetes status reason on the helm release Reason *string `json:"reason,omitempty"` // Status bool provided by kubernetes on the helm release Status *string `json:"status,omitempty"` // The type of status provided on the helm release Type *string `json:"type,omitempty"` // Boolean for whether the helm workload is installed Installed *bool `json:"installed,omitempty"` // Boolean for the kubernetes ready condition of the helm release Ready *bool `json:"ready,omitempty"` } // HelmConfig is the return value type of DefaultSchemaConfig query. Contains information about the helm config schema. type HelmConfig struct { // Default values for helm config. ConfigVals *string `json:"configVals,omitempty"` // The validation schema for helm config values for the requested helm chart ConfigSchema *string `json:"configSchema,omitempty"` } // HelmRelease is the value type of GetHelmReleases query type HelmRelease struct { Name string `json:"name"` HelmChart string `json:"helmChart"` LastActionTime string `json:"lastActionTime"` StatusType string `json:"statusType"` VersionInstalled string `json:"versionInstalled"` VersionRequested string `json:"versionRequested"` InstallCondition *HelmCondition `json:"installCondition,omitempty"` ReadyCondition *HelmCondition `json:"readyCondition,omitempty"` ConfigValues *string `json:"configValues,omitempty"` Namespace string `json:"namespace"` UpdateAvailable *bool `json:"updateAvailable,omitempty"` UpgradeableVersions []*HelmVersion `json:"upgradeableVersions,omitempty"` DowngradeableVersions []*HelmVersion `json:"downgradeableVersions,omitempty"` } // HelmReleaseStatus is the helm release resources status data, value type of GetHelmReleases query type HelmReleaseStatus struct { // name of the helm release Name string `json:"name"` // last time the change was made on this helm release LastActionTime string `json:"lastActionTime"` // status of the helm release StatusType string `json:"statusType"` // installed version of helm release VersionInstalled string `json:"versionInstalled"` // version requested for helm release VersionRequested string `json:"versionRequested"` // install condition of the helm release InstallCondition *HelmCondition `json:"installCondition,omitempty"` // ready condition of the helm release ReadyCondition *HelmCondition `json:"readyCondition,omitempty"` // config values for the helm release ConfigValues *string `json:"configValues,omitempty"` } // HelmRepository is the value type of the HelmRepositories query. Information about a helm repository. type HelmRepository struct { // Name of the helm repository Name string `json:"name"` // URL to interact with helm repository URL string `json:"url"` // Secret stored by edge to interact with helm repository Secret string `json:"secret"` // The type of the helm repository Workload string `json:"workload"` // When the helm repository was created CreatedOn string `json:"createdOn"` } // HelmRepositoryInfo is the value type of the HelmRepositoryInfo query type HelmRepositoryInfo struct { // The readme provided by the helm repository for the helm chart Readme *string `json:"readme,omitempty"` // The metadata provided by the helm repository for the helm chart Metadata []*string `json:"metadata,omitempty"` } // Helm secret are the secrets attached to the helm workload type HelmSecrets struct { // edge id of the secret SecretEdgeID string `json:"secretEdgeID"` // name of the secret Name string `json:"name"` // created at in the edge db of the secret CreatedAt string `json:"createdAt"` // Helm workload is the data available in the edge db about the helm workload UpdatedAt string `json:"updatedAt"` } // The status of the helm workload type HelmStatus struct { // The overall status of the workloads, a combination of helm release, chart, repo and workload pods in the target namepsace Status string `json:"status"` // The message describing status of the helm workload Message string `json:"message"` // The status of the pods from k8s for the workload Pods []*Pods `json:"pods"` } // HelmVersion is the value type of UpgradeableVersions and DowngradeableVersions in the HelmRelease type type HelmVersion struct { Version string `json:"version"` } // Helm workload is the data available in the edge db about the helm workload. type HelmWorkload struct { // Edge id for the helm workload. HelmEdgeID string `json:"helmEdgeID"` // Name of the helm workload. Name string `json:"name"` // Helm chart used by the helm workloads. HelmChart string `json:"helmChart"` // Helm repository used by the helm workload. HelmRepository string `json:"helmRepository"` // Created at timestamp. CreatedAt string `json:"createdAt"` // Last updated timestamp. UpdatedAt string `json:"updatedAt"` // Deployed helm chart version. HelmChartVersion string `json:"helmChartVersion"` // Config values for the helm workload. ConfigValues *string `json:"configValues,omitempty"` // Namespace is the namespace helm release targets. Namespace string `json:"namespace"` // Cluster Edge ID for the helm workload. ClusterEdgeID string `json:"clusterEdgeID"` // Banner Edge ID for the helm workload. BannerEdgeID string `json:"bannerEdgeID"` // Helm repo secret is the name for the helm repository secret stored by edge. HelmRepoSecret string `json:"helmRepoSecret"` // Installed by is the user id that install this workload. InstalledBy *string `json:"installedBy,omitempty"` // Bool for whether an update is available for the helm release. UpdateAvailable *bool `json:"updateAvailable,omitempty"` // Deleted indicates if a workload has been deleted. Deleted *bool `json:"deleted,omitempty"` // Available helm chart version able to upgrade to. UpgradeableVersions []*HelmVersion `json:"upgradeableVersions,omitempty"` // Available helm chart version able to downgrade to. DowngradeableVersions []*HelmVersion `json:"downgradeableVersions,omitempty"` // List of secrets attached to the helm workload. Secrets []*HelmSecrets `json:"secrets,omitempty"` // Type of installation. Check the enum for full list. Default: ANY . InstallationType *WorkloadInstallationType `json:"installationType,omitempty"` // Edge Labels. Labels []*Label `json:"labels"` // Injected Configmaps. Configmaps []*HelmWorkloadConfigmaps `json:"configmaps"` // A combined status from helmWorkload, helmChart, helmRepo and pods. WorkloadStatus *HelmStatus `json:"workloadStatus"` } type HelmWorkloadConfigmaps struct { // Edge id for the helm workload configmap. HelmWorkloadConfigmapEdgeID string `json:"helmWorkloadConfigmapEdgeID"` // Edge id for the helm workload. HelmEdgeID string `json:"helmEdgeID"` // namespace in which to inject the configmap. Namespace string `json:"namespace"` // config map that is injected. ConfigMap string `json:"config_map"` // Created at timestamp. CreatedAt string `json:"createdAt"` // Last updated timestamp. UpdatedAt string `json:"updatedAt"` // @deprecated: Workloads are now child of banner(s). // This is for backwards compatibility, to be removed. ClusterEdgeID string `json:"clusterEdgeID"` } // Hours is the value type of hours of a store site type Hours struct { // closing hours of the site Close *Close `json:"close,omitempty"` // open hours of the site Open *Open `json:"open,omitempty"` } // HoursInput is the input type of hours of a store site type HoursInput struct { // closing hours of the site Close *CloseInput `json:"close,omitempty"` // open hours of the site Open *OpenInput `json:"open,omitempty"` } type InfraStatus struct { Message string `json:"message"` Status string `json:"status"` } func (InfraStatus) IsIStatus() {} func (this InfraStatus) GetMessage() string { return this.Message } func (this InfraStatus) GetStatus() string { return this.Status } // InfraSupportStatus represents whether or not a cluster's infra version is out/going out of support type InfraSupportStatus struct { Status string `json:"status"` Message string `json:"message"` } func (InfraSupportStatus) IsIStatus() {} func (this InfraSupportStatus) GetMessage() string { return this.Message } func (this InfraSupportStatus) GetStatus() string { return this.Status } // InvolvedObject contains information about an object that is referenced by an Event type InvolvedObject struct { // The involved object's kind Kind string `json:"kind"` // Name of the involved object Name string `json:"name"` // Namespace of the involved object Namespace *string `json:"namespace,omitempty"` } // KustomizationStatusInformation is the value type of kustomizationStatus in the StoreStatusInfo type type KustomizationStatusInformation struct { // path to the directory containing the kustomization file Path string `json:"path"` // reference of the source where the kustomization file is Source string `json:"source"` // information about the resource status FluxStatus *FluxStatusInformation `json:"fluxStatus"` } // Output of labels apis type Label struct { // ID of the label LabelEdgeID string `json:"labelEdgeId"` // key is the string label dispalyed to user Key string `json:"key"` // color is the color in the ui the label will be shown as in hex Color string `json:"color"` // visible is whether to show the label to the user in the ui Visible bool `json:"visible"` // editable is whether the label is editable through the ui Editable bool `json:"editable"` // unique is whether this label type must be unique for each cluster e.g. For a label type of region a cluster can only have one region type label Unique bool `json:"unique"` // banner id is the banner the label will be attached to BannerEdgeID *string `json:"bannerEdgeId,omitempty"` // description is the description of the label Description string `json:"description"` // type is a grouping of labels Type string `json:"type"` } // Input object for create and update labels apis type LabelInput struct { // key is the string label dispalyed to user Key string `json:"key"` // color is the color in the ui the label will be shown as in hex Color string `json:"color"` // visible is whether to show the label to the user in the ui Visible bool `json:"visible"` // editable is whether the label is editable through the ui Editable bool `json:"editable"` // unique is whether this label type must be unique for each cluster e.g. For a label type of region a cluster can only have one region type label Unique bool `json:"unique"` // banner id is the banner the label will be attached to BannerEdgeID string `json:"bannerEdgeId"` // description is the description of the label Description string `json:"description"` // type is a grouping of labels Type string `json:"type"` } // Input for updating labels type LabelUpdateInput struct { // ID of the labels LabelEdgeID string `json:"labelEdgeId"` // Values to be update LabelValues *LabelInput `json:"labelValues"` } // Type object for log classifications // TODO: TO BE DEPRECATED IN 0.25 @RS185722 type LogClassification struct { // Log Classification Edge ID BannerEdgeID string `json:"bannerEdgeID"` // Log Classification Edge ID LogClassificationEdgeID string `json:"logClassificationEdgeID"` // description is a brief overview of the classification Description string `json:"description"` // pod name to be targeted Pod string `json:"pod"` // container name to be targeted Container string `json:"container"` // log grouping for the log Type string `json:"type"` // class identifying for the log Class string `json:"class"` // pattern is the sub string to identify the log Pattern string `json:"pattern"` } // return object for log classification labels // TODO: TO BE DEPRECATED IN 0.25 @RS185722 type LogClassificationLabel struct { // log classification label edge id for classification LogClassificationLabelEdgeID string `json:"logClassificationLabelEdgeID"` // classification edge id is for the row in the db ClassificationEdgeID string `json:"classificationEdgeID"` // banner edge id is for the target classification BannerEdgeID string `json:"bannerEdgeID"` // label edge id for target label LabelEdgeID string `json:"labelEdgeId"` // label name (label_key in db) is the name for target label LabelName string `json:"labelName"` // description is a brief overview of the classification Description string `json:"description"` // pod name to be targeted Pod string `json:"pod"` // container name to be targeted Container string `json:"container"` // log grouping for the log Type string `json:"type"` // class identifying for the log Class string `json:"class"` // pattern is the sub string to identify the log Pattern string `json:"pattern"` } // type object for log replay type LogReplay struct { // Log Replay ID for the replay to be referenced LogReplayID string `json:"logReplayId"` // Cluster's Edge ID for the cluster to be replayed ClusterEdgeID string `json:"clusterEdgeId"` // List of Namespaces Namespaces []string `json:"namespaces,omitempty"` // Start Time to grab logs StartTime string `json:"startTime"` // End Time to grab logs EndTime string `json:"endTime"` // lowest log Level to send up the GCP LogLevel string `json:"logLevel"` // job is queued or not Queued bool `json:"queued"` // job is executed or not Executed bool `json:"executed"` // jobs status Status string `json:"status"` // last updated time UpdatedAt string `json:"updatedAt"` } // type object to grab combined data of kinform log replay jobs and log replays type LogReplayJob struct { // Log Replay ID for the replay to be referenced LogReplayID string `json:"logReplayId"` // job is queued or not Queued bool `json:"queued"` // job is executed or not Executed bool `json:"executed"` // jobs status Status string `json:"status"` // Json path of the job status Jsonpath string `json:"jsonpath"` // value of the json path Value string `json:"value"` // is value missing Missing bool `json:"missing"` // name of job Name string `json:"name"` // updated at timestamp UpdatedAt string `json:"updatedAt"` } // LogRequest is the value type for input in GetLogs type LoqRequest struct { Kind string `json:"kind"` Group string `json:"group"` Version string `json:"version"` Name *string `json:"name,omitempty"` Namespace *string `json:"namespace,omitempty"` GetClusterEdgeID bool `json:"getClusterEdgeID"` } // MachineTypeInfo is the value type of GetMachineType and GetMachineTypes queries type MachineTypeInfo struct { Name string `json:"name"` GuestCPUs int `json:"guestCPUs"` MemoryGb int `json:"memoryGB"` } type Mutation struct { } // Return type for queries (bannerNamespaces) and mutations (createNamespace) type Namespace struct { // unique identifier for a Namespace NamespaceEdgeID string `json:"namespaceEdgeId"` // unique identifier for the Banner the Namespace is in BannerEdgeID string `json:"bannerEdgeId"` // name of the Namespace Name string `json:"name"` // Namespace workload type (platform or tenant) Workload WorkloadType `json:"workload"` } // Input type for the createNamespace mutation type NamespaceCreateInput struct { // unique identifier for the Banner the Namespace is in BannerEdgeID string `json:"bannerEdgeId"` // name of the Namespace Name string `json:"name"` // Namespace workload type (platform or tenant) Workload WorkloadType `json:"workload"` } // NamespaceLogLevel is the type namespace and level type NamespaceLogLevel struct { // namespace for the level wanted Namespace string `json:"namespace"` // log level Level string `json:"level"` } // NamespaceLogLevelPayload is the input namespace and level type NamespaceLogLevelPayload struct { // namespace for the level wanted Namespace *string `json:"namespace,omitempty"` // log level Level *string `json:"level,omitempty"` } // Input for creating a new label to cluster mapping type NewClusterLabelInput struct { // cluster id is the id of the cluster the label is attached to ClusterEdgeID string `json:"clusterEdgeId"` // label id is the id of the label we are adding to a cluster LabelEdgeID string `json:"labelEdgeId"` } // Input for creating a new label to terminals mapping type NewTerminalLabelInput struct { // terminal id is the id of the terminal the label is attached to TerminalID string `json:"terminalId"` // label id is the id of the label we are adding to a terminal LabelEdgeID string `json:"labelEdgeId"` } // NodeStatus is not implemented anywhere type NodeStatus struct { Name string `json:"name"` ExternalIP string `json:"externalIP"` InternalIP string `json:"internalIP"` Source *string `json:"source,omitempty"` Status *string `json:"status,omitempty"` } // NodeStatusInput is not implemented anywhere type NodeStatusInput struct { Name string `json:"name"` ExternalIP string `json:"externalIP"` InternalIP string `json:"internalIP"` Source *string `json:"source,omitempty"` Status *string `json:"status,omitempty"` } // Represents an entry into the status.conditions array of a k8s resource // recorded by kinform type ObjStatusCondition struct { Message *string `json:"message,omitempty"` Reason *string `json:"reason,omitempty"` Type string `json:"type"` Status bool `json:"status"` LastTransitionTime *string `json:"lastTransitionTime,omitempty"` } // OiRole represents a single edge Role and all privileges mapped to the role type OiRoleMapping struct { Role Role `json:"role"` Privileges []*Privilege `json:"privileges,omitempty"` } // OktaAuthPayload is the value type of Login mutation type OktaAuthPayload struct { // access token from bsl used when making service calls Token string `json:"token"` // okta refresh token RefreshToken string `json:"refreshToken"` // first name of the user to login FirstName *string `json:"firstName,omitempty"` // last name of the user to login LastName *string `json:"lastName,omitempty"` // full name of the user to login FullName string `json:"fullName"` // username of the user Username string `json:"username"` // roles that have been granted to the user Roles []string `json:"roles,omitempty"` // All banners that the user is allowed to access. This includes all banners in // an org if a user is an org admin Banners []*Banner `json:"banners,omitempty"` // email of the user to login Email string `json:"email"` // a boolean indicating whether the okta token is valid and not expired Valid bool `json:"valid"` // maximum time, in minutes, before the token expires SessionTime float64 `json:"sessionTime"` // organization user is logged into Organization string `json:"organization"` } // Open is the value type of open hours of a store site type Open struct { // opening day hours of the site Day *string `json:"day,omitempty"` // opening time hours of the site Time *string `json:"time,omitempty"` } // OpenInput is the input type of open hours of a store site type OpenInput struct { // opening day hours of the site Day *string `json:"day,omitempty"` // opening time hours of the site Time *string `json:"time,omitempty"` } // Input type for createOperatorInterventionCommands query type OperatorInterventionCommandInput struct { Name string `json:"name"` } // OperatorInterventionErrorResponse is a type returned from the oi configuration mutations. It is // used to indicate issues with the supplied data type OperatorInterventionErrorResponse struct { // type is the type of the input data that caused an issue, e.g. role, privilege etc Type OperatorInterventionErrorType `json:"type"` // command is the value of the command that caused an issue Command *string `json:"command,omitempty"` // privilege is the value of the privilege that caused an issue Privilege *string `json:"privilege,omitempty"` // role is the value of the role that caused an issue Role *string `json:"role,omitempty"` } // Input type for update, read and delete operator intervention privilege. type OperatorInterventionPrivilegeInput struct { // The name of the privilege. Name string `json:"name"` } type PageInfo struct { PreviousCursor string `json:"previousCursor"` CurrentCursor string `json:"currentCursor"` NextCursor string `json:"nextCursor"` HasNextPage bool `json:"hasNextPage"` TotalCount int `json:"totalCount"` } // The status of the pods for the helm workload type Pods struct { // The status of the component of the pod directly from k8s Status string `json:"status"` // The name of the pod Name string `json:"name"` // The status message of the pod directly from k8s Message string `json:"message"` } // privilege represents a single oi privilege type Privilege struct { Name string `json:"name"` } type Provider struct { ProviderSettingsID string `json:"providerSettingsID"` PinAttempts int `json:"pinAttempts"` PinExpire string `json:"pinExpire"` PinHistory int `json:"pinHistory"` PinLength int `json:"pinLength"` BarcodeExpire string `json:"barcodeExpire"` BarcodePrefix string `json:"barcodePrefix"` BarcodeLength int `json:"barcodeLength"` BcryptCost int `json:"bcryptCost"` ProfileExpire string `json:"profileExpire"` } type ProviderInput struct { PinAttempts *int `json:"pinAttempts,omitempty"` PinExpire *string `json:"pinExpire,omitempty"` PinHistory *int `json:"pinHistory,omitempty"` PinLength *int `json:"pinLength,omitempty"` BarcodeExpire *string `json:"barcodeExpire,omitempty"` BarcodePrefix *string `json:"barcodePrefix,omitempty"` BarcodeLength *int `json:"barcodeLength,omitempty"` BcryptCost *int `json:"bcryptCost,omitempty"` ProfileExpire *string `json:"profileExpire,omitempty"` } // Query returns generated.QueryResolver implementation. type Query struct { } // RegistrationPayload is the value type of payload in the registerCluster mutation type RegistrationPayload struct { // name of the store/cluster Name string `json:"name"` // clusterType is the type of cluster we are registering sds, gke ect. Will be represented as a label in sql ClusterType string `json:"clusterType"` // banner name is the name of the banner the cluster will be registered in BannerName string `json:"bannerName"` // banner edge is the optional edge id of the banner that should be used to be more exact. Banner name provided for connect cli command. BannerEdgeID *string `json:"bannerEdgeID,omitempty"` // fleet is the type of cluster we are registering store, basic-store, cluster-infra etc. Will be represented as a label in sql Fleet string `json:"fleet"` // fleetVersion is the version of the cluster fleet manifests to apply. Matches the tag on the fleet pallet, e.g. store. Defaults to latest FleetVersion *string `json:"fleetVersion,omitempty"` // autoUpdateEnabled determines whether the cluster's fleetVersion will be automatically kept up-to-date with new versions AutoUpdateEnabled *bool `json:"autoUpdateEnabled,omitempty"` // store info is information about the cluster relating to store StoreInfo *StoreInfo `json:"storeInfo,omitempty"` // Cluster info is the description of the cluster ClusterInfo *ClusterInfo `json:"clusterInfo,omitempty"` } type RegistrationResponse struct { // cluster edge id is the id created by edge for the cluster ClusterEdgeID string `json:"clusterEdgeId"` // site id is the bsl site id attached to the cluster. Should be the same as site id that is provided SiteID *string `json:"siteId,omitempty"` } // ReplicationStatus represents the status of a replication for couchdb type ReplicationStatus struct { Name string `json:"name"` Status string `json:"status"` } type Rule struct { Privilege *Privilege `json:"privilege"` Commands []*Command `json:"commands,omitempty"` } // Input for finding mapings of labels to clusters type SearchClusterLabelInput struct { // cluster id is the id of the cluster we are looking for labels on ClusterEdgeID *string `json:"clusterEdgeId,omitempty"` // label id is the id of the labels we are looking for LabelEdgeID *string `json:"labelEdgeId,omitempty"` } // Input for finding mapings of labels to terminals. All fields optional but one required to be set for a successful api call. type SearchTerminalLabelInput struct { // terminal id is the id of the terminal we are looking for labels on TerminalID *string `json:"terminalId,omitempty"` // label edge id is the id of the labels we are looking for LabelEdgeID *string `json:"labelEdgeId,omitempty"` // cluster edge id is the edge id of the cluster we are looking for labels on ClusterEdgeID *string `json:"clusterEdgeId,omitempty"` } // Secret is the value type of GetSecrets query type Secret struct { Name string `json:"name"` Description *string `json:"description,omitempty"` FullDescription *string `json:"fullDescription,omitempty"` Namespace string `json:"namespace"` CreatedOn string `json:"createdOn"` } // SecretManagerResponse is the value type of SecretManagerSecrets query. Includes information about a secret. type SecretManagerResponse struct { // Name of the secret. Name string `json:"name"` // GCP project where the secret is stored. Project string `json:"project"` // When the secret was created. Created *string `json:"created,omitempty"` // When the secret was last updated. Updated *string `json:"updated,omitempty"` // Values in the secret. Values []*KeyValuesOutput `json:"values,omitempty"` // The type of the secret (helm-repository, k8s, docker pull). Type *string `json:"type,omitempty"` // Whether the secret is synced to the clusters in the banner. Workload *string `json:"workload,omitempty"` // Owner of the secret. Owner *string `json:"owner,omitempty"` } // ServiceAccount is not implemented anywhere type ServiceAccount struct { ProjectID *string `json:"Project_Id,omitempty"` PrivateKeyID *string `json:"Private_Key_Id,omitempty"` PrivateKey *string `json:"Private_Key,omitempty"` ClientEmail *string `json:"Client_Email,omitempty"` TokenURI *string `json:"Token_Uri,omitempty"` } type Site struct { // siteName of the store SiteName *string `json:"siteName,omitempty"` // status of the store site Status *string `json:"status,omitempty"` // enterpriseUnitName of the store site EnterpriseUnitName *string `json:"enterpriseUnitName,omitempty"` // coordinates of the store site Coordinates *CoordinatesInput `json:"coordinates,omitempty"` // description of the site Description *string `json:"description,omitempty"` // referenceId of the site ReferenceID *string `json:"referenceId,omitempty"` // timeZone of the site TimeZone *string `json:"timeZone,omitempty"` // parentEnterpriseUnitId of the site ParentEnterpriseUnitID *string `json:"parentEnterpriseUnitId,omitempty"` // locked status of the site Locked *bool `json:"locked,omitempty"` // currency of the site Currency *string `json:"currency,omitempty"` // contact of the site Contact *ContactInput `json:"contact,omitempty"` // contacts for the site Contacts []*ContactsInput `json:"contacts,omitempty"` // address of the site Address *AddressInput `json:"address,omitempty"` // dayParts of the site Dayparts []*DaypartsInput `json:"dayparts,omitempty"` // customAttributeSets of the site CustomAttributeSets []*CustomAttributeSetsInput `json:"customAttributeSets,omitempty"` // enterpriseSettings of the site EnterpriseSettings []*EnterpriseSettingsInput `json:"enterpriseSettings,omitempty"` // hours of the site Hours []*HoursInput `json:"hours,omitempty"` } // Store is the value type of GetStores query type Store struct { Name string `json:"name"` ClusterEdgeID string `json:"clusterEdgeId"` ClusterType string `json:"clusterType"` BannerEdgeID string `json:"bannerEdgeId"` CreatedOn string `json:"createdOn"` Endpoint *string `json:"endpoint,omitempty"` IsClusterReady bool `json:"isClusterReady"` Status *ClusterStatus `json:"status,omitempty"` MachineType *string `json:"machineType,omitempty"` KubeVersion *string `json:"kubeVersion,omitempty"` } // StoreInfo is the value type of storeInfo in the RegistrationPayload input type StoreInfo struct { // StoreID is currently unused but was thought to be am id provided by zynstra StoreID *string `json:"storeID,omitempty"` // SiteID is the site id from bsl we will try to attach to the cluster. If the site does not exist an error will be returned SiteID *string `json:"siteID,omitempty"` // createSite will create a new site in bsl. both siteID and createSite should not be set CreateSite *bool `json:"createSite,omitempty"` // latitude for the site being created optional Latitude *float64 `json:"latitude,omitempty"` // longitude for the site being created optional Longitude *float64 `json:"longitude,omitempty"` // reference id for the site being created ReferenceID *string `json:"referenceID,omitempty"` // bsl organization if not provided in the token BslOrganization *string `json:"bslOrganization,omitempty"` } // StoreSiteInfo is the value type of site query type StoreSiteInfo struct { // siteName of the store SiteName string `json:"siteName"` // status of the store site Status string `json:"status"` // enterpriseUnitName of the store site EnterpriseUnitName string `json:"enterpriseUnitName"` // coordinates of the store site Coordinates *Coordinates `json:"coordinates"` // description of the site Description *string `json:"description,omitempty"` // id of the store ID *string `json:"id,omitempty"` // referenceId of the site ReferenceID *string `json:"referenceId,omitempty"` // timeZone of the site TimeZone *string `json:"timeZone,omitempty"` // parentEnterpriseUnitId of the site ParentEnterpriseUnitID *string `json:"parentEnterpriseUnitId,omitempty"` // organizationName of the site OrganizationName *string `json:"organizationName,omitempty"` // locked status of the site Locked *bool `json:"locked,omitempty"` // lastModifiedOn date of the site LastModifiedOn *string `json:"lastModifiedOn,omitempty"` // deactivatedOn date of the site DeactivatedOn *string `json:"deactivatedOn,omitempty"` // createdOn date of the site CreatedOn *string `json:"createdOn,omitempty"` // currency of the site Currency *string `json:"currency,omitempty"` // contact of the site Contact *Contact `json:"contact,omitempty"` // contacts of the site Contacts []*Contacts `json:"contacts,omitempty"` // address of the site Address *Address `json:"address,omitempty"` // dayParts of the site Dayparts []*Dayparts `json:"dayparts,omitempty"` // customAttributeSets of the site CustomAttributeSets []*CustomAttributeSets `json:"customAttributeSets,omitempty"` // enterpriseSettings of the site EnterpriseSettings []*EnterpriseSettings `json:"enterpriseSettings,omitempty"` // hours of the site Hours []*Hours `json:"hours,omitempty"` // config map error ConfigMapError []string `json:"configMapError,omitempty"` } // StoreStatusInfo is the value type of getStoreStatus query type StoreStatusInfo struct { // name of the store Name string `json:"name"` // banner is the name of the banner that the store belongs to BannerEdgeID string `json:"bannerEdgeId"` // status contains the status and message information of the store Status *ClusterStatus `json:"status,omitempty"` // kubeveriosn is the the KubeletVersion of the node resources of the store KubeVersion *string `json:"kubeVersion,omitempty"` // kustomizationStatus is a list of kustomization statuses of the store KustomizationStatus []*KustomizationStatusInformation `json:"kustomizationStatus,omitempty"` // bucketStatus is a list of bucket statuses of the store BucketStatus []*BucketStatusInformation `json:"bucketStatus,omitempty"` } // SupportStatus represents the grouping of infra/edge os status type SupportStatus struct { InfraSupportStatus *InfraSupportStatus `json:"infraSupportStatus,omitempty"` EdgeOsSupportStatus *EdgeOsSupportStatus `json:"edgeOsSupportStatus,omitempty"` } type Tenant struct { TenantEdgeID string `json:"tenantEdgeId"` TenantBSLId string `json:"tenantBSLId"` OrgName string `json:"orgName"` } type TenantInput struct { TenantBSLId string `json:"tenantBSLId"` OrgName string `json:"orgName"` } // Terminal is the value type for terminals and terminalsByCluster queries and createTerminal mutation type Terminal struct { // a unique identifier of a terminal TerminalID string `json:"terminalId"` // cluster edge id is the id created by edge for the cluster ClusterEdgeID string `json:"clusterEdgeId"` // cluster name is the human readable name for the cluster the terminal belongs to ClusterName string `json:"clusterName"` // hostname for the terminal, set to ien-{normalised mac address of first NIC} if not provided Hostname string `json:"hostname"` // customer identifier for the lane Lane *string `json:"lane,omitempty"` // the role specifies how the k8s node runs Role TerminalRoleType `json:"role"` // the class differentiates between front-of-house touchpoints and back-of-house servers Class *TerminalClassType `json:"class,omitempty"` // discoverDisks specifies the disk discovery mode for the terminal DiscoverDisks *TerminalDiscoverDisksType `json:"discoverDisks,omitempty"` // bootDisk specifies the disk the terminal will boot from BootDisk *string `json:"bootDisk,omitempty"` // a list of interfaces associated with a terminal Interfaces []*TerminalInterface `json:"interfaces"` // the primary interface for the terminal PrimaryInterface *string `json:"primaryInterface,omitempty"` // activation code for terminal ActivationCode *string `json:"activationCode,omitempty"` // current version of the assoicated IEN as major.minor.patch Version string `json:"version"` // a list of disks configured for the terminal Disks []*TerminalDisk `json:"disks,omitempty"` // an existing efi partition on the terminal not to be wiped during install ExistingEfiPart *string `json:"existingEfiPart,omitempty"` // swap enablement of a terminal SwapEnabled bool `json:"swapEnabled"` // list of terminal's labels Labels []*TerminalLabel `json:"labels,omitempty"` // Status retrieved from Kube Node CR Status *TerminalStatus `json:"status,omitempty"` // Replication Status retrieves the couchdb replication status of the node ReplicationStatus *ReplicationStatus `json:"replicationStatus,omitempty"` } // TerminalAddress is the value type for the address in the TerminalInterface type type TerminalAddress struct { // a unique identifier for a terminal address TerminalAddressID string `json:"terminalAddressId"` // the IP address to be used by the terminal on the store LAN IP *string `json:"ip,omitempty"` // the IP bitmask size PrefixLen int `json:"prefixLen"` // the type of an address Family InetType `json:"family"` // the terminal interface connected to the terminal address TerminalInterfaceID string `json:"terminalInterfaceId"` } // TerminalAddressInput is the value type for the input for type TerminalAddressCreateInput struct { // the IP address to be used by the terminal on the store LAN IP *string `json:"ip,omitempty"` // the IP bitmask size PrefixLen int `json:"prefixLen"` // the type of an address Family InetType `json:"family"` } type TerminalAddressIDInput struct { // a unique identifier of a terminal address TerminalAddressID string `json:"terminalAddressId"` // the values of the terminal address to update TerminalAddressValues *TerminalAddressUpdateInput `json:"terminalAddressValues"` } type TerminalAddressUpdateInput struct { // the IP address to be used by the terminal on the store LAN IP *string `json:"ip,omitempty"` // the IP bitmask size PrefixLen *int `json:"prefixLen,omitempty"` // the type of an address Family *InetType `json:"family,omitempty"` } // Terminal configurations to bootstrap the cluster type TerminalBootstrap struct { // Terminal configurations (yaml) Configuration string `json:"configuration"` } // TerminalInput is a value type of the input in the createTerminal mutation type TerminalCreateInput struct { // hostname for the terminal, set to ien-{normalised mac address of first NIC} if not provided Hostname *string `json:"hostname,omitempty"` // customer identifier for the lane Lane *string `json:"lane,omitempty"` // the role specifies how the k8s node runs Role TerminalRoleType `json:"role"` // the class differentiates between front-of-house touchpoints and back-of-house servers Class *TerminalClassType `json:"class,omitempty"` // discoverDisks specifies the disk discovery mode for the terminal DiscoverDisks *TerminalDiscoverDisksType `json:"discoverDisks,omitempty"` // bootDisk specifies the disk the terminal will boot from BootDisk *string `json:"bootDisk,omitempty"` // the cluster associated with the terminal ClusterEdgeID string `json:"clusterEdgeId"` // a list of interfaces associated with a terminal Interfaces []*TerminalInterfaceCreateInput `json:"interfaces"` // a list of disks to configure for the terminal Disks []*TerminalDiskCreateInput `json:"disks,omitempty"` // an existing efi partition on the terminal not to be wiped during install ExistingEfiPart *string `json:"existingEfiPart,omitempty"` // swap enablement of a terminal, defaults to false SwapEnabled *bool `json:"swapEnabled,omitempty"` } type TerminalDevices struct { // list of device classes on a terminal Classes []*ClassDeviceMap `json:"classes,omitempty"` } type TerminalDisk struct { // unique identifier for the disk TerminalDiskID string `json:"terminalDiskId"` // the terminal this disk is associated with TerminalID string `json:"terminalId"` // indicates whether the disk is included or excluded form the LVM thin pool IncludeDisk bool `json:"includeDisk"` // indicates whether we expect the disk to be empty. If false then existing data will be overwritten ExpectEmpty bool `json:"expectEmpty"` // the terminal disk path DevicePath string `json:"devicePath"` // indicates whether EdgeOS should be be installed to a new partition, which will consume all un-allocated disk space UsePart bool `json:"usePart"` } type TerminalDiskCreateInput struct { // indicates whether the disk is included or excluded form the LVM thin pool IncludeDisk bool `json:"includeDisk"` // indicates whether we expect the disk to be empty. If false then existing data will be overwritten ExpectEmpty bool `json:"expectEmpty"` // the terminal disk path DevicePath string `json:"devicePath"` // indicates whether EdgeOS should be be installed to a new partition, which will consume all un-allocated disk space UsePart bool `json:"usePart"` } type TerminalDiskIDInput struct { // unique identifier for the disk TerminalDiskID string `json:"terminalDiskId"` // the values of the terminal disk to update TerminalDiskValues *TerminalDiskUpdateInput `json:"terminalDiskValues"` } type TerminalDiskUpdateInput struct { // indicates whether the disk is included or excluded form the LVM thin pool IncludeDisk *bool `json:"includeDisk,omitempty"` // indicates whether we expect the disk to be empty. If false then existing data will be overwritten ExpectEmpty *bool `json:"expectEmpty,omitempty"` // the terminal disk path DevicePath *string `json:"devicePath,omitempty"` // indicates whether EdgeOS should be be installed to a new partition, which will consume all un-allocated disk space UsePart *bool `json:"usePart,omitempty"` } // the value type for the updateTerminal mutation type TerminalIDInput struct { // a unique identifier of a terminal TerminalID string `json:"terminalId"` // the parts of the terminal that can be changed after its creation TerminalValues *TerminalUpdateInput `json:"terminalValues"` } // TerminalInterface is the value type for interfaces in the terminal type type TerminalInterface struct { // a unique identifier of a terminal interface TerminalInterfaceID string `json:"terminalInterfaceId"` // the terminal this interface is associated with TerminalID string `json:"terminalId"` // the mac address of the terminal interface MacAddress string `json:"macAddress"` // specifies if DHCP is set for IPv4 addressing Dhcp4 bool `json:"dhcp4"` // specifies if DHCP is set for IPv6 addressing Dhcp6 bool `json:"dhcp6"` // a list terminal address connected to the terminal interface Addresses []*TerminalAddress `json:"addresses,omitempty"` // default gateway address used by a terminal for ipv4 Gateway4 *string `json:"gateway4,omitempty"` // default gateway address used by a terminal for ipv6 Gateway6 *string `json:"gateway6,omitempty"` } // TerminalInterfaceInput is the value type for the input for TerminalInput type TerminalInterfaceCreateInput struct { // the mac address of the terminal interface MacAddress string `json:"macAddress"` // specifies if DHCP is set for IPv4 addressing Dhcp4 bool `json:"dhcp4"` // specifies if DHCP is set for IPv6 addressing Dhcp6 bool `json:"dhcp6"` // a list terminal address connected to the terminal interface Addresses []*TerminalAddressCreateInput `json:"addresses,omitempty"` // default gateway address used by a terminal for ipv4 Gateway4 *string `json:"gateway4,omitempty"` // default gateway address used by a terminal for ipv6 Gateway6 *string `json:"gateway6,omitempty"` } type TerminalInterfaceIDInput struct { // a unique identifier of a terminal interface TerminalInterfaceID string `json:"terminalInterfaceId"` // the values of the terminal interface to update TerminalInterfaceValues *TerminalInterfaceUpdateInput `json:"terminalInterfaceValues"` } type TerminalInterfaceUpdateInput struct { // the mac address of the terminal interface MacAddress *string `json:"macAddress,omitempty"` // specifies if DHCP is set for IPv4 addressing Dhcp4 *bool `json:"dhcp4,omitempty"` // specifies if DHCP is set for IPv6 addressing Dhcp6 *bool `json:"dhcp6,omitempty"` // a list terminal address connected to the terminal interface Addresses []*TerminalAddressIDInput `json:"addresses,omitempty"` // default gateway address used by a terminal for ipv4 Gateway4 *string `json:"gateway4,omitempty"` // default gateway address used by a terminal for ipv6 Gateway6 *string `json:"gateway6,omitempty"` } type TerminalLabel struct { // terminal id is the id of the terminal TerminalID string `json:"terminalId"` // label id is the id of the label LabelEdgeID string `json:"labelEdgeId"` // terminal label Edge id is the unique identifier of the terminal label TerminalLabelEdgeID string `json:"terminalLabelEdgeId"` // Label details Label *Label `json:"label"` } type TerminalStatus struct { Message string `json:"message"` Status string `json:"status"` } func (TerminalStatus) IsIStatus() {} func (this TerminalStatus) GetMessage() string { return this.Message } func (this TerminalStatus) GetStatus() string { return this.Status } type TerminalUpdateInput struct { // customer identifier for the lane Lane *string `json:"lane,omitempty"` // the role specifies how the k8s node runs Role *TerminalRoleType `json:"role,omitempty"` // the class differentiates between front-of-house touchpoints and back-of-house servers Class *TerminalClassType `json:"class,omitempty"` // discoverDisks specifies the disk discovery mode for the terminal DiscoverDisks *TerminalDiscoverDisksType `json:"discoverDisks,omitempty"` // bootDisk specifies the disk the terminal will boot from BootDisk *string `json:"bootDisk,omitempty"` // a list of interfaces associated with a terminal Interfaces []*TerminalInterfaceIDInput `json:"interfaces,omitempty"` // the primary interface for the terminal PrimaryInterface *string `json:"primaryInterface,omitempty"` // a list of disks to configure for the terminal Disks []*TerminalDiskIDInput `json:"disks,omitempty"` // an existing efi partition on the terminal not to be wiped during install ExistingEfiPart *string `json:"existingEfiPart,omitempty"` // swap enablement of a terminal SwapEnabled *bool `json:"swapEnabled,omitempty"` } // Totp is the value type of the GetTotp query type Totp struct { Code string `json:"code"` CreatedAt string `json:"createdAt"` ExpiresAt string `json:"expiresAt"` Duration int `json:"duration"` } // UIConfig is the output value type of UIConfig query type UIConfig struct { Issuer string `json:"issuer"` ClientID string `json:"clientId"` LdKey string `json:"ldKey"` GaTrackingID string `json:"gaTrackingId"` } type UpdateBannerConfig struct { VncReadWriteAuthRequired *bool `json:"vncReadWriteAuthRequired,omitempty"` VncReadWriteAuthRequiredOverride *bool `json:"vncReadWriteAuthRequiredOverride,omitempty"` VncReadAuthRequired *bool `json:"vncReadAuthRequired,omitempty"` VncReadAuthRequiredOverride *bool `json:"vncReadAuthRequiredOverride,omitempty"` } // Input object for updating log classifications // TODO: TO BE DEPRECATED IN 0.25 @RS185722 type UpdateClassificationInput struct { // description is a brief overview of the classification Description *string `json:"description,omitempty"` // pod name to be targeted Pod *string `json:"pod,omitempty"` // container name to be targeted Container *string `json:"container,omitempty"` // log grouping for the log Type *string `json:"type,omitempty"` // class identifying for the log Class *LogClassSelection `json:"class,omitempty"` // pattern is the sub string to identify the log Pattern *string `json:"pattern,omitempty"` } type UpdateClusterConfig struct { AcRelay *bool `json:"acRelay,omitempty"` PxeEnabled *bool `json:"pxeEnabled,omitempty"` BootstrapAck *bool `json:"bootstrapAck,omitempty"` VpnEnabled *bool `json:"vpnEnabled,omitempty"` ThickPos *bool `json:"thickPos,omitempty"` EgressGatewayEnabled *bool `json:"egressGatewayEnabled,omitempty"` GatewayRateLimitingEnabled *bool `json:"gatewayRateLimitingEnabled,omitempty"` UplinkRateLimit *string `json:"uplinkRateLimit,omitempty"` DownlinkRateLimit *string `json:"downlinkRateLimit,omitempty"` ClusterLogLevel *string `json:"clusterLogLevel,omitempty"` NamespaceLogLevels []*NamespaceLogLevelPayload `json:"namespaceLogLevels,omitempty"` MaximumLanOutageHours *int `json:"maximumLanOutageHours,omitempty"` AutoUpdateEnabled *bool `json:"autoUpdateEnabled,omitempty"` // Deprecated: linkerd fields are deprecated LinkerdIdentityIssuerCertDuration *int `json:"linkerdIdentityIssuerCertDuration,omitempty"` // Deprecated: linkerd fields are deprecated LinkerdIdentityIssuerCertRenewBefore *int `json:"linkerdIdentityIssuerCertRenewBefore,omitempty"` VncReadWriteAuthRequired *bool `json:"vncReadWriteAuthRequired,omitempty"` VncReadAuthRequired *bool `json:"vncReadAuthRequired,omitempty"` } // input object for log replay options type UpdateLogReplayPayload struct { // job is queued or not Queued *bool `json:"queued,omitempty"` // job is executed or not Executed *bool `json:"executed,omitempty"` // jobs status Status *LogReplayStatus `json:"status,omitempty"` } type UpdateNetworkServiceInfo struct { // id of the network service NetworkServiceID string `json:"networkServiceId"` // ip address of the network service IP string `json:"ip"` // network family inet (ipv4) or inet6 (ipv6) Family string `json:"family"` // priority of the network service (default 100) Priority *int `json:"priority,omitempty"` } // UpdateOperatorInterventionRoleMappingInput is the input type for the updateOperatorInterventionRoleMapping mutation. type UpdateOperatorInterventionRoleMappingInput struct { // role is the Edge Role that a new mapping is being created for Role string `json:"role"` // privileges is the list of privileges to be added to the existing privileges mapped to the given role. Privileges []*OperatorInterventionPrivilegeInput `json:"privileges,omitempty"` } // UpdateOperatorInterventionRoleMappingResponse is the response type of the updateOperatorInterventionRoleMapping mutation. type UpdateOperatorInterventionRoleMappingResponse struct { // errors indicate if any of the roles or privileges referenced in the // UpdateOperatorInterventionRoleMappingInput are invalid. If any errors are present, no mappings // will be added Errors []*OperatorInterventionErrorResponse `json:"errors,omitempty"` } type UpdateOperatorInterventionRuleInput struct { Privilege *OperatorInterventionPrivilegeInput `json:"privilege"` Commands []*OperatorInterventionCommandInput `json:"commands,omitempty"` } type UpdateOperatorInterventionRuleResponse struct { // List of errors that occurred during the deletion process. Errors []*OperatorInterventionErrorResponse `json:"errors,omitempty"` } // UpdateUser is the value type of Update User Profile mutation type UpdateUser struct { // full qualified username of the user profile to update Username string `json:"username" validate:"required,alphanum,min=3,max=30"` // family name of the user profile to update FamilyName *string `json:"familyName,omitempty" validate:"alphanum,min=3,max=30"` // full name of the user profile to update FullName *string `json:"fullName,omitempty" validate:"alphanum,min=3,max=30"` // given name of the user profile to update GivenName *string `json:"givenName,omitempty" validate:"alphanum,min=3,max=30"` // status of the user profile to update Status *string `json:"status,omitempty" validate:"alphanum"` // email of the user profile to update Email *string `json:"email,omitempty" validate:"email"` // telephone number of the user profile to update TelephoneNumber *string `json:"telephoneNumber,omitempty" validate:"number"` // address of the user profile to update Address *UpdateUserAddress `json:"address,omitempty"` } // UpdateUserAddress is the value type of Update User input for the Update User Profile mutation type UpdateUserAddress struct { // city of the user profile to update City *string `json:"city,omitempty" validate:"alphanum,min=3,max=30"` // country of the user profile to update Country *string `json:"country,omitempty" validate:"alphanum,min=3,max=30"` // postal code of the user profile to update PostalCode *string `json:"postalCode,omitempty" validate:"alphanum,min=3,max=30"` // state of the user profile to update State *string `json:"state,omitempty" validate:"alphanum,min=3,max=30"` // street of the user profile to update Street *string `json:"street,omitempty" validate:"alphanum,min=3,max=30"` } // User is the value type of GetUsers query type User struct { Username string `json:"username"` FamilyName string `json:"familyName"` GivenName string `json:"givenName"` FullName string `json:"fullName"` Email *string `json:"email,omitempty"` Status string `json:"status"` UserData *UserData `json:"userData,omitempty"` } // UserData is the value type of GetUserData query type UserData struct { AssignedBanners []*BannerInfo `json:"assignedBanners,omitempty"` Roles []string `json:"roles,omitempty"` } // Return type for queries (virtualMachine, virtualMachines) and mutations (createVirtualMachine, updateVirtualMachine) type VirtualMachine struct { // a unique identifier of a Virtual Machine (VM) VirtualMachineID string `json:"virtualMachineId"` // namespace vm will be deployed to Namespace string `json:"namespace"` // cluster edge id is the id created by edge for the cluster ClusterEdgeID string `json:"clusterEdgeId"` // cluster name is the human readable name for the cluster the Virtual Machine (VM) belongs to ClusterName string `json:"clusterName"` // hostname for the Virtual Machine (VM) Hostname string `json:"hostname"` // target power state of Virtual Machine (VM), with true=on and false=off TargetPowerState bool `json:"targetPowerState"` // number of Virtual Machine (VM) cpus Cpus int `json:"cpus"` // assigned Virtual Machine (VM) memory Memory string `json:"memory"` // assigned machine type (q35 or i440fx) MachineType MachineType `json:"machineType"` // associated disk(s) Disks []*VirtualMachineDisk `json:"disks,omitempty"` } // Input type for the createVirtualMachine mutation type VirtualMachineCreateInput struct { // unique identifier for a namespace NamespaceEdgeID string `json:"namespaceEdgeId"` // cluster edge id is the id created by edge for the cluster ClusterEdgeID string `json:"clusterEdgeId"` // hostname for the Virtual Machine (VM) Hostname string `json:"hostname"` // target power state of Virtual Machine (VM), with true=on and false=off TargetPowerState *bool `json:"targetPowerState,omitempty"` // number of Virtual Machine (VM) cpus Cpus *int `json:"cpus,omitempty"` // assigned Virtual Machine (VM) memory Memory *string `json:"memory,omitempty"` // assigned machine type (q35 or i440fx) MachineType *MachineType `json:"machineType,omitempty"` // create input for associated disk(s) Disks []*VirtualMachineDiskCreateInput `json:"disks,omitempty"` } // Return type for queries (virtualMachineDisk, virtualMachineDisks) and mutations (createVirtualMachineDisks, updateVirtualMachineDisks). Also type for VirtualMachine.disks type VirtualMachineDisk struct { // unique id for the disk DiskID string `json:"diskId"` // unique id for the associated Virtual Machine VirtualMachineID string `json:"virtualMachineId"` // type of disk (cdrom, disk) Type DiskType `json:"type"` // bus type for the disk (sata, virtio) Bus BusType `json:"bus"` // order this disk should boot in within the Virtual Machine BootOrder int `json:"bootOrder"` // disk capacity Size string `json:"size"` // IEN url for the disk's image ContainerImageURL string `json:"containerImageUrl"` } // Input type for the createVirtualMachineDisks mutation. Also type for VirtualMachineCreateInput.disks type VirtualMachineDiskCreateInput struct { // type of disk (cdrom, disk) Type *DiskType `json:"type,omitempty"` // bus type for the disk (sata, virtio) Bus *BusType `json:"bus,omitempty"` // order this disk should boot in within the Virtual Machine BootOrder int `json:"bootOrder"` // disk capacity Size *string `json:"size,omitempty"` // IEN url for the disk's image ContainerImageURL *string `json:"containerImageUrl,omitempty"` } // Input type for the updateVirtualMachineDisks mutation. Also type for VirtualMachineUpdateInput.disks type VirtualMachineDiskIDInput struct { // unique id for the disk DiskID string `json:"diskId"` // disk values to update VirtualMachineDiskValues *VirtualMachineDiskUpdateInput `json:"virtualMachineDiskValues"` } // Forms part of input to updateVirtualMachineDisks mutation type VirtualMachineDiskUpdateInput struct { // type of disk (cdrom, disk) Type *DiskType `json:"type,omitempty"` // bus type for the disk (sata, virtio) Bus *BusType `json:"bus,omitempty"` // order this disk should boot in within the Virtual Machine BootOrder *int `json:"bootOrder,omitempty"` // disk capacity Size *string `json:"size,omitempty"` // IEN url for the disk's image ContainerImageURL *string `json:"containerImageUrl,omitempty"` } // Input type for the updateVirtualMachine mutation type VirtualMachineIDInput struct { // a unique identifier of a Virtual Machine (VM) VirtualMachineID string `json:"virtualMachineId"` // the parts of the Virtual Machine (VM) that can be changed after its creation VirtualMachineValues *VirtualMachineUpdateInput `json:"virtualMachineValues"` } // Input type for virtual machine name and namespace metadata, used to uniquely identify a VM within a cluster type VirtualMachineMetadataInput struct { // name of virtual machine Name string `json:"name"` // namespace the virtual machine is in Namespace string `json:"namespace"` } type VirtualMachineStatus struct { Name string `json:"name"` Namespace string `json:"namespace"` ClusterEdgeID string `json:"clusterEdgeId"` Conditions []*ObjStatusCondition `json:"conditions,omitempty"` Node *string `json:"node,omitempty"` HelmEdgeID *string `json:"helmEdgeId,omitempty"` } // Forms part of input to updateVirtualMachine mutation type VirtualMachineUpdateInput struct { // target power state of Virtual Machine (VM), with true=on and false=off TargetPowerState *bool `json:"targetPowerState,omitempty"` // number of Virtual Machine (VM) cpus Cpus *int `json:"cpus,omitempty"` // assigned Virtual Machine (VM) memory Memory *string `json:"memory,omitempty"` // assigned machine type (q35 or i440fx) MachineType *MachineType `json:"machineType,omitempty"` // update input for associated disk(s) Disks []*VirtualMachineDiskIDInput `json:"disks,omitempty"` } // Input for finding mapings of labels to worklaods type WorkloadLabelInput struct { // HelmEdgeID is the id of the workload we are looking for labels on HelmEdgeID string `json:"helmEdgeId"` // label id is the id of the labels we are looking for LabelEdgeID string `json:"labelEdgeId"` } // HelmConfigSchemaParams is the value type of params in the DefaultSchemaConfig and HelmRepositoryInfo queries. Used to get the matching schema config. type HelmConfigSchemaParams struct { // Name of the helm repository secret SecretName string `json:"secretName"` // Banner id for the helm repository BannerEdgeID string `json:"bannerEdgeId"` // Name of the helm chart. ChartName string `json:"chartName"` // Version of the helm chart ChartVersion string `json:"chartVersion"` } // HelmReleasePayload is the value type of payload in the CreateHelmRelease mutation type HelmReleasePayload struct { // Name of the helm workload Name string `json:"name"` // Secret for the helm repository Secret string `json:"secret"` // Helm repository for the helm chart installed HelmRepository string `json:"helmRepository"` // Helm chart installed HelmChart string `json:"helmChart"` // Version of the helm chart installed Version string `json:"version"` // Cluster the helm chart will be installed to ClusterEdgeID *string `json:"clusterEdgeId,omitempty"` // Banner the helm chart will be installed to BannerEdgeID *string `json:"bannerEdgeId,omitempty"` // Namespace the helm chart is installed to. Namespace string `json:"namespace"` // Config value overrides applied when installing the helm chart. ConfigValues *string `json:"configValues,omitempty"` // Secrets in secret manager that should be attached to the workload. Edge will generate the secrets and sync them to the cluster in the same namespace as the workload Secrets []string `json:"secrets,omitempty"` // Type of installation. Check the enum for full list. Default: ANY InstallationType *WorkloadInstallationType `json:"installationType,omitempty"` // Node targeting labels for the helm workload. Pods will only run on nodes that have matching labels. Labels []string `json:"labels,omitempty"` // injectConfigmaps configmaps to inject to workload ns InjectConfigmaps []InjectableConfigmaps `json:"injectConfigmaps,omitempty"` } // HttpGet is the value type of httpGet in the Probe type type HTTPGet struct { Path string `json:"path"` Port int `json:"port"` Scheme string `json:"scheme"` } // KeyValues is the value type of values in CreateOrUpdateSecretManagerSecret mutation and CreateSecret mutation type KeyValues struct { Key string `json:"key"` Value string `json:"value"` } // KeyValuesOutput is the value type of values in SecretManagerResponse type and customLabels in StoreLabels type type KeyValuesOutput struct { Key string `json:"key"` Value string `json:"value"` } // LivenessReadinessResponse is not implemented anywhere type LivenessReadinessResponse struct { ReadinessProbe *Probe `json:"readinessProbe,omitempty"` LivenessProbe *Probe `json:"livenessProbe,omitempty"` PodStatus []*PodStatus `json:"podStatus,omitempty"` } // PodCondition is the value type of conditions in the PodStatus type type PodCondition struct { LastProbeTime *string `json:"lastProbeTime,omitempty"` LastTransitionTime string `json:"lastTransitionTime"` Status string `json:"status"` Type string `json:"type"` } // PodStatus is the value type of podStatus in the LivenessReadinessResponse type type PodStatus struct { Name string `json:"name"` RestartCount int `json:"restartCount"` Ready bool `json:"ready"` Started bool `json:"started"` Conditions []*PodCondition `json:"conditions,omitempty"` } // Probe is value type of livenessProbe and readinessProbe the LivenessReadinessResponse type type Probe struct { FailureThreshold string `json:"failureThreshold"` HTTPGet *HTTPGet `json:"httpGet,omitempty"` PeriodSeconds int `json:"periodSeconds"` SuccessThreshold int `json:"successThreshold"` TimeoutSeconds int `json:"timeoutSeconds"` } // ValidateHelmConfigParams is the payload params for validateHelmConfig mutation type ValidateHelmConfigParams struct { // Helm repository secret for the helm chart. SecretName string `json:"secretName"` // Banner id for the helm chart. BannerEdgeID string `json:"bannerEdgeId"` // Name of the helm chart. ChartName string `json:"chartName"` // Helm chart version. ChartVersion string `json:"chartVersion"` // Helm configuratin values to validate HelmConfig string `json:"helmConfig"` } // enum for the different types of actions type ActionStatus string const ( // The action was successful ActionStatusSuccess ActionStatus = "SUCCESS" // The action failed. Can check the error field for reason. ActionStatusFailed ActionStatus = "FAILED" // The action was partially successful ActionStatusPartialfailure ActionStatus = "PARTIALFAILURE" ) var AllActionStatus = []ActionStatus{ ActionStatusSuccess, ActionStatusFailed, ActionStatusPartialfailure, } func (e ActionStatus) IsValid() bool { switch e { case ActionStatusSuccess, ActionStatusFailed, ActionStatusPartialfailure: return true } return false } func (e ActionStatus) String() string { return string(e) } func (e *ActionStatus) UnmarshalGQL(v interface{}) error { str, ok := v.(string) if !ok { return fmt.Errorf("enums must be strings") } *e = ActionStatus(str) if !e.IsValid() { return fmt.Errorf("%s is not a valid ActionStatus", str) } return nil } func (e ActionStatus) MarshalGQL(w io.Writer) { fmt.Fprint(w, strconv.Quote(e.String())) } // enum for the different types of AuthProviders type AuthProvider string const ( AuthProviderBsl AuthProvider = "bsl" AuthProviderOkta AuthProvider = "okta" ) var AllAuthProvider = []AuthProvider{ AuthProviderBsl, AuthProviderOkta, } func (e AuthProvider) IsValid() bool { switch e { case AuthProviderBsl, AuthProviderOkta: return true } return false } func (e AuthProvider) String() string { return string(e) } func (e *AuthProvider) UnmarshalGQL(v interface{}) error { str, ok := v.(string) if !ok { return fmt.Errorf("enums must be strings") } *e = AuthProvider(str) if !e.IsValid() { return fmt.Errorf("%s is not a valid AuthProvider", str) } return nil } func (e AuthProvider) MarshalGQL(w io.Writer) { fmt.Fprint(w, strconv.Quote(e.String())) } // The bus types a Virtual Machine's Disk can have type BusType string const ( BusTypeSata BusType = "sata" BusTypeVirtio BusType = "virtio" ) var AllBusType = []BusType{ BusTypeSata, BusTypeVirtio, } func (e BusType) IsValid() bool { switch e { case BusTypeSata, BusTypeVirtio: return true } return false } func (e BusType) String() string { return string(e) } func (e *BusType) UnmarshalGQL(v interface{}) error { str, ok := v.(string) if !ok { return fmt.Errorf("enums must be strings") } *e = BusType(str) if !e.IsValid() { return fmt.Errorf("%s is not a valid BusType", str) } return nil } func (e BusType) MarshalGQL(w io.Writer) { fmt.Fprint(w, strconv.Quote(e.String())) } // The secret type for a cluster type ClusterSecretType string const ( ClusterSecretTypeBreakglass ClusterSecretType = "breakglass" ClusterSecretTypeGrub ClusterSecretType = "grub" ) var AllClusterSecretType = []ClusterSecretType{ ClusterSecretTypeBreakglass, ClusterSecretTypeGrub, } func (e ClusterSecretType) IsValid() bool { switch e { case ClusterSecretTypeBreakglass, ClusterSecretTypeGrub: return true } return false } func (e ClusterSecretType) String() string { return string(e) } func (e *ClusterSecretType) UnmarshalGQL(v interface{}) error { str, ok := v.(string) if !ok { return fmt.Errorf("enums must be strings") } *e = ClusterSecretType(str) if !e.IsValid() { return fmt.Errorf("%s is not a valid ClusterSecretType", str) } return nil } func (e ClusterSecretType) MarshalGQL(w io.Writer) { fmt.Fprint(w, strconv.Quote(e.String())) } // The disk types a Virtual Machine's Disk can have type DiskType string const ( DiskTypeCdrom DiskType = "cdrom" DiskTypeDisk DiskType = "disk" ) var AllDiskType = []DiskType{ DiskTypeCdrom, DiskTypeDisk, } func (e DiskType) IsValid() bool { switch e { case DiskTypeCdrom, DiskTypeDisk: return true } return false } func (e DiskType) String() string { return string(e) } func (e *DiskType) UnmarshalGQL(v interface{}) error { str, ok := v.(string) if !ok { return fmt.Errorf("enums must be strings") } *e = DiskType(str) if !e.IsValid() { return fmt.Errorf("%s is not a valid DiskType", str) } return nil } func (e DiskType) MarshalGQL(w io.Writer) { fmt.Fprint(w, strconv.Quote(e.String())) } // This is the list of bsl roles that correspond to the EDGE_BANNER_ADMIN role type EdgeBannerAdmin string const ( EdgeBannerAdminNepEnterpriseViewer EdgeBannerAdmin = "NEP_ENTERPRISE_VIEWER" EdgeBannerAdminNepEnterpriseGrantAdministrator EdgeBannerAdmin = "NEP_ENTERPRISE_GRANT_ADMINISTRATOR" EdgeBannerAdminNepIDEntityViewer EdgeBannerAdmin = "NEP_IDENTITY_VIEWER" EdgeBannerAdminNepOrganizationViewer EdgeBannerAdmin = "NEP_ORGANIZATION_VIEWER" EdgeBannerAdminSiteCreate EdgeBannerAdmin = "SITE_CREATE" EdgeBannerAdminSiteRead EdgeBannerAdmin = "SITE_READ" EdgeBannerAdminSiteUpdate EdgeBannerAdmin = "SITE_UPDATE" EdgeBannerAdminNepTokenExchanger EdgeBannerAdmin = "NEP_TOKEN_EXCHANGER" EdgeBannerAdminNepIDEntityGroupAddMembers EdgeBannerAdmin = "NEP_IDENTITY_GROUP_ADD_MEMBERS" EdgeBannerAdminNepIDEntityGroupRemoveMembers EdgeBannerAdmin = "NEP_IDENTITY_GROUP_REMOVE_MEMBERS" ) var AllEdgeBannerAdmin = []EdgeBannerAdmin{ EdgeBannerAdminNepEnterpriseViewer, EdgeBannerAdminNepEnterpriseGrantAdministrator, EdgeBannerAdminNepIDEntityViewer, EdgeBannerAdminNepOrganizationViewer, EdgeBannerAdminSiteCreate, EdgeBannerAdminSiteRead, EdgeBannerAdminSiteUpdate, EdgeBannerAdminNepTokenExchanger, EdgeBannerAdminNepIDEntityGroupAddMembers, EdgeBannerAdminNepIDEntityGroupRemoveMembers, } func (e EdgeBannerAdmin) IsValid() bool { switch e { case EdgeBannerAdminNepEnterpriseViewer, EdgeBannerAdminNepEnterpriseGrantAdministrator, EdgeBannerAdminNepIDEntityViewer, EdgeBannerAdminNepOrganizationViewer, EdgeBannerAdminSiteCreate, EdgeBannerAdminSiteRead, EdgeBannerAdminSiteUpdate, EdgeBannerAdminNepTokenExchanger, EdgeBannerAdminNepIDEntityGroupAddMembers, EdgeBannerAdminNepIDEntityGroupRemoveMembers: return true } return false } func (e EdgeBannerAdmin) String() string { return string(e) } func (e *EdgeBannerAdmin) UnmarshalGQL(v interface{}) error { str, ok := v.(string) if !ok { return fmt.Errorf("enums must be strings") } *e = EdgeBannerAdmin(str) if !e.IsValid() { return fmt.Errorf("%s is not a valid EDGE_BANNER_ADMIN", str) } return nil } func (e EdgeBannerAdmin) MarshalGQL(w io.Writer) { fmt.Fprint(w, strconv.Quote(e.String())) } // This is the list of bsl roles that correspond to the EDGE_BANNER_OPERATOR role type EdgeBannerOperator string const ( EdgeBannerOperatorNepEnterpriseViewer EdgeBannerOperator = "NEP_ENTERPRISE_VIEWER" EdgeBannerOperatorNepEnterpriseGrantViewer EdgeBannerOperator = "NEP_ENTERPRISE_GRANT_VIEWER" EdgeBannerOperatorNepIDEntityViewer EdgeBannerOperator = "NEP_IDENTITY_VIEWER" EdgeBannerOperatorNepOrganizationViewer EdgeBannerOperator = "NEP_ORGANIZATION_VIEWER" EdgeBannerOperatorSiteCreate EdgeBannerOperator = "SITE_CREATE" EdgeBannerOperatorSiteRead EdgeBannerOperator = "SITE_READ" EdgeBannerOperatorSiteUpdate EdgeBannerOperator = "SITE_UPDATE" EdgeBannerOperatorNepTokenExchanger EdgeBannerOperator = "NEP_TOKEN_EXCHANGER" ) var AllEdgeBannerOperator = []EdgeBannerOperator{ EdgeBannerOperatorNepEnterpriseViewer, EdgeBannerOperatorNepEnterpriseGrantViewer, EdgeBannerOperatorNepIDEntityViewer, EdgeBannerOperatorNepOrganizationViewer, EdgeBannerOperatorSiteCreate, EdgeBannerOperatorSiteRead, EdgeBannerOperatorSiteUpdate, EdgeBannerOperatorNepTokenExchanger, } func (e EdgeBannerOperator) IsValid() bool { switch e { case EdgeBannerOperatorNepEnterpriseViewer, EdgeBannerOperatorNepEnterpriseGrantViewer, EdgeBannerOperatorNepIDEntityViewer, EdgeBannerOperatorNepOrganizationViewer, EdgeBannerOperatorSiteCreate, EdgeBannerOperatorSiteRead, EdgeBannerOperatorSiteUpdate, EdgeBannerOperatorNepTokenExchanger: return true } return false } func (e EdgeBannerOperator) String() string { return string(e) } func (e *EdgeBannerOperator) UnmarshalGQL(v interface{}) error { str, ok := v.(string) if !ok { return fmt.Errorf("enums must be strings") } *e = EdgeBannerOperator(str) if !e.IsValid() { return fmt.Errorf("%s is not a valid EDGE_BANNER_OPERATOR", str) } return nil } func (e EdgeBannerOperator) MarshalGQL(w io.Writer) { fmt.Fprint(w, strconv.Quote(e.String())) } // This is the list of bsl roles that correspond to the EDGE_BANNER_VIEWER role type EdgeBannerViewer string const ( EdgeBannerViewerNepEnterpriseViewer EdgeBannerViewer = "NEP_ENTERPRISE_VIEWER" EdgeBannerViewerNepEnterpriseGrantViewer EdgeBannerViewer = "NEP_ENTERPRISE_GRANT_VIEWER" EdgeBannerViewerNepIDEntityViewer EdgeBannerViewer = "NEP_IDENTITY_VIEWER" EdgeBannerViewerNepOrganizationViewer EdgeBannerViewer = "NEP_ORGANIZATION_VIEWER" EdgeBannerViewerNepTokenExchanger EdgeBannerViewer = "NEP_TOKEN_EXCHANGER" EdgeBannerViewerSiteRead EdgeBannerViewer = "SITE_READ" ) var AllEdgeBannerViewer = []EdgeBannerViewer{ EdgeBannerViewerNepEnterpriseViewer, EdgeBannerViewerNepEnterpriseGrantViewer, EdgeBannerViewerNepIDEntityViewer, EdgeBannerViewerNepOrganizationViewer, EdgeBannerViewerNepTokenExchanger, EdgeBannerViewerSiteRead, } func (e EdgeBannerViewer) IsValid() bool { switch e { case EdgeBannerViewerNepEnterpriseViewer, EdgeBannerViewerNepEnterpriseGrantViewer, EdgeBannerViewerNepIDEntityViewer, EdgeBannerViewerNepOrganizationViewer, EdgeBannerViewerNepTokenExchanger, EdgeBannerViewerSiteRead: return true } return false } func (e EdgeBannerViewer) String() string { return string(e) } func (e *EdgeBannerViewer) UnmarshalGQL(v interface{}) error { str, ok := v.(string) if !ok { return fmt.Errorf("enums must be strings") } *e = EdgeBannerViewer(str) if !e.IsValid() { return fmt.Errorf("%s is not a valid EDGE_BANNER_VIEWER", str) } return nil } func (e EdgeBannerViewer) MarshalGQL(w io.Writer) { fmt.Fprint(w, strconv.Quote(e.String())) } // This is the list of bsl roles that correspond to the EDGE_ENGINEERING_LEADS role type EdgeEngineeringLeads string const ( EdgeEngineeringLeadsNepEnterpriseAdministrator EdgeEngineeringLeads = "NEP_ENTERPRISE_ADMINISTRATOR" EdgeEngineeringLeadsNepEnterpriseGrantAdministrator EdgeEngineeringLeads = "NEP_ENTERPRISE_GRANT_ADMINISTRATOR" EdgeEngineeringLeadsNepRolegrantAdministrator EdgeEngineeringLeads = "NEP_ROLEGRANT_ADMINISTRATOR" EdgeEngineeringLeadsNepIDEntityAdministrator EdgeEngineeringLeads = "NEP_IDENTITY_ADMINISTRATOR" EdgeEngineeringLeadsOrganizationInternalAdministrator EdgeEngineeringLeads = "ORGANIZATION_INTERNAL_ADMINISTRATOR" EdgeEngineeringLeadsSiteCreate EdgeEngineeringLeads = "SITE_CREATE" EdgeEngineeringLeadsSiteRead EdgeEngineeringLeads = "SITE_READ" EdgeEngineeringLeadsSiteUpdate EdgeEngineeringLeads = "SITE_UPDATE" EdgeEngineeringLeadsNepTokenExchanger EdgeEngineeringLeads = "NEP_TOKEN_EXCHANGER" ) var AllEdgeEngineeringLeads = []EdgeEngineeringLeads{ EdgeEngineeringLeadsNepEnterpriseAdministrator, EdgeEngineeringLeadsNepEnterpriseGrantAdministrator, EdgeEngineeringLeadsNepRolegrantAdministrator, EdgeEngineeringLeadsNepIDEntityAdministrator, EdgeEngineeringLeadsOrganizationInternalAdministrator, EdgeEngineeringLeadsSiteCreate, EdgeEngineeringLeadsSiteRead, EdgeEngineeringLeadsSiteUpdate, EdgeEngineeringLeadsNepTokenExchanger, } func (e EdgeEngineeringLeads) IsValid() bool { switch e { case EdgeEngineeringLeadsNepEnterpriseAdministrator, EdgeEngineeringLeadsNepEnterpriseGrantAdministrator, EdgeEngineeringLeadsNepRolegrantAdministrator, EdgeEngineeringLeadsNepIDEntityAdministrator, EdgeEngineeringLeadsOrganizationInternalAdministrator, EdgeEngineeringLeadsSiteCreate, EdgeEngineeringLeadsSiteRead, EdgeEngineeringLeadsSiteUpdate, EdgeEngineeringLeadsNepTokenExchanger: return true } return false } func (e EdgeEngineeringLeads) String() string { return string(e) } func (e *EdgeEngineeringLeads) UnmarshalGQL(v interface{}) error { str, ok := v.(string) if !ok { return fmt.Errorf("enums must be strings") } *e = EdgeEngineeringLeads(str) if !e.IsValid() { return fmt.Errorf("%s is not a valid EDGE_ENGINEERING_LEADS", str) } return nil } func (e EdgeEngineeringLeads) MarshalGQL(w io.Writer) { fmt.Fprint(w, strconv.Quote(e.String())) } // This is the list of bsl roles that correspond to the EDGE_OI_ADMIN role type EdgeOiAdmin string const ( EdgeOiAdminNepIDEntityGroupAddMembers EdgeOiAdmin = "NEP_IDENTITY_GROUP_ADD_MEMBERS" EdgeOiAdminNepIDEntityGroupRemoveMembers EdgeOiAdmin = "NEP_IDENTITY_GROUP_REMOVE_MEMBERS" ) var AllEdgeOiAdmin = []EdgeOiAdmin{ EdgeOiAdminNepIDEntityGroupAddMembers, EdgeOiAdminNepIDEntityGroupRemoveMembers, } func (e EdgeOiAdmin) IsValid() bool { switch e { case EdgeOiAdminNepIDEntityGroupAddMembers, EdgeOiAdminNepIDEntityGroupRemoveMembers: return true } return false } func (e EdgeOiAdmin) String() string { return string(e) } func (e *EdgeOiAdmin) UnmarshalGQL(v interface{}) error { str, ok := v.(string) if !ok { return fmt.Errorf("enums must be strings") } *e = EdgeOiAdmin(str) if !e.IsValid() { return fmt.Errorf("%s is not a valid EDGE_OI_ADMIN", str) } return nil } func (e EdgeOiAdmin) MarshalGQL(w io.Writer) { fmt.Fprint(w, strconv.Quote(e.String())) } // This is the list of bsl roles that correspond to the EDGE_ORG_ADMIN role type EdgeOrgAdmin string const ( EdgeOrgAdminNepEnterpriseAdministrator EdgeOrgAdmin = "NEP_ENTERPRISE_ADMINISTRATOR" EdgeOrgAdminNepEnterpriseGrantAdministrator EdgeOrgAdmin = "NEP_ENTERPRISE_GRANT_ADMINISTRATOR" EdgeOrgAdminNepRolegrantAdministrator EdgeOrgAdmin = "NEP_ROLEGRANT_ADMINISTRATOR" EdgeOrgAdminNepIDEntityAdministrator EdgeOrgAdmin = "NEP_IDENTITY_ADMINISTRATOR" EdgeOrgAdminOrganizationInternalAdministrator EdgeOrgAdmin = "ORGANIZATION_INTERNAL_ADMINISTRATOR" EdgeOrgAdminSiteCreate EdgeOrgAdmin = "SITE_CREATE" EdgeOrgAdminSiteRead EdgeOrgAdmin = "SITE_READ" EdgeOrgAdminSiteUpdate EdgeOrgAdmin = "SITE_UPDATE" EdgeOrgAdminNepTokenExchanger EdgeOrgAdmin = "NEP_TOKEN_EXCHANGER" ) var AllEdgeOrgAdmin = []EdgeOrgAdmin{ EdgeOrgAdminNepEnterpriseAdministrator, EdgeOrgAdminNepEnterpriseGrantAdministrator, EdgeOrgAdminNepRolegrantAdministrator, EdgeOrgAdminNepIDEntityAdministrator, EdgeOrgAdminOrganizationInternalAdministrator, EdgeOrgAdminSiteCreate, EdgeOrgAdminSiteRead, EdgeOrgAdminSiteUpdate, EdgeOrgAdminNepTokenExchanger, } func (e EdgeOrgAdmin) IsValid() bool { switch e { case EdgeOrgAdminNepEnterpriseAdministrator, EdgeOrgAdminNepEnterpriseGrantAdministrator, EdgeOrgAdminNepRolegrantAdministrator, EdgeOrgAdminNepIDEntityAdministrator, EdgeOrgAdminOrganizationInternalAdministrator, EdgeOrgAdminSiteCreate, EdgeOrgAdminSiteRead, EdgeOrgAdminSiteUpdate, EdgeOrgAdminNepTokenExchanger: return true } return false } func (e EdgeOrgAdmin) String() string { return string(e) } func (e *EdgeOrgAdmin) UnmarshalGQL(v interface{}) error { str, ok := v.(string) if !ok { return fmt.Errorf("enums must be strings") } *e = EdgeOrgAdmin(str) if !e.IsValid() { return fmt.Errorf("%s is not a valid EDGE_ORG_ADMIN", str) } return nil } func (e EdgeOrgAdmin) MarshalGQL(w io.Writer) { fmt.Fprint(w, strconv.Quote(e.String())) } // This is the list of bsl roles that correspond to the EDGE_SUPER_ADMIN role type EdgeSuperAdmin string const ( EdgeSuperAdminNepEnterpriseAdministrator EdgeSuperAdmin = "NEP_ENTERPRISE_ADMINISTRATOR" EdgeSuperAdminNepEnterpriseGrantAdministrator EdgeSuperAdmin = "NEP_ENTERPRISE_GRANT_ADMINISTRATOR" EdgeSuperAdminNepRolegrantAdministrator EdgeSuperAdmin = "NEP_ROLEGRANT_ADMINISTRATOR" EdgeSuperAdminNepIDEntityAdministrator EdgeSuperAdmin = "NEP_IDENTITY_ADMINISTRATOR" EdgeSuperAdminOrganizationInternalAdministrator EdgeSuperAdmin = "ORGANIZATION_INTERNAL_ADMINISTRATOR" EdgeSuperAdminSiteCreate EdgeSuperAdmin = "SITE_CREATE" EdgeSuperAdminSiteRead EdgeSuperAdmin = "SITE_READ" EdgeSuperAdminSiteUpdate EdgeSuperAdmin = "SITE_UPDATE" EdgeSuperAdminNepEnterpriseSuperAdministrator EdgeSuperAdmin = "NEP_ENTERPRISE_SUPER_ADMINISTRATOR" EdgeSuperAdminNepTokenExchanger EdgeSuperAdmin = "NEP_TOKEN_EXCHANGER" ) var AllEdgeSuperAdmin = []EdgeSuperAdmin{ EdgeSuperAdminNepEnterpriseAdministrator, EdgeSuperAdminNepEnterpriseGrantAdministrator, EdgeSuperAdminNepRolegrantAdministrator, EdgeSuperAdminNepIDEntityAdministrator, EdgeSuperAdminOrganizationInternalAdministrator, EdgeSuperAdminSiteCreate, EdgeSuperAdminSiteRead, EdgeSuperAdminSiteUpdate, EdgeSuperAdminNepEnterpriseSuperAdministrator, EdgeSuperAdminNepTokenExchanger, } func (e EdgeSuperAdmin) IsValid() bool { switch e { case EdgeSuperAdminNepEnterpriseAdministrator, EdgeSuperAdminNepEnterpriseGrantAdministrator, EdgeSuperAdminNepRolegrantAdministrator, EdgeSuperAdminNepIDEntityAdministrator, EdgeSuperAdminOrganizationInternalAdministrator, EdgeSuperAdminSiteCreate, EdgeSuperAdminSiteRead, EdgeSuperAdminSiteUpdate, EdgeSuperAdminNepEnterpriseSuperAdministrator, EdgeSuperAdminNepTokenExchanger: return true } return false } func (e EdgeSuperAdmin) String() string { return string(e) } func (e *EdgeSuperAdmin) UnmarshalGQL(v interface{}) error { str, ok := v.(string) if !ok { return fmt.Errorf("enums must be strings") } *e = EdgeSuperAdmin(str) if !e.IsValid() { return fmt.Errorf("%s is not a valid EDGE_SUPER_ADMIN", str) } return nil } func (e EdgeSuperAdmin) MarshalGQL(w io.Writer) { fmt.Fprint(w, strconv.Quote(e.String())) } // Edge security compliance settings type EdgeSecurityComplianceOptions string const ( EdgeSecurityComplianceOptionsOptOut EdgeSecurityComplianceOptions = "optOut" EdgeSecurityComplianceOptionsOptIn EdgeSecurityComplianceOptions = "optIn" EdgeSecurityComplianceOptionsDefault EdgeSecurityComplianceOptions = "default" ) var AllEdgeSecurityComplianceOptions = []EdgeSecurityComplianceOptions{ EdgeSecurityComplianceOptionsOptOut, EdgeSecurityComplianceOptionsOptIn, EdgeSecurityComplianceOptionsDefault, } func (e EdgeSecurityComplianceOptions) IsValid() bool { switch e { case EdgeSecurityComplianceOptionsOptOut, EdgeSecurityComplianceOptionsOptIn, EdgeSecurityComplianceOptionsDefault: return true } return false } func (e EdgeSecurityComplianceOptions) String() string { return string(e) } func (e *EdgeSecurityComplianceOptions) UnmarshalGQL(v interface{}) error { str, ok := v.(string) if !ok { return fmt.Errorf("enums must be strings") } *e = EdgeSecurityComplianceOptions(str) if !e.IsValid() { return fmt.Errorf("%s is not a valid EdgeSecurityComplianceOptions", str) } return nil } func (e EdgeSecurityComplianceOptions) MarshalGQL(w io.Writer) { fmt.Fprint(w, strconv.Quote(e.String())) } // The family type for the terminal address type InetType string const ( InetTypeInet InetType = "inet" InetTypeInet6 InetType = "inet6" ) var AllInetType = []InetType{ InetTypeInet, InetTypeInet6, } func (e InetType) IsValid() bool { switch e { case InetTypeInet, InetTypeInet6: return true } return false } func (e InetType) String() string { return string(e) } func (e *InetType) UnmarshalGQL(v interface{}) error { str, ok := v.(string) if !ok { return fmt.Errorf("enums must be strings") } *e = InetType(str) if !e.IsValid() { return fmt.Errorf("%s is not a valid InetType", str) } return nil } func (e InetType) MarshalGQL(w io.Writer) { fmt.Fprint(w, strconv.Quote(e.String())) } // InjectableConfigmaps are configmaps that can be injected to a workload type InjectableConfigmaps string const ( // Configmap for edge specifc information for a cluster InjectableConfigmapsEdgeInfo InjectableConfigmaps = "EdgeInfo" // Configmap for NCR specific information about a cluster InjectableConfigmapsBSLInfo InjectableConfigmaps = "BSLInfo" ) var AllInjectableConfigmaps = []InjectableConfigmaps{ InjectableConfigmapsEdgeInfo, InjectableConfigmapsBSLInfo, } func (e InjectableConfigmaps) IsValid() bool { switch e { case InjectableConfigmapsEdgeInfo, InjectableConfigmapsBSLInfo: return true } return false } func (e InjectableConfigmaps) String() string { return string(e) } func (e *InjectableConfigmaps) UnmarshalGQL(v interface{}) error { str, ok := v.(string) if !ok { return fmt.Errorf("enums must be strings") } *e = InjectableConfigmaps(str) if !e.IsValid() { return fmt.Errorf("%s is not a valid InjectableConfigmaps", str) } return nil } func (e InjectableConfigmaps) MarshalGQL(w io.Writer) { fmt.Fprint(w, strconv.Quote(e.String())) } // LogClassSelection are categories needed to be used by logs // TODO: TO BE DEPRECATED IN 0.25 @RS185722 type LogClassSelection string const ( LogClassSelectionAudit LogClassSelection = "Audit" LogClassSelectionSecurity LogClassSelection = "Security" ) var AllLogClassSelection = []LogClassSelection{ LogClassSelectionAudit, LogClassSelectionSecurity, } func (e LogClassSelection) IsValid() bool { switch e { case LogClassSelectionAudit, LogClassSelectionSecurity: return true } return false } func (e LogClassSelection) String() string { return string(e) } func (e *LogClassSelection) UnmarshalGQL(v interface{}) error { str, ok := v.(string) if !ok { return fmt.Errorf("enums must be strings") } *e = LogClassSelection(str) if !e.IsValid() { return fmt.Errorf("%s is not a valid LogClassSelection", str) } return nil } func (e LogClassSelection) MarshalGQL(w io.Writer) { fmt.Fprint(w, strconv.Quote(e.String())) } type LogLevels string const ( LogLevelsDebug LogLevels = "DEBUG" LogLevelsInfo LogLevels = "INFO" LogLevelsNotice LogLevels = "NOTICE" LogLevelsWarning LogLevels = "WARNING" LogLevelsError LogLevels = "ERROR" LogLevelsCritical LogLevels = "CRITICAL" LogLevelsAlert LogLevels = "ALERT" LogLevelsEmergency LogLevels = "EMERGENCY" ) var AllLogLevels = []LogLevels{ LogLevelsDebug, LogLevelsInfo, LogLevelsNotice, LogLevelsWarning, LogLevelsError, LogLevelsCritical, LogLevelsAlert, LogLevelsEmergency, } func (e LogLevels) IsValid() bool { switch e { case LogLevelsDebug, LogLevelsInfo, LogLevelsNotice, LogLevelsWarning, LogLevelsError, LogLevelsCritical, LogLevelsAlert, LogLevelsEmergency: return true } return false } func (e LogLevels) String() string { return string(e) } func (e *LogLevels) UnmarshalGQL(v interface{}) error { str, ok := v.(string) if !ok { return fmt.Errorf("enums must be strings") } *e = LogLevels(str) if !e.IsValid() { return fmt.Errorf("%s is not a valid LogLevels", str) } return nil } func (e LogLevels) MarshalGQL(w io.Writer) { fmt.Fprint(w, strconv.Quote(e.String())) } type LogReplayStatus string const ( LogReplayStatusNotStarted LogReplayStatus = "NOT_STARTED" LogReplayStatusPending LogReplayStatus = "PENDING" LogReplayStatusSucceeded LogReplayStatus = "SUCCEEDED" LogReplayStatusFailed LogReplayStatus = "FAILED" LogReplayStatusTimeout LogReplayStatus = "TIMEOUT" ) var AllLogReplayStatus = []LogReplayStatus{ LogReplayStatusNotStarted, LogReplayStatusPending, LogReplayStatusSucceeded, LogReplayStatusFailed, LogReplayStatusTimeout, } func (e LogReplayStatus) IsValid() bool { switch e { case LogReplayStatusNotStarted, LogReplayStatusPending, LogReplayStatusSucceeded, LogReplayStatusFailed, LogReplayStatusTimeout: return true } return false } func (e LogReplayStatus) String() string { return string(e) } func (e *LogReplayStatus) UnmarshalGQL(v interface{}) error { str, ok := v.(string) if !ok { return fmt.Errorf("enums must be strings") } *e = LogReplayStatus(str) if !e.IsValid() { return fmt.Errorf("%s is not a valid LogReplayStatus", str) } return nil } func (e LogReplayStatus) MarshalGQL(w io.Writer) { fmt.Fprint(w, strconv.Quote(e.String())) } // The machine types a Virtual Machine can have type MachineType string const ( MachineTypeQ35 MachineType = "q35" MachineTypeI440fx MachineType = "i440fx" ) var AllMachineType = []MachineType{ MachineTypeQ35, MachineTypeI440fx, } func (e MachineType) IsValid() bool { switch e { case MachineTypeQ35, MachineTypeI440fx: return true } return false } func (e MachineType) String() string { return string(e) } func (e *MachineType) UnmarshalGQL(v interface{}) error { str, ok := v.(string) if !ok { return fmt.Errorf("enums must be strings") } *e = MachineType(str) if !e.IsValid() { return fmt.Errorf("%s is not a valid MachineType", str) } return nil } func (e MachineType) MarshalGQL(w io.Writer) { fmt.Fprint(w, strconv.Quote(e.String())) } type OperatorInterventionErrorType string const ( // Indicates a deletion request failed due to the value being referenced in another type OperatorInterventionErrorTypeConflict OperatorInterventionErrorType = "CONFLICT" // Empty or nil input received OperatorInterventionErrorTypeInvalidInput OperatorInterventionErrorType = "INVALID_INPUT" // Tried to delete a command that does not exist OperatorInterventionErrorTypeUnknownCommand OperatorInterventionErrorType = "UNKNOWN_COMMAND" OperatorInterventionErrorTypeUnknownRole OperatorInterventionErrorType = "UNKNOWN_ROLE" OperatorInterventionErrorTypeUnknownRoleMapping OperatorInterventionErrorType = "UNKNOWN_ROLE_MAPPING" OperatorInterventionErrorTypeUnknownPrivilege OperatorInterventionErrorType = "UNKNOWN_PRIVILEGE" OperatorInterventionErrorTypeUnknownRule OperatorInterventionErrorType = "UNKNOWN_RULE" ) var AllOperatorInterventionErrorType = []OperatorInterventionErrorType{ OperatorInterventionErrorTypeConflict, OperatorInterventionErrorTypeInvalidInput, OperatorInterventionErrorTypeUnknownCommand, OperatorInterventionErrorTypeUnknownRole, OperatorInterventionErrorTypeUnknownRoleMapping, OperatorInterventionErrorTypeUnknownPrivilege, OperatorInterventionErrorTypeUnknownRule, } func (e OperatorInterventionErrorType) IsValid() bool { switch e { case OperatorInterventionErrorTypeConflict, OperatorInterventionErrorTypeInvalidInput, OperatorInterventionErrorTypeUnknownCommand, OperatorInterventionErrorTypeUnknownRole, OperatorInterventionErrorTypeUnknownRoleMapping, OperatorInterventionErrorTypeUnknownPrivilege, OperatorInterventionErrorTypeUnknownRule: return true } return false } func (e OperatorInterventionErrorType) String() string { return string(e) } func (e *OperatorInterventionErrorType) UnmarshalGQL(v interface{}) error { str, ok := v.(string) if !ok { return fmt.Errorf("enums must be strings") } *e = OperatorInterventionErrorType(str) if !e.IsValid() { return fmt.Errorf("%s is not a valid OperatorInterventionErrorType", str) } return nil } func (e OperatorInterventionErrorType) MarshalGQL(w io.Writer) { fmt.Fprint(w, strconv.Quote(e.String())) } // This is the list of edge roles type Role string const ( RoleEdgeSuperAdmin Role = "EDGE_SUPER_ADMIN" RoleEdgeOrgAdmin Role = "EDGE_ORG_ADMIN" RoleEdgeBannerAdmin Role = "EDGE_BANNER_ADMIN" RoleEdgeBannerOperator Role = "EDGE_BANNER_OPERATOR" RoleEdgeBannerViewer Role = "EDGE_BANNER_VIEWER" RoleTotpRole Role = "TOTP_ROLE" RoleEdgeTerminal Role = "EDGE_TERMINAL" RoleEdgeBootstrap Role = "EDGE_BOOTSTRAP" RoleEdgeEngineeringLeads Role = "EDGE_ENGINEERING_LEADS" RoleEdgeOiAdmin Role = "EDGE_OI_ADMIN" RoleEdgeSuperUser Role = "EDGE_SUPER_USER" RoleEdgeL1 Role = "EDGE_L1" RoleEdgeL2 Role = "EDGE_L2" RoleEdgeL3 Role = "EDGE_L3" RoleEdgeL4 Role = "EDGE_L4" ) var AllRole = []Role{ RoleEdgeSuperAdmin, RoleEdgeOrgAdmin, RoleEdgeBannerAdmin, RoleEdgeBannerOperator, RoleEdgeBannerViewer, RoleTotpRole, RoleEdgeTerminal, RoleEdgeBootstrap, RoleEdgeEngineeringLeads, RoleEdgeOiAdmin, RoleEdgeSuperUser, RoleEdgeL1, RoleEdgeL2, RoleEdgeL3, RoleEdgeL4, } func (e Role) IsValid() bool { switch e { case RoleEdgeSuperAdmin, RoleEdgeOrgAdmin, RoleEdgeBannerAdmin, RoleEdgeBannerOperator, RoleEdgeBannerViewer, RoleTotpRole, RoleEdgeTerminal, RoleEdgeBootstrap, RoleEdgeEngineeringLeads, RoleEdgeOiAdmin, RoleEdgeSuperUser, RoleEdgeL1, RoleEdgeL2, RoleEdgeL3, RoleEdgeL4: return true } return false } func (e Role) String() string { return string(e) } func (e *Role) UnmarshalGQL(v interface{}) error { str, ok := v.(string) if !ok { return fmt.Errorf("enums must be strings") } *e = Role(str) if !e.IsValid() { return fmt.Errorf("%s is not a valid Role", str) } return nil } func (e Role) MarshalGQL(w io.Writer) { fmt.Fprint(w, strconv.Quote(e.String())) } // The class types that a terminal can have type TerminalClassType string const ( TerminalClassTypeServer TerminalClassType = "server" TerminalClassTypeTouchpoint TerminalClassType = "touchpoint" ) var AllTerminalClassType = []TerminalClassType{ TerminalClassTypeServer, TerminalClassTypeTouchpoint, } func (e TerminalClassType) IsValid() bool { switch e { case TerminalClassTypeServer, TerminalClassTypeTouchpoint: return true } return false } func (e TerminalClassType) String() string { return string(e) } func (e *TerminalClassType) UnmarshalGQL(v interface{}) error { str, ok := v.(string) if !ok { return fmt.Errorf("enums must be strings") } *e = TerminalClassType(str) if !e.IsValid() { return fmt.Errorf("%s is not a valid TerminalClassType", str) } return nil } func (e TerminalClassType) MarshalGQL(w io.Writer) { fmt.Fprint(w, strconv.Quote(e.String())) } // The disk discovery mode for the terminal type TerminalDiscoverDisksType string const ( TerminalDiscoverDisksTypeAll TerminalDiscoverDisksType = "all" TerminalDiscoverDisksTypeEmpty TerminalDiscoverDisksType = "empty" TerminalDiscoverDisksTypeNone TerminalDiscoverDisksType = "none" ) var AllTerminalDiscoverDisksType = []TerminalDiscoverDisksType{ TerminalDiscoverDisksTypeAll, TerminalDiscoverDisksTypeEmpty, TerminalDiscoverDisksTypeNone, } func (e TerminalDiscoverDisksType) IsValid() bool { switch e { case TerminalDiscoverDisksTypeAll, TerminalDiscoverDisksTypeEmpty, TerminalDiscoverDisksTypeNone: return true } return false } func (e TerminalDiscoverDisksType) String() string { return string(e) } func (e *TerminalDiscoverDisksType) UnmarshalGQL(v interface{}) error { str, ok := v.(string) if !ok { return fmt.Errorf("enums must be strings") } *e = TerminalDiscoverDisksType(str) if !e.IsValid() { return fmt.Errorf("%s is not a valid TerminalDiscoverDisksType", str) } return nil } func (e TerminalDiscoverDisksType) MarshalGQL(w io.Writer) { fmt.Fprint(w, strconv.Quote(e.String())) } // The role types a terminal can have type TerminalRoleType string const ( TerminalRoleTypeControlplane TerminalRoleType = "controlplane" TerminalRoleTypeWorker TerminalRoleType = "worker" ) var AllTerminalRoleType = []TerminalRoleType{ TerminalRoleTypeControlplane, TerminalRoleTypeWorker, } func (e TerminalRoleType) IsValid() bool { switch e { case TerminalRoleTypeControlplane, TerminalRoleTypeWorker: return true } return false } func (e TerminalRoleType) String() string { return string(e) } func (e *TerminalRoleType) UnmarshalGQL(v interface{}) error { str, ok := v.(string) if !ok { return fmt.Errorf("enums must be strings") } *e = TerminalRoleType(str) if !e.IsValid() { return fmt.Errorf("%s is not a valid TerminalRoleType", str) } return nil } func (e TerminalRoleType) MarshalGQL(w io.Writer) { fmt.Fprint(w, strconv.Quote(e.String())) } // Installation types to be selected during creating a helm release type WorkloadInstallationType string const ( // Installation to target more powerfull store server nodes. Will only be scheduled on store server labeled nodes. WorkloadInstallationTypeServer WorkloadInstallationType = "SERVER" // Installation to target touchpoint (terminal) nodes. Usually used for daemonsets and persistences. WorkloadInstallationTypeTouchpoint WorkloadInstallationType = "TOUCHPOINT" // Adds no node targeting WorkloadInstallationTypeAny WorkloadInstallationType = "ANY" // No mod means edge makes no modification to the helm release WorkloadInstallationTypeNoMod WorkloadInstallationType = "NO_MOD" // Server Preferred add preferred targeting store server nodes but will still get scheduled to other nodes if available. WorkloadInstallationTypeServerPreferred WorkloadInstallationType = "SERVER_PREFERRED" // Advanced allows advanced node targeting by labels. You must provide the labels you want the workload to be targeted to if choosing this option WorkloadInstallationTypeAdvanced WorkloadInstallationType = "ADVANCED" ) var AllWorkloadInstallationType = []WorkloadInstallationType{ WorkloadInstallationTypeServer, WorkloadInstallationTypeTouchpoint, WorkloadInstallationTypeAny, WorkloadInstallationTypeNoMod, WorkloadInstallationTypeServerPreferred, WorkloadInstallationTypeAdvanced, } func (e WorkloadInstallationType) IsValid() bool { switch e { case WorkloadInstallationTypeServer, WorkloadInstallationTypeTouchpoint, WorkloadInstallationTypeAny, WorkloadInstallationTypeNoMod, WorkloadInstallationTypeServerPreferred, WorkloadInstallationTypeAdvanced: return true } return false } func (e WorkloadInstallationType) String() string { return string(e) } func (e *WorkloadInstallationType) UnmarshalGQL(v interface{}) error { str, ok := v.(string) if !ok { return fmt.Errorf("enums must be strings") } *e = WorkloadInstallationType(str) if !e.IsValid() { return fmt.Errorf("%s is not a valid WorkloadInstallationType", str) } return nil } func (e WorkloadInstallationType) MarshalGQL(w io.Writer) { fmt.Fprint(w, strconv.Quote(e.String())) } // The workload types a Namespace can have type WorkloadType string const ( WorkloadTypePlatform WorkloadType = "platform" WorkloadTypeTenant WorkloadType = "tenant" WorkloadTypeNcr WorkloadType = "ncr" WorkloadTypeHelm WorkloadType = "helm" ) var AllWorkloadType = []WorkloadType{ WorkloadTypePlatform, WorkloadTypeTenant, WorkloadTypeNcr, WorkloadTypeHelm, } func (e WorkloadType) IsValid() bool { switch e { case WorkloadTypePlatform, WorkloadTypeTenant, WorkloadTypeNcr, WorkloadTypeHelm: return true } return false } func (e WorkloadType) String() string { return string(e) } func (e *WorkloadType) UnmarshalGQL(v interface{}) error { str, ok := v.(string) if !ok { return fmt.Errorf("enums must be strings") } *e = WorkloadType(str) if !e.IsValid() { return fmt.Errorf("%s is not a valid WorkloadType", str) } return nil } func (e WorkloadType) MarshalGQL(w io.Writer) { fmt.Fprint(w, strconv.Quote(e.String())) }