in aws-logs-resourcepolicy/src/main/java/software/amazon/logs/resourcepolicy/ListHandler.java [21:54]
public ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final Logger logger) {
final List<ResourceModel> models = new ArrayList<>();
DescribeResourcePoliciesResponse describeResourcePoliciesResponse;
String nextToken = null;
do {
try {
describeResourcePoliciesResponse = proxy.injectCredentialsAndInvokeV2(Translator.translateToListRequest(nextToken),
ClientBuilder.getLogsClient()::describeResourcePolicies);
nextToken = describeResourcePoliciesResponse.nextToken();
models.addAll(describeResourcePoliciesResponse.resourcePolicies().stream()
.map(rp -> ResourceModel.builder()
.policyName(rp.policyName())
.policyDocument(rp.policyDocument())
.build())
.collect(Collectors.toList()));
} catch (InvalidParameterException ex) {
throw new CfnInvalidRequestException(ResourceModel.TYPE_NAME, ex);
} catch (final ServiceUnavailableException ex) {
throw new CfnServiceInternalErrorException(ResourceModel.TYPE_NAME, ex);
}
} while (nextToken != null);
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModels(models)
.status(OperationStatus.SUCCESS)
.build();
}