in anomalysubscription/src/main/java/software/amazon/ce/anomalysubscription/ReadHandler.java [21:61]
public ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final Logger logger) {
final ResourceModel model = request.getDesiredResourceState();
try {
List<String> subscriptionArns = Stream.of(model.getSubscriptionArn()).collect(Collectors.toList());
GetAnomalySubscriptionsResponse response = proxy.injectCredentialsAndInvokeV2(
RequestBuilder.buildGetAnomalySubscriptionsRequest(subscriptionArns, null),
costExplorerClient::getAnomalySubscriptions
);
if (response.anomalySubscriptions().isEmpty()) {
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModel(model)
.status(OperationStatus.FAILED)
.errorCode(HandlerErrorCode.NotFound)
.build();
}
AnomalySubscription anomalySubscription = response.anomalySubscriptions().get(0);
model.setSubscriptionName(anomalySubscription.subscriptionName());
model.setAccountId(anomalySubscription.accountId());
model.setMonitorArnList(anomalySubscription.monitorArnList());
model.setSubscribers(ResourceModelTranslator.toSubscribers(anomalySubscription.subscribers()));
model.setThreshold(anomalySubscription.threshold());
model.setFrequency(anomalySubscription.frequency().toString());
} catch (UnknownSubscriptionException e) {
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModel(model)
.status(OperationStatus.FAILED)
.errorCode(HandlerErrorCode.NotFound)
.build();
}
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModel(model)
.status(OperationStatus.SUCCESS)
.build();
}