All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.databricks.sdk.service.settings.AccountIpAccessListsAPI Maven / Gradle / Ivy

There is a newer version: 0.35.0
Show newest version
// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
package com.databricks.sdk.service.settings;

import com.databricks.sdk.core.ApiClient;
import com.databricks.sdk.support.Generated;
import com.databricks.sdk.support.Paginator;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * The Accounts IP Access List API enables account admins to configure IP access lists for access to
 * the account console.
 *
 * 

Account IP Access Lists affect web application access and REST API access to the account * console and account APIs. If the feature is disabled for the account, all access is allowed for * this account. There is support for allow lists (inclusion) and block lists (exclusion). * *

When a connection is attempted: 1. **First, all block lists are checked.** If the connection * IP address matches any block list, the connection is rejected. 2. **If the connection was not * rejected by block lists**, the IP address is compared with the allow lists. * *

If there is at least one allow list for the account, the connection is allowed only if the IP * address matches an allow list. If there are no allow lists for the account, all IP addresses are * allowed. * *

For all allow lists and block lists combined, the account supports a maximum of 1000 IP/CIDR * values, where one CIDR counts as a single value. * *

After changes to the account-level IP access lists, it can take a few minutes for changes to * take effect. */ @Generated public class AccountIpAccessListsAPI { private static final Logger LOG = LoggerFactory.getLogger(AccountIpAccessListsAPI.class); private final AccountIpAccessListsService impl; /** Regular-use constructor */ public AccountIpAccessListsAPI(ApiClient apiClient) { impl = new AccountIpAccessListsImpl(apiClient); } /** Constructor for mocks */ public AccountIpAccessListsAPI(AccountIpAccessListsService mock) { impl = mock; } public CreateIpAccessListResponse create(String label, ListType listType) { return create(new CreateIpAccessList().setLabel(label).setListType(listType)); } /** * Create access list. * *

Creates an IP access list for the account. * *

A list can be an allow list or a block list. See the top of this file for a description of * how the server treats allow lists and block lists at runtime. * *

When creating or updating an IP access list: * *

* For all allow lists and block lists combined, the API supports a maximum of 1000 IP/CIDR * values, where one CIDR counts as a single value. Attempts to exceed that number return error * 400 with `error_code` value `QUOTA_EXCEEDED`. * If the new list would block the calling user's * current IP, error 400 is returned with `error_code` value `INVALID_STATE`. * *

It can take a few minutes for the changes to take effect. */ public CreateIpAccessListResponse create(CreateIpAccessList request) { return impl.create(request); } public void delete(String ipAccessListId) { delete(new DeleteAccountIpAccessListRequest().setIpAccessListId(ipAccessListId)); } /** * Delete access list. * *

Deletes an IP access list, specified by its list ID. */ public void delete(DeleteAccountIpAccessListRequest request) { impl.delete(request); } public GetIpAccessListResponse get(String ipAccessListId) { return get(new GetAccountIpAccessListRequest().setIpAccessListId(ipAccessListId)); } /** * Get IP access list. * *

Gets an IP access list, specified by its list ID. */ public GetIpAccessListResponse get(GetAccountIpAccessListRequest request) { return impl.get(request); } /** * Get access lists. * *

Gets all IP access lists for the specified account. */ public Iterable list() { return new Paginator<>( null, (Void v) -> impl.list(), GetIpAccessListsResponse::getIpAccessLists, response -> null); } public void replace(String ipAccessListId, String label, ListType listType, boolean enabled) { replace( new ReplaceIpAccessList() .setIpAccessListId(ipAccessListId) .setLabel(label) .setListType(listType) .setEnabled(enabled)); } /** * Replace access list. * *

Replaces an IP access list, specified by its ID. * *

A list can include allow lists and block lists. See the top of this file for a description * of how the server treats allow lists and block lists at run time. When replacing an IP access * list: * For all allow lists and block lists combined, the API supports a maximum of 1000 * IP/CIDR values, where one CIDR counts as a single value. Attempts to exceed that number return * error 400 with `error_code` value `QUOTA_EXCEEDED`. * If the resulting list would block the * calling user's current IP, error 400 is returned with `error_code` value `INVALID_STATE`. It * can take a few minutes for the changes to take effect. */ public void replace(ReplaceIpAccessList request) { impl.replace(request); } public void update(String ipAccessListId) { update(new UpdateIpAccessList().setIpAccessListId(ipAccessListId)); } /** * Update access list. * *

Updates an existing IP access list, specified by its ID. * *

A list can include allow lists and block lists. See the top of this file for a description * of how the server treats allow lists and block lists at run time. * *

When updating an IP access list: * *

* For all allow lists and block lists combined, the API supports a maximum of 1000 IP/CIDR * values, where one CIDR counts as a single value. Attempts to exceed that number return error * 400 with `error_code` value `QUOTA_EXCEEDED`. * If the updated list would block the calling * user's current IP, error 400 is returned with `error_code` value `INVALID_STATE`. * *

It can take a few minutes for the changes to take effect. */ public void update(UpdateIpAccessList request) { impl.update(request); } public AccountIpAccessListsService impl() { return impl; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy