diff --git a/apps/studio/components/interfaces/Settings/Database/NetworkRestrictions/NetworkRestrictions.tsx b/apps/studio/components/interfaces/Settings/Database/NetworkRestrictions/NetworkRestrictions.tsx index 9c35cc0edcd..d6112f596ea 100644 --- a/apps/studio/components/interfaces/Settings/Database/NetworkRestrictions/NetworkRestrictions.tsx +++ b/apps/studio/components/interfaces/Settings/Database/NetworkRestrictions/NetworkRestrictions.tsx @@ -14,6 +14,7 @@ import { DropdownMenuItem, DropdownMenuTrigger, } from 'ui' +import { Admonition } from 'ui-patterns/Admonition' import { PageSection, PageSectionAside, @@ -34,12 +35,13 @@ import { HighAvailabilityDisabledSectionNotice } from '@/components/ui/HighAvail import { useNetworkRestrictionsQuery } from '@/data/network-restrictions/network-restrictions-query' import { useAsyncCheckPermissions } from '@/hooks/misc/useCheckPermissions' import { useHighAvailability } from '@/hooks/misc/useHighAvailability' -import { useSelectedProjectQuery } from '@/hooks/misc/useSelectedProject' +import { useIsAwsK8sCloudProvider, useSelectedProjectQuery } from '@/hooks/misc/useSelectedProject' import { DOCS_URL } from '@/lib/constants' const HA_DISABLED_TITLE = 'Network restrictions unavailable on High Availability projects' const HA_DISABLED_DESCRIPTION = "We're working to bring network restrictions to High Availability projects. Contact support if this is blocking your work." +const AWS_K8S_DISABLED_TITLE = 'Network restrictions are not yet supported on this project' interface AccessButtonProps { disabled: boolean @@ -84,6 +86,7 @@ export const NetworkRestrictions = () => { const { ref } = useParams() const { data: project } = useSelectedProjectQuery() const { isHighAvailability } = useHighAvailability() + const isAwsK8s = useIsAwsK8sCloudProvider() const [isAddingAddress, setIsAddingAddress] = useState() const [isAllowingAll, setIsAllowingAll] = useState(false) const [isDisallowingAll, setIsDisallowingAll] = useState(false) @@ -103,10 +106,12 @@ export const NetworkRestrictions = () => { } ) - const isSectionDisabled = isHighAvailability || !canUpdateNetworkRestrictions + const isSectionDisabled = isHighAvailability || isAwsK8s || !canUpdateNetworkRestrictions const sectionDisabledReason = isHighAvailability ? HA_DISABLED_TITLE - : 'You need additional permissions to update network restrictions' + : isAwsK8s + ? AWS_K8S_DISABLED_TITLE + : 'You need additional permissions to update network restrictions' const hasAccessToRestrictions = data?.entitlement === 'allowed' const ipv4Restrictions = data?.config?.dbAllowedCidrs ?? [] @@ -131,7 +136,7 @@ export const NetworkRestrictions = () => { - {!canUpdateNetworkRestrictions || isHighAvailability ? ( + {isSectionDisabled ? ( { /> )} + {!isHighAvailability && isAwsK8s && ( +
+ +
+ )} {!isHighAvailability && + !isAwsK8s && (isLoading ? (