in aws-kendra-index/src/main/java/software/amazon/kendra/index/Translator.java [100:142]
static ResourceModel translateFromReadResponse(final DescribeIndexResponse describeIndexResponse,
final ListTagsForResourceResponse listTagsForResourceResponse,
String arn) {
// e.g. https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs/blob/2077c92299aeb9a68ae8f4418b5e932b12a8b186/aws-logs-loggroup/src/main/java/com/aws/logs/loggroup/Translator.java#L58-L73
ResourceModel.ResourceModelBuilder builder = ResourceModel.builder()
.id(describeIndexResponse.id())
.arn(arn)
.name(describeIndexResponse.name())
.roleArn(describeIndexResponse.roleArn())
.description(describeIndexResponse.description())
.edition(describeIndexResponse.edition().toString())
.userContextPolicy(describeIndexResponse.userContextPolicy() == null ? null : describeIndexResponse.userContextPolicy().toString())
.userTokenConfigurations(translateFromSdkUserTokenConfigurations(describeIndexResponse.userTokenConfigurations()));
if (describeIndexResponse.serverSideEncryptionConfiguration() != null
&& (describeIndexResponse.serverSideEncryptionConfiguration().kmsKeyId() != null)) {
builder.serverSideEncryptionConfiguration(
software.amazon.kendra.index.ServerSideEncryptionConfiguration
.builder()
.kmsKeyId(describeIndexResponse.serverSideEncryptionConfiguration().kmsKeyId())
.build());
}
if (describeIndexResponse.capacityUnits() != null) {
CapacityUnitsConfiguration capacityUnitsConfiguration = describeIndexResponse.capacityUnits();
// If VCU is equal to its null equivalent (ie storage and query capacity units
// are both equal to 0), then don't set VCU in the resource model.
if (capacityUnitsConfiguration.queryCapacityUnits() != 0
|| capacityUnitsConfiguration.storageCapacityUnits() != 0) {
builder.capacityUnits(software.amazon.kendra.index.CapacityUnitsConfiguration
.builder()
.storageCapacityUnits(describeIndexResponse.capacityUnits().storageCapacityUnits())
.queryCapacityUnits(describeIndexResponse.capacityUnits().queryCapacityUnits())
.build());
}
}
List<software.amazon.kendra.index.Tag> tags = ListConverter.toModel(listTagsForResourceResponse.tags(),
x -> software.amazon.kendra.index.Tag.builder().key(x.key()).value(x.value()).build());
builder.tags(tags);
List<software.amazon.kendra.index.DocumentMetadataConfiguration> modelDocumentMetadataConfigurationList =
translateFromSdkDocumentMetadataConfigurationList(describeIndexResponse.documentMetadataConfigurations());
builder.documentMetadataConfigurations(modelDocumentMetadataConfigurationList);
return builder.build();
}