private void createAndSendContainerNetworkRequest(ContainerNetworkState networkState,
ContainerNetworkProvisionTaskState state, ServiceTaskCallback taskCallback,
String networkSelfLink) {
getContainerNetworkDescription(state, (networkDescription) -> {
AdapterRequest networkRequest = new AdapterRequest();
networkRequest.resourceReference = UriUtils.buildUri(getHost(), networkSelfLink);
networkRequest.serviceTaskCallback = taskCallback;
if (Boolean.TRUE.equals(networkDescription.external)) {
networkRequest.operationTypeId = NetworkOperationType.INSPECT.id;
} else {
networkRequest.operationTypeId = NetworkOperationType.CREATE.id;
}
networkRequest.customProperties = state.customProperties;
sendRequest(Operation.createPatch(getHost(), state.instanceAdapterReference.toString())
.setBody(networkRequest)
.setContextId(getSelfId())
.setCompletion((o, e) -> {
if (e != null) {
failTask("AdapterRequest failed for network: " + networkSelfLink, e);
return;
}
logInfo("Network '%s' request started for: %s",
networkRequest.operationTypeId, networkSelfLink);
}));
});
}