public interface IPAMProvider extends PluginProvider
DNSProvider| Modifier and Type | Method and Description |
|---|---|
ServiceResponse |
createHostRecord(NetworkPoolServer poolServer,
NetworkPool networkPool,
NetworkPoolIp networkPoolIp,
NetworkDomain domain,
java.lang.Boolean createARecord,
java.lang.Boolean createPtrRecord)
Creates a Host record on the target
NetworkPool within the NetworkPoolServer integration. |
ServiceResponse |
createNetworkPoolServer(NetworkPoolServer poolServer,
java.util.Map opts)
Called during creation of a
NetworkPoolServer operation. |
ServiceResponse |
deleteHostRecord(NetworkPool networkPool,
NetworkPoolIp poolIp,
java.lang.Boolean deleteAssociatedRecords)
Deletes a host record on the target
NetworkPool. |
java.util.Set<AccountIntegrationType> |
getProvidedAccountIntegrationTypes()
Returns a list of account integration types that are available for use.
|
java.util.Set<NetworkPoolServerType> |
getProvidedPoolServerTypes()
Returns a list of provided pool types that are available for use.
|
ServiceResponse |
initializeNetworkPoolServer(NetworkPoolServer poolServer,
java.util.Map opts) |
ServiceResponse |
leasePoolAddress(NetworkPoolServer networkPoolServer,
NetworkPool networkPool,
Network network,
java.lang.String assignedType,
java.lang.Long assignedId,
java.lang.Long subAssignedId,
java.lang.String assignedHostname,
java.util.Map opts) |
void |
refresh(NetworkPoolServer poolServer)
Periodically called to refresh and sync data coming from the relevant integration.
|
ServiceResponse |
reservePoolAddress(NetworkPoolServer networkPoolServer,
NetworkPool networkPool,
Network network,
java.lang.String assignedType,
java.lang.Long assignedId,
java.lang.Long subAssignedId,
java.lang.String assignedHostname,
java.util.Map opts) |
ServiceResponse |
returnPoolAddress(NetworkPoolServer networkPoolServer,
NetworkPool networkPool,
Network network,
NetworkPoolIp ipAddress,
java.util.Map opts) |
ServiceResponse |
updateHostRecord(NetworkPoolServer poolServer,
NetworkPool networkPool,
NetworkPoolIp networkPoolIp)
Updates a Host record on the target
NetworkPool if supported by the Provider. |
ServiceResponse |
updateNetworkPoolServer(NetworkPoolServer poolServer,
java.util.Map opts)
Called during update of an existing
NetworkPoolServer. |
ServiceResponse |
verifyNetworkPoolServer(NetworkPoolServer poolServer,
java.util.Map opts)
Validation Method used to validate all inputs applied to the integration of an IPAM Provider upon save.
|
getMorpheusContext, getPlugin, getProviderCode, getProviderName, isPluginServiceResponse verifyNetworkPoolServer(NetworkPoolServer poolServer, java.util.Map opts)
ServiceResponse object where the key on the error is the field name and the value is the error message.
If the error is a generic authentication error or unknown error, a standard message can also be sent back in the response.poolServer - The Integration Object contains all the saved information regarding configuration of the IPAM Provider.opts - any custom payload submission options may exist hereServiceResponse createNetworkPoolServer(NetworkPoolServer poolServer, java.util.Map opts)
NetworkPoolServer operation. This allows for any custom operations that need
to be performed outside of the standard operations.poolServer - The Integration Object contains all the saved information regarding configuration of the IPAM Provider.opts - any custom payload submission options may exist hereServiceResponse updateNetworkPoolServer(NetworkPoolServer poolServer, java.util.Map opts)
NetworkPoolServer. This allows for any custom operations that need
to be performed outside of the standard operations.poolServer - The Integration Object contains all the saved information regarding configuration of the IPAM Provider.opts - any custom payload submission options may exist herevoid refresh(NetworkPoolServer poolServer)
poolServer - The Integration Object contains all the saved information regarding configuration of the IPAM Provider.java.util.Set<NetworkPoolServerType> getProvidedPoolServerTypes()
NetworkPoolServerType objects representing the available pool types provided by this Provider.java.util.Set<AccountIntegrationType> getProvidedAccountIntegrationTypes()
AccountIntegrationType objects representing the available account integration provided by this Provider.ServiceResponse leasePoolAddress(NetworkPoolServer networkPoolServer, NetworkPool networkPool, Network network, java.lang.String assignedType, java.lang.Long assignedId, java.lang.Long subAssignedId, java.lang.String assignedHostname, java.util.Map opts)
ServiceResponse reservePoolAddress(NetworkPoolServer networkPoolServer, NetworkPool networkPool, Network network, java.lang.String assignedType, java.lang.Long assignedId, java.lang.Long subAssignedId, java.lang.String assignedHostname, java.util.Map opts)
ServiceResponse returnPoolAddress(NetworkPoolServer networkPoolServer, NetworkPool networkPool, Network network, NetworkPoolIp ipAddress, java.util.Map opts)
ServiceResponse initializeNetworkPoolServer(NetworkPoolServer poolServer, java.util.Map opts)
ServiceResponse createHostRecord(NetworkPoolServer poolServer, NetworkPool networkPool, NetworkPoolIp networkPoolIp, NetworkDomain domain, java.lang.Boolean createARecord, java.lang.Boolean createPtrRecord)
NetworkPool within the NetworkPoolServer integration.
Typically called outside of automation and is used for administration purposes.poolServer - The Integration Object contains all the saved information regarding configuration of the IPAM Provider.networkPool - the NetworkPool currently being operated on.networkPoolIp - The ip address and metadata related to it for allocation. It is important to create functionality such that
if the ip address property is blank on this record, auto allocation should be performed and this object along with the new
ip address be returned in the ServiceResponsedomain - The domain with which we optionally want to create an A/PTR record for during this creation process.createARecord - configures whether or not the A record is automatically createdcreatePtrRecord - configures whether or not the PTR record is automatically createdServiceResponse updateHostRecord(NetworkPoolServer poolServer, NetworkPool networkPool, NetworkPoolIp networkPoolIp)
NetworkPool if supported by the Provider. If not supported, send the appropriate
ServiceResponse such that the user is properly informed of the unavailable operation.poolServer - The Integration Object contains all the saved information regarding configuration of the IPAM Provider.networkPool - the NetworkPool currently being operated on.networkPoolIp - the changes to the network pool ip address that would like to be made. Most often this is just the host record name.ServiceResponse deleteHostRecord(NetworkPool networkPool, NetworkPoolIp poolIp, java.lang.Boolean deleteAssociatedRecords)
NetworkPool. This is used for cleanup or releasing of an ip address on
the IPAM Provider.networkPool - the NetworkPool currently being operated on.poolIp - the record that is being deleted.deleteAssociatedRecords - determines if associated records like A/PTR records