in aws-memorydb-cluster/src/main/java/software/amazon/memorydb/cluster/UpdateHandler.java [81:131]
private boolean isUpdateNeeded(final ResourceModel desiredResourceState,
final ResourceModel currentResourceState,
final ClusterUpdateFieldType fieldType,
final Logger logger) {
boolean isModified;
switch (fieldType) {
case DESCRIPTION:
isModified = Translator.isModified(desiredResourceState.getDescription(), currentResourceState.getDescription());
break;
case SECURITY_GROUP_IDS:
isModified = Translator.isModified(desiredResourceState.getSecurityGroupIds(), currentResourceState.getSecurityGroupIds());
break;
case MAINTENANCE_WINDOW:
isModified = Translator.isModified(desiredResourceState.getMaintenanceWindow(), currentResourceState.getMaintenanceWindow());
break;
case SNS_TOPIC_ARN:
isModified = Translator.isModified(desiredResourceState.getSnsTopicArn(), currentResourceState.getSnsTopicArn());
break;
case SNS_TOPIC_STATUS:
isModified = Translator.isModified(desiredResourceState.getSnsTopicStatus(), currentResourceState.getSnsTopicStatus());
break;
case PARAMETER_GROUP_NAME:
isModified = Translator.isModified(desiredResourceState.getParameterGroupName(), currentResourceState.getParameterGroupName());
break;
case SNAPSHOT_WINDOW:
isModified = Translator.isModified(desiredResourceState.getSnapshotWindow(), currentResourceState.getSnapshotWindow());
break;
case SNAPSHOT_RETENTION_LIMIT:
isModified = Translator.isModified(desiredResourceState.getSnapshotRetentionLimit(), currentResourceState.getSnapshotRetentionLimit());
break;
case NODE_TYPE:
isModified = Translator.isModified(desiredResourceState.getNodeType(), currentResourceState.getNodeType());
break;
case ENGINE_VERSION:
isModified = Translator.isModified(desiredResourceState.getEngineVersion(), currentResourceState.getEngineVersion());
break;
case REPLICA_CONFIGURATION:
isModified = Translator.isModified(desiredResourceState.getNumReplicasPerShard(), currentResourceState.getNumReplicasPerShard());
break;
case SHARD_CONFIGURATION:
isModified = Translator.isModified(desiredResourceState.getNumShards(), currentResourceState.getNumShards());
break;
case ACL_NAME:
isModified = Translator.isModified(desiredResourceState.getACLName(), currentResourceState.getACLName());
break;
default:
logger.log(String.format("Modification type [%s] not supported", fieldType));
throw new CfnInternalFailureException();
}
return isModified;
}