in aws-nimblestudio-studiocomponent/src/main/java/software/amazon/nimblestudio/studiocomponent/ListHandler.java [26:80]
public ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final ProxyClient<NimbleClient> proxyClient,
final Logger logger) {
final ListStudioComponentsRequest listStudiosRequest = ListStudioComponentsRequest.builder()
.nextToken(request.getNextToken())
.studioId(request.getDesiredResourceState().getStudioId())
.build();
try {
final ListStudioComponentsResponse listStudioComponentsResponse =
proxyClient.injectCredentialsAndInvokeV2(listStudiosRequest,
proxyClient.client()::listStudioComponents);
final List<StudioComponent> studioComponents =
listStudioComponentsResponse.hasStudioComponents() ?
listStudioComponentsResponse.studioComponents() :
new ArrayList<>();
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModels(studioComponents.stream()
.filter(studioComponent ->
!StudioComponentState.DELETED.equals(studioComponent.state()) &&
!StudioComponentState.CREATE_FAILED.equals(studioComponent.state()))
.map(studioComponent -> ResourceModel.builder()
.configuration(Translator.toModelStudioComponentConfiguration(studioComponent.configuration()))
.description(studioComponent.description())
.initializationScripts(Translator.toModelStudioComponentInitializationScripts(studioComponent))
.name(studioComponent.name())
.scriptParameters(studioComponent.scriptParameters().stream()
.map(param ->
ScriptParameterKeyValue.builder()
.key(param.key())
.value(param.value())
.build())
.collect(Collectors.toList()))
.ec2SecurityGroupIds(studioComponent.ec2SecurityGroupIds())
.studioComponentId(studioComponent.studioComponentId())
.studioId(request.getDesiredResourceState().getStudioId())
.subtype(studioComponent.subtype().toString())
.type(studioComponent.type().toString())
.tags(studioComponent.tags())
.build())
.collect(toList()))
.nextToken(listStudioComponentsResponse.nextToken())
.status(OperationStatus.SUCCESS)
.build();
} catch (final NimbleException e) {
logger.log(String.format("Exception during list: %s.", ResourceModel.TYPE_NAME));
throw ExceptionTranslator.translateToCfnException(e);
}
}