diff --git a/www/src/components/create-cluster/CreateCluster.tsx b/www/src/components/create-cluster/CreateCluster.tsx index cdb19b166..64ac407cb 100644 --- a/www/src/components/create-cluster/CreateCluster.tsx +++ b/www/src/components/create-cluster/CreateCluster.tsx @@ -13,6 +13,7 @@ import OnboardingCard from 'components/shell/onboarding/OnboardingCard' import { ConsoleInstanceStatus, + ConsoleInstanceType, useConsoleInstanceQuery, } from 'generated/graphql' @@ -23,6 +24,7 @@ import usePersistedState from 'hooks/usePersistedState' import { ConsoleCreationStatus } from './ConsoleCreationStatus' import { CreateClusterActions } from './CreateClusterActions' import { + CloudOption, CreateClusterContext, CreateClusterContextType, CreateClusterStepKey, @@ -31,6 +33,7 @@ import { } from './CreateClusterWizard' export const CUR_CREATE_CLUSTER_STEP_KEY = 'cur-create-cluster-step' +export const CLOUD_OPTION_KEY = 'cloud-option' export const HOSTING_OPTION_KEY = 'hosting-option' export const CUR_CONSOLE_INSTANCE_KEY = 'cur-console-instance-id' @@ -39,18 +42,24 @@ export function CreateCluster() { const navigate = useNavigate() const [curStep, setCurStep] = usePersistedState( CUR_CREATE_CLUSTER_STEP_KEY, - CreateClusterStepKey.HostingOptions + CreateClusterStepKey.ChooseCloud ) - const [hostingOption, setHostingOption] = usePersistedState< - 'local' | 'cloud' - >(HOSTING_OPTION_KEY, 'local') + const [cloudOption, setCloudOption] = usePersistedState( + CLOUD_OPTION_KEY, + 'local' + ) + const [hostingOption, setHostingOption] = + usePersistedState( + HOSTING_OPTION_KEY, + ConsoleInstanceType.Shared + ) const [finishEnabled, setFinishEnabled] = useState(false) const [continueBtn, setContinueBtn] = useState() const [consoleInstanceId, setConsoleInstanceId] = usePersistedState< Nullable >(CUR_CONSOLE_INSTANCE_KEY, null) - const steps = hostingOption === 'local' ? localSteps : cloudSteps + const steps = cloudOption === 'local' ? localSteps : cloudSteps const curStepIndex = steps.findIndex((step) => step.key === curStep) const { data, error } = useConsoleInstanceQuery({ @@ -66,6 +75,8 @@ export function CreateCluster() { () => ({ curStep, setCurStep, + cloudOption, + setCloudOption, hostingOption, setHostingOption, finishEnabled, @@ -85,6 +96,8 @@ export function CreateCluster() { [ curStep, setCurStep, + cloudOption, + setCloudOption, hostingOption, setHostingOption, finishEnabled, @@ -148,6 +161,7 @@ export function CreateCluster() { export function clearCreateClusterState() { localStorage.removeItem(`plural-${CUR_CREATE_CLUSTER_STEP_KEY}`) + localStorage.removeItem(`plural-${CLOUD_OPTION_KEY}`) localStorage.removeItem(`plural-${HOSTING_OPTION_KEY}`) localStorage.removeItem(`plural-${CUR_CONSOLE_INSTANCE_KEY}`) } diff --git a/www/src/components/create-cluster/CreateClusterActions.tsx b/www/src/components/create-cluster/CreateClusterActions.tsx index 8d25de53a..b1c1a0b5e 100644 --- a/www/src/components/create-cluster/CreateClusterActions.tsx +++ b/www/src/components/create-cluster/CreateClusterActions.tsx @@ -5,6 +5,8 @@ import { useNavigate } from 'react-router-dom' import { useBillingSubscription } from 'components/account/billing/BillingSubscriptionProvider' +import { ConsoleInstanceType } from 'generated/graphql' + import { CreateClusterStepKey, cloudSteps, @@ -22,18 +24,22 @@ export function CreateClusterActions() { const { curStep, setCurStep, + cloudOption, hostingOption, finishEnabled, continueBtn, consoleInstanceId, } = useCreateClusterContext() - const { isPaidPlan, isTrialPlan, isTrialExpired } = useBillingSubscription() + const { isPaidPlan, isTrialPlan, isTrialExpired, isEnterprisePlan } = + useBillingSubscription() const disableContinue = - hostingOption === 'cloud' && - ((!isPaidPlan && !isTrialPlan) || (isTrialPlan && isTrialExpired)) + cloudOption === 'cloud' && + ((!isPaidPlan && !isTrialPlan) || + (isTrialPlan && isTrialExpired) || + (!isEnterprisePlan && hostingOption === ConsoleInstanceType.Dedicated)) - const steps = hostingOption === 'local' ? localSteps : cloudSteps + const steps = cloudOption === 'local' ? localSteps : cloudSteps const curStepIndex = steps.findIndex((step) => step.key === curStep) const prevStep = steps[curStepIndex - 1]?.key const nextStep = steps[curStepIndex + 1]?.key @@ -42,13 +48,13 @@ export function CreateClusterActions() { if (consoleInstanceId) { localStorage.setItem(FINISHED_CONSOLE_INSTANCE_KEY, consoleInstanceId) } - if (hostingOption === 'local') { + if (cloudOption === 'local') { localStorage.setItem(FINISHED_LOCAL_CREATE_KEY, 'true') } clearCreateClusterState() navigate( `/overview/clusters/${ - hostingOption === 'local' ? 'self-hosted' : 'plural-cloud' + cloudOption === 'local' ? 'self-hosted' : 'plural-cloud' }` ) } @@ -76,7 +82,7 @@ export function CreateClusterActions() { {prevStep && !( - hostingOption === 'cloud' && + cloudOption === 'cloud' && curStep === CreateClusterStepKey.InstallCli ) && ( setMenuKey(newKey)}> + + + ) } @@ -53,8 +60,16 @@ export default OnboardingCardButton export const OnboardCardInnerSC = styled.div(({ theme }) => ({ display: 'flex', flexDirection: 'column', - gap: theme.spacing.xxsmall, + alignItems: 'center', + gap: theme.spacing.medium, +})) + +export const OnboardCardHintSC = styled.div(({ theme }) => ({ + ...theme.partials.text.caption, + fontStyle: 'italic', + color: theme.colors['text-light'], })) + export const OnboardCardIconSC = styled.div<{ $disabled?: boolean }>( ({ $disabled: disabled }) => ({ marginLeft: 'auto', @@ -68,7 +83,6 @@ export const OnboardCardIconSC = styled.div<{ $disabled?: boolean }>( export const OnBoardCardHeaderSC = styled.span<{ $disabled?: boolean }>( ({ theme, $disabled: disabled }) => ({ ...theme.partials.text.body1Bold, - marginTop: theme.spacing.small, color: disabled ? theme.colors['text-disabled'] : theme.colors.text, }) ) diff --git a/www/src/components/shell/onboarding/sections/cloud/CloudOption.tsx b/www/src/components/shell/onboarding/sections/cloud/CloudOption.tsx index 07d1c846b..b673ccb98 100644 --- a/www/src/components/shell/onboarding/sections/cloud/CloudOption.tsx +++ b/www/src/components/shell/onboarding/sections/cloud/CloudOption.tsx @@ -1,8 +1,9 @@ -import { Tooltip, WrapWithIf } from '@pluralsh/design-system' +import { Flex, Tooltip, WrapWithIf } from '@pluralsh/design-system' import OnboardingCardButton, { OnBoardCardDescSC, OnBoardCardHeaderSC, + OnboardCardHintSC, OnboardCardIconSC, OnboardCardInnerSC, } from '../../OnboardingCardButton' @@ -11,6 +12,8 @@ function CloudOption({ icon, header, description, + hint, + chip, selected, disabled, tooltip, @@ -33,13 +36,20 @@ function CloudOption({ {...props} > + {hint && {hint}} {icon} - - {header} - - - {description} - + + + {header} + + + {description} + + + {chip} diff --git a/www/src/generated/graphql.ts b/www/src/generated/graphql.ts index b624ea407..c8864237e 100644 --- a/www/src/generated/graphql.ts +++ b/www/src/generated/graphql.ts @@ -5640,14 +5640,14 @@ export type InvoicesQueryVariables = Exact<{ [key: string]: never; }>; export type InvoicesQuery = { __typename?: 'RootQueryType', invoices?: { __typename?: 'InvoiceConnection', edges?: Array<{ __typename?: 'InvoiceEdge', node?: { __typename?: 'Invoice', number: string, amountDue: number, amountPaid: number, currency: string, status?: string | null, createdAt?: Date | null, hostedInvoiceUrl?: string | null, lines?: Array<{ __typename?: 'InvoiceItem', amount: number, currency: string, description?: string | null } | null> | null } | null } | null> | null } | null }; -export type ConsoleInstanceFragment = { __typename?: 'ConsoleInstance', id: string, name: string, subdomain: string, url: string, cloud: CloudProvider, size: ConsoleSize, region: string, status: ConsoleInstanceStatus, deletedAt?: Date | null, insertedAt?: Date | null, updatedAt?: Date | null, console?: { __typename?: 'Cluster', id: string, pingedAt?: Date | null, owner?: { __typename?: 'User', id: string, name: string, email: string, avatar?: string | null, provider?: Provider | null, demoed?: boolean | null, onboarding?: OnboardingState | null, emailConfirmed?: boolean | null, emailConfirmBy?: Date | null, backgroundColor?: string | null, serviceAccount?: boolean | null, hasInstallations?: boolean | null, hasShell?: boolean | null, impersonationPolicy?: { __typename?: 'ImpersonationPolicy', id: string, bindings?: Array<{ __typename?: 'ImpersonationPolicyBinding', id: string, group?: { __typename?: 'Group', id: string, name: string } | null, user?: { __typename?: 'User', id: string, name: string, email: string } | null } | null> | null } | null, onboardingChecklist?: { __typename?: 'OnboardingChecklist', dismissed?: boolean | null, status?: OnboardingChecklistState | null } | null, invites?: Array<{ __typename?: 'Invite', id: string, email?: string | null } | null> | null, roles?: { __typename?: 'Roles', admin?: boolean | null } | null, groups?: Array<{ __typename?: 'Group', id: string, name: string, global?: boolean | null, description?: string | null } | null> | null } | null } | null, owner?: { __typename?: 'User', name: string, email: string } | null }; +export type ConsoleInstanceFragment = { __typename?: 'ConsoleInstance', id: string, name: string, subdomain: string, url: string, cloud: CloudProvider, size: ConsoleSize, region: string, status: ConsoleInstanceStatus, type: ConsoleInstanceType, deletedAt?: Date | null, insertedAt?: Date | null, updatedAt?: Date | null, console?: { __typename?: 'Cluster', id: string, pingedAt?: Date | null, owner?: { __typename?: 'User', id: string, name: string, email: string, avatar?: string | null, provider?: Provider | null, demoed?: boolean | null, onboarding?: OnboardingState | null, emailConfirmed?: boolean | null, emailConfirmBy?: Date | null, backgroundColor?: string | null, serviceAccount?: boolean | null, hasInstallations?: boolean | null, hasShell?: boolean | null, impersonationPolicy?: { __typename?: 'ImpersonationPolicy', id: string, bindings?: Array<{ __typename?: 'ImpersonationPolicyBinding', id: string, group?: { __typename?: 'Group', id: string, name: string } | null, user?: { __typename?: 'User', id: string, name: string, email: string } | null } | null> | null } | null, onboardingChecklist?: { __typename?: 'OnboardingChecklist', dismissed?: boolean | null, status?: OnboardingChecklistState | null } | null, invites?: Array<{ __typename?: 'Invite', id: string, email?: string | null } | null> | null, roles?: { __typename?: 'Roles', admin?: boolean | null } | null, groups?: Array<{ __typename?: 'Group', id: string, name: string, global?: boolean | null, description?: string | null } | null> | null } | null } | null, owner?: { __typename?: 'User', name: string, email: string } | null }; export type ConsoleInstanceQueryVariables = Exact<{ id: Scalars['ID']['input']; }>; -export type ConsoleInstanceQuery = { __typename?: 'RootQueryType', consoleInstance?: { __typename?: 'ConsoleInstance', id: string, name: string, subdomain: string, url: string, cloud: CloudProvider, size: ConsoleSize, region: string, status: ConsoleInstanceStatus, deletedAt?: Date | null, insertedAt?: Date | null, updatedAt?: Date | null, console?: { __typename?: 'Cluster', id: string, pingedAt?: Date | null, owner?: { __typename?: 'User', id: string, name: string, email: string, avatar?: string | null, provider?: Provider | null, demoed?: boolean | null, onboarding?: OnboardingState | null, emailConfirmed?: boolean | null, emailConfirmBy?: Date | null, backgroundColor?: string | null, serviceAccount?: boolean | null, hasInstallations?: boolean | null, hasShell?: boolean | null, impersonationPolicy?: { __typename?: 'ImpersonationPolicy', id: string, bindings?: Array<{ __typename?: 'ImpersonationPolicyBinding', id: string, group?: { __typename?: 'Group', id: string, name: string } | null, user?: { __typename?: 'User', id: string, name: string, email: string } | null } | null> | null } | null, onboardingChecklist?: { __typename?: 'OnboardingChecklist', dismissed?: boolean | null, status?: OnboardingChecklistState | null } | null, invites?: Array<{ __typename?: 'Invite', id: string, email?: string | null } | null> | null, roles?: { __typename?: 'Roles', admin?: boolean | null } | null, groups?: Array<{ __typename?: 'Group', id: string, name: string, global?: boolean | null, description?: string | null } | null> | null } | null } | null, owner?: { __typename?: 'User', name: string, email: string } | null } | null }; +export type ConsoleInstanceQuery = { __typename?: 'RootQueryType', consoleInstance?: { __typename?: 'ConsoleInstance', id: string, name: string, subdomain: string, url: string, cloud: CloudProvider, size: ConsoleSize, region: string, status: ConsoleInstanceStatus, type: ConsoleInstanceType, deletedAt?: Date | null, insertedAt?: Date | null, updatedAt?: Date | null, console?: { __typename?: 'Cluster', id: string, pingedAt?: Date | null, owner?: { __typename?: 'User', id: string, name: string, email: string, avatar?: string | null, provider?: Provider | null, demoed?: boolean | null, onboarding?: OnboardingState | null, emailConfirmed?: boolean | null, emailConfirmBy?: Date | null, backgroundColor?: string | null, serviceAccount?: boolean | null, hasInstallations?: boolean | null, hasShell?: boolean | null, impersonationPolicy?: { __typename?: 'ImpersonationPolicy', id: string, bindings?: Array<{ __typename?: 'ImpersonationPolicyBinding', id: string, group?: { __typename?: 'Group', id: string, name: string } | null, user?: { __typename?: 'User', id: string, name: string, email: string } | null } | null> | null } | null, onboardingChecklist?: { __typename?: 'OnboardingChecklist', dismissed?: boolean | null, status?: OnboardingChecklistState | null } | null, invites?: Array<{ __typename?: 'Invite', id: string, email?: string | null } | null> | null, roles?: { __typename?: 'Roles', admin?: boolean | null } | null, groups?: Array<{ __typename?: 'Group', id: string, name: string, global?: boolean | null, description?: string | null } | null> | null } | null } | null, owner?: { __typename?: 'User', name: string, email: string } | null } | null }; export type ConsoleInstancesQueryVariables = Exact<{ after?: InputMaybe; @@ -5657,14 +5657,14 @@ export type ConsoleInstancesQueryVariables = Exact<{ }>; -export type ConsoleInstancesQuery = { __typename?: 'RootQueryType', consoleInstances?: { __typename?: 'ConsoleInstanceConnection', edges?: Array<{ __typename?: 'ConsoleInstanceEdge', node?: { __typename?: 'ConsoleInstance', id: string, name: string, subdomain: string, url: string, cloud: CloudProvider, size: ConsoleSize, region: string, status: ConsoleInstanceStatus, deletedAt?: Date | null, insertedAt?: Date | null, updatedAt?: Date | null, console?: { __typename?: 'Cluster', id: string, pingedAt?: Date | null, owner?: { __typename?: 'User', id: string, name: string, email: string, avatar?: string | null, provider?: Provider | null, demoed?: boolean | null, onboarding?: OnboardingState | null, emailConfirmed?: boolean | null, emailConfirmBy?: Date | null, backgroundColor?: string | null, serviceAccount?: boolean | null, hasInstallations?: boolean | null, hasShell?: boolean | null, impersonationPolicy?: { __typename?: 'ImpersonationPolicy', id: string, bindings?: Array<{ __typename?: 'ImpersonationPolicyBinding', id: string, group?: { __typename?: 'Group', id: string, name: string } | null, user?: { __typename?: 'User', id: string, name: string, email: string } | null } | null> | null } | null, onboardingChecklist?: { __typename?: 'OnboardingChecklist', dismissed?: boolean | null, status?: OnboardingChecklistState | null } | null, invites?: Array<{ __typename?: 'Invite', id: string, email?: string | null } | null> | null, roles?: { __typename?: 'Roles', admin?: boolean | null } | null, groups?: Array<{ __typename?: 'Group', id: string, name: string, global?: boolean | null, description?: string | null } | null> | null } | null } | null, owner?: { __typename?: 'User', name: string, email: string } | null } | null } | null> | null, pageInfo: { __typename?: 'PageInfo', endCursor?: string | null, hasNextPage: boolean } } | null }; +export type ConsoleInstancesQuery = { __typename?: 'RootQueryType', consoleInstances?: { __typename?: 'ConsoleInstanceConnection', edges?: Array<{ __typename?: 'ConsoleInstanceEdge', node?: { __typename?: 'ConsoleInstance', id: string, name: string, subdomain: string, url: string, cloud: CloudProvider, size: ConsoleSize, region: string, status: ConsoleInstanceStatus, type: ConsoleInstanceType, deletedAt?: Date | null, insertedAt?: Date | null, updatedAt?: Date | null, console?: { __typename?: 'Cluster', id: string, pingedAt?: Date | null, owner?: { __typename?: 'User', id: string, name: string, email: string, avatar?: string | null, provider?: Provider | null, demoed?: boolean | null, onboarding?: OnboardingState | null, emailConfirmed?: boolean | null, emailConfirmBy?: Date | null, backgroundColor?: string | null, serviceAccount?: boolean | null, hasInstallations?: boolean | null, hasShell?: boolean | null, impersonationPolicy?: { __typename?: 'ImpersonationPolicy', id: string, bindings?: Array<{ __typename?: 'ImpersonationPolicyBinding', id: string, group?: { __typename?: 'Group', id: string, name: string } | null, user?: { __typename?: 'User', id: string, name: string, email: string } | null } | null> | null } | null, onboardingChecklist?: { __typename?: 'OnboardingChecklist', dismissed?: boolean | null, status?: OnboardingChecklistState | null } | null, invites?: Array<{ __typename?: 'Invite', id: string, email?: string | null } | null> | null, roles?: { __typename?: 'Roles', admin?: boolean | null } | null, groups?: Array<{ __typename?: 'Group', id: string, name: string, global?: boolean | null, description?: string | null } | null> | null } | null } | null, owner?: { __typename?: 'User', name: string, email: string } | null } | null } | null> | null, pageInfo: { __typename?: 'PageInfo', endCursor?: string | null, hasNextPage: boolean } } | null }; export type CreateConsoleInstanceMutationVariables = Exact<{ attributes: ConsoleInstanceAttributes; }>; -export type CreateConsoleInstanceMutation = { __typename?: 'RootMutationType', createConsoleInstance?: { __typename?: 'ConsoleInstance', id: string, name: string, subdomain: string, url: string, cloud: CloudProvider, size: ConsoleSize, region: string, status: ConsoleInstanceStatus, deletedAt?: Date | null, insertedAt?: Date | null, updatedAt?: Date | null, console?: { __typename?: 'Cluster', id: string, pingedAt?: Date | null, owner?: { __typename?: 'User', id: string, name: string, email: string, avatar?: string | null, provider?: Provider | null, demoed?: boolean | null, onboarding?: OnboardingState | null, emailConfirmed?: boolean | null, emailConfirmBy?: Date | null, backgroundColor?: string | null, serviceAccount?: boolean | null, hasInstallations?: boolean | null, hasShell?: boolean | null, impersonationPolicy?: { __typename?: 'ImpersonationPolicy', id: string, bindings?: Array<{ __typename?: 'ImpersonationPolicyBinding', id: string, group?: { __typename?: 'Group', id: string, name: string } | null, user?: { __typename?: 'User', id: string, name: string, email: string } | null } | null> | null } | null, onboardingChecklist?: { __typename?: 'OnboardingChecklist', dismissed?: boolean | null, status?: OnboardingChecklistState | null } | null, invites?: Array<{ __typename?: 'Invite', id: string, email?: string | null } | null> | null, roles?: { __typename?: 'Roles', admin?: boolean | null } | null, groups?: Array<{ __typename?: 'Group', id: string, name: string, global?: boolean | null, description?: string | null } | null> | null } | null } | null, owner?: { __typename?: 'User', name: string, email: string } | null } | null }; +export type CreateConsoleInstanceMutation = { __typename?: 'RootMutationType', createConsoleInstance?: { __typename?: 'ConsoleInstance', id: string, name: string, subdomain: string, url: string, cloud: CloudProvider, size: ConsoleSize, region: string, status: ConsoleInstanceStatus, type: ConsoleInstanceType, deletedAt?: Date | null, insertedAt?: Date | null, updatedAt?: Date | null, console?: { __typename?: 'Cluster', id: string, pingedAt?: Date | null, owner?: { __typename?: 'User', id: string, name: string, email: string, avatar?: string | null, provider?: Provider | null, demoed?: boolean | null, onboarding?: OnboardingState | null, emailConfirmed?: boolean | null, emailConfirmBy?: Date | null, backgroundColor?: string | null, serviceAccount?: boolean | null, hasInstallations?: boolean | null, hasShell?: boolean | null, impersonationPolicy?: { __typename?: 'ImpersonationPolicy', id: string, bindings?: Array<{ __typename?: 'ImpersonationPolicyBinding', id: string, group?: { __typename?: 'Group', id: string, name: string } | null, user?: { __typename?: 'User', id: string, name: string, email: string } | null } | null> | null } | null, onboardingChecklist?: { __typename?: 'OnboardingChecklist', dismissed?: boolean | null, status?: OnboardingChecklistState | null } | null, invites?: Array<{ __typename?: 'Invite', id: string, email?: string | null } | null> | null, roles?: { __typename?: 'Roles', admin?: boolean | null } | null, groups?: Array<{ __typename?: 'Group', id: string, name: string, global?: boolean | null, description?: string | null } | null> | null } | null } | null, owner?: { __typename?: 'User', name: string, email: string } | null } | null }; export type UpdateConsoleInstanceMutationVariables = Exact<{ id: Scalars['ID']['input']; @@ -5672,14 +5672,14 @@ export type UpdateConsoleInstanceMutationVariables = Exact<{ }>; -export type UpdateConsoleInstanceMutation = { __typename?: 'RootMutationType', updateConsoleInstance?: { __typename?: 'ConsoleInstance', id: string, name: string, subdomain: string, url: string, cloud: CloudProvider, size: ConsoleSize, region: string, status: ConsoleInstanceStatus, deletedAt?: Date | null, insertedAt?: Date | null, updatedAt?: Date | null, console?: { __typename?: 'Cluster', id: string, pingedAt?: Date | null, owner?: { __typename?: 'User', id: string, name: string, email: string, avatar?: string | null, provider?: Provider | null, demoed?: boolean | null, onboarding?: OnboardingState | null, emailConfirmed?: boolean | null, emailConfirmBy?: Date | null, backgroundColor?: string | null, serviceAccount?: boolean | null, hasInstallations?: boolean | null, hasShell?: boolean | null, impersonationPolicy?: { __typename?: 'ImpersonationPolicy', id: string, bindings?: Array<{ __typename?: 'ImpersonationPolicyBinding', id: string, group?: { __typename?: 'Group', id: string, name: string } | null, user?: { __typename?: 'User', id: string, name: string, email: string } | null } | null> | null } | null, onboardingChecklist?: { __typename?: 'OnboardingChecklist', dismissed?: boolean | null, status?: OnboardingChecklistState | null } | null, invites?: Array<{ __typename?: 'Invite', id: string, email?: string | null } | null> | null, roles?: { __typename?: 'Roles', admin?: boolean | null } | null, groups?: Array<{ __typename?: 'Group', id: string, name: string, global?: boolean | null, description?: string | null } | null> | null } | null } | null, owner?: { __typename?: 'User', name: string, email: string } | null } | null }; +export type UpdateConsoleInstanceMutation = { __typename?: 'RootMutationType', updateConsoleInstance?: { __typename?: 'ConsoleInstance', id: string, name: string, subdomain: string, url: string, cloud: CloudProvider, size: ConsoleSize, region: string, status: ConsoleInstanceStatus, type: ConsoleInstanceType, deletedAt?: Date | null, insertedAt?: Date | null, updatedAt?: Date | null, console?: { __typename?: 'Cluster', id: string, pingedAt?: Date | null, owner?: { __typename?: 'User', id: string, name: string, email: string, avatar?: string | null, provider?: Provider | null, demoed?: boolean | null, onboarding?: OnboardingState | null, emailConfirmed?: boolean | null, emailConfirmBy?: Date | null, backgroundColor?: string | null, serviceAccount?: boolean | null, hasInstallations?: boolean | null, hasShell?: boolean | null, impersonationPolicy?: { __typename?: 'ImpersonationPolicy', id: string, bindings?: Array<{ __typename?: 'ImpersonationPolicyBinding', id: string, group?: { __typename?: 'Group', id: string, name: string } | null, user?: { __typename?: 'User', id: string, name: string, email: string } | null } | null> | null } | null, onboardingChecklist?: { __typename?: 'OnboardingChecklist', dismissed?: boolean | null, status?: OnboardingChecklistState | null } | null, invites?: Array<{ __typename?: 'Invite', id: string, email?: string | null } | null> | null, roles?: { __typename?: 'Roles', admin?: boolean | null } | null, groups?: Array<{ __typename?: 'Group', id: string, name: string, global?: boolean | null, description?: string | null } | null> | null } | null } | null, owner?: { __typename?: 'User', name: string, email: string } | null } | null }; export type DeleteConsoleInstanceMutationVariables = Exact<{ id: Scalars['ID']['input']; }>; -export type DeleteConsoleInstanceMutation = { __typename?: 'RootMutationType', deleteConsoleInstance?: { __typename?: 'ConsoleInstance', id: string, name: string, subdomain: string, url: string, cloud: CloudProvider, size: ConsoleSize, region: string, status: ConsoleInstanceStatus, deletedAt?: Date | null, insertedAt?: Date | null, updatedAt?: Date | null, console?: { __typename?: 'Cluster', id: string, pingedAt?: Date | null, owner?: { __typename?: 'User', id: string, name: string, email: string, avatar?: string | null, provider?: Provider | null, demoed?: boolean | null, onboarding?: OnboardingState | null, emailConfirmed?: boolean | null, emailConfirmBy?: Date | null, backgroundColor?: string | null, serviceAccount?: boolean | null, hasInstallations?: boolean | null, hasShell?: boolean | null, impersonationPolicy?: { __typename?: 'ImpersonationPolicy', id: string, bindings?: Array<{ __typename?: 'ImpersonationPolicyBinding', id: string, group?: { __typename?: 'Group', id: string, name: string } | null, user?: { __typename?: 'User', id: string, name: string, email: string } | null } | null> | null } | null, onboardingChecklist?: { __typename?: 'OnboardingChecklist', dismissed?: boolean | null, status?: OnboardingChecklistState | null } | null, invites?: Array<{ __typename?: 'Invite', id: string, email?: string | null } | null> | null, roles?: { __typename?: 'Roles', admin?: boolean | null } | null, groups?: Array<{ __typename?: 'Group', id: string, name: string, global?: boolean | null, description?: string | null } | null> | null } | null } | null, owner?: { __typename?: 'User', name: string, email: string } | null } | null }; +export type DeleteConsoleInstanceMutation = { __typename?: 'RootMutationType', deleteConsoleInstance?: { __typename?: 'ConsoleInstance', id: string, name: string, subdomain: string, url: string, cloud: CloudProvider, size: ConsoleSize, region: string, status: ConsoleInstanceStatus, type: ConsoleInstanceType, deletedAt?: Date | null, insertedAt?: Date | null, updatedAt?: Date | null, console?: { __typename?: 'Cluster', id: string, pingedAt?: Date | null, owner?: { __typename?: 'User', id: string, name: string, email: string, avatar?: string | null, provider?: Provider | null, demoed?: boolean | null, onboarding?: OnboardingState | null, emailConfirmed?: boolean | null, emailConfirmBy?: Date | null, backgroundColor?: string | null, serviceAccount?: boolean | null, hasInstallations?: boolean | null, hasShell?: boolean | null, impersonationPolicy?: { __typename?: 'ImpersonationPolicy', id: string, bindings?: Array<{ __typename?: 'ImpersonationPolicyBinding', id: string, group?: { __typename?: 'Group', id: string, name: string } | null, user?: { __typename?: 'User', id: string, name: string, email: string } | null } | null> | null } | null, onboardingChecklist?: { __typename?: 'OnboardingChecklist', dismissed?: boolean | null, status?: OnboardingChecklistState | null } | null, invites?: Array<{ __typename?: 'Invite', id: string, email?: string | null } | null> | null, roles?: { __typename?: 'Roles', admin?: boolean | null } | null, groups?: Array<{ __typename?: 'Group', id: string, name: string, global?: boolean | null, description?: string | null } | null> | null } | null } | null, owner?: { __typename?: 'User', name: string, email: string } | null } | null }; export type UpdateOidcProviderMutationVariables = Exact<{ id: Scalars['ID']['input']; @@ -7210,6 +7210,7 @@ export const ConsoleInstanceFragmentDoc = gql` size region status + type deletedAt console { id diff --git a/www/src/graph/pluralCloud.graphql b/www/src/graph/pluralCloud.graphql index 737673df0..ffb9a1bf2 100644 --- a/www/src/graph/pluralCloud.graphql +++ b/www/src/graph/pluralCloud.graphql @@ -7,6 +7,7 @@ fragment ConsoleInstance on ConsoleInstance { size region status + type deletedAt console { id