diff --git a/OMICRON_VERSION b/OMICRON_VERSION index 57b1b0914d..56df256089 100644 --- a/OMICRON_VERSION +++ b/OMICRON_VERSION @@ -1 +1 @@ -e5704d7f343fa0633751527dedf276409647ad4e +adf3786058ac774261b16b87363b82d662ded0bb diff --git a/app/components/ProjectSelector.tsx b/app/components/ProjectSelector.tsx index 344ecb86d6..169285d4e8 100644 --- a/app/components/ProjectSelector.tsx +++ b/app/components/ProjectSelector.tsx @@ -24,7 +24,7 @@ const BrandIcon = () => ( export const ProjectSelector = () => { const { orgName, projectName } = useParams('orgName') - const { data } = useApiQuery('organizationProjectsGet', { orgName, limit: 20 }) + const { data } = useApiQuery('projectList', { orgName, limit: 20 }) // filter out current project if there is one. if there isn't one, it'll be // undefined and it won't match any diff --git a/app/components/form/fields/SubnetListbox.tsx b/app/components/form/fields/SubnetListbox.tsx index ec8dc44bb8..13df5a6a78 100644 --- a/app/components/form/fields/SubnetListbox.tsx +++ b/app/components/form/fields/SubnetListbox.tsx @@ -38,7 +38,7 @@ export function SubnetListbox({ vpcNameField, vpcs, ...fieldProps }: SubnetListb // TODO: error handling other than fallback to empty list? const subnets = useApiQuery( - 'vpcSubnetsGet', + 'vpcSubnetList', { ...pathParams, vpcName, limit: 50 }, { enabled: vpcExists, diff --git a/app/forms/disk-attach.tsx b/app/forms/disk-attach.tsx index 8ede052bfb..6fb6a477e6 100644 --- a/app/forms/disk-attach.tsx +++ b/app/forms/disk-attach.tsx @@ -23,11 +23,11 @@ export function AttachDiskSideModalForm({ const queryClient = useApiQueryClient() const pathParams = useParams('orgName', 'projectName') - const attachDisk = useApiMutation('instanceDisksAttach', { + const attachDisk = useApiMutation('instanceDiskAttach', { onSuccess(data) { const { instanceName, ...others } = pathParams invariant(instanceName, 'instanceName is required') - queryClient.invalidateQueries('instanceDisksGet', { + queryClient.invalidateQueries('instanceDiskList', { instanceName, ...others, }) @@ -41,7 +41,7 @@ export function AttachDiskSideModalForm({ // click in // TODO: error handling const detachedDisks = - useApiQuery('projectDisksGet', { ...pathParams, limit: 50 }).data?.items.filter( + useApiQuery('diskList', { ...pathParams, limit: 50 }).data?.items.filter( (d) => d.state.state === 'detached' ) || [] diff --git a/app/forms/disk-create.tsx b/app/forms/disk-create.tsx index 65b17267e5..98da017db3 100644 --- a/app/forms/disk-create.tsx +++ b/app/forms/disk-create.tsx @@ -40,9 +40,9 @@ export function CreateDiskSideModalForm({ const pathParams = useParams('orgName', 'projectName') const addToast = useToast() - const createDisk = useApiMutation('projectDisksPost', { + const createDisk = useApiMutation('diskCreate', { onSuccess(data) { - queryClient.invalidateQueries('projectDisksGet', pathParams) + queryClient.invalidateQueries('diskList', pathParams) addToast({ icon: , title: 'Success!', diff --git a/app/forms/firewall-rules-create.tsx b/app/forms/firewall-rules-create.tsx index 7f1ba5fd62..960955f9f0 100644 --- a/app/forms/firewall-rules-create.tsx +++ b/app/forms/firewall-rules-create.tsx @@ -419,9 +419,9 @@ export function CreateFirewallRuleSideModalForm({ const parentNames = useParams('orgName', 'projectName', 'vpcName') const queryClient = useApiQueryClient() - const updateRules = useApiMutation('vpcFirewallRulesPut', { + const updateRules = useApiMutation('vpcFirewallRulesUpdate', { onSuccess(data) { - queryClient.invalidateQueries('vpcFirewallRulesGet', parentNames) + queryClient.invalidateQueries('vpcFirewallRulesView', parentNames) onSuccess?.(data) onDismiss() }, diff --git a/app/forms/firewall-rules-edit.tsx b/app/forms/firewall-rules-edit.tsx index f0301d438a..978aa74edc 100644 --- a/app/forms/firewall-rules-edit.tsx +++ b/app/forms/firewall-rules-edit.tsx @@ -26,9 +26,9 @@ export function EditFirewallRuleForm({ const parentNames = useParams('orgName', 'projectName', 'vpcName') const queryClient = useApiQueryClient() - const updateRules = useApiMutation('vpcFirewallRulesPut', { + const updateRules = useApiMutation('vpcFirewallRulesUpdate', { onSuccess(data) { - queryClient.invalidateQueries('vpcFirewallRulesGet', parentNames) + queryClient.invalidateQueries('vpcFirewallRulesView', parentNames) onSuccess?.(data) onDismiss() }, diff --git a/app/forms/instance-create.tsx b/app/forms/instance-create.tsx index 08d021c07c..ca82fe537e 100644 --- a/app/forms/instance-create.tsx +++ b/app/forms/instance-create.tsx @@ -87,15 +87,15 @@ export default function CreateInstanceForm({ const addToast = useToast() const pageParams = useParams('orgName', 'projectName') - const createDisk = useApiMutation('projectDisksPost') + const createDisk = useApiMutation('diskCreate') - const createInstance = useApiMutation('projectInstancesPost', { + const createInstance = useApiMutation('instanceCreate', { onSuccess(instance) { // refetch list of instances - queryClient.invalidateQueries('projectInstancesGet', pageParams) + queryClient.invalidateQueries('instanceList', pageParams) // avoid the instance fetch when the instance page loads since we have the data queryClient.setQueryData( - 'projectInstancesGetInstance', + 'instanceView', { ...pageParams, instanceName: instance.name }, instance ) @@ -109,7 +109,7 @@ export default function CreateInstanceForm({ onError, }) - const images = useApiQuery('imagesGet', {}).data?.items || [] + const images = useApiQuery('imageGlobalList', {}).data?.items || [] initialValues.globalImage = images[0]?.id || '' diff --git a/app/forms/network-interface-create.tsx b/app/forms/network-interface-create.tsx index ef4ec5b686..7c2a9fe99e 100644 --- a/app/forms/network-interface-create.tsx +++ b/app/forms/network-interface-create.tsx @@ -37,11 +37,11 @@ export default function CreateNetworkInterfaceSideModalForm({ const queryClient = useApiQueryClient() const pathParams = useParams('orgName', 'projectName') - const createNetworkInterface = useApiMutation('instanceNetworkInterfacesPost', { + const createNetworkInterface = useApiMutation('instanceNetworkInterfaceCreate', { onSuccess(data) { const { instanceName, ...others } = pathParams invariant(instanceName, 'instanceName is required when posting a network interface') - queryClient.invalidateQueries('instanceNetworkInterfacesGet', { + queryClient.invalidateQueries('instanceNetworkInterfaceList', { instanceName, ...others, }) @@ -51,7 +51,7 @@ export default function CreateNetworkInterfaceSideModalForm({ onError, }) - const vpcs = useApiQuery('projectVpcsGet', { ...pathParams, limit: 50 }).data?.items || [] + const vpcs = useApiQuery('vpcList', { ...pathParams, limit: 50 }).data?.items || [] return ( ({ value: u.id, label: u.displayName })) const queryClient = useApiQueryClient() - const updatePolicy = useApiMutation('organizationPutPolicy', { + const updatePolicy = useApiMutation('organizationPolicyUpdate', { onSuccess: (data) => { - queryClient.invalidateQueries('organizationGetPolicy', orgParams) + queryClient.invalidateQueries('organizationPolicyView', orgParams) onSuccess?.(data) onDismiss() }, @@ -103,9 +103,9 @@ export function OrgAccessEditUserSideModal({ const orgParams = useParams('orgName') const queryClient = useApiQueryClient() - const updatePolicy = useApiMutation('organizationPutPolicy', { + const updatePolicy = useApiMutation('organizationPolicyUpdate', { onSuccess: (data) => { - queryClient.invalidateQueries('organizationGetPolicy', orgParams) + queryClient.invalidateQueries('organizationPolicyView', orgParams) onSuccess?.(data) onDismiss() }, diff --git a/app/forms/org-create.tsx b/app/forms/org-create.tsx index 75563d6b71..9febd9634d 100644 --- a/app/forms/org-create.tsx +++ b/app/forms/org-create.tsx @@ -28,11 +28,11 @@ export function CreateOrgSideModalForm({ const queryClient = useApiQueryClient() const addToast = useToast() - const createOrg = useApiMutation('organizationsPost', { + const createOrg = useApiMutation('organizationCreate', { onSuccess(org) { - queryClient.invalidateQueries('organizationsGet', {}) + queryClient.invalidateQueries('organizationList', {}) // avoid the org fetch when the org page loads since we have the data - queryClient.setQueryData('organizationsGetOrganization', { orgName: org.name }, org) + queryClient.setQueryData('organizationView', { orgName: org.name }, org) addToast({ icon: , title: 'Success!', diff --git a/app/forms/org-edit.tsx b/app/forms/org-edit.tsx index d3c445eced..795f612cdd 100644 --- a/app/forms/org-edit.tsx +++ b/app/forms/org-edit.tsx @@ -20,11 +20,11 @@ export function EditOrgSideModalForm({ const queryClient = useApiQueryClient() const addToast = useToast() - const updateOrg = useApiMutation('organizationsPutOrganization', { + const updateOrg = useApiMutation('organizationUpdate', { onSuccess(org) { - queryClient.invalidateQueries('organizationsGet', {}) + queryClient.invalidateQueries('organizationList', {}) // avoid the org fetch when the org page loads since we have the data - queryClient.setQueryData('organizationsGetOrganization', { orgName: org.name }, org) + queryClient.setQueryData('organizationView', { orgName: org.name }, org) addToast({ icon: , title: 'Success!', diff --git a/app/forms/project-access.tsx b/app/forms/project-access.tsx index beb2e92599..7adcda21cc 100644 --- a/app/forms/project-access.tsx +++ b/app/forms/project-access.tsx @@ -42,9 +42,9 @@ export function ProjectAccessAddUserSideModal({ const userItems = users.map((u) => ({ value: u.id, label: u.displayName })) const queryClient = useApiQueryClient() - const updatePolicy = useApiMutation('organizationProjectsPutProjectPolicy', { + const updatePolicy = useApiMutation('projectPolicyUpdate', { onSuccess: (data) => { - queryClient.invalidateQueries('organizationProjectsGetProjectPolicy', projectParams) + queryClient.invalidateQueries('projectPolicyView', projectParams) onSuccess?.(data) onDismiss() }, @@ -104,9 +104,9 @@ export function ProjectAccessEditUserSideModal({ const projectParams = useParams('orgName', 'projectName') const queryClient = useApiQueryClient() - const updatePolicy = useApiMutation('organizationProjectsPutProjectPolicy', { + const updatePolicy = useApiMutation('projectPolicyUpdate', { onSuccess: (data) => { - queryClient.invalidateQueries('organizationProjectsGetProjectPolicy', projectParams) + queryClient.invalidateQueries('projectPolicyView', projectParams) onSuccess?.(data) onDismiss() }, diff --git a/app/forms/project-create.tsx b/app/forms/project-create.tsx index 61526f4f76..e533b0033f 100644 --- a/app/forms/project-create.tsx +++ b/app/forms/project-create.tsx @@ -30,13 +30,13 @@ export function CreateProjectSideModalForm({ const { orgName } = useParams('orgName') - const createProject = useApiMutation('organizationProjectsPost', { + const createProject = useApiMutation('projectCreate', { onSuccess(project) { // refetch list of projects in sidebar - queryClient.invalidateQueries('organizationProjectsGet', { orgName }) + queryClient.invalidateQueries('projectList', { orgName }) // avoid the project fetch when the project page loads since we have the data queryClient.setQueryData( - 'organizationProjectsGetProject', + 'projectView', { orgName, projectName: project.name }, project ) diff --git a/app/forms/project-edit.tsx b/app/forms/project-edit.tsx index c0d7ce5db2..40f980ab6a 100644 --- a/app/forms/project-edit.tsx +++ b/app/forms/project-edit.tsx @@ -22,13 +22,13 @@ export function EditProjectSideModalForm({ const { orgName } = useParams('orgName') - const editProject = useApiMutation('organizationProjectsPutProject', { + const editProject = useApiMutation('projectUpdate', { onSuccess(project) { // refetch list of projects in sidebar - queryClient.invalidateQueries('organizationProjectsGet', { orgName }) + queryClient.invalidateQueries('projectList', { orgName }) // avoid the project fetch when the project page loads since we have the data queryClient.setQueryData( - 'organizationProjectsGetProject', + 'projectView', { orgName, projectName: project.name }, project ) diff --git a/app/forms/ssh-key-create.tsx b/app/forms/ssh-key-create.tsx index c3120174fb..db63d86613 100644 --- a/app/forms/ssh-key-create.tsx +++ b/app/forms/ssh-key-create.tsx @@ -23,9 +23,9 @@ export function CreateSSHKeySideModalForm({ }: CreateSideModalFormProps) { const queryClient = useApiQueryClient() - const createSshKey = useApiMutation('sshkeysPost', { + const createSshKey = useApiMutation('sessionSshkeyCreate', { onSuccess(data) { - queryClient.invalidateQueries('sshkeysGet', {}) + queryClient.invalidateQueries('sessionSshkeyList', {}) onSuccess?.(data) onDismiss() }, diff --git a/app/forms/subnet-create.tsx b/app/forms/subnet-create.tsx index a15d6ecd86..84a2604473 100644 --- a/app/forms/subnet-create.tsx +++ b/app/forms/subnet-create.tsx @@ -26,9 +26,9 @@ export function CreateSubnetSideModalForm({ const parentNames = useParams('orgName', 'projectName', 'vpcName') const queryClient = useApiQueryClient() - const createSubnet = useApiMutation('vpcSubnetsPost', { + const createSubnet = useApiMutation('vpcSubnetCreate', { onSuccess(data) { - queryClient.invalidateQueries('vpcSubnetsGet', parentNames) + queryClient.invalidateQueries('vpcSubnetList', parentNames) onSuccess?.(data) onDismiss() }, diff --git a/app/forms/subnet-edit.tsx b/app/forms/subnet-edit.tsx index b0f6f7f918..a1984b3a30 100644 --- a/app/forms/subnet-edit.tsx +++ b/app/forms/subnet-edit.tsx @@ -19,9 +19,9 @@ export function EditSubnetSideModalForm({ const parentNames = useParams('orgName', 'projectName', 'vpcName') const queryClient = useApiQueryClient() - const updateSubnet = useApiMutation('vpcSubnetsPutSubnet', { + const updateSubnet = useApiMutation('vpcSubnetUpdate', { onSuccess(data) { - queryClient.invalidateQueries('vpcSubnetsGet', parentNames) + queryClient.invalidateQueries('vpcSubnetList', parentNames) onSuccess?.(data) onDismiss() }, diff --git a/app/forms/vpc-create.tsx b/app/forms/vpc-create.tsx index 87010360b8..903204b4f7 100644 --- a/app/forms/vpc-create.tsx +++ b/app/forms/vpc-create.tsx @@ -26,15 +26,11 @@ export function CreateVpcSideModalForm({ const queryClient = useApiQueryClient() const addToast = useToast() - const createVpc = useApiMutation('projectVpcsPost', { + const createVpc = useApiMutation('vpcCreate', { onSuccess(vpc) { - queryClient.invalidateQueries('projectVpcsGet', parentNames) + queryClient.invalidateQueries('vpcList', parentNames) // avoid the vpc fetch when the vpc page loads since we have the data - queryClient.setQueryData( - 'projectVpcsGetVpc', - { ...parentNames, vpcName: vpc.name }, - vpc - ) + queryClient.setQueryData('vpcView', { ...parentNames, vpcName: vpc.name }, vpc) addToast({ icon: , title: 'Success!', diff --git a/app/forms/vpc-router-create.tsx b/app/forms/vpc-router-create.tsx index 9ae61ae4bb..17564a3f66 100644 --- a/app/forms/vpc-router-create.tsx +++ b/app/forms/vpc-router-create.tsx @@ -23,12 +23,12 @@ export function CreateVpcRouterForm({ const queryClient = useApiQueryClient() const addToast = useToast() - const createRouter = useApiMutation('vpcRoutersPost', { + const createRouter = useApiMutation('vpcRouterCreate', { onSuccess(router) { - queryClient.invalidateQueries('vpcRoutersGet', parentNames) + queryClient.invalidateQueries('vpcRouterList', parentNames) // avoid the vpc fetch when the vpc page loads since we have the data queryClient.setQueryData( - 'vpcRoutersGetRouter', + 'vpcRouterView', { ...parentNames, routerName: router.name }, router ) diff --git a/app/forms/vpc-router-edit.tsx b/app/forms/vpc-router-edit.tsx index 37c979e976..671ae1934e 100644 --- a/app/forms/vpc-router-edit.tsx +++ b/app/forms/vpc-router-edit.tsx @@ -19,9 +19,9 @@ export function EditVpcRouterForm({ const parentNames = useParams('orgName', 'projectName', 'vpcName') const queryClient = useApiQueryClient() - const updateRouter = useApiMutation('vpcRoutersPutRouter', { + const updateRouter = useApiMutation('vpcRouterUpdate', { onSuccess(data) { - queryClient.invalidateQueries('vpcRoutersGet', parentNames) + queryClient.invalidateQueries('vpcRouterList', parentNames) onSuccess?.(data) onDismiss() }, diff --git a/app/layouts/OrgLayout.tsx b/app/layouts/OrgLayout.tsx index 6522ff5193..8db7b2bef2 100644 --- a/app/layouts/OrgLayout.tsx +++ b/app/layouts/OrgLayout.tsx @@ -24,7 +24,7 @@ import { const OrgLayout = () => { const { orgName } = useParams('orgName') - const { data: projects } = useApiQuery('organizationProjectsGet', { + const { data: projects } = useApiQuery('projectList', { orgName, limit: 10, }) diff --git a/app/pages/OrgAccessPage.tsx b/app/pages/OrgAccessPage.tsx index e95f81ec30..6891f58145 100644 --- a/app/pages/OrgAccessPage.tsx +++ b/app/pages/OrgAccessPage.tsx @@ -45,13 +45,13 @@ export const OrgAccessPage = () => { const [addModalOpen, setAddModalOpen] = useState(false) const [editingUserRow, setEditingUserRow] = useState(null) const orgParams = useParams('orgName') - const { data: policy } = useApiQuery('organizationGetPolicy', orgParams) + const { data: policy } = useApiQuery('organizationPolicyView', orgParams) const rows = useUserAccessRows(policy, orgRoleOrder) const queryClient = useApiQueryClient() - const updatePolicy = useApiMutation('organizationPutPolicy', { - onSuccess: () => queryClient.invalidateQueries('organizationGetPolicy', orgParams), + const updatePolicy = useApiMutation('organizationPolicyUpdate', { + onSuccess: () => queryClient.invalidateQueries('organizationPolicyView', orgParams), // TODO: handle 403 }) diff --git a/app/pages/OrgPage.tsx b/app/pages/OrgPage.tsx index 7556787d73..c7646dc627 100644 --- a/app/pages/OrgPage.tsx +++ b/app/pages/OrgPage.tsx @@ -7,7 +7,7 @@ import { useParams } from '../hooks' export default function OrgPage() { const { orgName } = useParams('orgName') - const { data: org } = useApiQuery('organizationsGetOrganization', { orgName }) + const { data: org } = useApiQuery('organizationView', { orgName }) if (!org) return null diff --git a/app/pages/OrgsPage.tsx b/app/pages/OrgsPage.tsx index 394dbe94d1..b0c143d004 100644 --- a/app/pages/OrgsPage.tsx +++ b/app/pages/OrgsPage.tsx @@ -38,16 +38,16 @@ const OrgsPage = ({ modal }: OrgsPageProps) => { const navigate = useNavigate() const location = useLocation() - const { Table, Column } = useQueryTable('organizationsGet', {}) + const { Table, Column } = useQueryTable('organizationList', {}) const queryClient = useApiQueryClient() - const { data: orgs } = useApiQuery('organizationsGet', { + const { data: orgs } = useApiQuery('organizationList', { limit: 10, // to have same params as QueryTable }) - const deleteOrg = useApiMutation('organizationsDeleteOrganization', { + const deleteOrg = useApiMutation('organizationDelete', { onSuccess() { - queryClient.invalidateQueries('organizationsGet', {}) + queryClient.invalidateQueries('organizationList', {}) }, }) diff --git a/app/pages/ProjectsPage.tsx b/app/pages/ProjectsPage.tsx index 11699750a5..aca645072d 100644 --- a/app/pages/ProjectsPage.tsx +++ b/app/pages/ProjectsPage.tsx @@ -39,18 +39,18 @@ const ProjectsPage = ({ modal }: ProjectsPageProps) => { const queryClient = useApiQueryClient() const { orgName } = useParams('orgName') - const { Table, Column } = useQueryTable('organizationProjectsGet', { + const { Table, Column } = useQueryTable('projectList', { orgName, }) - const { data: projects } = useApiQuery('organizationProjectsGet', { + const { data: projects } = useApiQuery('projectList', { orgName, limit: 10, // to have same params as QueryTable }) - const deleteProject = useApiMutation('organizationProjectsDeleteProject', { + const deleteProject = useApiMutation('projectDelete', { onSuccess() { - queryClient.invalidateQueries('organizationProjectsGet', { orgName }) + queryClient.invalidateQueries('projectList', { orgName }) }, }) diff --git a/app/pages/project/access/ProjectAccessPage.tsx b/app/pages/project/access/ProjectAccessPage.tsx index a188d20fc7..087e5bff5e 100644 --- a/app/pages/project/access/ProjectAccessPage.tsx +++ b/app/pages/project/access/ProjectAccessPage.tsx @@ -48,17 +48,13 @@ export const ProjectAccessPage = () => { const [addModalOpen, setAddModalOpen] = useState(false) const [editingUserRow, setEditingUserRow] = useState(null) const projectParams = useParams('orgName', 'projectName') - const { data: policy } = useApiQuery( - 'organizationProjectsGetProjectPolicy', - projectParams - ) + const { data: policy } = useApiQuery('projectPolicyView', projectParams) const rows = useUserAccessRows(policy, projectRoleOrder) const queryClient = useApiQueryClient() - const updatePolicy = useApiMutation('organizationProjectsPutProjectPolicy', { - onSuccess: () => - queryClient.invalidateQueries('organizationProjectsGetProjectPolicy', projectParams), + const updatePolicy = useApiMutation('projectPolicyUpdate', { + onSuccess: () => queryClient.invalidateQueries('projectPolicyView', projectParams), // TODO: handle 403 }) diff --git a/app/pages/project/disks/DisksPage.tsx b/app/pages/project/disks/DisksPage.tsx index 925092e572..da5777da03 100644 --- a/app/pages/project/disks/DisksPage.tsx +++ b/app/pages/project/disks/DisksPage.tsx @@ -28,7 +28,7 @@ function AttachedInstance(props: { // HACK: workaround because there's no other way to go from an instance ID to // name. Fetch the whole list (default page size is 100 I think) and find the // instance client-side. Fortunately, React Query dedupes the request. - const { data: instances } = useApiQuery('projectInstancesGet', { + const { data: instances } = useApiQuery('instanceList', { orgName: props.orgName, projectName: props.projectName, }) @@ -63,14 +63,14 @@ export function DisksPage({ modal }: DisksPageProps) { const queryClient = useApiQueryClient() const { orgName, projectName } = useParams('orgName', 'projectName') const { Table, Column } = useQueryTable( - 'projectDisksGet', + 'diskList', { orgName, projectName }, { refetchInterval: 5000 } ) - const deleteDisk = useApiMutation('projectDisksDeleteDisk', { + const deleteDisk = useApiMutation('diskDelete', { onSuccess() { - queryClient.invalidateQueries('projectDisksGet', { orgName, projectName }) + queryClient.invalidateQueries('diskList', { orgName, projectName }) }, }) diff --git a/app/pages/project/images/ImagesPage.tsx b/app/pages/project/images/ImagesPage.tsx index 8d26600731..668651a34d 100644 --- a/app/pages/project/images/ImagesPage.tsx +++ b/app/pages/project/images/ImagesPage.tsx @@ -15,7 +15,7 @@ const EmptyState = () => ( export const ImagesPage = () => { const projectParams = useParams('orgName', 'projectName') - const { Table, Column } = useQueryTable('projectImagesGet', projectParams) + const { Table, Column } = useQueryTable('imageList', projectParams) return ( <> diff --git a/app/pages/project/instances/InstancesPage.tsx b/app/pages/project/instances/InstancesPage.tsx index a63d207445..c9877539da 100644 --- a/app/pages/project/instances/InstancesPage.tsx +++ b/app/pages/project/instances/InstancesPage.tsx @@ -38,13 +38,13 @@ export const InstancesPage = () => { const queryClient = useApiQueryClient() const refetchInstances = () => - queryClient.invalidateQueries('projectInstancesGet', projectParams) + queryClient.invalidateQueries('instanceList', projectParams) const makeActions = useMakeInstanceActions(projectParams, { onSuccess: refetchInstances, }) - const { data: instances } = useApiQuery('projectInstancesGet', { + const { data: instances } = useApiQuery('instanceList', { ...projectParams, limit: 10, // to have same params as QueryTable }) @@ -64,7 +64,7 @@ export const InstancesPage = () => { ) ) - const { Table, Column } = useQueryTable('projectInstancesGet', projectParams, { + const { Table, Column } = useQueryTable('instanceList', projectParams, { refetchInterval: 5000, keepPreviousData: true, }) diff --git a/app/pages/project/instances/actions.tsx b/app/pages/project/instances/actions.tsx index 16b3cb6545..26e4619c8c 100644 --- a/app/pages/project/instances/actions.tsx +++ b/app/pages/project/instances/actions.tsx @@ -35,10 +35,10 @@ export const useMakeInstanceActions = ( // if you also pass onSuccess to mutate(), this one is not overridden — this // one runs first, then the one passed to mutate() const opts = { onSuccess: options.onSuccess } - const startInstance = useApiMutation('projectInstancesInstanceStart', opts) - const stopInstance = useApiMutation('projectInstancesInstanceStop', opts) - const rebootInstance = useApiMutation('projectInstancesInstanceReboot', opts) - const deleteInstance = useApiMutation('projectInstancesDeleteInstance', opts) + const startInstance = useApiMutation('instanceStart', opts) + const stopInstance = useApiMutation('instanceStop', opts) + const rebootInstance = useApiMutation('instanceReboot', opts) + const deleteInstance = useApiMutation('instanceDelete', opts) return useCallback((instance) => { const { name: instanceName } = instance diff --git a/app/pages/project/instances/instance/InstancePage.tsx b/app/pages/project/instances/instance/InstancePage.tsx index d4850fb415..e1631ea00d 100644 --- a/app/pages/project/instances/instance/InstancePage.tsx +++ b/app/pages/project/instances/instance/InstancePage.tsx @@ -46,13 +46,13 @@ export const InstancePage = () => { const projectParams = pick(instanceParams, 'projectName', 'orgName') const makeActions = useMakeInstanceActions(projectParams, { onSuccess: () => { - queryClient.invalidateQueries('projectInstancesGetInstance', instanceParams) + queryClient.invalidateQueries('instanceView', instanceParams) }, // go to project instances list since there's no more instance onDelete: () => navigate('..'), }) - const { data: instance } = useApiQuery('projectInstancesGetInstance', instanceParams, { + const { data: instance } = useApiQuery('instanceView', instanceParams, { refetchInterval: 5000, }) const actions = useMemo( diff --git a/app/pages/project/instances/instance/SerialConsolePage.tsx b/app/pages/project/instances/instance/SerialConsolePage.tsx index 2656c93f41..2fc6503955 100644 --- a/app/pages/project/instances/instance/SerialConsolePage.tsx +++ b/app/pages/project/instances/instance/SerialConsolePage.tsx @@ -11,21 +11,11 @@ import { useParams } from 'app/hooks' const Terminal = React.lazy(() => import('app/components/Terminal')) export function SerialConsolePage() { - const { orgName, projectName, instanceName } = useParams( - 'orgName', - 'projectName', - 'instanceName' - ) + const instanceParams = useParams('orgName', 'projectName', 'instanceName') const { data, refetch } = useApiQuery( - 'projectInstancesInstanceSerialGet', - { - maxBytes: 10 * MiB, - fromStart: 0, - orgName, - projectName, - instanceName, - }, + 'instanceSerialConsole', + { maxBytes: 10 * MiB, fromStart: 0, ...instanceParams }, { refetchOnWindowFocus: false } ) diff --git a/app/pages/project/instances/instance/tabs/NetworkingTab.tsx b/app/pages/project/instances/instance/tabs/NetworkingTab.tsx index 8ec44a76c5..7b8cd33a14 100644 --- a/app/pages/project/instances/instance/tabs/NetworkingTab.tsx +++ b/app/pages/project/instances/instance/tabs/NetworkingTab.tsx @@ -26,9 +26,9 @@ export function NetworkingTab() { const [createModalOpen, setCreateModalOpen] = useState(false) const [editing, setEditing] = useState(null) - const getQuery = ['instanceNetworkInterfacesGet', instanceParams] as const + const getQuery = ['instanceNetworkInterfaceList', instanceParams] as const - const deleteNic = useApiMutation('instanceNetworkInterfacesDeleteInterface', { + const deleteNic = useApiMutation('instanceNetworkInterfaceDelete', { onSuccess() { queryClient.invalidateQueries(...getQuery) addToast({ @@ -38,14 +38,14 @@ export function NetworkingTab() { }, }) - const editNic = useApiMutation('instanceNetworkInterfacesPutInterface', { + const editNic = useApiMutation('instanceNetworkInterfaceUpdate', { onSuccess() { queryClient.invalidateQueries(...getQuery) }, }) const instanceStopped = - useApiQuery('projectInstancesGetInstance', instanceParams).data?.runState === 'stopped' + useApiQuery('instanceView', instanceParams).data?.runState === 'stopped' const makeActions = (nic: NetworkInterface): MenuAction[] => [ { diff --git a/app/pages/project/instances/instance/tabs/SerialConsoleTab.tsx b/app/pages/project/instances/instance/tabs/SerialConsoleTab.tsx index cfef18fc80..c9e1d7f374 100644 --- a/app/pages/project/instances/instance/tabs/SerialConsoleTab.tsx +++ b/app/pages/project/instances/instance/tabs/SerialConsoleTab.tsx @@ -10,21 +10,11 @@ import { useParams } from 'app/hooks' const Terminal = lazy(() => import('app/components/Terminal')) export function SerialConsoleTab() { - const { orgName, projectName, instanceName } = useParams( - 'orgName', - 'projectName', - 'instanceName' - ) + const instanceParams = useParams('orgName', 'projectName', 'instanceName') const { data, refetch } = useApiQuery( - 'projectInstancesInstanceSerialGet', - { - maxBytes: 10 * MiB, - fromStart: 0, - orgName, - projectName, - instanceName, - }, + 'instanceSerialConsole', + { maxBytes: 10 * MiB, fromStart: 0, ...instanceParams }, { refetchOnWindowFocus: false } ) diff --git a/app/pages/project/instances/instance/tabs/StorageTab.tsx b/app/pages/project/instances/instance/tabs/StorageTab.tsx index eb118e090b..c02f28abf1 100644 --- a/app/pages/project/instances/instance/tabs/StorageTab.tsx +++ b/app/pages/project/instances/instance/tabs/StorageTab.tsx @@ -52,14 +52,14 @@ export function StorageTab() { const queryClient = useApiQueryClient() const instanceParams = useParams('orgName', 'projectName', 'instanceName') - const { data } = useApiQuery('instanceDisksGet', instanceParams, { + const { data } = useApiQuery('instanceDiskList', instanceParams, { refetchInterval: 5000, }) - const detachDisk = useApiMutation('instanceDisksDetach', {}) + const detachDisk = useApiMutation('instanceDiskDetach', {}) const instanceStopped = - useApiQuery('projectInstancesGetInstance', instanceParams).data?.runState === 'stopped' + useApiQuery('instanceView', instanceParams).data?.runState === 'stopped' const makeActions = (disk: Disk): MenuAction[] => [ { @@ -70,7 +70,7 @@ export function StorageTab() { { body: { name: disk.name }, ...instanceParams }, { onSuccess: () => { - queryClient.invalidateQueries('instanceDisksGet', instanceParams) + queryClient.invalidateQueries('instanceDiskList', instanceParams) }, } ) @@ -78,9 +78,9 @@ export function StorageTab() { }, ] - const attachDisk = useApiMutation('instanceDisksAttach', { + const attachDisk = useApiMutation('instanceDiskAttach', { onSuccess() { - queryClient.invalidateQueries('instanceDisksGet', instanceParams) + queryClient.invalidateQueries('instanceDiskList', instanceParams) }, onError(err) { addToast({ diff --git a/app/pages/project/networking/VpcPage/VpcPage.tsx b/app/pages/project/networking/VpcPage/VpcPage.tsx index 682de86461..dbba1ae2e0 100644 --- a/app/pages/project/networking/VpcPage/VpcPage.tsx +++ b/app/pages/project/networking/VpcPage/VpcPage.tsx @@ -15,7 +15,7 @@ const formatDateTime = (d: Date) => format(d, 'MMM d, yyyy H:mm aa') export const VpcPage = () => { const vpcParams = useParams('orgName', 'projectName', 'vpcName') - const { data: vpc } = useApiQuery('projectVpcsGetVpc', vpcParams) + const { data: vpc } = useApiQuery('vpcView', vpcParams) return ( <> diff --git a/app/pages/project/networking/VpcPage/tabs/VpcFirewallRulesTab.tsx b/app/pages/project/networking/VpcPage/tabs/VpcFirewallRulesTab.tsx index f3951ea30e..141408c2f0 100644 --- a/app/pages/project/networking/VpcPage/tabs/VpcFirewallRulesTab.tsx +++ b/app/pages/project/networking/VpcPage/tabs/VpcFirewallRulesTab.tsx @@ -49,7 +49,7 @@ const staticColumns = [ export const VpcFirewallRulesTab = () => { const vpcParams = useParams('orgName', 'projectName', 'vpcName') - const { data, isLoading } = useApiQuery('vpcFirewallRulesGet', vpcParams) + const { data, isLoading } = useApiQuery('vpcFirewallRulesView', vpcParams) const rules = useMemo(() => data?.rules || [], [data]) const [createModalOpen, setCreateModalOpen] = useState(false) diff --git a/app/pages/project/networking/VpcPage/tabs/VpcRoutersTab.tsx b/app/pages/project/networking/VpcPage/tabs/VpcRoutersTab.tsx index cc87019b65..1be3da7420 100644 --- a/app/pages/project/networking/VpcPage/tabs/VpcRoutersTab.tsx +++ b/app/pages/project/networking/VpcPage/tabs/VpcRoutersTab.tsx @@ -12,7 +12,7 @@ import { useParams } from 'app/hooks' export const VpcRoutersTab = () => { const vpcParams = useParams('orgName', 'projectName', 'vpcName') - const { Table, Column } = useQueryTable('vpcRoutersGet', vpcParams) + const { Table, Column } = useQueryTable('vpcRouterList', vpcParams) const [createModalOpen, setCreateModalOpen] = useState(false) const [editing, setEditing] = useState(null) diff --git a/app/pages/project/networking/VpcPage/tabs/VpcSubnetsTab.tsx b/app/pages/project/networking/VpcPage/tabs/VpcSubnetsTab.tsx index fe1c4e9239..c151f6ee51 100644 --- a/app/pages/project/networking/VpcPage/tabs/VpcSubnetsTab.tsx +++ b/app/pages/project/networking/VpcPage/tabs/VpcSubnetsTab.tsx @@ -12,7 +12,7 @@ import { useParams } from 'app/hooks' export const VpcSubnetsTab = () => { const vpcParams = useParams('orgName', 'projectName', 'vpcName') - const { Table, Column } = useQueryTable('vpcSubnetsGet', vpcParams) + const { Table, Column } = useQueryTable('vpcSubnetList', vpcParams) const [createModalOpen, setCreateModalOpen] = useState(false) const [editing, setEditing] = useState(null) diff --git a/app/pages/project/networking/VpcPage/tabs/VpcSystemRoutesTab.tsx b/app/pages/project/networking/VpcPage/tabs/VpcSystemRoutesTab.tsx index 082b19c066..f7fa6f0015 100644 --- a/app/pages/project/networking/VpcPage/tabs/VpcSystemRoutesTab.tsx +++ b/app/pages/project/networking/VpcPage/tabs/VpcSystemRoutesTab.tsx @@ -15,7 +15,7 @@ const EmptyState = () => ( export const VpcSystemRoutesTab = () => { const vpcParams = useParams('orgName', 'projectName', 'vpcName') - const { Table, Column } = useQueryTable('routersRoutesGet', { + const { Table, Column } = useQueryTable('vpcRouterRouteList', { routerName: 'system', ...vpcParams, }) diff --git a/app/pages/project/networking/VpcsPage.tsx b/app/pages/project/networking/VpcsPage.tsx index c07cc4c62a..d977bbf9a7 100644 --- a/app/pages/project/networking/VpcsPage.tsx +++ b/app/pages/project/networking/VpcsPage.tsx @@ -32,7 +32,7 @@ interface VpcsPageProps { export const VpcsPage = ({ modal }: VpcsPageProps) => { const projectParams = useParams('orgName', 'projectName') const { orgName, projectName } = projectParams - const { data: vpcs } = useApiQuery('projectVpcsGet', { + const { data: vpcs } = useApiQuery('vpcList', { ...projectParams, limit: 10, // to have same params as QueryTable }) @@ -49,7 +49,7 @@ export const VpcsPage = ({ modal }: VpcsPageProps) => { ) ) - const { Table, Column } = useQueryTable('projectVpcsGet', projectParams) + const { Table, Column } = useQueryTable('vpcList', projectParams) return ( <> diff --git a/app/pages/project/snapshots/SnapshotsPage.tsx b/app/pages/project/snapshots/SnapshotsPage.tsx index 2368e1b1c2..0aa4026af7 100644 --- a/app/pages/project/snapshots/SnapshotsPage.tsx +++ b/app/pages/project/snapshots/SnapshotsPage.tsx @@ -15,7 +15,7 @@ const EmptyState = () => ( export const SnapshotsPage = () => { const projectParams = useParams('orgName', 'projectName') - const { Table, Column } = useQueryTable('projectSnapshotsGet', projectParams) + const { Table, Column } = useQueryTable('snapshotList', projectParams) return ( <> diff --git a/app/pages/settings/SSHKeysPage.tsx b/app/pages/settings/SSHKeysPage.tsx index 982b1ee6ba..52745acc50 100644 --- a/app/pages/settings/SSHKeysPage.tsx +++ b/app/pages/settings/SSHKeysPage.tsx @@ -17,11 +17,11 @@ import { import { CreateSSHKeySideModalForm } from 'app/forms/ssh-key-create' export function SSHKeysPage() { - const { Table, Column } = useQueryTable('sshkeysGet', {}) + const { Table, Column } = useQueryTable('sessionSshkeyList', {}) const [createModalOpen, setCreateModalOpen] = useState(false) const queryClient = useApiQueryClient() - const deleteSshKey = useApiMutation('sshkeysDeleteKey', {}) + const deleteSshKey = useApiMutation('sessionSshkeyDelete', {}) const makeActions = (sshKey: SshKey): MenuAction[] => [ { @@ -31,7 +31,7 @@ export function SSHKeysPage() { { sshKeyName: sshKey.name }, { onSuccess: () => { - queryClient.invalidateQueries('sshkeysGet', {}) + queryClient.invalidateQueries('sessionSshkeyList', {}) }, } ) diff --git a/libs/api-mocks/msw/handlers.ts b/libs/api-mocks/msw/handlers.ts index 34f1437536..29ef9420a1 100644 --- a/libs/api-mocks/msw/handlers.ts +++ b/libs/api-mocks/msw/handlers.ts @@ -573,7 +573,7 @@ export const handlers = [ ), rest.get | GetErr>( - '/api/organizations/:orgName/projects/:projectName/instances/:instanceName/serial', + '/api/organizations/:orgName/projects/:projectName/instances/:instanceName/serial-console', (req, res) => { // TODO: Add support for query params return res(json(serial)) diff --git a/libs/api/__generated__/Api.ts b/libs/api/__generated__/Api.ts index e4d75be66b..f8ab4f126b 100644 --- a/libs/api/__generated__/Api.ts +++ b/libs/api/__generated__/Api.ts @@ -2038,7 +2038,7 @@ export interface DeviceAuthVerifyParams { userCode?: string } -export interface HardwareRacksGetParams { +export interface RackListParams { limit?: number | null pageToken?: string | null @@ -2046,11 +2046,11 @@ export interface HardwareRacksGetParams { sortBy?: IdSortMode } -export interface HardwareRacksGetRackParams { +export interface RackViewParams { rackId: string } -export interface HardwareSledsGetParams { +export interface SledListParams { limit?: number | null pageToken?: string | null @@ -2058,11 +2058,11 @@ export interface HardwareSledsGetParams { sortBy?: IdSortMode } -export interface HardwareSledsGetSledParams { +export interface SledViewParams { sledId: string } -export interface ImagesGetParams { +export interface ImageGlobalListParams { limit?: number | null pageToken?: string | null @@ -2070,17 +2070,17 @@ export interface ImagesGetParams { sortBy?: NameSortMode } -export interface ImagesPostParams {} +export interface ImageGlobalCreateParams {} -export interface ImagesGetImageParams { +export interface ImageGlobalViewParams { imageName: Name } -export interface ImagesDeleteImageParams { +export interface ImageGlobalDeleteParams { imageName: Name } -export interface IpPoolsGetParams { +export interface IpPoolListParams { limit?: number | null pageToken?: string | null @@ -2088,21 +2088,21 @@ export interface IpPoolsGetParams { sortBy?: NameOrIdSortMode } -export interface IpPoolsPostParams {} +export interface IpPoolCreateParams {} -export interface IpPoolsGetIpPoolParams { +export interface IpPoolViewParams { poolName: Name } -export interface IpPoolsPutIpPoolParams { +export interface IpPoolUpdateParams { poolName: Name } -export interface IpPoolsDeleteIpPoolParams { +export interface IpPoolDeleteParams { poolName: Name } -export interface IpPoolRangesGetParams { +export interface IpPoolRangeListParams { poolName: Name limit?: number | null @@ -2110,11 +2110,11 @@ export interface IpPoolRangesGetParams { pageToken?: string | null } -export interface IpPoolRangesAddParams { +export interface IpPoolRangeAddParams { poolName: Name } -export interface IpPoolRangesDeleteParams { +export interface IpPoolRangeRemoveParams { poolName: Name } @@ -2134,7 +2134,7 @@ export interface ConsumeCredentialsParams { export interface LogoutParams {} -export interface OrganizationsGetParams { +export interface OrganizationListParams { limit?: number | null pageToken?: string | null @@ -2142,29 +2142,29 @@ export interface OrganizationsGetParams { sortBy?: NameOrIdSortMode } -export interface OrganizationsPostParams {} +export interface OrganizationCreateParams {} -export interface OrganizationsGetOrganizationParams { +export interface OrganizationViewParams { orgName: Name } -export interface OrganizationsPutOrganizationParams { +export interface OrganizationUpdateParams { orgName: Name } -export interface OrganizationsDeleteOrganizationParams { +export interface OrganizationDeleteParams { orgName: Name } -export interface OrganizationGetPolicyParams { +export interface OrganizationPolicyViewParams { orgName: Name } -export interface OrganizationPutPolicyParams { +export interface OrganizationPolicyUpdateParams { orgName: Name } -export interface OrganizationProjectsGetParams { +export interface ProjectListParams { limit?: number | null pageToken?: string | null @@ -2174,29 +2174,29 @@ export interface OrganizationProjectsGetParams { orgName: Name } -export interface OrganizationProjectsPostParams { +export interface ProjectCreateParams { orgName: Name } -export interface OrganizationProjectsGetProjectParams { +export interface ProjectViewParams { orgName: Name projectName: Name } -export interface OrganizationProjectsPutProjectParams { +export interface ProjectUpdateParams { orgName: Name projectName: Name } -export interface OrganizationProjectsDeleteProjectParams { +export interface ProjectDeleteParams { orgName: Name projectName: Name } -export interface ProjectDisksGetParams { +export interface DiskListParams { limit?: number | null pageToken?: string | null @@ -2208,13 +2208,13 @@ export interface ProjectDisksGetParams { projectName: Name } -export interface ProjectDisksPostParams { +export interface DiskCreateParams { orgName: Name projectName: Name } -export interface ProjectDisksGetDiskParams { +export interface DiskViewParams { diskName: Name orgName: Name @@ -2222,7 +2222,7 @@ export interface ProjectDisksGetDiskParams { projectName: Name } -export interface ProjectDisksDeleteDiskParams { +export interface DiskDeleteParams { diskName: Name orgName: Name @@ -2230,7 +2230,7 @@ export interface ProjectDisksDeleteDiskParams { projectName: Name } -export interface ProjectImagesGetParams { +export interface ImageListParams { limit?: number | null pageToken?: string | null @@ -2242,13 +2242,13 @@ export interface ProjectImagesGetParams { projectName: Name } -export interface ProjectImagesPostParams { +export interface ImageCreateParams { orgName: Name projectName: Name } -export interface ProjectImagesGetImageParams { +export interface ImageViewParams { imageName: Name orgName: Name @@ -2256,7 +2256,7 @@ export interface ProjectImagesGetImageParams { projectName: Name } -export interface ProjectImagesDeleteImageParams { +export interface ImageDeleteParams { imageName: Name orgName: Name @@ -2264,7 +2264,7 @@ export interface ProjectImagesDeleteImageParams { projectName: Name } -export interface ProjectInstancesGetParams { +export interface InstanceListParams { limit?: number | null pageToken?: string | null @@ -2276,13 +2276,13 @@ export interface ProjectInstancesGetParams { projectName: Name } -export interface ProjectInstancesPostParams { +export interface InstanceCreateParams { orgName: Name projectName: Name } -export interface ProjectInstancesGetInstanceParams { +export interface InstanceViewParams { instanceName: Name orgName: Name @@ -2290,7 +2290,7 @@ export interface ProjectInstancesGetInstanceParams { projectName: Name } -export interface ProjectInstancesDeleteInstanceParams { +export interface InstanceDeleteParams { instanceName: Name orgName: Name @@ -2298,7 +2298,7 @@ export interface ProjectInstancesDeleteInstanceParams { projectName: Name } -export interface InstanceDisksGetParams { +export interface InstanceDiskListParams { limit?: number | null pageToken?: string | null @@ -2312,7 +2312,7 @@ export interface InstanceDisksGetParams { projectName: Name } -export interface InstanceDisksAttachParams { +export interface InstanceDiskAttachParams { instanceName: Name orgName: Name @@ -2320,7 +2320,7 @@ export interface InstanceDisksAttachParams { projectName: Name } -export interface InstanceDisksDetachParams { +export interface InstanceDiskDetachParams { instanceName: Name orgName: Name @@ -2328,7 +2328,7 @@ export interface InstanceDisksDetachParams { projectName: Name } -export interface ProjectInstancesMigrateInstanceParams { +export interface InstanceMigrateParams { instanceName: Name orgName: Name @@ -2336,7 +2336,7 @@ export interface ProjectInstancesMigrateInstanceParams { projectName: Name } -export interface InstanceNetworkInterfacesGetParams { +export interface InstanceNetworkInterfaceListParams { limit?: number | null pageToken?: string | null @@ -2350,7 +2350,7 @@ export interface InstanceNetworkInterfacesGetParams { projectName: Name } -export interface InstanceNetworkInterfacesPostParams { +export interface InstanceNetworkInterfaceCreateParams { instanceName: Name orgName: Name @@ -2358,7 +2358,7 @@ export interface InstanceNetworkInterfacesPostParams { projectName: Name } -export interface InstanceNetworkInterfacesGetInterfaceParams { +export interface InstanceNetworkInterfaceViewParams { instanceName: Name interfaceName: Name @@ -2368,7 +2368,7 @@ export interface InstanceNetworkInterfacesGetInterfaceParams { projectName: Name } -export interface InstanceNetworkInterfacesPutInterfaceParams { +export interface InstanceNetworkInterfaceUpdateParams { instanceName: Name interfaceName: Name @@ -2378,7 +2378,7 @@ export interface InstanceNetworkInterfacesPutInterfaceParams { projectName: Name } -export interface InstanceNetworkInterfacesDeleteInterfaceParams { +export interface InstanceNetworkInterfaceDeleteParams { instanceName: Name interfaceName: Name @@ -2388,7 +2388,7 @@ export interface InstanceNetworkInterfacesDeleteInterfaceParams { projectName: Name } -export interface ProjectInstancesInstanceRebootParams { +export interface InstanceRebootParams { instanceName: Name orgName: Name @@ -2396,7 +2396,7 @@ export interface ProjectInstancesInstanceRebootParams { projectName: Name } -export interface ProjectInstancesInstanceSerialGetParams { +export interface InstanceSerialConsoleParams { instanceName: Name orgName: Name @@ -2410,7 +2410,7 @@ export interface ProjectInstancesInstanceSerialGetParams { mostRecent?: number | null } -export interface ProjectInstancesInstanceStartParams { +export interface InstanceStartParams { instanceName: Name orgName: Name @@ -2418,7 +2418,7 @@ export interface ProjectInstancesInstanceStartParams { projectName: Name } -export interface ProjectInstancesInstanceStopParams { +export interface InstanceStopParams { instanceName: Name orgName: Name @@ -2426,19 +2426,19 @@ export interface ProjectInstancesInstanceStopParams { projectName: Name } -export interface OrganizationProjectsGetProjectPolicyParams { +export interface ProjectPolicyViewParams { orgName: Name projectName: Name } -export interface OrganizationProjectsPutProjectPolicyParams { +export interface ProjectPolicyUpdateParams { orgName: Name projectName: Name } -export interface ProjectSnapshotsGetParams { +export interface SnapshotListParams { limit?: number | null pageToken?: string | null @@ -2450,13 +2450,13 @@ export interface ProjectSnapshotsGetParams { projectName: Name } -export interface ProjectSnapshotsPostParams { +export interface SnapshotCreateParams { orgName: Name projectName: Name } -export interface ProjectSnapshotsGetSnapshotParams { +export interface SnapshotViewParams { orgName: Name projectName: Name @@ -2464,7 +2464,7 @@ export interface ProjectSnapshotsGetSnapshotParams { snapshotName: Name } -export interface ProjectSnapshotsDeleteSnapshotParams { +export interface SnapshotDeleteParams { orgName: Name projectName: Name @@ -2472,7 +2472,7 @@ export interface ProjectSnapshotsDeleteSnapshotParams { snapshotName: Name } -export interface ProjectVpcsGetParams { +export interface VpcListParams { limit?: number | null pageToken?: string | null @@ -2484,13 +2484,13 @@ export interface ProjectVpcsGetParams { projectName: Name } -export interface ProjectVpcsPostParams { +export interface VpcCreateParams { orgName: Name projectName: Name } -export interface ProjectVpcsGetVpcParams { +export interface VpcViewParams { orgName: Name projectName: Name @@ -2498,7 +2498,7 @@ export interface ProjectVpcsGetVpcParams { vpcName: Name } -export interface ProjectVpcsPutVpcParams { +export interface VpcUpdateParams { orgName: Name projectName: Name @@ -2506,7 +2506,7 @@ export interface ProjectVpcsPutVpcParams { vpcName: Name } -export interface ProjectVpcsDeleteVpcParams { +export interface VpcDeleteParams { orgName: Name projectName: Name @@ -2514,7 +2514,7 @@ export interface ProjectVpcsDeleteVpcParams { vpcName: Name } -export interface VpcFirewallRulesGetParams { +export interface VpcFirewallRulesViewParams { orgName: Name projectName: Name @@ -2522,7 +2522,7 @@ export interface VpcFirewallRulesGetParams { vpcName: Name } -export interface VpcFirewallRulesPutParams { +export interface VpcFirewallRulesUpdateParams { orgName: Name projectName: Name @@ -2530,7 +2530,7 @@ export interface VpcFirewallRulesPutParams { vpcName: Name } -export interface VpcRoutersGetParams { +export interface VpcRouterListParams { limit?: number | null pageToken?: string | null @@ -2544,7 +2544,7 @@ export interface VpcRoutersGetParams { vpcName: Name } -export interface VpcRoutersPostParams { +export interface VpcRouterCreateParams { orgName: Name projectName: Name @@ -2552,7 +2552,7 @@ export interface VpcRoutersPostParams { vpcName: Name } -export interface VpcRoutersGetRouterParams { +export interface VpcRouterViewParams { orgName: Name projectName: Name @@ -2562,7 +2562,7 @@ export interface VpcRoutersGetRouterParams { vpcName: Name } -export interface VpcRoutersPutRouterParams { +export interface VpcRouterUpdateParams { orgName: Name projectName: Name @@ -2572,7 +2572,7 @@ export interface VpcRoutersPutRouterParams { vpcName: Name } -export interface VpcRoutersDeleteRouterParams { +export interface VpcRouterDeleteParams { orgName: Name projectName: Name @@ -2582,7 +2582,7 @@ export interface VpcRoutersDeleteRouterParams { vpcName: Name } -export interface RoutersRoutesGetParams { +export interface VpcRouterRouteListParams { limit?: number | null pageToken?: string | null @@ -2598,7 +2598,7 @@ export interface RoutersRoutesGetParams { vpcName: Name } -export interface RoutersRoutesPostParams { +export interface VpcRouterRouteCreateParams { orgName: Name projectName: Name @@ -2608,7 +2608,7 @@ export interface RoutersRoutesPostParams { vpcName: Name } -export interface RoutersRoutesGetRouteParams { +export interface VpcRouterRouteViewParams { orgName: Name projectName: Name @@ -2620,7 +2620,7 @@ export interface RoutersRoutesGetRouteParams { vpcName: Name } -export interface RoutersRoutesPutRouteParams { +export interface VpcRouterRouteUpdateParams { orgName: Name projectName: Name @@ -2632,7 +2632,7 @@ export interface RoutersRoutesPutRouteParams { vpcName: Name } -export interface RoutersRoutesDeleteRouteParams { +export interface VpcRouterRouteDeleteParams { orgName: Name projectName: Name @@ -2644,7 +2644,7 @@ export interface RoutersRoutesDeleteRouteParams { vpcName: Name } -export interface VpcSubnetsGetParams { +export interface VpcSubnetListParams { limit?: number | null pageToken?: string | null @@ -2658,7 +2658,7 @@ export interface VpcSubnetsGetParams { vpcName: Name } -export interface VpcSubnetsPostParams { +export interface VpcSubnetCreateParams { orgName: Name projectName: Name @@ -2666,7 +2666,7 @@ export interface VpcSubnetsPostParams { vpcName: Name } -export interface VpcSubnetsGetSubnetParams { +export interface VpcSubnetViewParams { orgName: Name projectName: Name @@ -2676,7 +2676,7 @@ export interface VpcSubnetsGetSubnetParams { vpcName: Name } -export interface VpcSubnetsPutSubnetParams { +export interface VpcSubnetUpdateParams { orgName: Name projectName: Name @@ -2686,7 +2686,7 @@ export interface VpcSubnetsPutSubnetParams { vpcName: Name } -export interface VpcSubnetsDeleteSubnetParams { +export interface VpcSubnetDeleteParams { orgName: Name projectName: Name @@ -2696,7 +2696,7 @@ export interface VpcSubnetsDeleteSubnetParams { vpcName: Name } -export interface SubnetNetworkInterfacesGetParams { +export interface VpcSubnetListNetworkInterfacesParams { limit?: number | null pageToken?: string | null @@ -2712,21 +2712,21 @@ export interface SubnetNetworkInterfacesGetParams { vpcName: Name } -export interface PolicyGetParams {} +export interface PolicyViewParams {} -export interface PolicyPutParams {} +export interface PolicyUpdateParams {} -export interface RolesGetParams { +export interface RoleListParams { limit?: number | null pageToken?: string | null } -export interface RolesGetRoleParams { +export interface RoleViewParams { roleName: string } -export interface SagasGetParams { +export interface SagaListParams { limit?: number | null pageToken?: string | null @@ -2734,13 +2734,13 @@ export interface SagasGetParams { sortBy?: IdSortMode } -export interface SagasGetSagaParams { +export interface SagaViewParams { sagaId: string } export interface SessionMeParams {} -export interface SshkeysGetParams { +export interface SessionSshkeyListParams { limit?: number | null pageToken?: string | null @@ -2748,17 +2748,17 @@ export interface SshkeysGetParams { sortBy?: NameSortMode } -export interface SshkeysPostParams {} +export interface SessionSshkeyCreateParams {} -export interface SshkeysGetKeyParams { +export interface SessionSshkeyViewParams { sshKeyName: Name } -export interface SshkeysDeleteKeyParams { +export interface SessionSshkeyDeleteParams { sshKeyName: Name } -export interface SilosGetParams { +export interface SiloListParams { limit?: number | null pageToken?: string | null @@ -2766,17 +2766,17 @@ export interface SilosGetParams { sortBy?: NameOrIdSortMode } -export interface SilosPostParams {} +export interface SiloCreateParams {} -export interface SilosGetSiloParams { +export interface SiloViewParams { siloName: Name } -export interface SilosDeleteSiloParams { +export interface SiloDeleteParams { siloName: Name } -export interface SilosGetIdentityProvidersParams { +export interface SiloIdentityProviderListParams { siloName: Name limit?: number | null @@ -2786,50 +2786,50 @@ export interface SilosGetIdentityProvidersParams { sortBy?: NameSortMode } -export interface SilosGetSiloPolicyParams { +export interface SiloPolicyViewParams { siloName: Name } -export interface SilosPutSiloPolicyParams { +export interface SiloPolicyUpdateParams { siloName: Name } -export interface SiloSamlIdpCreateParams { +export interface SiloIdentityProviderCreateParams { siloName: Name } -export interface SiloSamlIdpFetchParams { +export interface SiloIdentityProviderViewParams { providerName: Name siloName: Name } -export interface TimeseriesSchemaGetParams { +export interface SystemUserListParams { limit?: number | null pageToken?: string | null + + sortBy?: NameSortMode } -export interface UpdatesRefreshParams {} +export interface SystemUserViewParams { + userName: Name +} -export interface SiloUsersGetParams { +export interface TimeseriesSchemaGetParams { limit?: number | null pageToken?: string | null - - sortBy?: IdSortMode } -export interface BuiltinUsersGetParams { +export interface UpdatesRefreshParams {} + +export interface UserListParams { limit?: number | null pageToken?: string | null - sortBy?: NameSortMode -} - -export interface BuiltinUsersGetUserParams { - userName: Name + sortBy?: IdSortMode } const camelToSnake = (s: string) => s.replace(/[A-Z]/g, (l) => '_' + l.toLowerCase()) @@ -3089,7 +3089,7 @@ export class Api extends HttpClient { /** * List racks in the system. */ - hardwareRacksGet: (query: HardwareRacksGetParams, params: RequestParams = {}) => + rackList: (query: RackListParams, params: RequestParams = {}) => this.request({ path: `/hardware/racks`, method: 'GET', @@ -3100,10 +3100,7 @@ export class Api extends HttpClient { /** * Fetch information about a particular rack. */ - hardwareRacksGetRack: ( - { rackId }: HardwareRacksGetRackParams, - params: RequestParams = {} - ) => + rackView: ({ rackId }: RackViewParams, params: RequestParams = {}) => this.request({ path: `/hardware/racks/${rackId}`, method: 'GET', @@ -3113,7 +3110,7 @@ export class Api extends HttpClient { /** * List sleds in the system. */ - hardwareSledsGet: (query: HardwareSledsGetParams, params: RequestParams = {}) => + sledList: (query: SledListParams, params: RequestParams = {}) => this.request({ path: `/hardware/sleds`, method: 'GET', @@ -3124,10 +3121,7 @@ export class Api extends HttpClient { /** * Fetch information about a sled in the system. */ - hardwareSledsGetSled: ( - { sledId }: HardwareSledsGetSledParams, - params: RequestParams = {} - ) => + sledView: ({ sledId }: SledViewParams, params: RequestParams = {}) => this.request({ path: `/hardware/sleds/${sledId}`, method: 'GET', @@ -3137,7 +3131,7 @@ export class Api extends HttpClient { /** * List global images. */ - imagesGet: (query: ImagesGetParams, params: RequestParams = {}) => + imageGlobalList: (query: ImageGlobalListParams, params: RequestParams = {}) => this.request({ path: `/images`, method: 'GET', @@ -3148,8 +3142,8 @@ export class Api extends HttpClient { /** * Create a global image. */ - imagesPost: ( - query: ImagesPostParams, + imageGlobalCreate: ( + query: ImageGlobalCreateParams, body: GlobalImageCreate, params: RequestParams = {} ) => @@ -3163,7 +3157,7 @@ export class Api extends HttpClient { /** * Get a global image. */ - imagesGetImage: ({ imageName }: ImagesGetImageParams, params: RequestParams = {}) => + imageGlobalView: ({ imageName }: ImageGlobalViewParams, params: RequestParams = {}) => this.request({ path: `/images/${imageName}`, method: 'GET', @@ -3173,8 +3167,8 @@ export class Api extends HttpClient { /** * Delete a global image. */ - imagesDeleteImage: ( - { imageName }: ImagesDeleteImageParams, + imageGlobalDelete: ( + { imageName }: ImageGlobalDeleteParams, params: RequestParams = {} ) => this.request({ @@ -3186,7 +3180,7 @@ export class Api extends HttpClient { /** * List IP Pools. */ - ipPoolsGet: (query: IpPoolsGetParams, params: RequestParams = {}) => + ipPoolList: (query: IpPoolListParams, params: RequestParams = {}) => this.request({ path: `/ip-pools`, method: 'GET', @@ -3197,8 +3191,8 @@ export class Api extends HttpClient { /** * Create a new IP Pool. */ - ipPoolsPost: ( - query: IpPoolsPostParams, + ipPoolCreate: ( + query: IpPoolCreateParams, body: IpPoolCreate, params: RequestParams = {} ) => @@ -3212,7 +3206,7 @@ export class Api extends HttpClient { /** * Fetch a single IP Pool. */ - ipPoolsGetIpPool: ({ poolName }: IpPoolsGetIpPoolParams, params: RequestParams = {}) => + ipPoolView: ({ poolName }: IpPoolViewParams, params: RequestParams = {}) => this.request({ path: `/ip-pools/${poolName}`, method: 'GET', @@ -3222,8 +3216,8 @@ export class Api extends HttpClient { /** * Update an IP Pool. */ - ipPoolsPutIpPool: ( - { poolName }: IpPoolsPutIpPoolParams, + ipPoolUpdate: ( + { poolName }: IpPoolUpdateParams, body: IpPoolUpdate, params: RequestParams = {} ) => @@ -3237,10 +3231,7 @@ export class Api extends HttpClient { /** * Delete an IP Pool. */ - ipPoolsDeleteIpPool: ( - { poolName }: IpPoolsDeleteIpPoolParams, - params: RequestParams = {} - ) => + ipPoolDelete: ({ poolName }: IpPoolDeleteParams, params: RequestParams = {}) => this.request({ path: `/ip-pools/${poolName}`, method: 'DELETE', @@ -3250,8 +3241,8 @@ export class Api extends HttpClient { /** * List the ranges of IP addresses within an existing IP Pool. */ - ipPoolRangesGet: ( - { poolName, ...query }: IpPoolRangesGetParams, + ipPoolRangeList: ( + { poolName, ...query }: IpPoolRangeListParams, params: RequestParams = {} ) => this.request({ @@ -3264,8 +3255,8 @@ export class Api extends HttpClient { /** * Add a new range to an existing IP Pool. */ - ipPoolRangesAdd: ( - { poolName }: IpPoolRangesAddParams, + ipPoolRangeAdd: ( + { poolName }: IpPoolRangeAddParams, body: IpRange, params: RequestParams = {} ) => @@ -3279,13 +3270,13 @@ export class Api extends HttpClient { /** * Remove a range from an existing IP Pool. */ - ipPoolRangesDelete: ( - { poolName }: IpPoolRangesDeleteParams, + ipPoolRangeRemove: ( + { poolName }: IpPoolRangeRemoveParams, body: IpRange, params: RequestParams = {} ) => this.request({ - path: `/ip-pools/${poolName}/ranges/delete`, + path: `/ip-pools/${poolName}/ranges/remove`, method: 'POST', body, ...params, @@ -3336,7 +3327,7 @@ export class Api extends HttpClient { /** * List all organizations. */ - organizationsGet: (query: OrganizationsGetParams, params: RequestParams = {}) => + organizationList: (query: OrganizationListParams, params: RequestParams = {}) => this.request({ path: `/organizations`, method: 'GET', @@ -3347,8 +3338,8 @@ export class Api extends HttpClient { /** * Create a new organization. */ - organizationsPost: ( - query: OrganizationsPostParams, + organizationCreate: ( + query: OrganizationCreateParams, body: OrganizationCreate, params: RequestParams = {} ) => @@ -3362,10 +3353,7 @@ export class Api extends HttpClient { /** * Fetch a specific organization */ - organizationsGetOrganization: ( - { orgName }: OrganizationsGetOrganizationParams, - params: RequestParams = {} - ) => + organizationView: ({ orgName }: OrganizationViewParams, params: RequestParams = {}) => this.request({ path: `/organizations/${orgName}`, method: 'GET', @@ -3375,8 +3363,8 @@ export class Api extends HttpClient { /** * Update a specific organization. */ - organizationsPutOrganization: ( - { orgName }: OrganizationsPutOrganizationParams, + organizationUpdate: ( + { orgName }: OrganizationUpdateParams, body: OrganizationUpdate, params: RequestParams = {} ) => @@ -3390,8 +3378,8 @@ export class Api extends HttpClient { /** * Delete a specific organization. */ - organizationsDeleteOrganization: ( - { orgName }: OrganizationsDeleteOrganizationParams, + organizationDelete: ( + { orgName }: OrganizationDeleteParams, params: RequestParams = {} ) => this.request({ @@ -3403,8 +3391,8 @@ export class Api extends HttpClient { /** * Fetch the IAM policy for this Organization */ - organizationGetPolicy: ( - { orgName }: OrganizationGetPolicyParams, + organizationPolicyView: ( + { orgName }: OrganizationPolicyViewParams, params: RequestParams = {} ) => this.request({ @@ -3416,8 +3404,8 @@ export class Api extends HttpClient { /** * Update the IAM policy for this Organization */ - organizationPutPolicy: ( - { orgName }: OrganizationPutPolicyParams, + organizationPolicyUpdate: ( + { orgName }: OrganizationPolicyUpdateParams, body: OrganizationRolePolicy, params: RequestParams = {} ) => @@ -3431,10 +3419,7 @@ export class Api extends HttpClient { /** * List all projects. */ - organizationProjectsGet: ( - { orgName, ...query }: OrganizationProjectsGetParams, - params: RequestParams = {} - ) => + projectList: ({ orgName, ...query }: ProjectListParams, params: RequestParams = {}) => this.request({ path: `/organizations/${orgName}/projects`, method: 'GET', @@ -3445,8 +3430,8 @@ export class Api extends HttpClient { /** * Create a new project. */ - organizationProjectsPost: ( - { orgName }: OrganizationProjectsPostParams, + projectCreate: ( + { orgName }: ProjectCreateParams, body: ProjectCreate, params: RequestParams = {} ) => @@ -3460,8 +3445,8 @@ export class Api extends HttpClient { /** * Fetch a specific project */ - organizationProjectsGetProject: ( - { orgName, projectName }: OrganizationProjectsGetProjectParams, + projectView: ( + { orgName, projectName }: ProjectViewParams, params: RequestParams = {} ) => this.request({ @@ -3473,8 +3458,8 @@ export class Api extends HttpClient { /** * Update a specific project. */ - organizationProjectsPutProject: ( - { orgName, projectName }: OrganizationProjectsPutProjectParams, + projectUpdate: ( + { orgName, projectName }: ProjectUpdateParams, body: ProjectUpdate, params: RequestParams = {} ) => @@ -3488,8 +3473,8 @@ export class Api extends HttpClient { /** * Delete a specific project. */ - organizationProjectsDeleteProject: ( - { orgName, projectName }: OrganizationProjectsDeleteProjectParams, + projectDelete: ( + { orgName, projectName }: ProjectDeleteParams, params: RequestParams = {} ) => this.request({ @@ -3501,8 +3486,8 @@ export class Api extends HttpClient { /** * List disks in a project. */ - projectDisksGet: ( - { orgName, projectName, ...query }: ProjectDisksGetParams, + diskList: ( + { orgName, projectName, ...query }: DiskListParams, params: RequestParams = {} ) => this.request({ @@ -3515,8 +3500,8 @@ export class Api extends HttpClient { /** * Create a disk in a project. */ - projectDisksPost: ( - { orgName, projectName }: ProjectDisksPostParams, + diskCreate: ( + { orgName, projectName }: DiskCreateParams, body: DiskCreate, params: RequestParams = {} ) => @@ -3530,8 +3515,8 @@ export class Api extends HttpClient { /** * Fetch a single disk in a project. */ - projectDisksGetDisk: ( - { diskName, orgName, projectName }: ProjectDisksGetDiskParams, + diskView: ( + { diskName, orgName, projectName }: DiskViewParams, params: RequestParams = {} ) => this.request({ @@ -3543,8 +3528,8 @@ export class Api extends HttpClient { /** * Delete a disk from a project. */ - projectDisksDeleteDisk: ( - { diskName, orgName, projectName }: ProjectDisksDeleteDiskParams, + diskDelete: ( + { diskName, orgName, projectName }: DiskDeleteParams, params: RequestParams = {} ) => this.request({ @@ -3556,8 +3541,8 @@ export class Api extends HttpClient { /** * List images */ - projectImagesGet: ( - { orgName, projectName, ...query }: ProjectImagesGetParams, + imageList: ( + { orgName, projectName, ...query }: ImageListParams, params: RequestParams = {} ) => this.request({ @@ -3570,8 +3555,8 @@ export class Api extends HttpClient { /** * Create an image */ - projectImagesPost: ( - { orgName, projectName }: ProjectImagesPostParams, + imageCreate: ( + { orgName, projectName }: ImageCreateParams, body: ImageCreate, params: RequestParams = {} ) => @@ -3585,8 +3570,8 @@ export class Api extends HttpClient { /** * Get an image */ - projectImagesGetImage: ( - { imageName, orgName, projectName }: ProjectImagesGetImageParams, + imageView: ( + { imageName, orgName, projectName }: ImageViewParams, params: RequestParams = {} ) => this.request({ @@ -3598,8 +3583,8 @@ export class Api extends HttpClient { /** * Delete an image */ - projectImagesDeleteImage: ( - { imageName, orgName, projectName }: ProjectImagesDeleteImageParams, + imageDelete: ( + { imageName, orgName, projectName }: ImageDeleteParams, params: RequestParams = {} ) => this.request({ @@ -3611,8 +3596,8 @@ export class Api extends HttpClient { /** * List instances in a project. */ - projectInstancesGet: ( - { orgName, projectName, ...query }: ProjectInstancesGetParams, + instanceList: ( + { orgName, projectName, ...query }: InstanceListParams, params: RequestParams = {} ) => this.request({ @@ -3625,8 +3610,8 @@ export class Api extends HttpClient { /** * Create an instance in a project. */ - projectInstancesPost: ( - { orgName, projectName }: ProjectInstancesPostParams, + instanceCreate: ( + { orgName, projectName }: InstanceCreateParams, body: InstanceCreate, params: RequestParams = {} ) => @@ -3640,8 +3625,8 @@ export class Api extends HttpClient { /** * Get an instance in a project. */ - projectInstancesGetInstance: ( - { instanceName, orgName, projectName }: ProjectInstancesGetInstanceParams, + instanceView: ( + { instanceName, orgName, projectName }: InstanceViewParams, params: RequestParams = {} ) => this.request({ @@ -3653,8 +3638,8 @@ export class Api extends HttpClient { /** * Delete an instance from a project. */ - projectInstancesDeleteInstance: ( - { instanceName, orgName, projectName }: ProjectInstancesDeleteInstanceParams, + instanceDelete: ( + { instanceName, orgName, projectName }: InstanceDeleteParams, params: RequestParams = {} ) => this.request({ @@ -3666,8 +3651,8 @@ export class Api extends HttpClient { /** * List disks attached to this instance. */ - instanceDisksGet: ( - { instanceName, orgName, projectName, ...query }: InstanceDisksGetParams, + instanceDiskList: ( + { instanceName, orgName, projectName, ...query }: InstanceDiskListParams, params: RequestParams = {} ) => this.request({ @@ -3677,8 +3662,8 @@ export class Api extends HttpClient { ...params, }), - instanceDisksAttach: ( - { instanceName, orgName, projectName }: InstanceDisksAttachParams, + instanceDiskAttach: ( + { instanceName, orgName, projectName }: InstanceDiskAttachParams, body: DiskIdentifier, params: RequestParams = {} ) => @@ -3689,8 +3674,8 @@ export class Api extends HttpClient { ...params, }), - instanceDisksDetach: ( - { instanceName, orgName, projectName }: InstanceDisksDetachParams, + instanceDiskDetach: ( + { instanceName, orgName, projectName }: InstanceDiskDetachParams, body: DiskIdentifier, params: RequestParams = {} ) => @@ -3704,8 +3689,8 @@ export class Api extends HttpClient { /** * Migrate an instance to a different propolis-server, possibly on a different sled. */ - projectInstancesMigrateInstance: ( - { instanceName, orgName, projectName }: ProjectInstancesMigrateInstanceParams, + instanceMigrate: ( + { instanceName, orgName, projectName }: InstanceMigrateParams, body: InstanceMigrate, params: RequestParams = {} ) => @@ -3719,8 +3704,8 @@ export class Api extends HttpClient { /** * List network interfaces attached to this instance. */ - instanceNetworkInterfacesGet: ( - { instanceName, orgName, projectName, ...query }: InstanceNetworkInterfacesGetParams, + instanceNetworkInterfaceList: ( + { instanceName, orgName, projectName, ...query }: InstanceNetworkInterfaceListParams, params: RequestParams = {} ) => this.request({ @@ -3733,8 +3718,8 @@ export class Api extends HttpClient { /** * Create a network interface for an instance. */ - instanceNetworkInterfacesPost: ( - { instanceName, orgName, projectName }: InstanceNetworkInterfacesPostParams, + instanceNetworkInterfaceCreate: ( + { instanceName, orgName, projectName }: InstanceNetworkInterfaceCreateParams, body: NetworkInterfaceCreate, params: RequestParams = {} ) => @@ -3748,13 +3733,13 @@ export class Api extends HttpClient { /** * Get an interface attached to an instance. */ - instanceNetworkInterfacesGetInterface: ( + instanceNetworkInterfaceView: ( { instanceName, interfaceName, orgName, projectName, - }: InstanceNetworkInterfacesGetInterfaceParams, + }: InstanceNetworkInterfaceViewParams, params: RequestParams = {} ) => this.request({ @@ -3766,13 +3751,13 @@ export class Api extends HttpClient { /** * Update information about an instance's network interface */ - instanceNetworkInterfacesPutInterface: ( + instanceNetworkInterfaceUpdate: ( { instanceName, interfaceName, orgName, projectName, - }: InstanceNetworkInterfacesPutInterfaceParams, + }: InstanceNetworkInterfaceUpdateParams, body: NetworkInterfaceUpdate, params: RequestParams = {} ) => @@ -3786,13 +3771,13 @@ export class Api extends HttpClient { /** * Detach a network interface from an instance. */ - instanceNetworkInterfacesDeleteInterface: ( + instanceNetworkInterfaceDelete: ( { instanceName, interfaceName, orgName, projectName, - }: InstanceNetworkInterfacesDeleteInterfaceParams, + }: InstanceNetworkInterfaceDeleteParams, params: RequestParams = {} ) => this.request({ @@ -3804,8 +3789,8 @@ export class Api extends HttpClient { /** * Reboot an instance. */ - projectInstancesInstanceReboot: ( - { instanceName, orgName, projectName }: ProjectInstancesInstanceRebootParams, + instanceReboot: ( + { instanceName, orgName, projectName }: InstanceRebootParams, params: RequestParams = {} ) => this.request({ @@ -3817,17 +3802,12 @@ export class Api extends HttpClient { /** * Get contents of an instance's serial console. */ - projectInstancesInstanceSerialGet: ( - { - instanceName, - orgName, - projectName, - ...query - }: ProjectInstancesInstanceSerialGetParams, + instanceSerialConsole: ( + { instanceName, orgName, projectName, ...query }: InstanceSerialConsoleParams, params: RequestParams = {} ) => this.request({ - path: `/organizations/${orgName}/projects/${projectName}/instances/${instanceName}/serial`, + path: `/organizations/${orgName}/projects/${projectName}/instances/${instanceName}/serial-console`, method: 'GET', query, ...params, @@ -3836,8 +3816,8 @@ export class Api extends HttpClient { /** * Boot an instance. */ - projectInstancesInstanceStart: ( - { instanceName, orgName, projectName }: ProjectInstancesInstanceStartParams, + instanceStart: ( + { instanceName, orgName, projectName }: InstanceStartParams, params: RequestParams = {} ) => this.request({ @@ -3849,8 +3829,8 @@ export class Api extends HttpClient { /** * Halt an instance. */ - projectInstancesInstanceStop: ( - { instanceName, orgName, projectName }: ProjectInstancesInstanceStopParams, + instanceStop: ( + { instanceName, orgName, projectName }: InstanceStopParams, params: RequestParams = {} ) => this.request({ @@ -3862,8 +3842,8 @@ export class Api extends HttpClient { /** * Fetch the IAM policy for this Project */ - organizationProjectsGetProjectPolicy: ( - { orgName, projectName }: OrganizationProjectsGetProjectPolicyParams, + projectPolicyView: ( + { orgName, projectName }: ProjectPolicyViewParams, params: RequestParams = {} ) => this.request({ @@ -3875,8 +3855,8 @@ export class Api extends HttpClient { /** * Update the IAM policy for this Project */ - organizationProjectsPutProjectPolicy: ( - { orgName, projectName }: OrganizationProjectsPutProjectPolicyParams, + projectPolicyUpdate: ( + { orgName, projectName }: ProjectPolicyUpdateParams, body: ProjectRolePolicy, params: RequestParams = {} ) => @@ -3890,8 +3870,8 @@ export class Api extends HttpClient { /** * List snapshots in a project. */ - projectSnapshotsGet: ( - { orgName, projectName, ...query }: ProjectSnapshotsGetParams, + snapshotList: ( + { orgName, projectName, ...query }: SnapshotListParams, params: RequestParams = {} ) => this.request({ @@ -3904,8 +3884,8 @@ export class Api extends HttpClient { /** * Create a snapshot of a disk. */ - projectSnapshotsPost: ( - { orgName, projectName }: ProjectSnapshotsPostParams, + snapshotCreate: ( + { orgName, projectName }: SnapshotCreateParams, body: SnapshotCreate, params: RequestParams = {} ) => @@ -3919,8 +3899,8 @@ export class Api extends HttpClient { /** * Get a snapshot in a project. */ - projectSnapshotsGetSnapshot: ( - { orgName, projectName, snapshotName }: ProjectSnapshotsGetSnapshotParams, + snapshotView: ( + { orgName, projectName, snapshotName }: SnapshotViewParams, params: RequestParams = {} ) => this.request({ @@ -3932,8 +3912,8 @@ export class Api extends HttpClient { /** * Delete a snapshot from a project. */ - projectSnapshotsDeleteSnapshot: ( - { orgName, projectName, snapshotName }: ProjectSnapshotsDeleteSnapshotParams, + snapshotDelete: ( + { orgName, projectName, snapshotName }: SnapshotDeleteParams, params: RequestParams = {} ) => this.request({ @@ -3945,8 +3925,8 @@ export class Api extends HttpClient { /** * List VPCs in a project. */ - projectVpcsGet: ( - { orgName, projectName, ...query }: ProjectVpcsGetParams, + vpcList: ( + { orgName, projectName, ...query }: VpcListParams, params: RequestParams = {} ) => this.request({ @@ -3959,8 +3939,8 @@ export class Api extends HttpClient { /** * Create a VPC in a project. */ - projectVpcsPost: ( - { orgName, projectName }: ProjectVpcsPostParams, + vpcCreate: ( + { orgName, projectName }: VpcCreateParams, body: VpcCreate, params: RequestParams = {} ) => @@ -3974,8 +3954,8 @@ export class Api extends HttpClient { /** * Get a VPC in a project. */ - projectVpcsGetVpc: ( - { orgName, projectName, vpcName }: ProjectVpcsGetVpcParams, + vpcView: ( + { orgName, projectName, vpcName }: VpcViewParams, params: RequestParams = {} ) => this.request({ @@ -3987,8 +3967,8 @@ export class Api extends HttpClient { /** * Update a VPC. */ - projectVpcsPutVpc: ( - { orgName, projectName, vpcName }: ProjectVpcsPutVpcParams, + vpcUpdate: ( + { orgName, projectName, vpcName }: VpcUpdateParams, body: VpcUpdate, params: RequestParams = {} ) => @@ -4002,8 +3982,8 @@ export class Api extends HttpClient { /** * Delete a vpc from a project. */ - projectVpcsDeleteVpc: ( - { orgName, projectName, vpcName }: ProjectVpcsDeleteVpcParams, + vpcDelete: ( + { orgName, projectName, vpcName }: VpcDeleteParams, params: RequestParams = {} ) => this.request({ @@ -4015,8 +3995,8 @@ export class Api extends HttpClient { /** * List firewall rules for a VPC. */ - vpcFirewallRulesGet: ( - { orgName, projectName, vpcName }: VpcFirewallRulesGetParams, + vpcFirewallRulesView: ( + { orgName, projectName, vpcName }: VpcFirewallRulesViewParams, params: RequestParams = {} ) => this.request({ @@ -4028,8 +4008,8 @@ export class Api extends HttpClient { /** * Replace the firewall rules for a VPC */ - vpcFirewallRulesPut: ( - { orgName, projectName, vpcName }: VpcFirewallRulesPutParams, + vpcFirewallRulesUpdate: ( + { orgName, projectName, vpcName }: VpcFirewallRulesUpdateParams, body: VpcFirewallRuleUpdateParams, params: RequestParams = {} ) => @@ -4043,8 +4023,8 @@ export class Api extends HttpClient { /** * List VPC Custom and System Routers */ - vpcRoutersGet: ( - { orgName, projectName, vpcName, ...query }: VpcRoutersGetParams, + vpcRouterList: ( + { orgName, projectName, vpcName, ...query }: VpcRouterListParams, params: RequestParams = {} ) => this.request({ @@ -4057,8 +4037,8 @@ export class Api extends HttpClient { /** * Create a VPC Router */ - vpcRoutersPost: ( - { orgName, projectName, vpcName }: VpcRoutersPostParams, + vpcRouterCreate: ( + { orgName, projectName, vpcName }: VpcRouterCreateParams, body: VpcRouterCreate, params: RequestParams = {} ) => @@ -4072,8 +4052,8 @@ export class Api extends HttpClient { /** * Get a VPC Router */ - vpcRoutersGetRouter: ( - { orgName, projectName, routerName, vpcName }: VpcRoutersGetRouterParams, + vpcRouterView: ( + { orgName, projectName, routerName, vpcName }: VpcRouterViewParams, params: RequestParams = {} ) => this.request({ @@ -4085,8 +4065,8 @@ export class Api extends HttpClient { /** * Update a VPC Router */ - vpcRoutersPutRouter: ( - { orgName, projectName, routerName, vpcName }: VpcRoutersPutRouterParams, + vpcRouterUpdate: ( + { orgName, projectName, routerName, vpcName }: VpcRouterUpdateParams, body: VpcRouterUpdate, params: RequestParams = {} ) => @@ -4100,8 +4080,8 @@ export class Api extends HttpClient { /** * Delete a router from its VPC */ - vpcRoutersDeleteRouter: ( - { orgName, projectName, routerName, vpcName }: VpcRoutersDeleteRouterParams, + vpcRouterDelete: ( + { orgName, projectName, routerName, vpcName }: VpcRouterDeleteParams, params: RequestParams = {} ) => this.request({ @@ -4113,8 +4093,8 @@ export class Api extends HttpClient { /** * List a Router's routes */ - routersRoutesGet: ( - { orgName, projectName, routerName, vpcName, ...query }: RoutersRoutesGetParams, + vpcRouterRouteList: ( + { orgName, projectName, routerName, vpcName, ...query }: VpcRouterRouteListParams, params: RequestParams = {} ) => this.request({ @@ -4127,8 +4107,8 @@ export class Api extends HttpClient { /** * Create a VPC Router */ - routersRoutesPost: ( - { orgName, projectName, routerName, vpcName }: RoutersRoutesPostParams, + vpcRouterRouteCreate: ( + { orgName, projectName, routerName, vpcName }: VpcRouterRouteCreateParams, body: RouterRouteCreateParams, params: RequestParams = {} ) => @@ -4142,8 +4122,8 @@ export class Api extends HttpClient { /** * Get a VPC Router route */ - routersRoutesGetRoute: ( - { orgName, projectName, routeName, routerName, vpcName }: RoutersRoutesGetRouteParams, + vpcRouterRouteView: ( + { orgName, projectName, routeName, routerName, vpcName }: VpcRouterRouteViewParams, params: RequestParams = {} ) => this.request({ @@ -4155,8 +4135,8 @@ export class Api extends HttpClient { /** * Update a Router route */ - routersRoutesPutRoute: ( - { orgName, projectName, routeName, routerName, vpcName }: RoutersRoutesPutRouteParams, + vpcRouterRouteUpdate: ( + { orgName, projectName, routeName, routerName, vpcName }: VpcRouterRouteUpdateParams, body: RouterRouteUpdateParams, params: RequestParams = {} ) => @@ -4170,14 +4150,8 @@ export class Api extends HttpClient { /** * Delete a route from its router */ - routersRoutesDeleteRoute: ( - { - orgName, - projectName, - routeName, - routerName, - vpcName, - }: RoutersRoutesDeleteRouteParams, + vpcRouterRouteDelete: ( + { orgName, projectName, routeName, routerName, vpcName }: VpcRouterRouteDeleteParams, params: RequestParams = {} ) => this.request({ @@ -4189,8 +4163,8 @@ export class Api extends HttpClient { /** * List subnets in a VPC. */ - vpcSubnetsGet: ( - { orgName, projectName, vpcName, ...query }: VpcSubnetsGetParams, + vpcSubnetList: ( + { orgName, projectName, vpcName, ...query }: VpcSubnetListParams, params: RequestParams = {} ) => this.request({ @@ -4203,8 +4177,8 @@ export class Api extends HttpClient { /** * Create a subnet in a VPC. */ - vpcSubnetsPost: ( - { orgName, projectName, vpcName }: VpcSubnetsPostParams, + vpcSubnetCreate: ( + { orgName, projectName, vpcName }: VpcSubnetCreateParams, body: VpcSubnetCreate, params: RequestParams = {} ) => @@ -4218,8 +4192,8 @@ export class Api extends HttpClient { /** * Get subnet in a VPC. */ - vpcSubnetsGetSubnet: ( - { orgName, projectName, subnetName, vpcName }: VpcSubnetsGetSubnetParams, + vpcSubnetView: ( + { orgName, projectName, subnetName, vpcName }: VpcSubnetViewParams, params: RequestParams = {} ) => this.request({ @@ -4231,8 +4205,8 @@ export class Api extends HttpClient { /** * Update a VPC Subnet. */ - vpcSubnetsPutSubnet: ( - { orgName, projectName, subnetName, vpcName }: VpcSubnetsPutSubnetParams, + vpcSubnetUpdate: ( + { orgName, projectName, subnetName, vpcName }: VpcSubnetUpdateParams, body: VpcSubnetUpdate, params: RequestParams = {} ) => @@ -4246,8 +4220,8 @@ export class Api extends HttpClient { /** * Delete a subnet from a VPC. */ - vpcSubnetsDeleteSubnet: ( - { orgName, projectName, subnetName, vpcName }: VpcSubnetsDeleteSubnetParams, + vpcSubnetDelete: ( + { orgName, projectName, subnetName, vpcName }: VpcSubnetDeleteParams, params: RequestParams = {} ) => this.request({ @@ -4259,14 +4233,14 @@ export class Api extends HttpClient { /** * List network interfaces in a VPC subnet. */ - subnetNetworkInterfacesGet: ( + vpcSubnetListNetworkInterfaces: ( { orgName, projectName, subnetName, vpcName, ...query - }: SubnetNetworkInterfacesGetParams, + }: VpcSubnetListNetworkInterfacesParams, params: RequestParams = {} ) => this.request({ @@ -4279,7 +4253,7 @@ export class Api extends HttpClient { /** * Fetch the top-level IAM policy */ - policyGet: (query: PolicyGetParams, params: RequestParams = {}) => + policyView: (query: PolicyViewParams, params: RequestParams = {}) => this.request({ path: `/policy`, method: 'GET', @@ -4289,8 +4263,8 @@ export class Api extends HttpClient { /** * Update the top-level IAM policy */ - policyPut: ( - query: PolicyPutParams, + policyUpdate: ( + query: PolicyUpdateParams, body: FleetRolePolicy, params: RequestParams = {} ) => @@ -4304,7 +4278,7 @@ export class Api extends HttpClient { /** * List the built-in roles */ - rolesGet: (query: RolesGetParams, params: RequestParams = {}) => + roleList: (query: RoleListParams, params: RequestParams = {}) => this.request({ path: `/roles`, method: 'GET', @@ -4315,7 +4289,7 @@ export class Api extends HttpClient { /** * Fetch a specific built-in role */ - rolesGetRole: ({ roleName }: RolesGetRoleParams, params: RequestParams = {}) => + roleView: ({ roleName }: RoleViewParams, params: RequestParams = {}) => this.request({ path: `/roles/${roleName}`, method: 'GET', @@ -4325,7 +4299,7 @@ export class Api extends HttpClient { /** * List all sagas (for debugging) */ - sagasGet: (query: SagasGetParams, params: RequestParams = {}) => + sagaList: (query: SagaListParams, params: RequestParams = {}) => this.request({ path: `/sagas`, method: 'GET', @@ -4336,7 +4310,7 @@ export class Api extends HttpClient { /** * Fetch information about a single saga (for debugging) */ - sagasGetSaga: ({ sagaId }: SagasGetSagaParams, params: RequestParams = {}) => + sagaView: ({ sagaId }: SagaViewParams, params: RequestParams = {}) => this.request({ path: `/sagas/${sagaId}`, method: 'GET', @@ -4356,7 +4330,7 @@ export class Api extends HttpClient { /** * List the current user's SSH public keys */ - sshkeysGet: (query: SshkeysGetParams, params: RequestParams = {}) => + sessionSshkeyList: (query: SessionSshkeyListParams, params: RequestParams = {}) => this.request({ path: `/session/me/sshkeys`, method: 'GET', @@ -4367,8 +4341,8 @@ export class Api extends HttpClient { /** * Create a new SSH public key for the current user */ - sshkeysPost: ( - query: SshkeysPostParams, + sessionSshkeyCreate: ( + query: SessionSshkeyCreateParams, body: SshKeyCreate, params: RequestParams = {} ) => @@ -4382,7 +4356,10 @@ export class Api extends HttpClient { /** * Get (by name) an SSH public key belonging to the current user */ - sshkeysGetKey: ({ sshKeyName }: SshkeysGetKeyParams, params: RequestParams = {}) => + sessionSshkeyView: ( + { sshKeyName }: SessionSshkeyViewParams, + params: RequestParams = {} + ) => this.request({ path: `/session/me/sshkeys/${sshKeyName}`, method: 'GET', @@ -4392,8 +4369,8 @@ export class Api extends HttpClient { /** * Delete (by name) an SSH public key belonging to the current user */ - sshkeysDeleteKey: ( - { sshKeyName }: SshkeysDeleteKeyParams, + sessionSshkeyDelete: ( + { sshKeyName }: SessionSshkeyDeleteParams, params: RequestParams = {} ) => this.request({ @@ -4402,7 +4379,7 @@ export class Api extends HttpClient { ...params, }), - silosGet: (query: SilosGetParams, params: RequestParams = {}) => + siloList: (query: SiloListParams, params: RequestParams = {}) => this.request({ path: `/silos`, method: 'GET', @@ -4413,7 +4390,7 @@ export class Api extends HttpClient { /** * Create a new silo. */ - silosPost: (query: SilosPostParams, body: SiloCreate, params: RequestParams = {}) => + siloCreate: (query: SiloCreateParams, body: SiloCreate, params: RequestParams = {}) => this.request({ path: `/silos`, method: 'POST', @@ -4424,7 +4401,7 @@ export class Api extends HttpClient { /** * Fetch a specific silo */ - silosGetSilo: ({ siloName }: SilosGetSiloParams, params: RequestParams = {}) => + siloView: ({ siloName }: SiloViewParams, params: RequestParams = {}) => this.request({ path: `/silos/${siloName}`, method: 'GET', @@ -4434,7 +4411,7 @@ export class Api extends HttpClient { /** * Delete a specific silo. */ - silosDeleteSilo: ({ siloName }: SilosDeleteSiloParams, params: RequestParams = {}) => + siloDelete: ({ siloName }: SiloDeleteParams, params: RequestParams = {}) => this.request({ path: `/silos/${siloName}`, method: 'DELETE', @@ -4444,8 +4421,8 @@ export class Api extends HttpClient { /** * List Silo identity providers */ - silosGetIdentityProviders: ( - { siloName, ...query }: SilosGetIdentityProvidersParams, + siloIdentityProviderList: ( + { siloName, ...query }: SiloIdentityProviderListParams, params: RequestParams = {} ) => this.request({ @@ -4458,10 +4435,7 @@ export class Api extends HttpClient { /** * Fetch the IAM policy for this Silo */ - silosGetSiloPolicy: ( - { siloName }: SilosGetSiloPolicyParams, - params: RequestParams = {} - ) => + siloPolicyView: ({ siloName }: SiloPolicyViewParams, params: RequestParams = {}) => this.request({ path: `/silos/${siloName}/policy`, method: 'GET', @@ -4471,8 +4445,8 @@ export class Api extends HttpClient { /** * Update the IAM policy for this Silo */ - silosPutSiloPolicy: ( - { siloName }: SilosPutSiloPolicyParams, + siloPolicyUpdate: ( + { siloName }: SiloPolicyUpdateParams, body: SiloRolePolicy, params: RequestParams = {} ) => @@ -4486,8 +4460,8 @@ export class Api extends HttpClient { /** * Create a new SAML identity provider for a silo. */ - siloSamlIdpCreate: ( - { siloName }: SiloSamlIdpCreateParams, + siloIdentityProviderCreate: ( + { siloName }: SiloIdentityProviderCreateParams, body: SamlIdentityProviderCreate, params: RequestParams = {} ) => @@ -4501,8 +4475,8 @@ export class Api extends HttpClient { /** * GET a silo's SAML identity provider */ - siloSamlIdpFetch: ( - { providerName, siloName }: SiloSamlIdpFetchParams, + siloIdentityProviderView: ( + { providerName, siloName }: SiloIdentityProviderViewParams, params: RequestParams = {} ) => this.request({ @@ -4511,6 +4485,27 @@ export class Api extends HttpClient { ...params, }), + /** + * List the built-in system users + */ + systemUserList: (query: SystemUserListParams, params: RequestParams = {}) => + this.request({ + path: `/system/user`, + method: 'GET', + query, + ...params, + }), + + /** + * Fetch a specific built-in system user + */ + systemUserView: ({ userName }: SystemUserViewParams, params: RequestParams = {}) => + this.request({ + path: `/system/user/${userName}`, + method: 'GET', + ...params, + }), + /** * List all timeseries schema */ @@ -4535,36 +4530,12 @@ export class Api extends HttpClient { /** * List users */ - siloUsersGet: (query: SiloUsersGetParams, params: RequestParams = {}) => + userList: (query: UserListParams, params: RequestParams = {}) => this.request({ path: `/users`, method: 'GET', query, ...params, }), - - /** - * List the built-in system users - */ - builtinUsersGet: (query: BuiltinUsersGetParams, params: RequestParams = {}) => - this.request({ - path: `/users_builtin`, - method: 'GET', - query, - ...params, - }), - - /** - * Fetch a specific built-in system user - */ - builtinUsersGetUser: ( - { userName }: BuiltinUsersGetUserParams, - params: RequestParams = {} - ) => - this.request({ - path: `/users_builtin/${userName}`, - method: 'GET', - ...params, - }), } } diff --git a/libs/api/__generated__/OMICRON_VERSION b/libs/api/__generated__/OMICRON_VERSION index 27417b6028..9b8f57b572 100644 --- a/libs/api/__generated__/OMICRON_VERSION +++ b/libs/api/__generated__/OMICRON_VERSION @@ -1,2 +1,2 @@ # generated file. do not update manually. see docs/update-pinned-api.md -e5704d7f343fa0633751527dedf276409647ad4e +adf3786058ac774261b16b87363b82d662ded0bb diff --git a/libs/api/__tests__/hooks.spec.tsx b/libs/api/__tests__/hooks.spec.tsx index 0f8dd27423..35810706fd 100644 --- a/libs/api/__tests__/hooks.spec.tsx +++ b/libs/api/__tests__/hooks.spec.tsx @@ -26,13 +26,13 @@ export function Wrapper({ children }: { children: React.ReactNode }) { const config = { wrapper: Wrapper } -const renderGetOrgs = () => renderHook(() => useApiQuery('organizationsGet', {}), config) +const renderGetOrgs = () => renderHook(() => useApiQuery('organizationList', {}), config) // 503 is a special key in the MSW server that returns a 503 const renderGetOrg503 = () => - renderHook(() => useApiQuery('organizationsGetOrganization', { orgName: '503' }), config) + renderHook(() => useApiQuery('organizationView', { orgName: '503' }), config) -const renderCreateOrg = () => renderHook(() => useApiMutation('organizationsPost'), config) +const renderCreateOrg = () => renderHook(() => useApiMutation('organizationCreate'), config) const createParams = { body: { name: 'abc', description: '', hello: 'a' }, @@ -85,7 +85,7 @@ describe('useApiQuery', () => { it('throws by default', async () => { const { result } = renderHook( () => - useApiQuery('organizationsGetOrganization', { + useApiQuery('organizationView', { orgName: 'nonexistent', }), config @@ -104,7 +104,7 @@ describe('useApiQuery', () => { const { result } = renderHook( () => useApiQuery( - 'organizationsGetOrganization', + 'organizationView', { orgName: 'nonexistent' }, { useErrorBoundary: false } // <----- the point ), @@ -147,10 +147,7 @@ describe('useApiMutation', () => { } it('passes through raw response', async () => { - const { result } = renderHook( - () => useApiMutation('organizationProjectsPost'), - config - ) + const { result } = renderHook(() => useApiMutation('projectCreate'), config) act(() => result.current.mutate(projectPost404Params)) @@ -161,10 +158,7 @@ describe('useApiMutation', () => { }) it('parses error json if possible', async () => { - const { result } = renderHook( - () => useApiMutation('organizationProjectsPost'), - config - ) + const { result } = renderHook(() => useApiMutation('projectCreate'), config) act(() => result.current.mutate(projectPost404Params)) diff --git a/libs/api/errors.ts b/libs/api/errors.ts index 9daabee3c9..28274f62ec 100644 --- a/libs/api/errors.ts +++ b/libs/api/errors.ts @@ -12,9 +12,8 @@ const errorCodeFormatter = // TODO: This is a temporary fix for the API; better messages should be provided from there case 'ObjectAlreadyExists': - if (method.endsWith('Post')) { - let resource = camelCaseToWords(method).slice(-2)[0] - resource = resource.endsWith('s') ? resource.slice(0, -1) : resource + if (method.endsWith('Create')) { + const resource = camelCaseToWords(method).slice(-2)[0].replace(/s$/, '') return `${capitalize(resource)} name already exists` } return undefined diff --git a/libs/api/roles.ts b/libs/api/roles.ts index 537cfb77e6..c605a82ac0 100644 --- a/libs/api/roles.ts +++ b/libs/api/roles.ts @@ -113,7 +113,7 @@ export function useUserAccessRows( // TODO: this hits /users, which returns system users, not silo users. We need // an endpoint to list silo users. I'm hoping we might end up using /users for // that. See https://github.com/oxidecomputer/omicron/issues/1235 - const { data: users } = useApiQuery('siloUsersGet', { limit: 200 }) + const { data: users } = useApiQuery('userList', { limit: 200 }) // HACK: because the policy has no names, we are fetching ~all the users, // putting them in a dictionary, and adding the names to the rows @@ -143,7 +143,7 @@ export function useUsersNotInPolicy( // allow undefined because this is fetched with RQ policy: Policy | undefined ) { - const { data: users } = useApiQuery('siloUsersGet', {}) + const { data: users } = useApiQuery('userList', {}) return useMemo(() => { // IDs are UUIDs, so no need to include identity type in set value to disambiguate const usersInPolicy = new Set(policy?.roleAssignments.map((ra) => ra.identityId) || [])