public class RemoteAgentAuthenticationManagerImpl extends Object implements RemoteAgentAuthenticationManager
RemoteAgentAuthenticationManager.| Constructor and Description |
|---|
RemoteAgentAuthenticationManagerImpl(AdministrationConfigurationAccessor administrationConfigurationAccessor,
AdministrationConfigurationPersister administrationConfigurationPersister,
RemoteAgentAuthenticationDao agentAuthenticationDao,
com.atlassian.event.api.EventPublisher eventPublisher,
int agentHeartbeatIntervalSeconds) |
| Modifier and Type | Method and Description |
|---|---|
void |
approveAuthentications(Iterable<RemoteAgentAuthentication> authentications)
Approve all authentications from the list.
|
Iterable<RemoteAgentAuthentication> |
getAllAuthentications()
Get all agent authentications known to this Bamboo server.
|
RemoteAgentAuthentication |
getAuthentication(UUID uuid)
Get first remote agent authentication matching the IP and UUID.
|
RemoteAgentAuthentication |
getAuthentication(UUID uuid,
String ip)
Get remote agent authentication matching the IP and UUID.
|
Iterable<RemoteAgentAuthentication> |
getAuthentications(com.google.common.base.Predicate<RemoteAgentAuthentication> filter)
Get authentication filtered by given filter.
|
com.atlassian.fugue.Pair<RemoteAgentAuthentication,Boolean> |
getOrCreatePendingAuthentication(UUID uuid,
String ip)
Create a new pending authentication for given IP address and UUID.
|
boolean |
isAuthenticatedAgentIp(InetAddress inetAddress)
Returns true if the given IP address matches one of the already authenticated remote agent IP patterns.
|
boolean |
isAuthenticatedAgentIp(String ip)
Returns true if the given IP address matches one of the already authenticated remote agent IP patterns.
|
boolean |
isRemoteAgentAuthenticationEnabled()
Checks whether the remote agent authentication is currently enabled.
|
void |
revokeAgentAuthentications(Iterable<RemoteAgentAuthentication> authentications)
Revoke approval for given agent authentications.
|
void |
setRemoteAgentAuthenticationEnabled(boolean isAuthenticationEnabled)
Sets the remote agent authentication to globally enabled/disabled.
|
void |
updateIp(UUID uuid,
String newIp)
Update IP of an approved authentication with given uuid.
|
public RemoteAgentAuthenticationManagerImpl(AdministrationConfigurationAccessor administrationConfigurationAccessor, AdministrationConfigurationPersister administrationConfigurationPersister, RemoteAgentAuthenticationDao agentAuthenticationDao, com.atlassian.event.api.EventPublisher eventPublisher, int agentHeartbeatIntervalSeconds)
public boolean isRemoteAgentAuthenticationEnabled()
RemoteAgentAuthenticationManagerisRemoteAgentAuthenticationEnabled in interface RemoteAgentAuthenticationManagertrue, if remote agent authentication is enabled, false otherwisepublic void setRemoteAgentAuthenticationEnabled(boolean isAuthenticationEnabled)
throws Exception
RemoteAgentAuthenticationManagersetRemoteAgentAuthenticationEnabled in interface RemoteAgentAuthenticationManagerisAuthenticationEnabled - true if remote agent authentication should be enabled, false otherwise.Exception - on any error@NotNull public Iterable<RemoteAgentAuthentication> getAllAuthentications()
RemoteAgentAuthenticationManagerGet all agent authentications known to this Bamboo server.
The list is sorted first by the authentication status (unapproved first), then by IP address.
getAllAuthentications in interface RemoteAgentAuthenticationManager@NotNull public Iterable<RemoteAgentAuthentication> getAuthentications(com.google.common.base.Predicate<RemoteAgentAuthentication> filter)
RemoteAgentAuthenticationManagergetAuthentications in interface RemoteAgentAuthenticationManagerfilter - predicate to filter authentications@Nullable public RemoteAgentAuthentication getAuthentication(UUID uuid, String ip)
RemoteAgentAuthenticationManager
Get remote agent authentication matching the IP and UUID. If not found, null will be returned.
The returned authentication (if found) will have UUID matching the uuid parameter and IP address either equal to ip parameter or a wildcard mask that matches the ip parameter. Persisted (approved) authentications will be queried in preference to the authentications pending approval.
getAuthentication in interface RemoteAgentAuthenticationManageruuid - UUIDip - IP addressnullpublic RemoteAgentAuthentication getAuthentication(UUID uuid)
RemoteAgentAuthenticationManager
Get first remote agent authentication matching the IP and UUID. If not found, null will be returned.
The returned authentication (if found) will have UUID matching the uuid parameter. Persisted (approved) authentications will be queried in preference to the authentications pending approval.
getAuthentication in interface RemoteAgentAuthenticationManageruuid - UUIDnull@NotNull public com.atlassian.fugue.Pair<RemoteAgentAuthentication,Boolean> getOrCreatePendingAuthentication(@NotNull UUID uuid, @NotNull String ip)
RemoteAgentAuthenticationManagerCreate a new pending authentication for given IP address and UUID. Or return an existing (approved or not approved) authentication.
If an approved authentication matching given IP and UUID already exists, it will be returned.
If a pending authentication with given UUID exists, it will be replaced by the new authentication with given uuid and ip.
getOrCreatePendingAuthentication in interface RemoteAgentAuthenticationManageruuid - UUIDip - IP addresstrue if an existing authentication (pending or approved) with the same UUID and matching IP was
found, and false otherwise (meaning new authentication created)RemoteAgentAuthentications.matching(java.util.UUID, String)public void approveAuthentications(@NotNull
Iterable<RemoteAgentAuthentication> authentications)
RemoteAgentAuthenticationManagerApprove all authentications from the list.
For each authentication in the list this method will:
approveAuthentications in interface RemoteAgentAuthenticationManagerauthentications - authentications to approvepublic void revokeAgentAuthentications(@NotNull
Iterable<RemoteAgentAuthentication> authentications)
RemoteAgentAuthenticationManagerRevoke approval for given agent authentications.
Not approved authentications will be silently skipped.
revokeAgentAuthentications in interface RemoteAgentAuthenticationManagerauthentications - authentications to disapprovepublic void updateIp(@NotNull
UUID uuid,
@NotNull
String newIp)
RemoteAgentAuthenticationManagerUpdate IP of an approved authentication with given uuid.
If no corresponding authentication is found, no action will be taken.
updateIp in interface RemoteAgentAuthenticationManageruuid - UUID of an approved authentication to updatenewIp - new IP address of the authenticationpublic boolean isAuthenticatedAgentIp(@NotNull
String ip)
RemoteAgentAuthenticationManagerRemoteAgentAuthenticationManager.isAuthenticatedAgentIp(InetAddress) is preferred over this method.isAuthenticatedAgentIp in interface RemoteAgentAuthenticationManagerpublic boolean isAuthenticatedAgentIp(@NotNull
InetAddress inetAddress)
RemoteAgentAuthenticationManagerisAuthenticatedAgentIp in interface RemoteAgentAuthenticationManagerCopyright © 2018 Atlassian Software Systems Pty Ltd. All rights reserved.