private boolean isUpdateNeeded()

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;
    }